/* Shared component contract. Loaded last, identically across every page. */
:root{--ink:#233f34;--muted:#53675c;--paper:#f8f8f4;--green:#255b40;--line:#d8e1d2;--surface:#fff;--soft:#edf2e7;--radius:20px;--space-section:clamp(44px,6vw,80px);--title-page:clamp(34px,4.5vw,64px);--title-section:clamp(27px,3vw,42px);--body-copy:clamp(15px,1.1vw,17px)}
.studio-page .container{width:min(1280px,calc(100% - 64px));margin-inline:auto}
.studio-page main{overflow-wrap:break-word}
.studio-page main :is(.section,.studio-feature-section,.studio-sector-data,.studio-method,.decision-features){padding-block:var(--space-section)}
.studio-page :is(.page-hero,.ns-intro){padding-block:var(--space-section) 48px}
.studio-page :is(.page-hero,.studio-home-copy,.studio-sector-copy,.ns-intro) h1{font-size:var(--title-page);line-height:1.12;letter-spacing:-.045em;font-weight:700;text-wrap:balance}
.studio-page :is(.page-hero,.studio-home-copy,.studio-sector-copy,.ns-intro) :is(.lead,p){font-size:clamp(16px,1.4vw,19px);line-height:1.75;color:var(--muted);max-width:65ch}
.studio-page :is(.section-heading,.studio-section-intro,.decision-features-heading,.ns-service-title,.ns-project,.studio-endcap) h2{font-size:var(--title-section);line-height:1.2;letter-spacing:-.035em}
.studio-page :is(.section-heading,.studio-section-intro,.editorial-split,.workspace-detail,.studio-use-list,.studio-feature-list,.ns-service-detail,.decision-features-heading)>p{font-size:var(--body-copy);line-height:1.8;color:var(--muted)}
.studio-page :is(.section-heading,.decision-features-heading){gap:clamp(24px,4vw,56px);margin-bottom:32px}
.studio-page :is(.studio-product-hero,.editorial-split,.workspace-detail,.decision-features-heading,.ns-service,.ns-project-inner){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px)}
.studio-page :is(.studio-home-grid,.studio-product-hero,.editorial-split,.workspace-detail,.section-heading,.decision-features-heading,.ns-service,.ns-project-inner)>*{min-width:0}
.studio-page .button{border-radius:14px;min-height:48px;line-height:1.5;font-size:14px;padding:13px 20px;max-width:100%;white-space:normal}
.studio-page .text-link,.studio-page .decision-features-grid a,.studio-page .software-footer>a{min-height:44px;line-height:1.5}
.studio-page :is(.module-card,.decision-features-grid>article,.editorial-workflow,.software-preview){border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 10px 30px #233f3409}
.studio-page :is(.module-card,.decision-features-grid>article){padding:26px}
.studio-page :is(.module-card,.decision-features-grid>article) h3{font-size:22px;line-height:1.3;letter-spacing:-.025em}
.studio-page :is(.module-card,.decision-features-grid>article) p{font-size:15px;line-height:1.8;color:var(--muted)}
.studio-page .editorial-workflow{background:var(--soft);padding:30px;color:var(--ink)}
.studio-page .editorial-workflow :is(p,li span){color:var(--muted)}
.studio-page .editorial-workflow li{border-color:var(--line);background:transparent;border-left:0;border-radius:0;padding:18px 0}
.studio-page .software-panels{min-height:0;padding:24px}
.studio-page .software-footer{flex-wrap:wrap}
.studio-page .software-footer>span{max-width:none;font-size:12px}
.studio-page .software-footer>a{white-space:normal;font-size:12px}
.studio-page .software-context{font-size:12px}
.studio-page .software-preview :is(th,td){font-size:12px;line-height:1.6}
.studio-page .software-view-heading p{font-size:14px;line-height:1.7}
.studio-page :is(.section-tint,.studio-example,.studio-sector-example,.studio-terrain){background:var(--soft)}
.studio-page .studio-endcap{padding:36px;background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);margin-block:24px var(--space-section);box-shadow:none}
.studio-page .studio-sector-copy{border:0;border-radius:0;margin-left:0}
.studio-page .studio-sector-data{direction:ltr;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.studio-page .studio-sector-data>*{direction:ltr}
.studio-page .studio-sector-data figure img{border-radius:var(--radius)}
.studio-page .studio-example .screen-frame{transform:none}
.studio-page :is(.studio-status,.small-note,.software-calculation-note,.decision-features-scope,.seo-provenance p){font-size:12px;line-height:1.7;color:var(--muted)}
.studio-page .ns-project :is(h2,p){color:#f0f5eb}
.studio-page input,.studio-page select,.studio-page textarea{max-width:100%}
.studio-page :focus-visible{outline:3px solid #557b38;outline-offset:4px}
@media(max-width:1000px){.studio-page :is(.studio-product-hero,.workspace-detail,.editorial-split,.ns-project-inner){grid-template-columns:1fr}.studio-page .studio-product-hero .editorial-workflow{max-width:none}.studio-page .studio-local-nav{position:relative;top:auto}.studio-page .studio-endcap{flex-wrap:wrap}}
@media(max-width:760px){.studio-page .container{width:calc(100% - 40px)}.studio-page :is(.section-heading,.decision-features-heading,.ns-service,.studio-sector-data){display:grid;grid-template-columns:1fr;gap:24px}.studio-page .section-heading>p{max-width:65ch}.studio-page :is(.page-hero,.ns-intro){padding-bottom:32px}.studio-page .studio-endcap{display:grid;padding:26px;gap:24px}.studio-page .studio-endcap>div:last-child{align-items:stretch}.studio-page .studio-endcap .button{width:100%}.studio-page .decision-features-grid{grid-template-columns:1fr}.studio-page :is(.module-card,.decision-features-grid>article,.editorial-workflow){padding:22px}.studio-page .software-panels{padding:18px}.studio-page .software-tabs button{font-size:12px}.studio-page input,.studio-page select,.studio-page textarea{font-size:16px}.studio-page .ns-service-detail{padding-left:0}.studio-page .studio-sector-copy{padding-left:0}.studio-page .software-preview{border-radius:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.studio-page *, .studio-page *:before,.studio-page *:after{animation:none!important;transition:none!important}}

/* Contrast contract: pair each foreground with an explicit surface. */
.studio-page .header-demo,.studio-page .round-button{background:#365b4d;color:#fff}
.studio-page .header-demo:hover,.studio-page .round-button:hover{background:#244536;color:#fff}
.studio-page .site-footer{background:#20363e;color:#dce7df}
.studio-page .site-footer :is(p,small,.footer-extra a,.footer-bottom,.footer-bottom a,.footer-contact>span:last-child){color:#c5d6cb}
.studio-page .site-footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.studio-page .about-photo small{background:#203f32;color:#fff;padding:6px 10px;border-radius:6px}
.studio-page .person-card>span{background:#dce7cb;color:#36532c}
.studio-page :is(input,select,textarea){color:#233f34;background-color:#fff;border-color:#6c806d}
.studio-page :is(input,textarea)::placeholder{color:#526557;opacity:1}
.studio-page :is(input,select,textarea):focus-visible{outline:3px solid #315c34;outline-offset:3px}
.studio-page input[aria-invalid=true]{border-color:#943c2e!important;outline-color:#943c2e!important}
.studio-page :is(button:disabled,input:disabled,select:disabled,textarea:disabled){opacity:1;color:#526253;background-color:#edf1e8;border-color:#879780;cursor:not-allowed}
.studio-page .molecule-elements button[data-pick="element:N"] i{background:#365f79;color:#fff;box-shadow:none}
.studio-page .molecule-elements button[data-pick="element:O"] i{background:#934b3b;color:#fff;box-shadow:none}
.studio-page .molecule-elements button[data-pick="element:C"] i{background:#465849;color:#fff;box-shadow:none}
.studio-page .molecule-elements button[data-pick="element:H"] i{background:#f1f4e9;color:#374f38;box-shadow:none;border:1px solid #6c806d}
.studio-page .evidence-calculation figcaption small{color:#4f6256}
.studio-page .evidence-calculation .evidence-result{color:#244f34}
.studio-page .evidence-calculation .nutrition-track{stroke:#64795a}
.studio-page .evidence-calculation .nutrition-interval{fill:#dce8cd;stroke:#526e43}
.studio-page .button.secondary{background:#f7f8f2;color:#233f34;border-color:#6c806d}
.studio-page .button.lime{background:#c4d691;color:#203b35;border-color:#52693d}
.studio-page :is(.filter-pills,.guide-filter-row,.software-tabs,.platform-tour-nav) button[aria-pressed=true],.studio-page .software-tabs button[aria-selected=true]{color:#234430;border-color:#526e43}
.studio-page .software-preview :focus-visible,.studio-page .warmup-dialog :focus-visible{outline:3px solid #315c34;outline-offset:3px}
.studio-page .decision-lab :is(input,select,textarea){color:#233f34}
.studio-page .decision-lab :focus-visible,.studio-page #site-menu :focus-visible,.studio-page .site-footer :focus-visible{outline:3px solid #d9efbd;outline-offset:4px}
@media(forced-colors:active){.chart-label,.chart-value,.chart-axis{fill:CanvasText}.chart-bar{fill:Highlight;stroke:CanvasText}.chart-reference{stroke:CanvasText}.chart-grid{stroke:GrayText}.studio-page :is(button,input,select,textarea,.button){border:1px solid ButtonText}}
/* Filter selections have a dark surface; software tabs retain a light one. */
.studio-page :is(.filter-pills,.guide-filter-row) button[aria-pressed=true]{background:#315b40;color:#fff;border-color:#315b40}
.studio-page :is(.software-tabs,.platform-tour-nav) button[aria-selected=true]{background:#e4edd8;color:#234430;border-color:#526e43}
/* Two-tone focus stays visible against both light and dark surfaces. */
.studio-page :focus-visible{outline:3px solid #315c34;outline-offset:3px;box-shadow:0 0 0 3px #fff}
.studio-page :is(.decision-lab,#site-menu,.site-footer) :focus-visible{outline-color:#d9efbd;box-shadow:0 0 0 3px #203f32}
/* Commercial journeys: shared density, surfaces and readable decision examples. */
.launch-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,80px);align-items:center;padding-block:clamp(42px,6vw,80px)}
.launch-hero h1{font-size:var(--title-page);line-height:1.1;text-wrap:balance;letter-spacing:-.045em}
.launch-hero .lead{margin-top:25px;font-size:clamp(17px,1.6vw,20px);line-height:1.75;color:#40594c}
.launch-hero p:not(.lead){margin-top:18px;font-size:15px;line-height:1.8;color:#53675c}
.launch-photo{margin:0;min-width:0}.launch-photo img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:20px}.launch-photo figcaption{margin-top:14px;font-size:13px;line-height:1.7;color:#4e6255}
.launch-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.launch-cards article{min-width:0;display:flex;flex-direction:column;padding:28px;border:1px solid #a7b69f;border-radius:20px;background:#fff}.launch-cards h3{font-size:25px;line-height:1.3;letter-spacing:-.03em}.launch-cards p{font-size:16px;line-height:1.8;color:#4e6255;margin:18px 0}.launch-cards .text-link{margin-top:auto}.launch-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.launch-proof{padding-block:var(--space-section);background:#edf2e7}.launch-proof h2,.launch-preparation h2{font-size:var(--title-section);line-height:1.2}.launch-proof p{margin-top:22px;font-size:16px;line-height:1.8;color:#40594c}.launch-checks{margin:24px 0;padding-left:22px;font-size:15px;line-height:1.8;color:#40594c}.launch-checks li+li{margin-top:10px}.launch-proof .software-preview{transform:none}
.launch-preparation{padding-block:40px var(--space-section)}.launch-steps{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.launch-steps li{min-width:0;border-top:2px solid #6b8559;padding-top:22px;display:grid;grid-template-columns:30px 1fr;gap:12px}.launch-steps li>span{font-size:13px;color:#4e6255}.launch-steps h3{font-size:23px;line-height:1.3}.launch-steps p{font-size:15px;line-height:1.8;color:#4e6255;margin-top:15px}
.launch-module-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.launch-module-links a{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:70px;border-top:1px solid #a7b69f;color:#284d36}.launch-module-links a:hover{text-decoration:underline;text-underline-offset:4px}.launch-module-links .icon{flex:none}
#demo-access-runtime[data-demo-state=pending] #demo-email-form{display:none}.demo-access-fallback{padding:6px 0}.demo-access-fallback h2{font-size:27px;line-height:1.3}.demo-access-fallback p{font-size:16px;line-height:1.8;margin:20px 0;color:#40594c}.demo-access-fallback .hero-buttons{margin:24px 0}.demo-access-card .demo-access-note{color:#4e6255}
@media(max-width:1000px){.launch-hero{grid-template-columns:1fr 1fr;gap:30px}.launch-three{grid-template-columns:1fr}.launch-steps{gap:20px}.launch-proof .editorial-split{grid-template-columns:1fr}.launch-proof .software-preview{max-width:760px}}
@media(max-width:760px){.launch-hero,.launch-cards,.launch-steps,.launch-module-links{grid-template-columns:1fr}.launch-hero{padding-block:40px;gap:28px}.launch-photo img{aspect-ratio:16/9}.launch-cards article{padding:24px}.launch-steps{gap:28px}.launch-preparation{padding-top:28px}.launch-hero .hero-buttons{align-items:stretch}.launch-hero .button{width:100%}.launch-proof p{font-size:16px}}
.scope-config>summary{font-size:22px;line-height:1.4;font-weight:600;cursor:pointer;min-height:44px;color:#233f34}.scope-config[open]>summary{margin-bottom:25px}

/* Agricultural landscape faded into the opening block. */
.launch-hero-shell{position:relative;isolation:isolate;overflow:hidden;background:#f8f8f4}
.launch-hero-landscape{position:absolute;inset:0;z-index:0;pointer-events:none}
.launch-hero-landscape img{width:100%;height:100%;object-fit:cover;object-position:center 57%}
.launch-hero-landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,248,244,.97) 0%,rgba(248,248,244,.95) 42%,rgba(248,248,244,.91) 59%,rgba(248,248,244,.38) 79%,rgba(248,248,244,.12) 100%),linear-gradient(0deg,#f8f8f4 0%,rgba(248,248,244,.85) 5%,rgba(248,248,244,0) 25%)}
.launch-hero-shell .launch-hero{position:relative;z-index:1;display:flex;align-items:center;min-height:620px;padding-block:clamp(60px,7vw,110px)}
.launch-hero-copy{width:min(760px,59%);min-width:0}.launch-hero-copy h1{max-width:760px}.launch-hero-copy .lead{max-width:680px}.launch-hero-copy>p:not(.lead){max-width:660px}
@media(max-width:1000px){.launch-hero-copy{width:min(720px,78%)}.launch-hero-landscape:after{background:linear-gradient(90deg,rgba(248,248,244,.97),rgba(248,248,244,.94) 74%,rgba(248,248,244,.6)),linear-gradient(0deg,#f8f8f4,transparent 28%)}.launch-hero-shell .launch-hero{min-height:560px;padding-block:60px}}
@media(max-width:760px){.launch-hero-copy{width:100%}.launch-hero-shell .launch-hero{min-height:0;padding-block:48px 68px}.launch-hero-landscape img{object-position:63% center}.launch-hero-landscape:after{background:linear-gradient(180deg,rgba(248,248,244,.96),rgba(248,248,244,.94) 85%,rgba(248,248,244,.65)),linear-gradient(0deg,#f8f8f4,transparent 26%)}}

/* Wind moves the photographic field; the copy and the fade remain still. */
.hero-wind-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.launch-hero-landscape.is-wind-ready>img{opacity:0}.launch-hero-landscape:after{z-index:1}

.hero-wind-canvas[hidden]{display:none}

.ux-sr-heading{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
