@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f7f7f2;--ink:#202824;--muted:#616b65;--green:#c9eeab;--line:#d9dfd4;--serif:'Instrument Serif',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #36874c;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:450;line-height:1.08;letter-spacing:-.045em}em{font-family:var(--serif);font-weight:400}h2{font-size:clamp(38px,4.2vw,62px)}h3{font-size:27px;letter-spacing:-.025em}p{color:var(--muted)}.wrap{width:min(1320px,calc(100% - 112px));margin:auto}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.15em;display:block}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#377c46;margin-right:9px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;border-bottom:1px solid var(--line);background:#f7f7f2f5;position:sticky;top:0;z-index:10;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap}.brand img{filter:brightness(0);opacity:.9}.brand strong{font-size:27px;letter-spacing:-1.4px;font-weight:700}.brand strong span{font-size:10px;vertical-align:top;line-height:2.5;margin-left:2px;letter-spacing:0}.brand i{height:25px;width:1px;background:#c5ccc0;margin:0 13px}.brand-name{font-size:16px;letter-spacing:-.5px}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav>a:hover{color:#418753}.nav-cta{border:0;background:var(--ink);color:white;border-radius:50px;padding:12px 21px;font-size:13px}.nav-cta span{margin-left:22px}#menu{display:none}.hero{padding-top:66px;position:relative;overflow:hidden}.hero h1{font-size:clamp(62px,7.8vw,112px);line-height:1.01;margin:31px 0 36px;position:relative;z-index:1}.hero h1 em{color:#477854}.hero-bottom{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:1}.hero-bottom p{font-size:17px;line-height:1.6}.round-link{display:flex;align-items:center;gap:24px;font-size:13px}.round-link b{font-weight:400;font-size:22px;border:1px solid #a9b5a4;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;transition:background .2s}.round-link:hover b{background:var(--green)}.horizon{position:relative;height:275px;margin-top:50px;overflow:hidden;background:radial-gradient(ellipse at 66% 105%,#c6eca8 0,transparent 62%);border-bottom:1px solid var(--line)}.orbit{position:absolute;border:1px solid #a9c39766;border-radius:50%;width:1400px;height:650px;left:50%;transform:translateX(-50%);top:60px}.o2{width:1160px;top:95px}.o3{width:900px;top:135px}.horizon:after{content:'';position:absolute;background:linear-gradient(90deg,transparent,#729d55,transparent);height:1px;left:0;right:0;top:245px}.horizon-label{position:absolute;bottom:15px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.2em;color:#4b6347}.horizon-label span{margin:0 23px}.intro{padding:110px 0 120px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px 90px}.intro>.eyebrow{grid-column:1/-1}.intro p{max-width:480px;font-size:17px}.intro p+p{margin-top:20px}.work{padding-bottom:125px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-heading .eyebrow{margin-bottom:24px}.section-heading>p{font-size:15px}.offering-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px}.tabs{border-top:1px solid var(--line)}.tabs button{width:100%;display:flex;align-items:center;gap:22px;border:0;border-bottom:1px solid var(--line);padding:28px 0;background:transparent;text-align:left;transition:padding .2s}.tabs small{font-size:10px;color:#7b857d}.tabs span{font-size:23px;letter-spacing:-.7px}.tabs b{margin-left:auto;font-weight:400}.tabs button[aria-selected=true]{padding:28px 22px;background:#e9eee2}.tabs button[aria-selected=false]:hover{background:#eff1e9}#offer-panel{background:#edf1e6;padding:43px 45px;min-height:470px}.tag{font-size:9px;letter-spacing:.13em;color:#4e6647}.tag+h3{font-size:37px;margin:20px 0}.tag~p{max-width:460px;font-size:15px}ul{list-style:none;padding:0;margin:23px 0}li{font-size:13px;padding:6px 0}li:before{content:'↗';color:#598644;margin-right:11px}.text-link{padding:0 0 6px;border:0;border-bottom:1px solid #99a692;background:transparent;font-size:13px;display:inline-flex;gap:23px;align-items:center}.text-link span,.text-link b{font-weight:400}.text-link:hover{color:#387744}.flow{border-top:1px solid #cdd6c6;display:flex;align-items:center;justify-content:space-between;margin-top:36px;padding-top:20px;font-size:11px}.flow b{font-weight:400;color:#84917e}.approach{padding:100px 0;background:#202e26;color:#f5f7ef}.approach p{color:#b9c6b9}.approach .eyebrow{color:#b6d99f}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;gap:36px}.steps article{border-top:1px solid #596757;padding-top:24px}.steps article>span{font-size:11px;color:#c9eeab}.steps h3{font-size:24px;margin:33px 0 18px}.steps p{font-size:14px;min-height:115px}.steps small{font-size:10px;display:block;margin-top:25px;color:#c9eeab}.approach-foot{font-size:12px;color:#b8c6b6;margin-top:65px;padding-top:25px;border-top:1px solid #52614e}.approach-foot .dot{background:var(--green)}.perspectives{padding:120px 0}.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.story-art{height:260px;overflow:hidden;margin-bottom:25px;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .4s}.story:hover .story-art{transform:translateY(-5px)}.art-people{background:#dce8d1;gap:12px}.art-people span{width:32px;height:85px;background:#98b58c;border-radius:40px;margin-top:50px}.art-people span:nth-child(2n){height:120px;margin-top:15px}.art-people span:nth-child(3){height:160px;background:#3c6b41;margin-top:-25px}.art-code{background:#e7e5db}.art-code div{font-family:monospace;color:#809477;line-height:1.6;font-size:23px;transform:rotate(-9deg)}.art-code span{padding-left:40px;color:#3d4f3a}.art-workflow{background:#d7e0d9}.art-workflow i{position:absolute;width:200px;height:100px;border:1px solid #8d9e90;border-radius:50%;transform:rotate(-35deg)}.art-workflow i:nth-child(2){transform:rotate(25deg)}.art-workflow i:nth-child(3){transform:rotate(85deg)}.art-workflow b{font-size:42px;color:#4c6a51;font-weight:400}.story-meta{font-size:9px;letter-spacing:.15em;display:flex;justify-content:space-between;color:#6d776b}.story h3{margin:17px 0;font-size:28px}.story p{font-size:14px;max-width:320px;margin-bottom:25px}.story .text-link{font-size:12px}.live{border-top:1px solid var(--line);padding:85px 0 115px;display:grid;grid-template-columns:1fr 1fr;gap:110px}.live h2{margin:24px 0}.live>div>p{font-size:15px;max-width:390px;margin-bottom:30px}.session-list>div{border-top:1px solid var(--line);padding:22px 0}.session-list small{font-size:9px;letter-spacing:.12em;color:#798274}.session-list h3{font-size:24px;margin:12px 0}.session-list p{font-size:13px}.closing{background:#d5edbf;padding:90px 0 95px}.closing>.wrap{position:relative}.closing h2{font-size:clamp(70px,8vw,112px);margin-top:28px}.closing>.wrap>div{position:absolute;right:0;bottom:0}.closing p{color:#4f6549;margin-bottom:28px;font-size:16px}.button{display:flex;align-items:center;justify-content:space-between;gap:45px;border:0;border-radius:50px;background:#243326;color:white;padding:16px 24px;font-size:13px}.button:hover,.nav-cta:hover{background:#3c583d}footer{padding:52px 0 30px}footer>p{font-size:12px;margin-top:15px}footer>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:50px;font-size:11px;color:#65705f}.skip{position:absolute;top:-100px;z-index:100;padding:12px;background:var(--green)}.skip:focus{top:10px}dialog{border:0;padding:45px;width:min(560px,calc(100% - 28px));max-height:90vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#15231bcc;backdrop-filter:blur(8px)}dialog h2{font-size:48px;margin:20px 0}dialog p{font-size:14px}.close{position:absolute;right:20px;top:12px;background:none;border:0;font-size:30px}form{margin-top:23px;display:grid;gap:16px}label{font-size:12px;display:grid;gap:5px}input,textarea,select{width:100%;border:1px solid #ccd3c6;padding:11px;background:transparent;border-radius:0;font-size:14px}form small{font-size:11px;color:#727c6c}body:has(dialog[open]){overflow:hidden}.article{max-width:780px;padding:85px 0 100px}.article h1{font-size:clamp(45px,6vw,76px);margin:28px 0}.article .lede{font-size:22px;line-height:1.5;margin-bottom:60px}.article h2{font-size:32px;margin:40px 0 17px}.article p{margin-bottom:20px;font-size:17px}.article .back{font-size:12px}.article-bottom{border-top:1px solid var(--line);padding-top:35px;margin-top:55px;display:flex;flex-wrap:wrap;gap:24px 32px;align-items:center}
@media(min-width:1600px){header{padding-inline:calc((100vw - 1320px)/2)}}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}header{padding:0 32px}.brand-name{font-size:13px}.brand i{margin:0 5px}nav{gap:18px}.offering-layout{gap:30px}.steps{gap:22px}.steps h3{font-size:21px}.steps p{min-height:140px}.live{gap:55px}.story-art{height:220px}.intro{gap:30px}.hero h1{font-size:8vw}}@media(max-width:720px){.wrap{width:calc(100% - 40px)}header{height:77px;padding:0 20px}.brand strong{font-size:23px}.brand img{width:23px;height:23px}.brand-name{font-size:13px}#menu{display:block;border:0;background:none;font-size:12px}#menu span{margin-left:7px}nav{display:none;position:absolute;left:0;right:0;top:77px;padding:22px;background:var(--paper);border-bottom:1px solid var(--line)}nav.open{display:flex;align-items:stretch;flex-direction:column}.hero{padding-top:44px}.eyebrow{font-size:8px}.hero h1{font-size:clamp(43px,9.8vw,69px);margin:26px 0}.hero-bottom{align-items:start;flex-direction:column;gap:27px}.hero-bottom p{font-size:15px}.round-link{font-size:12px}.round-link b{width:40px;height:40px}.horizon{height:160px;margin-top:25px}.orbit{top:50px;width:700px;height:320px}.o2{width:530px;top:80px}.o3{width:360px;top:115px}.horizon:after{top:130px}.horizon-label{font-size:7px;bottom:12px}.horizon-label span{margin:0 12px}.intro{padding:65px 0;grid-template-columns:1fr;gap:20px}.intro p{font-size:15px}.intro h2{margin-bottom:6px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:14px}.section-heading .eyebrow{margin-bottom:16px}.offering-layout{grid-template-columns:1fr;gap:25px}.tabs button,.tabs button[aria-selected=true]{padding:20px 13px}.tabs span{font-size:19px}#offer-panel{padding:30px 24px;min-height:440px}#offer-panel h3{font-size:31px}.work{padding-bottom:65px}.approach{padding:65px 0}.steps{grid-template-columns:1fr 1fr;gap:32px 22px;margin-top:40px}.steps h3{font-size:22px;min-height:48px;margin:22px 0 14px}.steps p{font-size:13px;min-height:126px}.steps small{font-size:9px;margin-top:20px}.approach-foot{margin-top:40px;font-size:11px}.perspectives{padding:65px 0}.stories{grid-template-columns:1fr;gap:42px}.story-art{height:240px}.story p{max-width:none}.story h3{font-size:30px}.live{padding:55px 0 65px;grid-template-columns:1fr;gap:40px}.closing{padding:60px 0}.closing h2{font-size:69px;margin:25px 0 35px}.closing>.wrap>div{position:static}.closing p{font-size:15px}.closing .button{width:100%}footer{padding:35px 0 25px}.article{padding:45px 0 65px}.article .lede{font-size:20px}.article p{font-size:16px}dialog{padding:35px 24px}dialog h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the test inquiry consent control compact and keyboard accessible. */
#contact-form .consent { display: flex; align-items: flex-start; gap: .65rem; font-weight: 400; }
#contact-form .consent input { width: auto; margin-top: .25rem; flex: 0 0 auto; }
#inquiry-status:empty { display: none; }
#inquiry-status { font-size: .95rem; }
