:root{--green:#075b42;--deep:#014a34;--dark:#0d392b;--ink:#14392b;--lime:#20bb83;--paper:#f3f2eb;--warm:#faf9f5;--line:rgba(6,74,52,.22);--pad:clamp(24px,5.4vw,92px)}
html{scroll-behavior:smooth}body{background:var(--warm);color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.site-header{height:86px;border-bottom:1px solid rgba(255,255,255,.24);background:transparent}
.site-header.scrolled{height:70px;background:var(--deep);backdrop-filter:none}
.brand img{width:143px}.nav{gap:42px;font-size:12px;font-weight:600;letter-spacing:.04em}
.nav a{opacity:.8}.header-contact{border:1px solid rgba(255,255,255,.7);border-radius:0;padding:12px 20px;font-size:12px;font-weight:600}
.hero{display:block;min-height:100svh;padding:0 var(--pad);background:var(--deep);color:#f6f7ee;overflow:hidden}
.hero-grid{inset:86px 0 0;opacity:1;background-image:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:25% 100%;mask-image:none}
.hero-copy{max-width:1100px;padding-top:clamp(180px,24vh,270px);padding-bottom:120px}
.hero .eyebrow{font-size:12px;letter-spacing:.14em;color:#c5edcf}
.hero h1{margin:34px 0 0;font-size:clamp(82px,10.5vw,164px);line-height:.99;letter-spacing:-.085em;font-weight:600;white-space:nowrap}
.switch-word{color:#b4e9c5}.switch-dot{display:none}
.hero-lead{margin:76px 0 16px;font-size:clamp(24px,2.5vw,36px);line-height:1.4;letter-spacing:-.055em;font-weight:600}
.hero-description{font-size:16px;line-height:1.9;color:rgba(255,255,255,.72)}
.hero .text-link{margin-top:36px;padding:0 0 11px;gap:45px;border-bottom:1px solid rgba(255,255,255,.7);font-size:13px;font-weight:600}
.hero-switch{position:absolute;right:var(--pad);bottom:90px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:15px;border:0;background:transparent;color:#fff}
.hero-switch-track{position:relative;display:block;width:132px;height:68px;border:2px solid #c9edd1;border-radius:999px;background:rgba(0,0,0,.12);transition:background .5s}
.hero-switch-track span{position:absolute;left:8px;top:8px;width:48px;height:48px;border-radius:50%;background:#d5efdc;transition:transform .55s cubic-bezier(.16,1,.3,1),background .55s}
.hero-switch.is-on .hero-switch-track{background:#168f60}.hero-switch.is-on .hero-switch-track span{transform:translateX(64px);background:#fff}
.hero-switch-label{font-size:11px;letter-spacing:.08em}.scroll-cue{display:none}

.system-story{padding:145px var(--pad) 165px;background:var(--paper);scroll-margin-top:70px}
.hero-system{display:block;width:100%;max-width:1450px;margin:0 auto;border:0;background:transparent;box-shadow:none;color:var(--ink);overflow:visible}
.system-topline{height:auto;padding:0 0 22px;border-bottom:1px solid var(--line);color:var(--green);font-size:12px;font-weight:700;letter-spacing:.1em}
.system-topline b{margin-left:22px;color:var(--green);opacity:.55;font-weight:500}
.system-led{width:11px;height:11px;background:transparent;border:1px solid var(--green)}
.hero-system:not([data-step="0"]) .system-led{background:var(--lime);box-shadow:none}
.system-heading{min-height:0;padding:90px 0 0;align-items:flex-end;gap:40px}
.system-heading p{margin:0 0 22px;color:var(--green);font-size:15px;font-weight:600;letter-spacing:-.02em}
.system-heading h2{font-size:clamp(60px,7.3vw,110px);line-height:1.08;letter-spacing:-.075em;color:var(--deep);font-weight:600}
.system-toggle{min-width:116px;gap:14px;margin-bottom:8px;color:var(--green)}
.toggle-track{width:116px;height:62px;border:2px solid var(--green);background:transparent}
.toggle-knob{top:7px;left:7px;width:44px;height:44px;background:var(--green)}
.hero-system:not([data-step="0"]) .toggle-track{border-color:var(--green);background:#d8ecdd}
.hero-system:not([data-step="0"]) .toggle-knob{transform:translateX(54px);background:var(--green);box-shadow:none}
.toggle-copy{font-size:11px;letter-spacing:.1em}
.system-deck{max-width:660px;margin:30px 0 88px auto;color:#526b5b;font-size:18px;line-height:1.85;letter-spacing:-.03em}
.system-diagram{height:620px;margin:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background-image:linear-gradient(90deg,rgba(6,74,52,.08) 1px,transparent 1px);background-size:25% 100%;overflow:hidden}
.route-guide{stroke:rgba(6,74,52,.23);stroke-width:2;stroke-dasharray:4 8}
.route-built{stroke:var(--green);stroke-width:3;filter:none}
.leak-particle{fill:#b66e3c;filter:none}.return-particle{fill:var(--green);filter:none}
.journey-node,.touch-node{width:39%;min-height:94px;padding:12px 16px;grid-template-columns:26px 1fr;column-gap:10px;border:0!important;border-bottom:1px solid rgba(6,74,52,.32)!important;background:var(--paper)!important;box-shadow:none!important;opacity:.72}
.journey-node i,.touch-node i{width:10px;height:10px;border:1px solid var(--green);background:transparent}
.journey-node>span{font-size:11px;color:var(--green)}
.journey-node strong,.touch-node strong{font-size:clamp(18px,2vw,27px);line-height:1.3;color:var(--deep);font-weight:600;letter-spacing:-.06em}
.journey-node small,.touch-node small{font-size:10px;color:#557262;letter-spacing:.08em}
.touch-node{width:36%;grid-template-columns:22px 1fr;opacity:.5}
.touch-node strong{font-size:clamp(16px,1.6vw,22px)}
.loss-label{right:7%;padding:4px 7px;background:var(--paper);color:#a75b2c;font-size:12px;font-weight:600}
.system-status{min-height:118px;padding:24px 0;border:0;display:flex;align-items:center;gap:26px}
.status-index{font-size:36px;color:var(--green);font-weight:600;letter-spacing:-.07em}
.system-status p{color:var(--deep);font-size:clamp(18px,2vw,26px);letter-spacing:-.05em;font-weight:600}
.status-action{color:var(--green);font-size:12px;font-weight:600}
.hero-system:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"]) .node-return,
.hero-system:is([data-step="2"],[data-step="3"],[data-step="4"]) .touch-node,
.hero-system:is([data-step="3"],[data-step="4"]) .node-buy,
.hero-system[data-step="4"] .node-paid,
.hero-system[data-step="4"] .node-explore{border-bottom:2px solid var(--green)!important;background:var(--paper)!important;box-shadow:none!important}
.hero-system:is([data-step="1"],[data-step="2"],[data-step="3"],[data-step="4"]) .node-return i,
.hero-system:is([data-step="2"],[data-step="3"],[data-step="4"]) .touch-node i,
.hero-system:is([data-step="3"],[data-step="4"]) .node-buy i,
.hero-system[data-step="4"] .node-paid i,
.hero-system[data-step="4"] .node-explore i{background:var(--green);box-shadow:none}

.section-index{font-size:11px;font-weight:700;line-height:1.8;letter-spacing:.1em}
.manifesto{grid-template-columns:180px 1fr;gap:70px;padding:180px var(--pad);background:var(--warm)}
.manifesto-body{grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);gap:8vw}
.manifesto-kicker{font-size:clamp(58px,6.9vw,104px);line-height:1.15;letter-spacing:-.075em;color:var(--deep)}
.manifesto-copy{font-size:18px;line-height:1.85;color:#52675a}
.principles{grid-template-columns:180px 1fr;gap:70px;padding:170px var(--pad);background:var(--deep)}
.principles-intro h2{margin:18px 0 110px;font-size:clamp(64px,7vw,110px);line-height:1.1}
.principle-list{gap:0}
.principle{min-height:320px;padding:30px 34px 0 0;border-right:1px solid rgba(255,255,255,.24)}
.principle+.principle{padding-left:35px}.principle>span{font-size:12px;color:#a7e6bb}
.principle h3{margin:95px 0 24px;font-size:clamp(24px,2.3vw,34px)}
.principle p{font-size:16px;color:rgba(255,255,255,.7)}
.agency-section{grid-template-columns:1.3fr .7fr;gap:10vw;padding:190px var(--pad) 100px;background:#e3efe5}
.agency-statement h2{font-size:clamp(70px,8.3vw,126px);line-height:1.08;color:var(--deep)}
.agency-detail{font-size:20px;line-height:1.9;color:#3b6049}
.agency-ruler{margin-top:150px;border-color:rgba(6,74,52,.25);color:var(--green)}.agency-ruler i{background:rgba(6,74,52,.25)}
.capabilities{padding:180px var(--pad);background:var(--paper)}
.section-heading h2{font-size:clamp(60px,6.4vw,98px);line-height:1.13;color:var(--deep)}
.section-heading>p{font-size:18px;line-height:1.8}
.capability{grid-template-columns:60px 1.1fr 1fr .85fr;gap:34px;padding:48px 0}
.capability>span{font-size:12px}.capability h3{font-size:clamp(24px,2.5vw,36px);line-height:1.25}
.capability p{font-size:16px}.capability ul{font-size:14px}
.clients{padding:180px var(--pad);background:var(--warm)}
.clients-heading h2{font-size:clamp(60px,6.8vw,102px);line-height:1.12;color:var(--deep)}
.client-grid{border:0;border-top:1px solid var(--line)}
.client-grid span{height:150px;border:0;border-bottom:1px solid var(--line);font-size:clamp(20px,2.2vw,32px);font-weight:500;letter-spacing:-.04em;color:var(--deep)}
.client-grid span:hover{background:transparent;color:var(--green)}
.company{padding:180px var(--pad);background:var(--dark)}
.company-top h2{font-size:clamp(68px,7.5vw,116px);line-height:1.1}
.company-grid p{font-size:clamp(24px,2.5vw,38px);line-height:1.5}
.values{font-size:12px;color:rgba(255,255,255,.65)}
.contact-section{padding:170px var(--pad) 185px;background:var(--lime);color:var(--deep)}
.contact-section h2{font-size:clamp(72px,8vw,128px);line-height:1.1}
.contact-section>p:not(.eyebrow){font-size:20px;color:var(--deep)}
.contact-main{border-color:var(--deep);color:var(--deep);font-size:20px;font-weight:600}
.site-footer{background:#092e22;color:rgba(255,255,255,.76)}
.floating-contact{border-radius:0;border:0;background:var(--deep);box-shadow:none;font-size:12px}
.floating-light{background:#b4e9c5;box-shadow:none}
.dialog-shell{background:var(--paper)}.contact-form button[type=submit]{background:var(--deep)}

@media(max-width:1050px){
  .hero h1{font-size:clamp(72px,10vw,110px)}
  .hero-switch{right:var(--pad);bottom:54px}
  .manifesto,.principles{grid-template-columns:140px 1fr;gap:35px}
  .manifesto-body{grid-template-columns:1fr;gap:45px}
  .agency-section{grid-template-columns:1fr;gap:30px}
  .agency-detail{max-width:650px}
  .capability{grid-template-columns:40px 1fr 1fr}.capability ul{grid-column:2/-1;display:flex;gap:22px}
}
@media(max-width:700px){
  :root{--pad:22px}
  .site-header{height:70px}.brand img{width:122px}.header-contact{font-size:11px;padding:10px 12px}
  .hero{min-height:800px;padding:0 var(--pad)}
  .hero-grid{inset:70px 0 0;background-size:50% 100%}
  .hero-copy{padding-top:190px;padding-bottom:190px}
  .hero .eyebrow{font-size:10px}
  .hero h1{font-size:clamp(48px,12.4vw,78px);letter-spacing:-.075em;white-space:normal}
  .hero-lead{margin-top:58px;font-size:23px}
  .hero-description{font-size:14px;line-height:1.8}
  .hero .text-link{margin-top:30px;font-size:12px}
  .hero-switch{right:var(--pad);bottom:40px;gap:8px}
  .hero-switch-track{width:92px;height:48px}.hero-switch-track span{width:32px;height:32px;top:6px;left:6px}
  .hero-switch.is-on .hero-switch-track span{transform:translateX(44px)}.hero-switch-label{font-size:9px}
  .system-story{padding:105px var(--pad) 120px}
  .system-topline{font-size:10px;padding-bottom:16px}
  .system-heading{position:relative;display:block;padding-top:55px}
  .system-heading p{font-size:12px;margin-bottom:20px;padding-right:80px}
  .system-heading h2{font-size:clamp(39px,10.5vw,70px)}
  .system-toggle{position:absolute;top:53px;right:0;min-width:70px;margin:0}.toggle-track{width:70px;height:40px}.toggle-knob{width:26px;height:26px;top:5px;left:5px}
  .hero-system:not([data-step="0"]) .toggle-knob{transform:translateX(30px)}
  .system-deck{margin:36px 0 55px;font-size:15px;line-height:1.8}
  .system-diagram{height:580px;background-size:50% 100%}
  .journey-node,.touch-node{width:42%;min-height:72px;padding:7px 5px 7px 8px;grid-template-columns:12px 1fr;column-gap:4px}
  .journey-node i,.touch-node i{width:7px;height:7px}
  .journey-node strong,.touch-node strong{font-size:clamp(12px,3.4vw,15px);letter-spacing:-.05em;white-space:normal}
  .journey-node small,.touch-node small{font-size:8px;letter-spacing:0}
  .journey-node>span{font-size:8px}.touch-node{width:43%}
  .loss-label{font-size:9px;right:3%}
  .system-status{min-height:100px;gap:13px}.status-index{font-size:26px}.system-status p{font-size:15px}.status-action{display:none}
  .manifesto,.principles,.agency-section,.capabilities,.clients,.company{padding:110px var(--pad)}
  .manifesto,.principles{display:block}.section-index{margin-bottom:60px}
  .manifesto-kicker,.principles-intro h2,.agency-statement h2,.section-heading h2,.clients-heading h2,.company-top h2{font-size:clamp(42px,11vw,68px)}
  .manifesto-copy{font-size:16px;line-height:1.8}
  .principles-intro h2{margin-bottom:70px}
  .principle-list{display:block}.principle{min-height:auto;padding:26px 0 42px!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}
  .principle h3{margin:35px 0 15px;font-size:28px}.principle p{font-size:15px}
  .agency-detail{font-size:17px}.agency-ruler{margin-top:90px;gap:9px;font-size:8px}
  .section-heading{display:block;margin-bottom:70px}.section-heading>p{font-size:16px;margin-top:30px}
  .capability{grid-template-columns:30px 1fr;gap:14px;padding:30px 0}.capability h3{font-size:26px}.capability p,.capability ul{grid-column:2}.capability p{font-size:15px}.capability ul{display:block;font-size:13px}
  .clients-heading{margin-bottom:60px}.client-grid{grid-template-columns:1fr 1fr}.client-grid span{height:98px;font-size:19px}
  .company-top h2{margin-bottom:60px}.company-grid p{font-size:24px}
  .contact-section{padding:120px var(--pad) 150px}.contact-section h2{font-size:clamp(48px,12vw,78px)}.contact-section>p:not(.eyebrow){font-size:16px}
  .floating-contact{right:16px;bottom:16px;border-radius:0}
}
@media(max-width:390px){.hero h1{font-size:46px}.system-heading h2{font-size:37px}.journey-node strong,.touch-node strong{font-size:12px}.client-grid span{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hero-switch-track,.hero-switch-track span{transition:none}}
