/* V8: geometry, not tint, defines a section. Explicit mode surfaces. */
:root{--v8-paper:#fff;--v8-ground:#edf6fa;--v8-edge:#aac2cf;--v8-shadow:0 26px 46px -10px #223d5266,0 6px 14px #223d5224;--v8-accent:#8fd8e7;--v8-secondary:#d98ac8;--v8-glint:transparent}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--v8-paper:#202735;--v8-ground:#121922;--v8-edge:#718297;--v8-shadow:0 24px 50px -18px #000c,0 0 0 1px #8fd8e740;--v8-glint:#8fd8e72b}}
:root[data-theme="dark"]{--v8-paper:#202735;--v8-ground:#121922;--v8-edge:#718297;--v8-shadow:0 24px 50px -18px #000c,0 0 0 1px #8fd8e740;--v8-glint:#8fd8e72b}
:root[data-theme="light"]{--v8-paper:#fff;--v8-ground:#edf6fa;--v8-edge:#aac2cf;--v8-shadow:0 26px 46px -10px #223d5266,0 6px 14px #223d5224;--v8-glint:transparent}
.hero{background:var(--bg);border-bottom:1px solid var(--v8-edge)}
.v8-section{padding:clamp(64px,9vw,128px) 0;background:var(--bg);color:var(--ink);border:0;overflow:visible}
.v8-section>.wrap{position:relative;max-width:1180px}
.v8-section .section-head{display:block;max-width:none;margin:0 0 40px}
.v8-section .section-head h2{font-size:clamp(2rem,4vw,3.6rem);max-width:19ch}
.v8-section .v8-content{min-width:0}.v8-section .v8-content>p{margin-bottom:24px}
.v8-section .card,.v8-section .proof,.v8-section .process li{background:none;border:0;border-radius:0;padding:0;transform:none;color:inherit}
.v8-section .card:before,.v8-section .card:after{display:none}
.v8-section .card h3{font-size:clamp(1.35rem,2.3vw,1.85rem);margin:12px 0}
.v8-section .card p,.v8-section p,.v8-section .caption{color:var(--muted)}
.v8-section .card+.card{margin-top:28px}
.v8-section .v8-items{display:block}.v8-icon{width:32px;height:32px;display:block;color:var(--ink);margin-bottom:18px;overflow:visible}.ink-terminal{stroke:var(--v8-secondary);stroke-width:3}
/* A: full bleed colour ground, centered contained text, no paper cards. */
.arch-A{background:var(--v8-ground);text-align:center;border-block:1px solid var(--v8-edge)}
.arch-A .section-head h2,.arch-A p{margin-inline:auto}.arch-A .actions{justify-content:center}
.arch-A .v8-content{max-width:900px;margin:auto}.arch-A .grid{display:flex;flex-wrap:wrap;justify-content:center;gap:36px}
/* B: unequal heading/content columns, persistent empty-space hierarchy. */
.arch-B>.wrap{display:grid;grid-template-columns:4fr 7fr;gap:8%}.arch-B .section-head{margin:0}.arch-B .v8-content{padding-top:8px}
.arch-B .split,.arch-B .grid{display:block}.arch-B .split>div+div{margin-top:40px}
.arch-B details{border-bottom:1px solid var(--v8-edge)}
/* C: staggered columns. The offset lives in the item geometry. */
.arch-C .v8-items{display:grid;grid-template-columns:1.15fr .85fr;gap:52px 8%;padding-bottom:60px}
.arch-C .v8-items>.card{margin:0;padding:28px 0;border-top:2px solid var(--v8-edge)}
.arch-C .v8-items>.card:nth-child(even){transform:translateY(60px)}
.arch-C .section-head{max-width:64%}
/* D: horizontal, user-scrollable rail. No autoplay marquee. */
.arch-D{padding-block:52px}.arch-D .section-head h2{font-size:1.55rem;max-width:none}
.arch-D .platforms,.arch-D .v8-items,.arch-D .v8-content>ul{display:flex;flex-wrap:nowrap;gap:52px;overflow:auto;scroll-snap-type:x proximity;padding:20px 0 30px;border-block:1px solid var(--v8-edge)}
.arch-D .platforms>*,.arch-D .v8-items>*{flex:0 0 auto;max-width:340px;scroll-snap-align:start;margin:0}.arch-D .platforms span{background:none;border:0;padding:0;font-size:1.1rem;display:flex;gap:12px;align-items:center}.arch-D .v8-icon{margin:0}
/* E: linked sequence, not a card grid. */
.arch-E .process{display:block;padding:0;counter-reset:steps}.arch-E .process li{display:grid;grid-template-columns:90px 1fr;gap:30px;padding:0 0 48px 30px;position:relative;margin:0 0 0 30px;border-left:2px solid var(--v8-edge)}
.arch-E .process li:last-child{border-left-color:transparent;padding-bottom:0}.arch-E .process li>span{font:500 3.6rem/1 Fraunces,serif;color:var(--ink)}.arch-E .process li:before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:var(--v8-secondary);left:-7px;top:8px}.arch-E .process .v8-icon{display:none}
.arch-E .v8-content:not(:has(.process)){border-left:2px solid var(--v8-edge);padding-left:48px;counter-reset:steps}.arch-E .v8-content:not(:has(.process))>p:before{counter-increment:steps;content:counter(steps,decimal-leading-zero);display:block;font:500 2rem Fraunces,serif;margin-bottom:12px;color:var(--ink)}
/* F: one huge figure with supporting figures, not a number strip. */
.arch-F{background:var(--v8-ground)}.arch-F .v7-counters{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:end;gap:32px 44px;padding:40px 0;border:0}
.arch-F .v7-counters>div{border:0;padding:0;background:none}.arch-F .v7-counters>div:first-child{grid-row:span 2}.arch-F .v7-counters strong{font:500 clamp(3rem,6vw,5rem)/1 Fraunces,serif;letter-spacing:-.06em;color:var(--ink);display:block}.arch-F .v7-counters>div:first-child strong{font-size:clamp(8rem,19vw,17rem)}.arch-F .v7-counters span{display:block;color:var(--muted);margin-top:16px}.arch-F .caption{max-width:80ch;border-top:1px solid var(--v8-edge);padding-top:24px}.section-numeral{font:500 clamp(8rem,20vw,16rem)/1 Fraunces,serif;letter-spacing:-.08em;display:block}
/* G: one editorial hairline list per route. */
.arch-G .v8-items{display:block}.arch-G .card{padding:30px 0;border-top:1px solid var(--v8-edge);margin:0;display:grid;grid-template-columns:1fr 1.4fr;gap:12px 40px}.arch-G .card .v8-icon{display:none}.arch-G .card a{grid-column:2}.arch-G .geo-article{max-width:74ch}
/* H: controls remain in a raised working surface, not a decorative container. */
.arch-H .v8-content{background:var(--v8-paper);box-shadow:var(--v8-shadow);border-top:3px solid var(--v8-accent);padding:clamp(24px,4vw,56px);border-radius:2px}.arch-H .calculator,.arch-H form{background:none;border:0;padding:0}.arch-H input,.arch-H textarea{border:0;border-bottom:1px solid var(--v8-edge);border-radius:0;background:var(--bg);color:var(--ink);padding:12px}
/* I: heading overlaps the raised content sheet; real z-axis separation. */
.arch-I>.wrap{display:grid;grid-template-columns:5fr 7fr;align-items:start;gap:0}.arch-I .section-head{background:var(--v8-ground);padding:36px;width:calc(100% + 60px);margin:0;z-index:2;position:relative;border-left:4px solid var(--v8-secondary)}.arch-I .section-head h2{font-size:clamp(2rem,3.4vw,3rem)}.arch-I .v8-content{margin-top:80px;padding:60px 40px 40px 90px;background:var(--v8-paper);box-shadow:var(--v8-shadow);border-top:1px solid var(--v8-edge)}.arch-I .grid{display:block}.arch-I .booking-drawing{margin-top:30px;display:flex;gap:12px}.arch-I .booking-drawing .v8-icon{width:40px;height:40px}
.v8-section [hidden]{display:none!important}.v8-section a:not(.button){color:var(--ink)}.v8-section .button{color:var(--on-accent)}
@media(min-width:801px){.arch-C.prose>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}.arch-C.prose .v8-content{margin-top:110px}}
@media(max-width:800px){.v8-section{padding-block:64px}.arch-B>.wrap{grid-template-columns:1fr;gap:28px}.arch-C .section-head{max-width:none}.arch-C .v8-items{gap:32px}.arch-C .v8-items>.card:nth-child(even){transform:translateY(40px)}.arch-I>.wrap{display:block}.arch-I .section-head{width:calc(100% - 20px);padding:24px}.arch-I .v8-content{margin:-14px 0 0 20px;padding:44px 24px 24px}.arch-F .v7-counters{grid-template-columns:1fr 1fr;gap:32px}.arch-F .v7-counters>div:first-child{grid-column:span 2;grid-row:auto}.arch-F .v7-counters>div:first-child strong{font-size:10rem}.arch-G .card{display:block}.arch-G .card a{margin-top:12px}.arch-H .v8-content{padding:24px}.arch-E .process li{grid-template-columns:44px 1fr;gap:18px;padding-left:20px;margin-left:6px}.arch-E .process li>span{font-size:2.6rem}}
@media(max-width:540px){.arch-C .v8-items{display:block;padding-bottom:0}.arch-C .v8-items>.card{width:calc(100% - 24px);margin-bottom:32px}.arch-C .v8-items>.card:nth-child(even){transform:none;margin-left:24px}.arch-D .v8-items>*{max-width:260px}}
/* Families differ in containment, inner geometry and type hierarchy. */
[data-family="specimen"] .split>.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin-top:36px;border-left:3px solid var(--v8-accent);padding-left:28px}
[data-family="specimen"] .card{margin:0!important}[data-family="specimen"] .card:first-child{grid-column:1/-1}
[data-family="specimen"] .card h3{font:600 1rem/1.3 'Source Sans 3',sans-serif;margin:0 0 8px}
[data-family="specimen"] .card p{font-size:1rem}[data-family="specimen"] .v8-icon{float:left;margin:0 16px 18px 0;width:26px;height:26px}
[data-family="service-index"] .v8-items>.card{display:grid;grid-template-columns:56px 1fr;gap:0 20px;border-top:0;padding:32px 0 16px}
[data-family="service-index"] .service-number{grid-row:span 3;font:400 2.4rem/1 Fraunces,serif;color:var(--muted);border-top:3px solid var(--v8-secondary);padding-top:12px}
[data-family="service-index"] .card h3{font-size:clamp(2rem,3vw,2.8rem);line-height:1.12;margin:8px 0 20px}
[data-family="service-index"] .card p,[data-family="service-index"] .card a{grid-column:2}
[data-family="case-folio"] .v8-content{border-top:8px solid var(--v8-accent);padding-top:84px;padding-bottom:64px;box-shadow:0 36px 50px -18px #172c4b70,0 8px 18px #172c4b22}
[data-family="case-folio"] .proof h3{font:500 clamp(2.2rem,4vw,3.8rem)/1.15 Fraunces,serif;max-width:14ch;margin:28px 0}
[data-family="case-folio"] .proof .text-link{display:inline-block;border-bottom:2px solid var(--v8-secondary);padding-bottom:10px;margin-top:24px}
[data-family="editorial"]>.wrap{display:grid;grid-template-columns:3fr 7fr;gap:9%;border-top:1px solid var(--v8-edge);padding-top:48px}
[data-family="editorial"] .section-head h2{font:600 1.1rem/1.5 'Source Sans 3',sans-serif;max-width:22ch}
[data-family="editorial"] .card{display:block;border:0;padding:0}
[data-family="editorial"] .card h3{font:400 clamp(2.5rem,4.4vw,4rem)/1.1 Fraunces,serif;margin:0 0 28px}
[data-family="editorial"] .card p{max-width:45ch}
[data-family="process-graphic"] .process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px}
[data-family="process-graphic"] .process li{display:block;border-left:0;border-top:2px solid var(--v8-edge);margin:0;padding:32px 24px 0 0}
[data-family="process-graphic"] .process li:last-child{border-top-color:var(--v8-edge)}
[data-family="process-graphic"] .process li:before{top:-7px;left:0}
[data-family="process-graphic"] .process li>span{display:block;font-size:clamp(4rem,7vw,7rem);letter-spacing:-.07em;margin:0 0 32px}
[data-family="process-graphic"] .process li:nth-child(even)>span{color:var(--muted)}
[data-family="process-graphic"] .process li>div{display:block;width:auto}
[data-family="process-graphic"] .process h3{margin-bottom:16px;font-size:1.15rem;line-height:1.35}
[data-family="process-graphic"] .process p{font-size:1rem}
[data-family="figure-study"] .v7-counters>div:first-child{position:relative;padding-right:28px;border-right:1px solid var(--v8-edge)}
[data-family="figure-study"] .v7-counters>div:first-child:before{content:'';width:72px;height:8px;background:var(--v8-secondary);display:block;margin-bottom:24px}
:root[data-theme="dark"] [data-family="case-folio"] .v8-content{box-shadow:0 26px 50px -12px #000,0 -1px 30px #8fd8e72b,inset 1px 0 #8fd8e74d}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) [data-family="case-folio"] .v8-content{box-shadow:0 26px 50px -12px #000,0 -1px 30px #8fd8e72b,inset 1px 0 #8fd8e74d}}
@media(max-width:800px){[data-family="editorial"]>.wrap{grid-template-columns:1fr;gap:20px}[data-family="process-graphic"] .process{grid-template-columns:1fr 1fr;gap:48px 16px}[data-family="process-graphic"] .process li>span{font-size:4.8rem}[data-family="case-folio"] .v8-content{border-top:0;padding-top:52px;padding-bottom:40px}[data-family="figure-study"] .v7-counters>div:first-child{border-right:0;border-bottom:1px solid var(--v8-edge);padding-bottom:32px}}
@media(max-width:540px){[data-family="service-index"] .v8-items>.card{grid-template-columns:34px 1fr;gap:0 16px}[data-family="service-index"] .service-number{font-size:1.6rem}[data-family="service-index"] .card h3{font-size:2rem}[data-family="process-graphic"] .process{display:block}[data-family="process-graphic"] .process li{display:grid;grid-template-columns:80px 1fr;gap:22px;border-top:0;border-left:2px solid var(--v8-edge);padding:0 0 44px 20px;margin-left:6px}[data-family="process-graphic"] .process li:before{top:8px;left:-7px}[data-family="process-graphic"] .process li:last-child{border-left-color:transparent;padding-bottom:0}[data-family="process-graphic"] .process li>span{font-size:4rem;margin:0}[data-family="specimen"] .split>.grid{display:block}[data-family="specimen"] .card{margin-bottom:28px!important}}
@media(prefers-reduced-motion:no-preference){.v8-arrive{animation:v8-arrive .45s both}@keyframes v8-arrive{from{opacity:.7;translate:0 14px}to{opacity:1;translate:0 0}}}
