/* The premium studio layer. Existing UK and product-legal styles are untouched. */
.editorial{--paper:#F5F2EC;--muted:#b9bfce;--gutter:clamp(1.25rem,5vw,6rem);background:var(--midnight);color:var(--paper);font-weight:400;overflow-x:clip}
.editorial a{color:inherit;text-underline-offset:.25em}
.editorial :focus-visible{outline:3px solid #8CA3FF;outline-offset:5px}
.editorial .paper :focus-visible{outline-color:#2447E0}
.editorial .wide{width:min(1440px,calc(100% - var(--gutter)*2));margin-inline:auto}
.editorial .section{padding-block:clamp(4.5rem,9vw,9rem)}
.editorial h1{font-size:clamp(3.7rem,8.5vw,9rem);line-height:.99;letter-spacing:-.045em;font-weight:400;max-width:14ch;overflow-wrap:normal}
.editorial h2{font-size:clamp(2.75rem,4.8vw,5.25rem);line-height:1.04;letter-spacing:-.03em;margin:0 0 1.5rem}
.editorial h3{font-size:clamp(2rem,2.7vw,3rem);line-height:1.1}
.editorial em{font-weight:400;color:#a7b8ff}
.editorial p{margin:0 0 1.25rem;max-width:66ch}
.editorial .intro{font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.55}
.editorial .eyebrow{font-size:.68rem;letter-spacing:.17em;font-weight:500;color:#bac4dc;margin:0 0 1.6rem}
.editorial .small-note{font-size:.8rem;color:#bec4d3;margin-top:1rem;line-height:1.65}
.editorial .paper{background:var(--paper);color:var(--midnight)}
.editorial .paper h2,.editorial .paper h3{color:var(--midnight)}
.editorial .paper em{color:#2447E0}
.editorial .paper .eyebrow,.editorial .paper .small-note{color:#515b70}
.editorial .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:start}
.editorial .split>*{min-width:0}
.editorial .section-top{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.5rem;border-top:1px solid #ffffff38;padding-top:1.5rem}
.editorial .paper .section-top{border-color:#0b164230}
.editorial .section-top .eyebrow{margin:0}
.site-header{position:relative;z-index:30;min-height:90px;padding:1.2rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--midnight);border-bottom:1px solid #ffffff26}
.editorial .brand{font-family:var(--serif);font-size:1.65rem;text-decoration:none;white-space:nowrap;line-height:1.1}
.brand i{color:#a7b8ff}
.site-header nav{display:flex;gap:clamp(1rem,2vw,2.5rem);align-items:center}
.site-header nav a{text-decoration:none;font-size:.8rem;padding:.65rem 0}
.site-header nav a:last-child{border-bottom:1px solid #b6c4ff}
.site-header nav a:hover,.site-header nav a[aria-current]{color:#b6c4ff}
.site-menu{background:none;border:1px solid #8893af;color:inherit;padding:.65rem;font:inherit}
.editorial .button,.editorial .secondary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.7rem;padding:1rem 1.35rem;background:#2447E0;color:#fff;border:1px solid #2447E0;text-decoration:none;font:500 .82rem var(--sans);line-height:1.6;cursor:pointer;min-height:48px}
.editorial .button:hover{background:#1637b8}
.editorial .button span{font-size:1.3rem}
.editorial .secondary-button{background:transparent;color:var(--midnight)}
.editorial .quiet-link,.editorial .text-link{font-size:.85rem;display:inline-block;padding:.6rem 0;border-bottom:1px solid currentColor;text-decoration:none;line-height:1.5}
.editorial .quiet-link:hover,.editorial .text-link:hover{color:#a7b8ff}
.editorial .paper .text-link:hover{color:#2447E0}
.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.opening{position:relative;min-height:min(840px,calc(100svh - 90px));display:flex;align-items:center;isolation:isolate;overflow:hidden}
.opening-media{position:absolute;inset:0;z-index:-2;background:#080e2c}
.opening-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,14,46,.55),rgba(7,14,46,.18)),linear-gradient(0deg,rgba(7,14,46,.88),transparent 90%)}
.opening-media img,.opening-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.opening-media video{opacity:0;transition:opacity 1s}
.opening-media video.on{opacity:1}
.opening-copy{padding-block:6rem 5rem}
.opening h1{max-width:12ch;font-size:clamp(4rem,10.5vw,10rem);margin-bottom:2.5rem}
.opening-bottom{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.opening-bottom p{margin:0;color:#e4e6ee;font-size:1rem}
.opening-bottom .actions{align-items:start;flex-direction:column;gap:.3rem}
.film-toggle{position:absolute;right:var(--gutter);top:1.3rem;background:#0b1642cc;color:#fff;border:1px solid #9199ad;padding:.6rem .8rem;font:400 .7rem var(--sans);cursor:pointer}
.opening-index{position:absolute;right:var(--gutter);bottom:1.2rem;font-size:.7rem;letter-spacing:.12em;color:#cad0de}
.signature-panel{display:grid;grid-template-columns:1.2fr 1fr;background:#07102f}
.signature-image{position:relative;min-height:560px}
.signature-image img{width:100%;height:100%;position:absolute;object-fit:cover}
.image-credit{position:absolute;bottom:1rem;left:1rem;background:#07102fe8;color:#e8e9f1;padding:.4rem .7rem;font-size:.65rem}
.signature-copy{padding:clamp(3rem,5vw,6rem);align-self:center}
.signature-copy h2{font-size:clamp(2.5rem,4vw,4.6rem)}
.showcase-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem}
.showcase-grid>figure:nth-child(2){padding-top:7rem}
.editorial figure{margin:0;min-width:0}
.film-frame{position:relative;aspect-ratio:1280/732;background:#07102f;overflow:hidden}
.film-frame img,.film-frame video{width:100%;height:100%;object-fit:cover}
.film-frame video{position:absolute;inset:0}
.editorial figcaption{margin-top:1.25rem}
.editorial figcaption .eyebrow{margin-bottom:.75rem}
.editorial figcaption p{font-size:.9rem;margin-top:.6rem;color:#bdc5d8}
.process-lines{list-style:none;margin:3rem 0 2rem;border-top:1px solid #0b164230}
.process-lines li{display:grid;grid-template-columns:.18fr .7fr 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid #0b164230;align-items:baseline}
.process-lines h3{font-size:2rem}
.process-lines p{margin:0}
.product-list{margin-top:3rem;border-top:1px solid #ffffff38}
.product-list>a{display:grid;grid-template-columns:.8fr 1fr 1fr auto;align-items:center;gap:2rem;padding:2rem 0;text-decoration:none;border-bottom:1px solid #ffffff38}
.product-list>a>span:first-child{font-size:.7rem;color:#c2cada}
.product-list>a>span:last-child{font-size:1.6rem;color:#a7b8ff}
.product-list p{font-size:.9rem;margin:0}
.product-list a:hover h3{color:#a7b8ff}
.closing-section{padding-block:clamp(4rem,8vw,8rem);border-top:1px solid #ffffff38}
.closing-section h2{font-size:clamp(3.5rem,7.5vw,8rem);max-width:16ch}
.closing-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-top:2rem}
.closing-row p{margin:0}
.site-footer{border-top:1px solid #ffffff38;background:#080f2d;padding:4rem 0 1.5rem;font-size:.8rem}
.footer-top{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:3rem}
.footer-top p{margin-top:1.3rem;color:#c4cada}
.footer-top nav{display:flex;align-items:start;flex-direction:column;gap:.8rem}
.footer-top nav a{text-decoration:none}
.footer-top nav a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #ffffff26;margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#c4cada;font-size:.7rem}
.page-heading{padding-block:clamp(4rem,7vw,7rem)}
.page-heading h1{margin:0 0 3rem}
.page-heading>.button{margin-top:1.5rem}
.full-figure{margin-bottom:5rem!important}
.full-figure img{width:100%;height:auto;max-height:720px;object-fit:cover}
.full-figure figcaption{font-size:.75rem;color:#bec4d3}
.capability-list{margin-top:3rem;border-top:1px solid #ffffff38}
.capability-list article{display:grid;grid-template-columns:.35fr 1fr 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid #ffffff38}
.capability-list article>span{font-size:.75rem;color:#bec4d3}
.capability-list p{margin:0}
.residential-opening{padding-top:clamp(3.5rem,6vw,6rem)}
.residential-opening h1{max-width:19ch;margin-bottom:3rem;font-size:clamp(3.5rem,7.4vw,8rem)}
.architectural-frame{margin-top:4rem!important;position:relative}
.architectural-frame img{width:100%;height:clamp(270px,43vw,650px);object-fit:cover}
.architectural-frame figcaption{position:absolute;bottom:1rem;left:var(--gutter);right:var(--gutter);font-size:.68rem;background:#07102fed;color:#fff;padding:.5rem .8rem;width:fit-content;margin:0}
.faq{max-width:900px;margin-left:auto}
.faq details{border-top:1px solid #0b16423d;padding:1.5rem 0}
.faq summary{cursor:pointer;font-size:1.2rem;padding-right:1.5rem}
.faq details p{padding-top:1.3rem;margin:0}
.work-feature{padding-bottom:6rem}
.work-caption{margin-top:2rem}
.work-caption p{font-size:1.1rem}
.case-grid:empty{display:none}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.email-address{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.8rem);display:inline-block;margin:.5rem 0 1.5rem;overflow-wrap:anywhere}
.contact-aside{border-left:1px solid #ffffff38;padding-left:2.5rem}
.contact-aside ol{padding-left:1.3rem}
.contact-aside li{margin-bottom:1rem}
.editorial label{display:block;font-size:.85rem;margin-bottom:.4rem}
.editorial input,.editorial select,.editorial textarea{display:block;width:100%;padding:.85rem;border:1px solid #70798c;background:transparent;color:#0b1642;border-radius:0;font:inherit;margin:0 0 1.3rem;min-height:48px}
.editorial textarea{resize:vertical}
.editorial input::placeholder{color:#586278}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
#brief-result{border-top:1px solid #0b164230;margin-top:2rem;padding-top:2rem}
#brief-result h3{margin-bottom:1rem}
#brief-status{margin-top:1rem}
.legal-copy{max-width:860px!important;padding-bottom:6rem}
.legal-copy section{margin-bottom:3rem}
.legal-copy h2{font-size:2.5rem}
.editorial .trace h2,.editorial .product-intro h2{color:#17191b}
.editorial .trace em,.editorial .product-intro em{color:#1f3bb3}
.editorial .trace .btn{color:white}
.editorial .product-intro{padding-top:3rem}
.editorial .experiment{padding-block:5rem}
.editorial .trace-compare{isolation:isolate}
.editorial [hidden]{display:none!important}
@media(min-width:1000px){.site-menu{display:none!important}}
@media(max-width:999px){.site-header{min-height:80px;flex-wrap:wrap}.site-menu{margin-left:auto}.site-header nav{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.5rem 1.7rem}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.opening{min-height:700px}.opening-bottom{align-items:start;flex-direction:column}.signature-image{min-height:450px}.signature-copy{padding:2.5rem}.product-list>a{grid-template-columns:1fr 1fr auto}.product-list>a>span:first-child{grid-column:1/-1}.product-list p{font-size:.85rem}.footer-top{grid-template-columns:1.3fr 1fr}.footer-top nav:last-child{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.process-lines li{grid-template-columns:.12fr .8fr 1fr}.showcase-grid{gap:1.5rem}}
@media(max-width:700px){.editorial h1{font-size:clamp(3rem,12vw,5rem)}.editorial h2{font-size:clamp(2.5rem,9vw,4rem)}.editorial .split{grid-template-columns:1fr;gap:1.5rem}.opening{min-height:660px}.opening-copy{padding-block:5rem 4rem}.opening h1{font-size:clamp(3.5rem,14vw,5.8rem)}.opening-bottom{gap:1.7rem}.opening-bottom p{font-size:.95rem}.opening-media img,.opening-media video{object-position:59% center}.signature-panel{grid-template-columns:1fr}.signature-image{min-height:340px}.signature-copy{padding:3rem var(--gutter)}.showcase-grid{grid-template-columns:1fr;gap:3rem}.showcase-grid>figure:nth-child(2){padding-top:0}.process-lines li{grid-template-columns:2rem 1fr;gap:.5rem 1rem}.process-lines li p{grid-column:2}.product-list>a{grid-template-columns:1fr auto;gap:.6rem}.product-list h3{grid-row:2}.product-list p{grid-column:1;grid-row:3}.product-list>a>span:last-child{grid-column:2;grid-row:2}.footer-top{grid-template-columns:1fr 1fr;gap:2rem}.footer-top>div{grid-column:1/-1}.footer-top nav:last-child{grid-column:auto;flex-direction:column}.capability-list article{grid-template-columns:1fr;gap:.75rem}.capability-list h3{font-size:2.2rem}.architectural-frame figcaption{font-size:.6rem}.contact-aside{padding-left:0;border-left:0;border-top:1px solid #ffffff38;padding-top:2rem}.form-row{grid-template-columns:1fr;gap:0}.case-grid{grid-template-columns:1fr}.editorial .section-top{gap:1rem}.residential-opening h1{max-width:18ch}.film-frame{aspect-ratio:1.4}.editorial .eyebrow{line-height:1.8}.closing-row{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.editorial *, .editorial *:before,.editorial *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Reflow at enlarged text sizes; do not rely on clipping to hide overflow. */
.editorial h1,.editorial h2,.editorial h3{overflow-wrap:anywhere}
.editorial .brand{white-space:normal;overflow-wrap:anywhere}
.editorial .actions{min-width:0;max-width:100%}
.editorial .button,.editorial .secondary-button{max-width:100%;min-width:0;overflow-wrap:anywhere}
.footer-top>*{min-width:0;overflow-wrap:anywhere}
.editorial .light .eyebrow,.editorial .experiment .eyebrow{color:#515b70}
.editorial .experiment em{color:#2447E0}
@media(max-width:700px){.footer-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.site-header .brand{max-width:100%}.opening-bottom{min-width:0}.opening-bottom .button{gap:.75rem}}
/* Portfolio system (October 2026): honest labels, case pages and Work layout. */
.work-label{display:inline-block;font:500 .62rem/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;border:1px solid currentColor;padding:.2rem .5rem;margin-right:.6rem;vertical-align:middle}
.case-heading h1{max-width:16ch}
.relationship-note{border-left:2px solid #8CA3FF;padding:.4rem 0 .4rem 1rem;font-size:.95rem;color:#dfe3ee}
.case-hero{margin-bottom:2rem!important}
.case-hero img{width:100%;height:auto;border:1px solid #ffffff1f}
.case-hero figcaption{font-size:.75rem;color:#bec4d3}
.scope-list{list-style:none;padding:0;margin:0;border-top:1px solid #ffffff38}
.scope-list li{padding:.85rem 0;border-bottom:1px solid #ffffff38}
.case-section h2{font-size:clamp(2rem,3.2vw,3.2rem)}
.decision-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid #0b164230;padding-top:2rem}
.decision-list h3{font-size:1.6rem;margin-bottom:.75rem}
.decision-list p{margin:0}
.case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;align-items:start}
.case-shot{margin:0}
.case-shot img{width:100%;height:auto;border:1px solid #ffffff1f}
.case-shot.is-phone{max-width:300px;justify-self:center}
.case-shot.is-phone img{border-radius:22px}
.case-shot figcaption{font-size:.8rem;color:#bdc5d8;margin-top:.75rem}
.case-tech{margin-top:0}
.case-card a{display:block;text-decoration:none}
.case-card img{width:100%;height:auto;aspect-ratio:1376/860;object-fit:cover;border:1px solid #ffffff1f;margin-bottom:1.25rem}
.case-card h3{margin-bottom:.6rem}
.case-card p:not(.eyebrow){font-size:.92rem;color:#c7cddb}
.case-card a:hover h3{color:#a7b8ff}
.work-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;list-style:none;padding:1.5rem 0 0;margin:2.5rem 0 0;border-top:1px solid #ffffff38}
.work-legend li{font-size:.85rem;color:#c7cddb}
.work-legend strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;color:#fff;margin-bottom:.35rem}
.work-flagship{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.work-flagship a.flagship-media{display:block;position:relative}
.work-flagship img{width:100%;height:auto;aspect-ratio:1376/768;object-fit:cover}
.work-flagship .flag{position:absolute;left:1rem;top:1rem;background:#07102fe8;color:#fff;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .65rem}
.work-group-title{margin-top:0}
@media(max-width:999px){.work-legend{grid-template-columns:1fr 1fr}.decision-list{grid-template-columns:1fr}}
@media(max-width:700px){.work-flagship{grid-template-columns:1fr}.case-gallery{grid-template-columns:1fr}.work-legend{grid-template-columns:1fr}}
.showcase-grid.showcase-three{grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
.showcase-grid.showcase-three>figure:nth-child(2){padding-top:4rem}
.showcase-grid.showcase-three>figure:nth-child(3){padding-top:8rem}
.showcase-link{display:block}
.showcase-link img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border:1px solid #ffffff1f}
.showcase-three h3 a{text-decoration:none}
.showcase-three h3 a:hover{color:#a7b8ff}
.coming-soon{border-top:1px solid #ffffff38}
.soon-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:2.5rem 0 2rem}
.soon-list article{border-top:1px solid #ffffff38;padding-top:1.5rem}
.soon-list h3{margin-bottom:.9rem}
.soon-list p:not(.eyebrow){font-size:.95rem}
.residential-fields{border:1px solid #70798c;padding:1.25rem 1.25rem .25rem;margin:0 0 1.3rem}
.residential-fields legend{padding:0 .4rem;font-size:.85rem;font-weight:500}
@media(max-width:999px){.soon-list{grid-template-columns:1fr}}
@media(max-width:700px){.showcase-grid.showcase-three{grid-template-columns:1fr}.showcase-grid.showcase-three>figure:nth-child(n){padding-top:0}}
