/* Scoped additions: this stylesheet is never loaded by the frozen Home. */
.internal-page { background:var(--ivory-50); color:var(--brown-950); }
.internal-page .container { width:calc(100% - 2 * clamp(20px,3.34vw,64px)); max-width:1440px; margin-inline:auto; }
.internal-navigation { display:contents; }
.internal-menu { display:none; }
.internal-hero { padding:140px 0 0; }
.internal-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; font-size:13px; }
.internal-breadcrumbs li+li::before { content:'/'; margin-right:8px; color:var(--brown-800); }
.internal-breadcrumbs a { display:inline-flex; min-height:44px; align-items:center; }
.internal-breadcrumbs li { display:flex; align-items:center; }
.internal-demo-note { font-size:12px; color:var(--brown-800); margin-block:16px 40px; }
.internal-intro { display:grid; grid-template-columns:1.5fr 1fr; gap:48px; align-items:end; margin-bottom:40px; }
.internal-page main h1 { font:400 clamp(42px,5vw,76px)/1.02 var(--font-editorial); max-width:780px; margin:12px 0 0; }
.internal-page main h2 { font:400 clamp(32px,3vw,48px)/1.1 var(--font-editorial); margin:0 0 24px; }
.internal-page main h3 { font:400 30px/1.15 var(--font-editorial); }
.internal-page main p { line-height:1.65; max-width:64ch; }
.internal-hero .picture img { width:100%; height:clamp(260px,40vw,600px); object-fit:cover; border-radius:var(--radius-small); }
.internal-editorial,.internal-gallery,.internal-details,.internal-related { padding-block:clamp(48px,6vw,88px); }
.internal-editorial>.container { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,6vw,96px); align-items:center; }
.internal-editorial-copy { max-width:580px; }
.internal-editorial-copy .eyebrow { display:block; margin-bottom:16px; }
.internal-editorial-copy p+p { margin-top:20px; }
.internal-editorial .picture img { width:100%; height:auto; border-radius:var(--radius-small); }
.internal-gallery,.internal-related { background:var(--ivory-100); }
.internal-section-heading { max-width:750px; margin-bottom:32px; }
.internal-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.internal-gallery figure { margin:0; min-width:0; }
.internal-gallery .picture img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius-small); }
.internal-gallery figcaption { font-size:13px; margin-top:12px; }
.internal-details dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.internal-details dl>div { border-top:1px solid var(--sand-400); padding-top:24px; }
.internal-details dt { font:400 28px var(--font-editorial); margin-bottom:12px; }
.internal-details dd { margin:0; line-height:1.6; }
.internal-related-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.internal-related-grid>a { display:block; padding:28px; border:1px solid var(--sand-400); border-radius:var(--radius-small); text-decoration:none; }
.internal-related-grid .icon { width:24px; margin-top:20px; }
.internal-related-grid>a:hover { background:var(--ivory-50); }
.internal-cta { background:var(--brown-950); padding-block:56px; }
.internal-cta>.container { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.internal-cta h2 { margin:12px 0; }
@media(max-width:1199px){
 .internal-page .internal-navigation { width:100%; display:flex; flex-direction:column; gap:16px; }
 .internal-page.has-menu .internal-menu { display:block; margin-left:auto; color:var(--white); background:transparent; border:1px solid var(--sand-400); border-radius:var(--radius-small); min-height:44px; min-width:72px; padding:8px 14px; }
 .internal-page.has-menu .internal-navigation:not(.is-open) { display:none; }
 .internal-hero { padding-top:24px; }
}
@media(max-width:767px){
 .internal-intro,.internal-editorial>.container,.internal-gallery-grid,.internal-details dl,.internal-related-grid { grid-template-columns:1fr; gap:24px; }
 .internal-demo-note { margin-bottom:24px; }
 .internal-cta>.container { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce){.internal-page * { scroll-behavior:auto!important; transition:none!important; }}

/* Interior pages sit on Ivory, so keep the approved Brown legible over a light surface. */


@media(min-width:768px){
 .internal-intro,.internal-editorial>.container,.internal-gallery-grid,.internal-details dl,.internal-related-grid { grid-template-columns:repeat(var(--grid-columns,12),minmax(0,1fr)); }
 .internal-intro>div { grid-column:span 7; }
 .internal-intro>p { grid-column:span 5; }
 .internal-editorial>.container>* { grid-column:span 6; }
 .internal-gallery-grid>figure,.internal-details dl>div { grid-column:span 4; }
 .internal-related-grid>a { grid-column:span 6; }
}

/* Controlled editorial variants: only internal pages consume these tokens. */
.internal-page { --image-landscape:16/9; --image-wide:12/5; --image-portrait:3/4; --image-bleed:21/9; }
.internal-page .editorial-image .picture img { display:block; width:100%; height:auto; object-fit:cover; border-radius:var(--radius-small); }
.image-landscape .picture img { aspect-ratio:var(--image-landscape); }
.image-wide .picture img { aspect-ratio:var(--image-wide); }
.image-portrait { max-width:720px; margin-inline:auto; }
.image-portrait .picture img { aspect-ratio:var(--image-portrait); }
.image-editorial .picture img { aspect-ratio:auto; }
.image-full-bleed .picture img { aspect-ratio:var(--image-bleed); border-radius:0; }
.internal-full-bleed { width:100%; }
.internal-quote,.internal-comparison { padding-block:clamp(48px,6vw,88px); }
.internal-quote blockquote { margin:0; max-width:65ch; }
.internal-quote blockquote p { font:400 36px/1.3 var(--font-editorial); }
.internal-comparison-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.internal-comparison figure { margin:0; }
.internal-comparison figcaption { margin-top:8px; }
@media(max-width:767px){.internal-comparison-grid { grid-template-columns:1fr; }}

/* Case modules: no selectors affect the frozen Home. */
.case-hero figure { margin:32px 0 0; }
.case-hero .image-editorial { max-width:880px; margin-inline:auto; }
.internal-page .case-hero .image-editorial img { height:auto; aspect-ratio:auto; }
.case-hero figcaption,.case-gallery figcaption { font-size:13px; line-height:1.5; margin-top:12px; color:var(--brown-800); }
.case-hero figcaption { max-width:880px; margin-inline:auto; }
.case-gallery { padding-block:clamp(48px,6vw,88px); background:var(--ivory-100); }
.case-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:32px; }
.case-gallery figure { margin:0; }
.case-gallery img { display:block; width:100%; height:auto; border-radius:var(--radius-small); }
@media(max-width:767px){.case-gallery-grid { grid-template-columns:1fr; }}
.case-narrative { padding-block:48px; }
.case-narrative > .container { max-width:880px; }
.internal-page .case-narrative h2,.internal-page .case-gallery h2.eyebrow { font:500 12px/1.5 var(--font-interface); letter-spacing:.2em; text-transform:uppercase; margin-bottom:20px; color:var(--brown-800); }
.internal-page .case-narrative p { font:400 clamp(23px,2.2vw,32px)/1.4 var(--font-editorial); max-width:55ch; margin:0; }
/* Case pilot only: approved pages do not opt into these refinements. */
.case-pilot .case-hero figcaption,.case-pilot .case-gallery figcaption {font-size:15px;line-height:1.6;color:var(--brown-950);margin-top:10px;}
.case-pilot main :is(h1,h2,h3,p,dd,li) {overflow-wrap:anywhere;}
@media(max-width:767px){
.case-pilot .internal-breadcrumbs ol {font-size:14px;}
.case-pilot .internal-hero .eyebrow,.case-pilot .case-narrative h2,.case-pilot .case-gallery h2.eyebrow {font-size:14px;letter-spacing:.14em;}
.case-pilot .internal-details dd {font-size:16px;}
.case-pilot .internal-related-grid>a {position:relative;padding:24px 60px 24px 24px;}
.case-pilot .internal-related-grid h3 {font-size:32px;margin:0 0 10px;}
.case-pilot .internal-related-grid p {margin:0;}
.case-pilot .internal-related-grid .icon {position:absolute;right:22px;top:26px;margin:0;}
.case-pilot .internal-related-grid>a:is(:hover,:focus-visible,:active) {background:var(--ivory-50);border-color:var(--brown-800);}
}
