@font-face{font-family:"Pitch Sans";font-weight:400;src:url(../fonts/PitchSans-400.woff2) format("woff2"),url(../fonts/PitchSans-400.otf) format("opentype");font-display:block}
@font-face{font-family:"Pitch Sans";font-weight:600;src:url(../fonts/PitchSans-600.woff2) format("woff2"),url(../fonts/PitchSans-600.otf) format("opentype");font-display:block}
@font-face{font-family:"Pitch Sans";font-weight:700;src:url(../fonts/PitchSans-700.woff2) format("woff2"),url(../fonts/PitchSans-700.otf) format("opentype");font-display:block}

:root{
  --index-gray:#8C887F; --peat:#39352F; --signal:#D9F78F; --saline:#F8FDF2;
  --sandstone:#F0F2EB; --lab-blue:#5C85FB; --dilute-blue:#9DB8FF;
  --font:"Pitch Sans", ui-monospace, "SF Mono", Menlo, monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--peat);scroll-behavior:smooth}
body{font-family:var(--font);color:var(--peat);-webkit-font-smoothing:antialiased;background:var(--sandstone)}
.page{zoom:var(--z,1)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
.trim{text-box:trim-both cap alphabetic}

/* Section shell: full-bleed background, 1440 stage */
.s{position:relative;overflow:hidden;width:100%}
.stage{position:relative;width:1440px;margin:0 auto}
.abs{position:absolute}

/* Type */
.eyebrow{font-weight:700;font-size:16px;line-height:1.3;letter-spacing:1.6px;text-transform:uppercase;color:var(--index-gray)}
.h1{font-weight:600;font-size:36px;line-height:1.1;letter-spacing:-2.16px}
.h2{font-weight:600;font-size:28px;line-height:1.1;letter-spacing:-1.68px}
.h3{font-weight:600;font-size:20px;line-height:1.1;letter-spacing:-1.2px}
.p1{font-weight:600;font-size:14px;line-height:1.4;letter-spacing:-.28px}
.p2{font-weight:600;font-size:12px;line-height:1.3;letter-spacing:-.24px}
.d1{font-weight:400;font-size:96px;line-height:1.1;letter-spacing:-5.76px}

/* CTAs */
.cta{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;white-space:nowrap;
  transition:background-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease)}
.cta-l{padding:10px;font-weight:600;font-size:14px;line-height:1.2;letter-spacing:-.28px}
.cta-s{padding:5px;font-weight:700;font-size:10px;line-height:1.2;letter-spacing:-.2px}
.bg-signal{background:var(--signal)} .bg-saline{background:var(--saline)} .bg-sand{background:var(--sandstone)} .bg-blue{background:var(--dilute-blue)}
a.cta:hover,button.cta:hover{background:var(--peat);color:var(--signal)}
a.cta:focus-visible,button:focus-visible,a:focus-visible{outline:1.5px solid var(--lab-blue);outline-offset:2px}
.tag{cursor:default}

/* Lines */
.vline{position:absolute;top:0;bottom:0;width:0;border-left:.5px solid var(--index-gray)}

/* Grain / noise overlays */
.noise{position:absolute;inset:0;background-image:var(--noise);mix-blend-mode:overlay;opacity:.55;pointer-events:none}

/* Graph paper */
.graph{position:absolute;overflow:hidden}
.graph .grid{position:absolute;inset:0;
  background-image:
    linear-gradient(to right, rgba(157,184,255,.9) .75px, transparent .75px),
    linear-gradient(to bottom, rgba(157,184,255,.9) .75px, transparent .75px),
    linear-gradient(to right, rgba(140,136,127,.22) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(140,136,127,.22) 1px, transparent 1px);
  background-size:80px 80px,80px 80px,40px 40px,40px 40px;
  background-position:38px 42px,38px 42px,38px 42px,38px 42px}

/* Image slots (raster layers from Figma) */
.slot{position:absolute;pointer-events:none}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.slot.empty{border:1px dashed rgba(92,133,251,.7);background:repeating-linear-gradient(135deg,rgba(157,184,255,.14) 0 8px,transparent 8px 16px)}
.slot.empty::after{content:attr(data-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  font-weight:700;font-size:10px;letter-spacing:-.2px;background:var(--dilute-blue);color:var(--peat);padding:5px;border-radius:5px;white-space:nowrap}
.rot{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rot > .slot{position:relative;flex:none}

/* Icon buttons */
.ib{position:absolute;display:grid;place-items:center;transition:transform .25s var(--ease), opacity .2s}
.ib svg{display:block}
.ib:hover{transform:scale(1.15)}
.ib:hover path{fill:var(--peat)}

/* NAV */
.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nav-pill{position:fixed;z-index:50;left:50%;transform:translateX(-50%);top:60px;width:1132px;height:60px;background:rgba(248,253,242,.85);border-radius:10px;overflow:hidden}
.xhair{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px}

/* HERO info accordion */
.acc{position:absolute;left:953px;top:41.63px;width:333px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.acc-item{position:relative;width:100%;background:var(--saline);border-radius:5px;overflow:hidden;height:40px;
  transition:height .35s var(--ease)}
.acc-item .acc-head{position:absolute;inset:0 0 auto 0;height:40px;width:100%;text-align:left;padding:0 10px;display:flex;align-items:center;
  transition:opacity .2s var(--ease)}
.acc-item .acc-body{position:absolute;left:10px;top:10px;width:322px;opacity:0;transition:opacity .25s var(--ease)}
.acc-item .ib{right:10px;bottom:12px;width:16px;height:16px}
.acc-item .i-x{display:none}
.acc-item:not(.open) .acc-body{pointer-events:none}
.acc-item.open .acc-head{opacity:0;pointer-events:none}
.acc-item.open .acc-body{opacity:1;transition-delay:.12s}
.acc-item.open .i-x{display:block} .acc-item.open .i-chev{display:none}
.acc-item:not(.open) .ib{bottom:12px}
.acc-item:not(.open):hover{background:#fff}

/* Partner cards */
.pcard{position:absolute;width:561px;background:rgba(248,253,242,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:5px;overflow:hidden;height:234px;transition:height .45s var(--ease)}
.pcard.open{height:565px}
.pcard .pc-hit{position:absolute;inset:0 0 auto 0;height:234px;width:100%;cursor:pointer}
.pcard .title,.pcard .body{pointer-events:none}
.pcard .title{position:absolute;left:40px;top:41px}
.pcard .body{position:absolute;left:40px;top:94px}
.pcard .list{position:absolute;left:40px;top:234px;width:431.625px;display:flex;flex-direction:column;gap:20px;
  opacity:0;transform:translateY(8px);transition:opacity .3s var(--ease), transform .3s var(--ease)}
.pcard.open .list{opacity:1;transform:none;transition-delay:.12s}
.pcard .list hr{border:0;border-top:.5px solid var(--index-gray);width:431.625px}
.pcard .ib{right:20px;bottom:20px;width:24px;height:24px}
.pcard .i-x{display:none}.pcard.open .i-x{display:block}.pcard.open .i-chev{display:none}

/* Process cards */
.proc{position:relative;width:333px;height:274px;background:var(--sandstone);border-radius:10px;overflow:hidden;
  transition:background-color .25s var(--ease)}
.proc .top{position:absolute;left:20px;top:20px;width:293px;display:flex;justify-content:space-between;align-items:flex-start}
.proc .d1{line-height:.8;text-align:right}
.proc .desc{position:absolute;left:20px;top:149px;width:255px;color:var(--index-gray);transition:color .25s var(--ease)}
.proc .tag{transition:background-color .25s var(--ease)}
.proc.on{background:var(--dilute-blue)} .proc.on .desc{color:var(--peat)} .proc.on .tag{background:var(--lab-blue)}

/* Footer */
.flink{color:var(--sandstone);transition:color .2s}
.flink:hover{color:var(--signal)}
.flink.li{color:var(--signal)} .flink.li:hover{color:var(--saline)}
/* Wind: displacement weighted to green (grass, moss, flowers); rock stays put */
.slot.inview[data-wind="a"] img:not(.still){filter:url(#wind-a)}
.slot.inview[data-wind="b"] img:not(.still){filter:url(#wind-b)}
.slot.inview[data-wind="c"] img:not(.still){filter:url(#wind-c)}
@media (prefers-reduced-motion: reduce){ .slot img{filter:none !important} }
/* Active grain: full-site film noise, flickers at ~12fps */
.grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:9999;pointer-events:none;
  background-image:var(--grain-tile);background-size:128px 128px;
  animation:grain 1s steps(1) infinite}
@keyframes grain{
  0%{transform:translate(0,0)} 8.33%{transform:translate(-7%,4%)} 16.67%{transform:translate(3%,-9%)}
  25%{transform:translate(-11%,-3%)} 33.33%{transform:translate(9%,6%)} 41.67%{transform:translate(-4%,11%)}
  50%{transform:translate(12%,-6%)} 58.33%{transform:translate(-9%,-10%)} 66.67%{transform:translate(5%,9%)}
  75%{transform:translate(-13%,2%)} 83.33%{transform:translate(7%,-12%)} 91.67%{transform:translate(-2%,7%)}}
@media (prefers-reduced-motion: reduce){ .grain{animation:none} }

/* ================= About page ================= */
.page{zoom:var(--z,1);--g:40px;--lx:40px;--navtop:60px;--navh:180px}
@media (max-width:1099px){.page{--lx:20px;--navtop:24px;--navh:100px}}
@media (max-width:767px){.page{--g:20px;--lx:10px;--navtop:16px;--navh:80px}}
.nav-pill{width:min(1132px,calc(100% - 2*var(--g)));top:var(--navtop)}
.nav-logo{position:absolute;left:20px;top:21.53px;display:flex;align-items:center;gap:40px;color:var(--peat)}
.nav-cta{position:absolute;right:20px;top:11.5px}
.navlinks{position:absolute;right:216px;top:20.4px;display:flex;gap:32px;font-weight:600;font-size:16px;line-height:1.2;letter-spacing:-.32px}
.navlinks a{transition:color .2s var(--ease)} .navlinks a:hover{color:var(--lab-blue)}
.nav-burger,.nav-menu{display:none}
.xh{display:none;position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px}
@media (min-width:1100px){
  .xh{display:block}
  .xh.l{left:calc(50% - min(566px, 50% - var(--g)) - 20px)}
  .xh.r{left:calc(50% + min(566px, 50% - var(--g)) + 20px)}
  .xh.t{top:50px}.xh.b{top:130px}
}

.top{position:relative;background:var(--sandstone)}
.top .vline{position:absolute;top:0;bottom:0}
.vl-l{left:var(--lx)}.vl-r{right:var(--lx)}
.spacer{height:var(--navh)}
.wrap{width:min(1132px,calc(100% - 2*var(--g)));margin:0 auto}
main{padding:24px 0 128px}
.post-head{display:flex;flex-direction:column;gap:24px;margin-bottom:72px}
.post-head .h1{max-width:800px;text-wrap:balance}
.post p{font-weight:400;font-size:18px;line-height:1.7;letter-spacing:-.1px;margin:0 0 1.4em;max-width:675px;hyphens:manual}
.post p:last-child{margin-bottom:0}
.post-head p.eyebrow{font-weight:700;font-size:16px;line-height:1.3;letter-spacing:1.6px;max-width:none}
.sect{position:static;height:20px;margin:64px 0}
.sect::before{content:"";position:absolute;margin-top:10px;left:calc(var(--lx) + 22px);right:calc(var(--lx) + 22px);border-top:.5px solid var(--index-gray)}
.sect svg{position:absolute;background:var(--sandstone);box-shadow:0 0 0 12px var(--sandstone)}
.sect .xl{left:calc(var(--lx) - 9.75px)}.sect .xr{right:calc(var(--lx) - 9.75px)}
@media (min-width:1100px){
  .post p,.post-head{max-width:75%;margin-left:auto;margin-right:auto}
}
@media (max-width:1099px){ .post-head .h1{font-size:34px;letter-spacing:-2px} }
@media (min-width:768px) and (max-width:1099px){ .post p,.post-head{max-width:75%;margin-left:auto;margin-right:auto} }
@media (max-width:767px){
  main{padding-bottom:96px}
  .post-head{margin-bottom:48px}
  .post-head .h1{font-size:26px;letter-spacing:-1.5px}
  .post p{font-size:17px}
  .post-head p.eyebrow{font-size:16px}
  .sect{margin:48px 0}
}

.lead{font-weight:600;font-size:20px;line-height:1.25;letter-spacing:-.8px}
:root{--light-gray:#DCDBD4}
.bg-lgray{background:var(--light-gray)}
.cta-band{background:var(--index-gray);padding:80px 0}
.cta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,675px);align-items:start}
.cta-grid .h1{white-space:nowrap}
.cta-card{background:var(--saline);border-radius:5px;padding:24px;display:flex;flex-direction:column;gap:32px}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mail{font-weight:600;font-size:12px;letter-spacing:-.24px;color:var(--index-gray);user-select:all}
@media (max-width:1099px){ .cta-grid{display:flex;flex-direction:column;gap:32px} .cta-band{padding:72px 0} }
@media (max-width:767px){ .cta-band{padding:56px 0} .cta-card{padding:20px} .lead{font-size:18px;letter-spacing:-.72px} }

.foot{background:var(--peat);padding:80px 0}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.foot-links{display:flex;gap:64px;align-items:center;flex-wrap:wrap}
@media (max-width:767px){ .foot-links{gap:20px} }
.f-mark{display:block;width:100%;height:auto;margin-top:96px;color:var(--index-gray)}
@media (max-width:767px){ .foot{padding:36px 0} .f-mark{margin-top:48px} }

@media (max-width:767px){
  .nav-logo{left:16px;gap:10px}
  .nav-cta,.navlinks{display:none}
  .nav-pill{transition:height .35s var(--ease)}
  .nav-burger{display:block;position:absolute;right:6px;top:6px;width:48px;height:48px}
  .nav-burger span{position:absolute;left:14px;width:20px;height:2px;background:var(--index-gray);transition:transform .25s var(--ease),opacity .2s,top .25s var(--ease)}
  .nav-burger span:nth-child(1){top:18px}.nav-burger span:nth-child(2){top:24px}.nav-burger span:nth-child(3){top:30px}
  .nav-pill.open .nav-burger span:nth-child(1){top:24px;transform:rotate(45deg)}
  .nav-pill.open .nav-burger span:nth-child(2){opacity:0}
  .nav-pill.open .nav-burger span:nth-child(3){top:24px;transform:rotate(-45deg)}
  .nav-menu{display:flex;flex-direction:column;gap:10px;position:absolute;left:0;right:0;top:60px;padding:16px 20px 20px;visibility:hidden}
  .nav-pill.open .nav-menu{visibility:visible}
  .nav-pill.open{background:rgba(248,253,242,.97)}
  .nm-cta{align-self:stretch}
}

/* Nav matches the homepage pill (css/home.css .nav-bar) in size and behaviour: same metrics, scrolls away with the page */
.nav-pill{position:absolute;top:56px;height:68px;display:flex;align-items:center;gap:20px;padding:0 20px}
.nav-logo{position:static;gap:20px}
.navlinks{position:static;margin-left:auto;margin-right:16px;font-size:18px;letter-spacing:-.02em}
.nav-cta{position:static}
.nav-pill .cta-l{padding:11px 12px;font-size:16px;letter-spacing:-.02em;transition:filter 120ms ease}
.nav-pill a.cta:hover{color:var(--peat);filter:brightness(.96)}
.nav-pill a.cta.bg-signal:hover{background:var(--signal)}
.nav-pill a.cta.bg-sand:hover{background:var(--sandstone)}
@media (max-width:1099px){
  .nav-pill{top:var(--navtop);height:60px;padding:0 16px;gap:16px}
  .nav-logo{gap:12px}
  .navlinks{font-size:16px;margin-right:8px}
  .nav-pill .cta-l{padding:13px 14px}
}
@media (max-width:767px){
  .nav-pill{align-items:flex-start}
  .nav-logo{height:60px;gap:12px}
  .nav-logo svg:first-child{width:40px;height:17px}
  .nav-logo svg:last-child{width:160px;height:17px}
}

/* ================= Legal pages (privacy.html, terms.html) ================= */
.legal .post-head{margin-bottom:56px}
.legal .post-head .h1{max-width:760px}
.legal-meta{color:var(--index-gray);margin:0 !important;max-width:none !important}
.legal h2{font-weight:600;font-size:24px;line-height:1.15;letter-spacing:-1.2px;margin:56px 0 16px}
.legal h3{font-weight:600;font-size:18px;line-height:1.3;letter-spacing:-.5px;margin:32px 0 10px}
.legal h2:first-of-type{margin-top:0}
.legal ul{margin:0 0 1.4em;padding-left:1.3em;max-width:675px;font-weight:400;font-size:18px;line-height:1.7;letter-spacing:-.1px}
.legal li{margin:0 0 .5em}
.legal a{text-decoration:underline;text-underline-offset:3px;transition:color .2s var(--ease)}
.legal a:hover{color:var(--lab-blue)}
@media (min-width:768px){ .legal h2,.legal h3,.legal ul{max-width:75%;margin-left:auto;margin-right:auto} }
@media (max-width:767px){
  .legal .post-head{margin-bottom:40px}
  .legal h2{font-size:22px;margin-top:44px}
  .legal h3{font-size:17px}
  .legal ul{font-size:17px}
}
