 :root{--ink:#152c28;--green:#35684e;--paper:#fff;--sage:#f0f4ef;--line:#ccd8d0;--gutter:clamp(24px,5vw,96px);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:white}*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}img{display:block;max-width:100%;height:auto}figure{margin:0}p{font-size:17px;line-height:1.65;margin:0 0 22px}h1,h2,h3{font-weight:400;letter-spacing:-.055em;margin:0 0 28px;line-height:1.08}h2{font-size:clamp(42px,5.2vw,80px)}h3{font-size:34px}em{font-style:normal;color:var(--green)}[hidden]{display:none!important}:focus-visible{outline:3px solid #548569;outline-offset:5px}[id]{scroll-margin-top:110px}.shell{max-width:1400px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.14em;margin-bottom:32px}.large{font-size:clamp(23px,2.3vw,34px);letter-spacing:-.025em;line-height:1.4}.small,figcaption{font-size:12px;line-height:1.6;color:#52655a}section{padding:100px var(--gutter)}.sage{background:var(--sage)}.dark{background:var(--ink);color:var(--paper)}.dark em{color:#bbd1bd}.dark :focus-visible{outline-color:#c7e4ca}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px;letter-spacing:.07em;min-height:48px;border-bottom:1px solid currentColor;padding:12px 0}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}.header{position:fixed;inset:0 0 auto;height:88px;z-index:20;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:#fffffff5;color:var(--ink);border-bottom:1px solid #152c2815;transition:background .2s,color .2s}.header.dark-header{background:#152c28f5;color:white;border-color:#ffffff20}.brand{position:relative;width:210px;height:80px;display:flex;align-items:center}.brand img{position:absolute;width:210px;height:auto;transition:opacity .2s}.brand .white{opacity:0}.brand .blue{height:73.5px;width:auto}.dark-header .white{opacity:1}.dark-header .blue{opacity:0}.desktop{display:flex;gap:30px;font-size:13px}.desktop a{padding:15px 0}.menu-toggle{display:none;background:none;border:0;min-height:48px;font-size:11px}.menu-toggle span{margin-left:8px}#menu{position:absolute;top:100%;left:0;right:0;background:var(--paper);color:var(--ink);padding:20px var(--gutter);border-bottom:1px solid var(--line)}#menu a{display:block;padding:14px 0;font-size:21px}.hero{padding-top:135px;padding-bottom:0;background:white}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;min-height:650px}.hero h1{font-size:clamp(64px,7.5vw,120px);letter-spacing:-.07em;margin:28px 0}.hero h1 span{color:#438557}.hero-line{font-size:clamp(19px,2vw,31px);line-height:1.45;letter-spacing:-.04em}.hero-line span{color:var(--green)}.hero-intro{color:#53665b;font-size:17px;margin:26px 0}.hero-product img{width:100%;height:auto}.hero-product figcaption{font-size:9px;letter-spacing:.15em;text-align:center;margin-top:5px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0;font-size:10px;letter-spacing:.08em;margin-top:35px}.intro .eyebrow{align-self:start}.intro{padding-bottom:45px}.intro h2{font-size:clamp(48px,5.4vw,84px)}.areas{padding-top:55px}.section-heading{max-width:760px;margin-bottom:45px}.section-heading>p:last-child{max-width:510px}.area-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding-top:35px}.area-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.area-buttons button{display:flex;justify-content:space-between;align-items:center;text-align:left;min-height:100px;padding:22px;border:1px solid #7c9586;background:transparent;font-size:13px;letter-spacing:.06em}.area-buttons button[aria-pressed=true]{background:var(--ink);color:white}.area-detail{min-height:245px;padding-top:10px}.area-detail .eyebrow{font-size:9px;margin-bottom:18px}.area-detail h3{font-size:30px}.area-detail p{font-size:16px}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:60px}.two-cards article{padding-top:30px;border-top:1px solid var(--line)}.two-cards article p:last-child{max-width:490px}.two-cards h3{font-size:42px}.explain-copy{padding-top:40px}.experience-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:start}.experience figcaption{margin-top:18px;max-width:500px}.experience-grid>div{padding-top:20px}.detail{width:68%;margin-top:40px;margin-left:auto}.plan .eyebrow{margin-bottom:26px}.philosophy h2{font-size:clamp(43px,5.5vw,84px)}.philosophy p:not(.eyebrow){max-width:500px;color:#d1dfd4}.button{display:flex;justify-content:space-between;gap:25px;max-width:400px;border:1px solid #d1dfd480;padding:20px;font-size:11px;letter-spacing:.06em;margin-top:30px;min-height:58px}.hours{display:flex;gap:35px;margin-top:32px}.hours p{font-size:10px;letter-spacing:.04em}.hours strong{display:block;font-size:19px;font-weight:400;margin-top:10px;letter-spacing:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.actions a,.actions button{border:1px solid var(--ink);background:none;min-height:52px;padding:18px;font-size:11px;letter-spacing:.04em}.actions a{background:var(--ink);color:white}.phone{display:inline-block;padding:10px 0;font-size:18px}#directions-note:empty{display:none}footer{padding:36px var(--gutter);border-top:1px solid var(--line)}footer .shell{display:flex;align-items:center;justify-content:space-between;gap:30px}footer nav{display:flex;gap:25px;font-size:12px}footer p{font-size:12px;margin:0}.hero-context{border-left:2px solid var(--green);margin-top:25px;padding-left:18px;max-width:450px}.context-origin{font-size:9px;letter-spacing:.14em;margin-bottom:7px}.context-selection{font-size:16px;margin-bottom:12px}.context-technology{font-size:11px;color:var(--green);margin-bottom:8px}.context-jump,.context-return{display:block;font-size:10px;line-height:1.6;padding:12px 0;min-height:44px}.context-jump{text-decoration:underline;text-underline-offset:5px}.demo{padding:135px var(--gutter);min-height:100vh}.demo select,.demo button{padding:16px;font:inherit;background:white;border:1px solid #7c9586}.demo label{display:block;margin:25px 0}.demo h1{font-size:48px}.demo li{padding:12px 0}.demo-result{padding:25px;background:var(--sage);margin:30px 0}.demo .button{background:var(--ink);color:white}
@media(max-width:999px){.header{height:76px}.brand{width:180px;height:70px}.brand img{width:180px}.brand .blue{height:63px;width:auto}.desktop{display:none}.menu-toggle{display:block}section{padding:75px var(--gutter)}.hero{padding-top:120px}.hero-grid{min-height:550px;gap:15px}.hero h1{font-size:64px}.hero-line{font-size:21px}.split,.area-layout{gap:35px}.experience-grid,.two-cards{gap:35px}.area-buttons button{padding:16px;font-size:11px}.hero-bottom{font-size:8px}.detail{width:90%}}
@media(max-width:600px){section{padding:64px var(--gutter)}h2{font-size:42px}.eyebrow{font-size:10px;margin-bottom:26px}.hero{padding-top:112px}.hero-grid,.split,.area-layout,.experience-grid,.two-cards{grid-template-columns:1fr}.hero h1{font-size:clamp(56px,16vw,76px);margin:22px 0}.hero-line{font-size:24px}.hero-intro{font-size:16px}.hero-product{margin:10px 0 20px}.hero-product img{max-width:370px;margin:auto}.hero-bottom{margin-top:0;font-size:8px;line-height:1.5;gap:20px}.hero-bottom>*{max-width:48%}.hero-grid{min-height:0}.intro{padding-bottom:30px}.intro h2{font-size:49px}.areas{padding-top:35px}.area-layout{gap:24px;padding-top:24px}.area-buttons button{min-height:78px;font-size:12px}.area-detail{min-height:240px}.section-heading{margin-bottom:30px}.two-cards{margin-top:35px;gap:30px}.two-cards h3{font-size:35px}.distinction h2{font-size:40px}.explain-copy{padding:0}.explanation h2{font-size:39px}.experience-grid{gap:25px}.experience-grid>div{padding-top:0}.detail{width:82%;margin-top:25px}.experience figcaption{font-size:11px}.plan .split{gap:5px}.philosophy h2{font-size:44px}.hours{gap:25px}.hours strong{font-size:18px}footer .shell{display:block}footer nav{margin:25px 0;flex-wrap:wrap}.demo h1{font-size:36px}.demo{padding-top:110px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
