/* Light theme. Original keyframes and animation hooks remain in place. */
:root{color-scheme:light;--bg:#fff;--panel:#f7f8f7;--fg:#000;--muted:#000;--line:#e1e7e3;--accent:#000}
body{background:#fff;color:#000;font-size:16px;line-height:1.7}
.wrap{width:min(1080px,100% - 56px)}
a:hover{color:#000}
header,header.is-scrolled{background:rgba(255,255,255,.97);border-bottom-color:#000;box-shadow:none}
.nav-row{padding-block:18px}
.brand{font-size:13px;letter-spacing:.1em}
.brand img,.logo-stage .hero-logo{filter:invert(1)}
nav>a,nav summary{color:#000}
nav a[aria-current=page]{color:#000}
.service-links{background:#fff;border-color:#000;box-shadow:0 12px 32px rgba(24,34,30,.08)}
.button{min-height:45px;background:#193f2e;border-color:#000;color:#000;border-radius:7px;padding:11px 20px}
.button:hover{background:#24543e;border-color:#000;color:#000}
.button.secondary{background:transparent;border-color:#000;color:#000}
.button.secondary:hover{background:#f0f5f1;color:#000}
.button:not(.secondary)::after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
.eyebrow{font-size:11px;letter-spacing:.13em}
h1{font-weight:550;letter-spacing:-.045em}
h2{font-weight:550;font-size:clamp(25px,3vw,32px)}
h3{font-size:19px}
.hero{padding:88px 0 64px;gap:64px}
.hero h1{font-size:clamp(42px,5.6vw,66px);max-width:16ch;line-height:1.06}
.hero .lead{max-width:40ch}
.lead{color:#000;font-size:17px}
.hint,.example-label,.run-status{color:#000}
.hero .hint{margin-top:18px}
.panel,.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px}
.card p,.prose p,.prose li,.faq p{color:#000}
.hero-visual .panel{box-shadow:0 12px 38px rgba(24,34,30,.04)}
.hero-visual .panel::before{background:linear-gradient(90deg,transparent,#8caf9b,transparent)}
.check-row{font-size:13px;padding:13px 0;gap:12px}
.flag,.ex-msg.bot small{color:#000}
.pass,.number{color:#000}
.section{padding:56px 0}
.section-intro{margin-bottom:25px}
.section-intro .lead{max-width:52ch;margin-bottom:0}
.grid{gap:18px}
.card>a:last-child{color:#000;text-decoration:none}
.card::before{background:radial-gradient(360px circle at var(--card-x,50%) var(--card-y,20%),rgba(65,120,83,.045),transparent 72%)}
.ambient-light::before{background:radial-gradient(circle,rgba(91,142,106,.08),transparent 67%);opacity:.3}
.ambient-light::after{background:radial-gradient(circle,rgba(140,161,180,.06),transparent 67%);opacity:.25}
.logo-stage::before{background:radial-gradient(ellipse,rgba(66,116,81,.08),transparent 70%)}
.orbit{border-color:#000}
.orbit.outer{border-color:#000}
.orbit-dot{background:#397652;box-shadow:0 0 10px rgba(57,118,82,.18)}
.orbit.outer .orbit-dot{background:#7e8d84;box-shadow:none}
.scroll-progress{height:1px;background:linear-gradient(90deg,#256149,#9bb9a5)}
.marquee{padding:14px 0}
.marquee-track span{color:#000;font-size:11px;letter-spacing:.09em}
.ex{gap:20px}
.ex-steps button{background:#fff;border-color:#000;border-radius:10px;padding:17px 18px;color:#000}
.ex-steps button:hover{border-color:#000}
.ex-steps button[aria-pressed=true]{border-color:#000;background:#f1f6f2}
.ex-steps b{border-color:#000;color:#000}
.ex-steps button[aria-pressed=true] b{background:#256149;border-color:#000;color:#000}
.ex-steps em{color:#000;font-size:13px}
.ex-steps button::after,.ex-scan div i{background:linear-gradient(90deg,#256149,#a0c1aa)}
.ex-chat{background:#f7f9f7;border-color:#000;border-radius:12px}
.ex-cap{color:#000;border-color:#000}
.ex-msg.user{background:#e3eee6;color:#000}
.ex-msg.bot{background:#fff;border-color:#000;color:#000}
.ex-scan,.ex-watch{color:#000}
.ex-scan div{background:#dfe8e1}
.ex-report{border-color:#000;background:#eef6f0}
.ex-report p{color:#000}
.ex-report b{color:#000}
.ex.is-live .ex-msg.bot[data-flagged]{border-color:#000}
.scene svg{background:#f7f9f7;border-color:#000}
.sf{fill:#fff;stroke:#9aaea1}
.sl{fill:#d3dfd6}
.bar{fill:#648c71}
.bar.bd,.al2{fill:#b55d46}
.ln,.tk{stroke:#33764b}
.bm{fill:rgba(52,118,75,.06);stroke:rgba(52,118,75,.25)}
.bx{fill:#b9cbbf;stroke:#6e9279}
.vb{stroke:#33764b}
.pulse{gap:40px}
.pulse-chart{background:#f8faf8;border-color:#000;border-radius:12px}
.pulse .grid-line{stroke:#e0e8e2}
.pulse .trace{stroke:#35744b}
.pulse .alert-dot{fill:#af503b}
.pulse text{fill:#a04430}
.belt{background:#f7f9f7;border-color:#000}
.belt::after{background:repeating-linear-gradient(90deg,#c8d7cc 0 22px,#e0e9e2 22px 44px)}
.belt i{background:linear-gradient(145deg,#d0dfd5,#8caf99);box-shadow:0 3px 8px rgba(30,62,39,.1)}
.belt .vf{box-shadow:0 0 22px rgba(37,97,73,.05)}
.belt .vf span{background:#f7f9f7}
.belt .vf::before,.belt .vf::after{background:linear-gradient(90deg,transparent,rgba(37,97,73,.5),transparent)}
.band,.cta-band{background:#f3f7f3;border-color:#000;border-radius:12px;padding:36px;margin-top:28px}
.cta-band h2{font-size:clamp(28px,4vw,40px);margin-bottom:12px}
.cta-band p,.check-list li{color:#000}
.transcript{background:#f4f7f4}
input:not([type=checkbox]),textarea,select{background:#fff;color:#000;border-color:#000}
input:user-invalid,textarea:user-invalid{border-color:#000}
.consent input{accent-color:#000}
.form-status{background:#eef6f0;color:#000}
.form-status.error{background:#fff1ed;border-color:#000;color:#000}
.test-notice{background:#eef5ef}
footer{margin-top:64px;padding-top:38px;color:#000}
footer h2,footer .brand{color:#000}
.footer-bottom{border-color:#000}
@media(hover:hover) and (pointer:fine){
 html[data-motion=on] .card:hover{border-color:#000;box-shadow:0 9px 25px rgba(24,55,34,.05);transform:translateY(-3px)}
 html[data-motion=on] .button:hover{box-shadow:0 4px 12px rgba(24,55,34,.1)}
}
@media(max-width:1000px){.hero{gap:32px}.nav-row{gap:16px}}
@media(max-width:700px){
 .wrap{width:calc(100% - 36px)}
 .hero{padding:44px 0;gap:26px}
 .hero h1{font-size:46px}
 .hero .lead{font-size:17px}
 .hero-visual{max-width:100%}
 .section{padding:36px 0}
 .panel,.card{padding:21px}
 .band,.cta-band{padding:26px}
 .actions .button{flex:initial}
 .nav-row{padding-block:13px}
 nav{gap:12px}
 .ex-chat{padding:16px}
}
@media(max-width:380px){.hero h1{font-size:40px}.check-row{flex-direction:column;gap:2px}}

/* Black typography and controls on the light theme. */
body,h1,h2,h3,p,li,label,summary,figcaption,nav,footer,
.lead,.hint,.muted,.meta,.eyebrow,.flag,.pass,.number,.example-label,.run-status,
.card p,.card>a:last-child,.prose p,.prose li,.faq p,.check-list li,.check-row .testing,
.cta-band p,.ex-steps em,.ex-cap,.ex-scan,.ex-watch,.ex-report p,.ex-report b,.ex-msg.bot small,
a,a:hover,footer h2,footer .brand{color:#000}
.button,.button:hover{background:#000;border-color:#000;color:#fff}
.button.secondary,.button.secondary:hover{background:#000;border-color:#000;color:#fff}
.ex-steps button[aria-pressed=true]{border-color:#000;background:#f5f5f5}
.ex-steps button[aria-pressed=true] b{background:#000;border-color:#000;color:#fff}
input:not([type=checkbox]),textarea,select{color:#000}
.consent input{accent-color:#000}
.pulse text{fill:#000}
.stock-photo{margin:0;min-width:0}
.stock-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px;background:#f4f4f4}
.stock-photo figcaption{margin-top:7px;font-size:11px;line-height:1.5;color:#000}
.stock-photo figcaption a{text-decoration:none}
.stock-photo figcaption a:hover{text-decoration:underline}
.hero-visual .stock-photo{margin-top:8px}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0}
.photo-grid+.belt{margin-top:24px}
.page-head+.stock-photo{max-width:760px;margin:0 0 38px}
@media(max-width:700px){.photo-grid{grid-template-columns:1fr;gap:24px}.stock-photo img{border-radius:10px}}

/* Service discovery, editorial photographs and visible breadcrumbs. */
.breadcrumbs{display:block;order:initial;flex-basis:auto;margin:25px 0 0;font-size:12px;line-height:1.7;color:#000}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;padding:0;margin:0;list-style:none}
.breadcrumbs li{padding:0;margin:0}
.breadcrumbs li+li::before{content:"/";margin-right:10px}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.breadcrumbs+ .page-head{padding-top:32px}
.article-thumb{display:block;width:100%;margin:0 0 18px;padding:0}
.article-thumb img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;background:#f4f4f4}
.service-grid h2{font-size:22px;margin:0 0 12px}
.service-grid .card>a:last-child{font-size:14px;padding-top:10px;margin-top:auto}
article>.stock-photo{max-width:760px;margin-bottom:30px}
.related-services{max-width:760px;margin:32px 0}
.related-services h2{font-size:24px}
@media(max-width:700px){.breadcrumbs{margin-top:20px}.breadcrumbs+.page-head{padding-top:25px}}
