/* Shared roles: tokens -> components -> family layout. No per-page palette/radii. */
:root{--accent:var(--ns-color-brand);--white:var(--ns-color-white);--surface:var(--ns-color-surface);--surface-photo:var(--ns-color-surface);--paper:var(--ns-color-surface);--surface-hover:var(--ns-color-surface);--surface-error:var(--ns-color-accent-surface);--ink-secondary:var(--ns-color-muted);--rule-width:1px;--text-caption:var(--ns-text-caption);--text-small:var(--ns-text-small);--text-body:var(--ns-text-body);--text-lead:var(--ns-text-lead);--weight-semibold:var(--ns-weight-label)}
body{font-family:var(--ns-font);font-size:var(--ns-text-body);line-height:var(--ns-leading-body);background:var(--ns-color-white)}
.container,.wrap{width:calc(100% - var(--ns-page-gutter)*2);max-width:var(--ns-container-max);margin-inline:auto}
h1{font-size:var(--ns-text-h1);line-height:var(--ns-leading-heading);font-weight:var(--ns-weight-strong);letter-spacing:var(--ns-tracking-heading)}h2{font-size:var(--ns-text-h2);line-height:var(--ns-leading-heading);letter-spacing:var(--ns-tracking-heading)}h3{font-size:var(--ns-text-h3);line-height:var(--ns-leading-card)}
.section{padding-block:var(--ns-section-space)}.eyebrow{font-size:var(--ns-text-caption);font-weight:var(--ns-weight-label);letter-spacing:var(--ns-tracking-eyebrow)}.section-intro{font-size:var(--ns-text-lead)}
.button,.button-small,.header-button,.menu-toggle,input,textarea,.material-tabs button,.form-status,.topic-chip,.article-tab-list button{border-radius:var(--ns-radius-control)}
.button{min-height:var(--ns-button-height);font-size:var(--ns-text-small)}.button-small,.header-button,.menu-toggle{min-height:var(--ns-compact-height)}.menu-toggle{width:var(--ns-compact-height);height:var(--ns-compact-height)}
.case-control{width:var(--ns-icon-control-size);height:var(--ns-icon-control-size);border-radius:var(--ns-radius-circle)}.case-tag,.case-card figcaption{border-radius:var(--ns-radius-pill)}
.button-red:hover{background:var(--ns-color-brand-hover)}.button-dark:hover{background:var(--ns-color-ink-hover)}
:focus-visible,input:focus,textarea:focus{outline:var(--ns-focus-width) solid var(--ns-focus-color);outline-offset:var(--ns-focus-offset)}input,textarea{border-color:var(--ns-color-control-border);color:var(--ns-color-ink);background:var(--ns-color-white);min-height:var(--ns-control-height)}input[type=checkbox]{min-height:0;width:18px;height:18px}.field label{font-size:var(--ns-text-small)}.field-hint,.file-note,.prototype-note,.field-error{font-size:var(--ns-text-caption)}.consent{font-size:var(--ns-text-caption)}.consent input{margin-top:3px}.field-error{color:var(--ns-color-error)}.form-status{color:var(--ns-color-success);background:var(--ns-color-success-surface)}
.material-tabs button{border-color:var(--ns-color-control-border);min-height:var(--ns-compact-height)}
.hero-list,.solution,.request-form,.material-panel,.process-picture,.case-card{border-radius:var(--ns-radius-surface)}.solutions{border-radius:var(--ns-radius-surface) var(--ns-radius-surface) 0 0;background:var(--ns-color-surface)}.solution-custom{background:var(--ns-color-accent-surface)}.materials{background:var(--ns-color-surface)}
.solution-grid{gap:var(--ns-grid-gap)}.solution{padding:var(--ns-card-padding);background:var(--ns-color-white);border-color:var(--ns-color-line)}.solution-custom{background:var(--ns-color-accent-surface)}.solution h3{font-size:var(--ns-text-h3)}.solution p{font-size:var(--ns-text-small)}
.hero{column-gap:var(--ns-space-16)}.hero-lead{font-size:var(--ns-text-lead)}.hero-list>a{font-size:var(--ns-text-body)}.hero-list>.eyebrow{font-size:var(--ns-text-caption)}.hero-measure,.hero-bottom{font-size:var(--ns-text-caption)}.hero-copy>.eyebrow{font-size:var(--ns-text-caption)}.hero-list{padding:var(--ns-card-padding)}
.process-grid,.material-grid,.contact-grid,.faq-grid{gap:var(--ns-space-16)}.step-body,.material-description p,.faq-list details>p{font-size:var(--ns-text-body)}.process-steps h3,.faq-list summary{font-size:var(--ns-text-lead)}.process-picture figcaption{font-size:var(--ns-text-caption)}
.material-description,.request-form,.case-copy{padding:var(--ns-card-padding)}.material-description .eyebrow,.material-tag,.case-tag{font-size:var(--ns-text-caption)}.material-description h3{font-size:var(--ns-text-h3)}
.case-copy h3{font-size:clamp(1.5rem,2.3vw,2rem)}.case-copy dl>div{font-size:var(--ns-text-small)}.case-card figure{margin:0;border:0;overflow:hidden}.case-card figure img{height:100%;max-height:none;object-fit:contain;aspect-ratio:4/3}.case-card figcaption{font-size:var(--ns-text-caption);border:0}.case-copy .button{font-size:var(--ns-text-small);min-height:var(--ns-button-height)}.all-cases{margin-top:var(--ns-space-6)}
/* Overlay only after enhancement, preserving readable case links without JS. */
.case-slides{display:grid;gap:var(--ns-grid-gap)}.case-slides>.case-card{grid-area:auto}.case-carousel.is-enhanced .case-slides>.case-card{grid-area:1/1}.case-carousel.is-enhanced .case-slides{gap:0}
.direction-menu{position:relative;font-size:13px;font-weight:650}.direction-menu>summary{padding-block:20px;white-space:nowrap}.direction-menu>div{position:absolute;top:100%;left:-24px;width:320px;display:grid;background:var(--ns-color-white);border:1px solid var(--ns-color-line);border-radius:var(--ns-radius-surface);padding:16px 24px}.direction-menu>div a{white-space:normal;padding:12px 0;border-bottom:1px solid var(--ns-color-line)}.direction-menu>div a:last-child{border:0}.desktop-nav{gap:22px}.mobile-secondary{border-top:1px solid var(--ns-color-line);margin-top:16px;padding-top:16px}.mobile-menu{padding-inline:var(--ns-page-gutter)}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.1fr;gap:var(--ns-space-10);padding-block:var(--ns-space-6)}.footer-grid nav,.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-grid h3{font-size:var(--ns-text-small);margin-bottom:8px}.footer-grid a,.footer-grid p{font-size:var(--ns-text-small)}.footer-grid p{margin-top:16px}.footer-grid .brand{margin-bottom:12px}.footer-bottom{font-size:var(--ns-text-caption)}.footer-bottom>div{display:flex;flex-wrap:wrap;gap:16px 24px}
.surface{background:var(--ns-color-surface)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--ns-text-caption);color:var(--ns-color-muted);padding-top:32px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ns-space-16);align-items:center;padding-block:var(--ns-space-16) var(--ns-section-space)}.detail-hero .eyebrow{margin-bottom:24px}.detail-hero .section-intro{margin:24px 0 32px;max-width:52ch}.detail-photo{background:var(--ns-color-surface);border-radius:var(--ns-radius-surface);overflow:hidden}.detail-photo img{width:100%;aspect-ratio:4/3;object-fit:contain}.detail-photo figcaption{font-size:var(--ns-text-caption);padding:16px 24px;color:var(--ns-color-muted)}.secondary-link{display:block;width:fit-content;margin-top:16px}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ns-grid-gap)}.info-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card{border-radius:var(--ns-radius-surface);background:var(--ns-color-surface);padding:var(--ns-card-padding);display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:16px}.surface .info-card{background:var(--ns-color-white)}.info-card:not(:has(.eyebrow)){grid-row:span 2}.info-card p{font-size:var(--ns-text-body)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ns-space-20);align-items:start}.split .section-heading{margin-bottom:32px}.detail-list>div{padding:24px 0;border-bottom:1px solid var(--ns-color-line)}.detail-list>div:first-child{padding-top:0}.detail-list dt{font-size:var(--ns-text-h3);font-weight:var(--ns-weight-label);margin-bottom:12px}.detail-list dd{margin:0;color:var(--ns-color-muted)}.brief-list{list-style:none;counter-reset:brief;padding:0;margin:0}.brief-list li{counter-increment:brief;display:grid;grid-template-columns:40px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--ns-color-line)}.brief-list li:first-child{padding-top:0}.brief-list li:before{content:counter(brief,decimal-leading-zero);color:var(--ns-color-brand)}
.mini-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:40px}.mini-process>div{border-top:1px solid var(--ns-color-line);padding-top:24px;display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:16px}.mini-process span{font-size:var(--ns-text-caption);color:var(--ns-color-muted)}.mini-process p{font-size:var(--ns-text-body)}.material-callout{padding:32px;background:var(--ns-color-accent-surface);border-radius:var(--ns-radius-surface);display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:var(--ns-section-space)}.material-callout p{max-width:65ch;color:var(--ns-color-ink)}.material-callout a{flex-shrink:0}.related{padding-bottom:var(--ns-section-space)}.related>div{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}.related a{border-bottom:1px solid var(--ns-color-line);padding-block:8px}
.page-intro{padding-top:var(--ns-space-20)}.page-intro>.eyebrow{margin-bottom:24px}.page-intro h1{max-width:100%;margin:0}.page-intro .section-intro{margin-top:24px}.index-cards{padding-top:var(--ns-space-12)}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ns-grid-gap)}.editorial-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;gap:0;border-radius:var(--ns-radius-surface);overflow:hidden;background:var(--ns-color-surface);min-width:0}.surface .editorial-card{background:var(--ns-color-white)}.editorial-card>.article-photo{margin:0;background:var(--ns-color-surface)}.editorial-card>.article-photo img{width:100%;aspect-ratio:4/3;height:auto;max-height:none;object-fit:contain}.editorial-card>.article-photo figcaption{display:none}.editorial-copy{display:grid;grid-template-rows:subgrid;grid-row:span 4;gap:20px;padding:var(--ns-card-padding)}.editorial-copy h2{font-size:var(--ns-text-h3);line-height:var(--ns-leading-card);margin:0;overflow-wrap:normal}.editorial-copy>p:not(.eyebrow){font-size:var(--ns-text-small)}.editorial-copy .text-link{align-self:end;justify-content:space-between}.editorial-copy a:hover{color:var(--ns-color-brand)}
/* Existing editorial blocks retain content, anchor IDs, sources and interactions. */
.blog-article{max-width:var(--ns-container-max);width:calc(100% - var(--ns-page-gutter)*2);padding-block:var(--ns-space-10) var(--ns-section-space);overflow-wrap:break-word}.article-header{max-width:var(--ns-reading-width);padding:0 0 40px;margin:24px 0 56px;border:0}.article-header .eyebrow{color:var(--ns-color-muted)}.article-header h1{font-size:var(--ns-text-reading-title);max-width:none;margin:0 0 24px}.article-header .article-lead{font-size:var(--ns-text-lead);line-height:var(--ns-leading-reading);margin-top:24px}.article-meta{font-size:var(--ns-text-caption)}.article-layout,.case-article .article-layout{grid-template-columns:220px minmax(0,var(--ns-reading-width));gap:var(--ns-space-16);justify-content:space-between}.article-body{font-size:var(--ns-text-body);line-height:var(--ns-leading-reading);color:var(--ns-color-ink)}.article-body>p{color:var(--ns-color-ink)}.article-body h2,.case-article .article-body>h2{font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.25;margin:64px 0 24px;scroll-margin-top:120px}.article-body>h2:first-child{margin-top:0}.article-body h3{font-size:var(--ns-text-h3);margin:24px 0 16px}.article-contents,.case-article .article-contents{top:120px;border:0;background:var(--ns-color-surface);border-radius:var(--ns-radius-surface);padding:24px}.article-contents p{font-size:var(--ns-text-small);font-weight:var(--ns-weight-label)}.article-contents li a,.case-article .article-contents a{font-size:var(--ns-text-small);line-height:1.5}.article-contents li a:before{font-size:var(--ns-text-caption)}
.article-photo,.article-callout,.article-tabs,.article-checklist,.article-cta{border-radius:var(--ns-radius-surface);overflow:hidden}.article-photo img{max-height:540px;aspect-ratio:4/3;object-fit:contain}.article-photo figcaption{font-size:var(--ns-text-caption);border:0;line-height:1.65}.article-callout,.article-checklist,.article-tabs{border:0;padding:var(--ns-card-padding);background:var(--ns-color-surface)}.article-callout.important{background:var(--ns-color-accent-surface)}.article-callout .callout-title{color:var(--ns-color-ink);font-weight:var(--ns-weight-label)}.article-cta{background:var(--ns-color-surface);border:0;margin:40px 0}.article-cta .button,.ns-button{background:var(--ns-color-ink);color:var(--ns-color-white);border-radius:var(--ns-radius-control);display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:var(--ns-button-height);padding:16px 24px;font-size:var(--ns-text-small);font-weight:var(--ns-weight-label);line-height:1.5}.article-tab-list:not([hidden]){display:flex;flex-wrap:wrap;border:0;gap:8px}.article-tab-list button{flex:1;min-width:120px;border:1px solid var(--ns-color-control-border);padding:12px;font-size:var(--ns-text-small);color:var(--ns-color-ink)}.article-tab-list button[aria-selected=true]{color:var(--ns-color-white);background:var(--ns-color-ink);border-color:var(--ns-color-ink)}.article-checklist input{min-height:0;width:20px;height:20px}.article-notes{font-size:var(--ns-text-small)}.article-notes a{overflow-wrap:anywhere}.article-accordion summary{font-size:var(--ns-text-body)}
.case-hero{gap:var(--ns-space-16);padding:0;margin:24px 0 var(--ns-space-20);border:0;max-width:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.case-hero h1{font-size:var(--ns-text-reading-title)}.case-hero .article-photo img{max-height:none}.case-hero-actions .ns-button{background:var(--ns-color-brand)}.case-hero-actions p{font-size:var(--ns-text-small)}.article-facts{border:0;background:var(--ns-color-surface);border-radius:var(--ns-radius-surface);padding:8px 24px}.article-facts>div:last-child{border:0}.article-facts dd{font-size:var(--ns-text-body)}.article-steps{gap:var(--ns-grid-gap)}.article-steps>li{padding:24px;border:0;background:var(--ns-color-surface);border-radius:var(--ns-radius-surface)}.article-steps h3{font-size:var(--ns-text-lead)}.article-gallery{gap:var(--ns-grid-gap)}.article-gallery img{max-height:none}.article-gallery .article-photo{background:var(--ns-color-surface)}
.legal-page main{padding-block:var(--ns-space-20) var(--ns-section-space)}.legal-page main>.wrap{max-width:var(--ns-reading-width)}.legal-page main h1{font-size:var(--ns-text-reading-title);margin:0 0 40px}.legal-page main h2{font-size:var(--ns-text-h3);margin:48px 0 20px}.legal-page main p,.legal-page main li{font-size:var(--ns-text-body);line-height:var(--ns-leading-reading);color:var(--ns-color-ink)}.legal-page main p{margin-block:16px}.legal-page main a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:1199px){.header-inner{gap:20px}.desktop-nav{gap:18px}.hero{column-gap:40px}.detail-hero,.split,.process-grid,.material-grid,.contact-grid,.faq-grid{gap:40px}.editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{gap:24px}.article-layout,.case-article .article-layout{grid-template-columns:190px minmax(0,1fr);gap:40px}.article-contents{padding:20px}.case-hero{grid-template-columns:1fr 1fr;gap:32px;max-width:none}.case-article .article-contents{position:sticky}.material-callout{display:block}.material-callout a{margin-top:16px}}
@media(max-width:899px){.hero{grid-template-columns:1fr;gap:40px}.hero-list{margin:0}.hero-list>a{padding-block:20px}.hero-bottom{margin-top:0}.detail-hero{grid-template-columns:1fr;gap:40px}.detail-hero>div{max-width:65ch}.detail-photo{max-width:100%;width:100%}.detail-photo img{max-height:520px}.info-grid.three{grid-template-columns:1fr}.split,.faq-grid{grid-template-columns:1fr;gap:40px}.process-grid,.contact-grid{grid-template-columns:1fr}.material-grid{grid-template-columns:1fr}.contact-copy .section-intro{max-width:60ch}.contact-copy{padding:0}.contact-grid{gap:40px}.request-form{max-width:100%}.form-row{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.article-layout,.case-article .article-layout{grid-template-columns:minmax(0,1fr);gap:40px}.article-contents,.case-article .article-contents{position:static}.article-body{max-width:var(--ns-reading-width);margin-inline:auto;width:100%}.case-hero{grid-template-columns:1fr;gap:32px}.case-hero .article-header{max-width:var(--ns-reading-width)}.case-hero>.article-photo{width:100%;max-width:var(--ns-reading-width)}.case-copy dl>div{display:block}.case-copy dd{margin-top:8px}.mini-process{gap:24px}.trust{grid-template-columns:1fr 1fr;gap:32px}.trust-intro{grid-column:1/-1}.trust-stat{padding-left:0;border:0}.trust-stat>strong{font-size:36px}.trust-stat>span{font-size:var(--ns-text-caption)}.trust-intro .eyebrow{font-size:var(--ns-text-caption)}}
@media(max-width:639px){.hero{padding-top:var(--ns-space-12);gap:32px}.hero-copy>.eyebrow{font-size:var(--ns-text-caption)}.hero-list{padding:24px}.hero-copy>.button{min-height:var(--ns-button-height);font-size:var(--ns-text-small)}.hero-measure{font-size:var(--ns-text-caption)}.hero-bottom{font-size:var(--ns-text-caption);margin-top:0}.hero-bottom>span{max-width:50%}.hero-list>a{font-size:15px}.hero-list>.eyebrow{font-size:var(--ns-text-caption)}.solutions h2{font-size:var(--ns-text-h2)}.solution-grid{grid-template-columns:minmax(0,1fr);gap:16px}.solution{padding:var(--ns-card-padding)}.solution h3{font-size:var(--ns-text-h3)}.solution p{font-size:12px}.solution-arrow{right:14px}.button-small,.header-button{min-height:48px;font-size:var(--ns-text-caption);padding:10px}.header-inner{gap:12px}.brand img{width:112px}.menu-toggle{width:48px;height:48px}.contact-links a:first-child{font-size:26px}.form-row{grid-template-columns:1fr}.field label{font-size:var(--ns-text-small)}.consent{font-size:var(--ns-text-caption)}.request-form{padding:24px}.case-copy{padding:24px}.case-copy dl>div{display:block;font-size:var(--ns-text-small)}.case-copy dd{margin-top:6px}.case-card img{aspect-ratio:4/3}.case-card figcaption{left:16px;bottom:16px;max-width:calc(100% - 32px)}.case-gallery-controls{margin-top:0}.detail-hero{padding-top:40px}.info-grid,.editorial-grid,.mini-process{grid-template-columns:1fr}.info-card,.info-card:not(:has(.eyebrow)),.mini-process>div,.editorial-card{grid-row:auto;grid-template-rows:auto}.editorial-copy{grid-row:auto;grid-template-rows:auto}.editorial-card .article-photo{aspect-ratio:4/3}.brief-list li{grid-template-columns:28px 1fr;gap:16px}.material-callout{padding:24px}.page-intro{padding-top:48px}.page-intro br{display:none}.footer-grid{gap:32px 24px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom>div{display:grid;gap:16px}.article-header{margin-bottom:40px}.article-layout{gap:32px}.article-cta:has(.article-photo){grid-template-columns:1fr}.article-photo img{max-height:none}.article-steps,.article-gallery{grid-template-columns:1fr}.article-facts>div{grid-template-columns:1fr;gap:8px}.article-steps>li{grid-row:auto;grid-template-rows:auto}.legal-page main{padding-top:48px}.article-header h1,.case-hero h1{font-size:var(--ns-text-reading-title)}}
.legal-page main{width:calc(100% - var(--ns-page-gutter)*2);max-width:var(--ns-reading-width);margin-inline:auto}
.editorial-card>.article-photo,.case-card>.article-photo,.article-cta>.article-photo{border-radius:var(--ns-radius-none)}
.article-layout,.case-article .article-layout{max-width:1100px;margin-inline:auto;justify-content:center}
@media(max-width:639px){.header-button{font-size:12px}}
/* One shared footer treatment across every v2 page. */
.footer{background:var(--ns-color-ink);color:var(--ns-color-white);border:0}.footer a,.footer h3{color:var(--ns-color-white)}.footer p,.footer-bottom{color:var(--ns-color-footer-muted)}.footer-bottom{border-color:var(--ns-color-footer-line)}.footer a:focus-visible{outline-color:var(--ns-color-white)}.footer a:hover{color:var(--ns-color-footer-hover)}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.material-panel>picture{display:block}.material-panel>picture img{width:100%;aspect-ratio:3/2;object-fit:cover}.material-tabs{flex-wrap:wrap}.material-tabs button{white-space:normal}
