:root{--navy:#202B51;--navy2:#151d3a;--green:#2CA902;--gd:#1f7a02;--warm:#FAF8F4;--ink:#2b2d33;--mut:#5d6170;--line:#ebe7df;
--disp:"Fraunces",Georgia,serif;--ui:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
--r:14px;--sh:0 1px 2px rgba(20,25,45,.04),0 4px 12px rgba(20,25,45,.05),0 16px 32px rgba(20,25,45,.06);--sh2:0 2px 4px rgba(20,25,45,.05),0 12px 24px rgba(20,25,45,.08),0 32px 64px rgba(20,25,45,.12);--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:400 17px/1.7 var(--ui);color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--disp);color:var(--navy);font-weight:500;margin:0 0 .45em;letter-spacing:-.025em;line-height:1.08}
h1{font-size:clamp(2.6rem,6vw,4.75rem)}h2{font-size:clamp(2rem,4vw,3.25rem)}h3{font-size:1.5rem;letter-spacing:-.015em}
.wrap{max-width:1240px;margin:auto;padding:0 40px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px 12px;z-index:99;border-radius:6px}
.eyebrow{font:600 .75rem/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--gd);margin:0 0 18px}.eyebrow.light{color:#a8e88f}
.announce{background:var(--navy2);color:#e9ecf5;text-align:center;font:500 .74rem/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;padding:12px 16px}.announce i{font-style:normal;color:var(--green);margin:0 .6em}
.hdr{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:all .3s var(--ease)}
.hdr.shrink{border-color:var(--line);box-shadow:0 6px 24px rgba(20,25,45,.06)}
.hdr-in{display:flex;align-items:center;gap:48px;height:92px;transition:height .3s var(--ease)}.hdr.shrink .hdr-in{height:68px}
.logo{height:54px;width:auto;transition:height .3s var(--ease)}.hdr.shrink .logo{height:42px}
nav{display:flex;gap:36px;margin-left:auto}nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;position:relative;padding:6px 0}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--navy);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}nav a:hover::after{transform:scaleX(1);transform-origin:left}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 .95rem/1 var(--ui);letter-spacing:.01em;text-decoration:none;border-radius:999px;border:1.5px solid transparent;padding:15px 28px;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s,background .25s,color .25s,border-color .25s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.btn-sm{padding:11px 20px;font-size:.88rem}.btn-lg{padding:18px 34px;font-size:1rem}.btn-block{width:100%}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy2);box-shadow:0 10px 24px rgba(32,43,81,.28)}
.btn-accent{background:var(--green);color:#fff}.btn-accent:hover{background:var(--gd);box-shadow:0 10px 24px rgba(44,169,2,.3)}
.btn-outline-light{border-color:rgba(255,255,255,.7);color:#fff}.btn-outline-light:hover{background:#fff;color:var(--navy)}
a:focus-visible,.btn:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.hero{position:relative;min-height:min(86vh,780px);display:flex;align-items:center;overflow:hidden;color:#e8ebf3}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.03)}
.scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,29,58,.88) 0%,rgba(21,29,58,.62) 45%,rgba(21,29,58,.15) 100%)}
.hero-in{position:relative;width:100%}.hero-card{max-width:640px}.hero h1{color:#fff}.lead{font-size:1.2rem;margin:0 0 40px;color:#dfe3ee}.ctas{display:flex;gap:14px;flex-wrap:wrap}
.strip{background:var(--warm);border-bottom:1px solid var(--line)}.strip-in{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 40px}
.si{display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;color:var(--navy);letter-spacing:.02em}.si+.si{border-left:1px solid var(--line)}
.si svg,.qv svg{width:24px;height:24px;fill:none;stroke:var(--green);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sec{padding:120px 0}.warm{background:var(--warm)}.sec-head{text-align:center;margin-bottom:64px}.sec-head h2{margin:0}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.prod{position:relative;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.prod:hover{box-shadow:var(--sh2);transform:translateY(-6px)}
.media{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--warm)}.media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.prod:hover .media img{transform:scale(1.07)}
.badge{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.95);color:var(--navy);font:600 .7rem/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.pb{padding:28px 28px 24px;display:flex;flex-direction:column;flex:1}.pb p{color:var(--mut);margin:0 0 24px;flex:1}
.qv{align-self:center;margin-top:14px;color:var(--navy);font-weight:600;font-size:.92rem;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.qv:hover{border-color:var(--navy)}.qv span{display:inline-block;transition:transform .25s}.qv:hover span{transform:translateX(4px)}
.feat{background:var(--warm);padding:120px 0}.feat-in{display:grid;grid-template-columns:1.15fr 1fr;gap:88px;align-items:center}
.feat-media{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh2);aspect-ratio:5/4}.feat-media img{width:100%;height:100%;object-fit:cover}
.feat-txt p:not(.eyebrow){color:var(--mut);font-size:1.1rem;margin:0 0 36px}
.coll{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ctile{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;display:block;box-shadow:var(--sh)}
.ctile img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.ctile:hover img{transform:scale(1.06)}
.ctile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(21,29,58,.78))}
.ctile span{position:absolute;left:28px;bottom:24px;z-index:1;color:#fff;font:500 1.6rem/1.1 var(--disp);letter-spacing:-.02em}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
.steps li{background:#fff;border-radius:var(--r);padding:44px 32px;box-shadow:var(--sh)}.steps p{color:var(--mut);margin:0}
.steps span{display:block;font:500 2.6rem/1 var(--disp);color:var(--green);margin-bottom:18px}
.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 4px;font:500 1.25rem/1.3 var(--disp);color:var(--navy);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font:300 1.8rem/1 var(--ui);color:var(--navy);transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{margin:0;padding:0 4px 26px;color:var(--mut)}
.band{position:relative;padding:120px 0;overflow:hidden;color:#e8ebf3}.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scrim.dark{background:linear-gradient(180deg,rgba(21,29,58,.9),rgba(21,29,58,.82))}
.band-in{position:relative;text-align:center}.band h2{color:#fff}.cinfo{margin:0 0 40px}.sep{margin:0 .5em;opacity:.6}
.cform{background:#fff;border-radius:var(--r);padding:40px;box-shadow:var(--sh2);text-align:left;display:grid;gap:4px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cform label{font-size:.85rem;font-weight:600;color:var(--navy);letter-spacing:.02em}
.cform input,.cform textarea{width:100%;font:inherit;color:var(--ink);padding:14px 16px;border:1px solid #dcd8cf;border-radius:10px;background:var(--warm);margin:6px 0 16px;transition:border-color .2s,box-shadow .2s,background .2s}
.cform input:hover,.cform textarea:hover{border-color:#b9b4a8}.cform input:focus,.cform textarea:focus{background:#fff;border-color:var(--navy);box-shadow:0 0 0 4px rgba(32,43,81,.1);outline:none}
.ph{display:inline-block;background:#fff3b0;border:1.5px dashed #b38f00;color:#5c4900;padding:2px 10px;border-radius:6px;font:700 .9rem/1.4 ui-monospace,Menlo,monospace}
.ftr{background:var(--navy2);color:#b9c0d6;padding:88px 0 0}.fcols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px}
.ftr h4{color:#fff;font:600 .75rem/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;margin:8px 0 22px}.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin-bottom:12px}
.ftr a{color:#b9c0d6;text-decoration:none;transition:color .2s}.ftr a:hover{color:#fff}
.fbot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);margin-top:72px;padding-top:28px;padding-bottom:28px;font-size:.88rem}
.pills{display:flex;gap:10px;flex-wrap:wrap}.pills a{border:1px solid rgba(255,255,255,.18);border-radius:6px;padding:6px 12px;font-size:.78rem;letter-spacing:.04em}.pills a:hover{border-color:#fff}
.js .fade{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:1024px){.grid{grid-template-columns:1fr 1fr}.feat-in{grid-template-columns:1fr;gap:48px}.fcols{grid-template-columns:1fr 1fr}}
@media(max-width:719px){body{font-size:16px}.wrap{padding:0 20px}.hdr-in{height:72px;gap:12px;justify-content:space-between}.logo{height:42px}.hdr.shrink .hdr-in{height:62px}.hdr.shrink .logo{height:36px}nav{display:none}
.announce{font-size:.66rem;letter-spacing:.12em}.hero{min-height:620px;align-items:flex-end}.hero-in{padding:0 20px 56px}.scrim{background:linear-gradient(180deg,rgba(21,29,58,.35),rgba(21,29,58,.9) 60%)}
.strip-in{grid-template-columns:1fr 1fr;padding:12px 20px}.si{padding:14px 0}.si+.si{border-left:0}.si:nth-child(even){border-left:1px solid var(--line)}.si:nth-child(n+3){border-top:1px solid var(--line)}
.sec,.feat,.band{padding:80px 0}.sec-head{margin-bottom:44px}.grid,.coll,.steps,.row{grid-template-columns:1fr}.row{gap:0}.cform{padding:28px 22px}.fcols{grid-template-columns:1fr;gap:36px}.fbot{flex-direction:column;align-items:flex-start}}
