main { min-inline-size: var(--aicjm-space-0); }

.section-gallery-hero,
.section-index,
.section-gallery {
  inline-size: min(calc(100% - (var(--aicjm-layout-gutter-mobile) * 2)), var(--aicjm-layout-container-max));
  margin-inline: auto;
}

.section-gallery-hero { padding-block: var(--aicjm-layout-section-space-max); }
.section-gallery-hero > p:first-child, .section-doc__header > span, .section-doc__header div > p:first-child { color: var(--aicjm-action-primary); font-size: var(--aicjm-type-size-metadata); text-transform: uppercase; }
.section-gallery-hero > p:last-child { max-inline-size: 52rem; color: var(--aicjm-text-secondary); font-size: var(--aicjm-type-size-lead); }
.section-index { display: flex; padding-block: var(--aicjm-space-16); overflow-x: auto; border-block: var(--aicjm-control-border-width) solid var(--aicjm-border-default); gap: var(--aicjm-space-8); }
.section-index a { display: inline-flex; min-block-size: var(--aicjm-control-minimum-height); padding-inline: var(--aicjm-spacing-control-inline); align-items: center; border: var(--aicjm-control-border-width) solid var(--aicjm-border-default); color: var(--aicjm-text-primary); text-decoration: none; white-space: nowrap; }
.section-gallery { padding-block: var(--aicjm-layout-section-space-max); }
.section-doc { padding-block: var(--aicjm-layout-section-space-max); border-bottom: var(--aicjm-control-border-width) solid var(--aicjm-border-default); scroll-margin-block-start: var(--aicjm-space-76); }
.section-doc:first-child { border-top: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.section-doc__header { display: grid; grid-template-columns: auto minmax(var(--aicjm-space-0), 1fr) auto; gap: var(--aicjm-space-24); }
.section-doc__header p { margin: var(--aicjm-space-0); }
.section-doc__header h2 { margin-block: var(--aicjm-space-8) var(--aicjm-space-16); font-size: var(--aicjm-type-size-heading-large); letter-spacing: var(--aicjm-type-tracking-heading); line-height: var(--aicjm-type-line-height-heading); }
.section-doc__header div > p:last-child { max-inline-size: 52rem; color: var(--aicjm-text-secondary); }
.section-doc__header a { min-block-size: var(--aicjm-control-minimum-height); color: var(--aicjm-action-primary); }
.section-preview { min-inline-size: var(--aicjm-space-0); margin-block-start: var(--aicjm-space-32); overflow: hidden; border: var(--aicjm-control-border-width) solid var(--aicjm-border-default); background: var(--aicjm-surface-subtle); }
.section-doc__meta { display: flex; margin-block-start: var(--aicjm-space-16); align-items: center; flex-wrap: wrap; gap: var(--aicjm-space-8); }
.section-doc__meta strong { margin-inline-end: var(--aicjm-space-8); font-size: var(--aicjm-type-size-metadata); text-transform: uppercase; }
.section-doc__meta span { padding: var(--aicjm-space-8) var(--aicjm-space-12); border: var(--aicjm-control-border-width) solid var(--aicjm-border-default); color: var(--aicjm-text-secondary); font-size: var(--aicjm-type-size-metadata); }

.demo-hero { padding: var(--aicjm-space-64); background: var(--aicjm-surface-page); }
.demo-hero > p:first-child, .demo-framing small, .demo-navy > p, .demo-contact small, .demo-profile > div > p:first-child, .demo-result header p, .demo-related header p, .demo-agenda header p, .demo-article > p:first-child { color: var(--aicjm-action-primary); font-size: var(--aicjm-type-size-metadata); text-transform: uppercase; }
.demo-hero h3 { max-inline-size: 60rem; margin-block: var(--aicjm-space-32); font-size: var(--aicjm-type-size-display-min); letter-spacing: var(--aicjm-type-tracking-display); line-height: var(--aicjm-type-line-height-display); }
.demo-hero h3 span { color: var(--aicjm-component-headline-accent); }
.demo-hero > p:not(:first-child) { max-inline-size: 46rem; color: var(--aicjm-text-secondary); font-size: var(--aicjm-type-size-lead); }
.demo-hero a, .demo-profile a, .demo-agenda a { display: inline-flex; min-block-size: var(--aicjm-control-minimum-height); margin-block-start: var(--aicjm-space-24); padding-inline: var(--aicjm-spacing-control-inline-wide); align-items: center; background: var(--aicjm-action-primary); color: var(--aicjm-action-on-primary); text-decoration: none; }
.demo-proof { display: grid; grid-template-columns: repeat(3, minmax(var(--aicjm-space-0), 1fr)); background: var(--aicjm-surface-page); }
.demo-proof article { display: grid; padding: var(--aicjm-space-32); gap: var(--aicjm-space-8); border-inline-end: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-proof strong { color: var(--aicjm-action-primary); font-size: var(--aicjm-type-size-heading-large); }
.demo-proof span { color: var(--aicjm-text-secondary); }
.demo-framing { display: grid; grid-template-columns: minmax(var(--aicjm-space-0), .8fr) minmax(var(--aicjm-space-0), 1.2fr); padding: var(--aicjm-space-48); gap: var(--aicjm-space-48); background: var(--aicjm-surface-page); }
.demo-framing h3, .demo-navy h3, .demo-contact h3, .demo-profile h3, .demo-result h3, .demo-related h3, .demo-agenda h3, .demo-article h3 { font-size: var(--aicjm-type-size-heading-large); line-height: var(--aicjm-type-line-height-heading); }
.demo-framing dl { margin: var(--aicjm-space-0); }
.demo-framing dl div { display: grid; grid-template-columns: minmax(var(--aicjm-space-96), .6fr) 1.4fr; padding-block: var(--aicjm-space-16); border-top: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-framing dt { color: var(--aicjm-action-primary); }
.demo-framing dd { margin: var(--aicjm-space-0); }
.demo-filter { display: flex; padding: var(--aicjm-space-24); gap: var(--aicjm-space-8); overflow-x: auto; background: var(--aicjm-surface-page); }
.demo-filter button { min-block-size: var(--aicjm-control-minimum-height); padding-inline: var(--aicjm-spacing-control-inline); border: var(--aicjm-control-border-width) solid var(--aicjm-border-default); background: var(--aicjm-surface-page); white-space: nowrap; }
.demo-filter button:first-child { background: var(--aicjm-action-primary); color: var(--aicjm-action-on-primary); }
.demo-filter p { margin-inline-start: auto; color: var(--aicjm-text-secondary); white-space: nowrap; }
.demo-cards { display: grid; grid-template-columns: repeat(2, minmax(var(--aicjm-space-0), 1fr)); background: var(--aicjm-surface-page); }
.demo-cards--three { grid-template-columns: repeat(3, minmax(var(--aicjm-space-0), 1fr)); }
.demo-cards article { min-block-size: 16rem; padding: var(--aicjm-space-32); border-inline-end: var(--aicjm-control-border-width) solid var(--aicjm-border-default); border-top: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-cards small { color: var(--aicjm-action-primary); }
.demo-cards h3 { font-size: var(--aicjm-type-size-heading-small); }
.demo-cards p { color: var(--aicjm-text-secondary); }
.demo-cards strong { color: var(--aicjm-action-primary); }
.demo-process { display: grid; grid-template-columns: repeat(4, minmax(var(--aicjm-space-0), 1fr)); margin: var(--aicjm-space-0); padding: var(--aicjm-space-0); list-style: none; background: var(--aicjm-surface-page); }
.demo-process li { padding: var(--aicjm-space-32); border-inline-end: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-process span { color: var(--aicjm-action-primary); }
.demo-process h3 { margin-block: var(--aicjm-space-64) var(--aicjm-space-12); }
.demo-process p { color: var(--aicjm-text-secondary); }
.demo-navy { padding: var(--aicjm-space-52); background: var(--aicjm-surface-deep); color: var(--aicjm-text-on-deep); }
.demo-navy > p { color: var(--aicjm-text-on-deep-muted); }
.demo-navy > div { display: flex; align-items: center; justify-content: space-between; margin-block-start: var(--aicjm-space-48); gap: var(--aicjm-space-12); }
.demo-navy > div span, .demo-navy > div strong { padding: var(--aicjm-space-16); border: var(--aicjm-control-border-width) solid var(--aicjm-border-on-deep); }
.demo-navy > div strong { background: var(--aicjm-action-secondary); color: var(--aicjm-action-on-secondary); }
.demo-people { display: grid; grid-template-columns: repeat(2, minmax(var(--aicjm-space-0), 1fr)); background: var(--aicjm-surface-page); }
.demo-people article { display: grid; grid-template-columns: minmax(var(--aicjm-space-112), .8fr) 1.2fr; padding: var(--aicjm-space-24); gap: var(--aicjm-space-24); border-inline-end: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-people img, .demo-avatar { grid-row: 1 / 5; inline-size: 100%; block-size: 17rem; object-fit: cover; }
.demo-avatar { display: grid; place-items: center; background: var(--aicjm-surface-subtle); color: var(--aicjm-action-primary); font-size: var(--aicjm-type-size-heading-large); }
.demo-people small { color: var(--aicjm-action-primary); }
.demo-people h3 { align-self: end; margin: var(--aicjm-space-0); font-size: var(--aicjm-type-size-heading-small); }
.demo-people p { color: var(--aicjm-text-secondary); }
.demo-testimonials { display: grid; grid-template-columns: repeat(2, minmax(var(--aicjm-space-0), 1fr)); background: var(--aicjm-surface-page); }
.demo-testimonials blockquote { margin: var(--aicjm-space-0); padding: var(--aicjm-space-48); border-inline-end: var(--aicjm-control-border-width) solid var(--aicjm-border-default); font-size: var(--aicjm-type-size-heading-small); }
.demo-testimonials footer { margin-block-start: var(--aicjm-space-32); color: var(--aicjm-text-secondary); font-size: var(--aicjm-type-size-body-small); }
.demo-faq { padding: var(--aicjm-space-32); background: var(--aicjm-surface-page); }
.demo-faq details { padding-block: var(--aicjm-space-24); border-top: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-faq summary { min-block-size: var(--aicjm-control-minimum-height); font-size: var(--aicjm-type-size-heading-small); cursor: pointer; }
.demo-faq p { color: var(--aicjm-text-secondary); }
.demo-contact { display: grid; grid-template-columns: minmax(var(--aicjm-space-0), .8fr) minmax(var(--aicjm-space-0), 1.2fr); padding: var(--aicjm-space-48); gap: var(--aicjm-space-48); background: var(--aicjm-surface-deep); color: var(--aicjm-text-on-deep); }
.demo-contact header > p { color: var(--aicjm-text-on-deep-muted); }
.demo-contact form { display: grid; grid-template-columns: repeat(2, minmax(var(--aicjm-space-0), 1fr)); gap: var(--aicjm-space-16); }
.demo-contact label { display: grid; gap: var(--aicjm-space-8); color: var(--aicjm-text-on-deep-muted); }
.demo-contact label.wide { grid-column: 1 / -1; }
.demo-contact input, .demo-contact textarea { inline-size: 100%; min-block-size: var(--aicjm-component-input-minimum-height); padding: var(--aicjm-space-12); border: var(--aicjm-control-border-width) solid var(--aicjm-border-on-deep); background: var(--aicjm-component-input-background); color: var(--aicjm-component-input-text); font: inherit; }
.demo-contact button { min-block-size: var(--aicjm-control-minimum-height); border: var(--aicjm-control-border-width) solid var(--aicjm-component-button-secondary-border); background: var(--aicjm-component-button-secondary-background); color: var(--aicjm-component-button-secondary-text); }
.demo-more { inline-size: 100%; min-block-size: var(--aicjm-control-minimum-height); border: var(--aicjm-space-0); border-bottom: var(--aicjm-control-border-width) solid var(--aicjm-border-default); background: var(--aicjm-surface-page); color: var(--aicjm-action-primary); }
.demo-profile { display: grid; grid-template-columns: minmax(var(--aicjm-space-112), .7fr) 1.3fr; background: var(--aicjm-surface-deep); color: var(--aicjm-text-on-deep); }
.demo-profile img { inline-size: 100%; block-size: 100%; min-block-size: 32rem; object-fit: cover; }
.demo-profile > div { padding: var(--aicjm-space-52); align-self: center; }
.demo-profile > div > p:not(:first-child) { color: var(--aicjm-text-on-deep-muted); }
.demo-result { padding: var(--aicjm-space-48); background: var(--aicjm-surface-deep); color: var(--aicjm-text-on-deep); }
.demo-result > div { display: grid; grid-template-columns: repeat(3, minmax(var(--aicjm-space-0), 1fr)); margin-block: var(--aicjm-space-32); }
.demo-result article { display: grid; padding: var(--aicjm-space-24); border: var(--aicjm-control-border-width) solid var(--aicjm-border-on-deep); }
.demo-result article strong { font-size: var(--aicjm-type-size-heading-large); }
.demo-result article span, .demo-result blockquote footer { color: var(--aicjm-text-on-deep-muted); }
.demo-result blockquote { margin: var(--aicjm-space-32) var(--aicjm-space-0) var(--aicjm-space-0); font-size: var(--aicjm-type-size-heading-small); }
.demo-result blockquote footer { margin-block-start: var(--aicjm-space-16); font-size: var(--aicjm-type-size-body-small); }
.demo-related, .demo-agenda, .demo-article { padding: var(--aicjm-space-48); background: var(--aicjm-surface-page); }
.demo-related .demo-cards { margin-inline: calc(var(--aicjm-space-48) * -1); }
.demo-agenda ol { margin: var(--aicjm-space-32) var(--aicjm-space-0); padding: var(--aicjm-space-0); list-style: none; border-top: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-agenda li { display: grid; grid-template-columns: var(--aicjm-space-96) 1fr; padding-block: var(--aicjm-space-16); border-bottom: var(--aicjm-control-border-width) solid var(--aicjm-border-default); }
.demo-agenda time { color: var(--aicjm-action-primary); }
.demo-article { max-inline-size: 58rem; margin-inline: auto; }
.demo-article .lead { color: var(--aicjm-text-secondary); font-size: var(--aicjm-type-size-lead); }
.demo-article h4 { margin-block-start: var(--aicjm-space-40); font-size: var(--aicjm-type-size-heading-small); }
.demo-article aside { margin-block-start: var(--aicjm-space-32); padding: var(--aicjm-space-24); border-inline-start: var(--aicjm-component-focus-ring-width) solid var(--aicjm-action-primary); background: var(--aicjm-surface-subtle); }

@media (max-width: 48rem) {
  .section-doc__header, .demo-framing, .demo-contact, .demo-profile { grid-template-columns: 1fr; }
  .section-doc__header a { justify-self: start; }
  .demo-hero, .demo-navy, .demo-contact, .demo-result, .demo-related, .demo-agenda, .demo-article { padding: var(--aicjm-space-24); }
  .demo-proof, .demo-cards, .demo-cards--three, .demo-process, .demo-people, .demo-testimonials, .demo-result > div { grid-template-columns: 1fr; }
  .demo-navy > div { align-items: stretch; flex-direction: column; }
  .demo-navy > div i { align-self: center; transform: rotate(90deg); }
  .demo-people article { grid-template-columns: minmax(var(--aicjm-space-96), .7fr) 1.3fr; }
  .demo-profile img { min-block-size: 24rem; }
  .demo-related .demo-cards { margin-inline: calc(var(--aicjm-space-24) * -1); }
}

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition-duration: var(--aicjm-space-0) !important; } }
