/* Foundhood · home
   A sky that is alive: a flock in the hero, an answer that types itself, a neighborhood seen from above,
   instruments that switch on, pulses running into an AI answer, a dusk to end on. Sky, white and pink; the long serif for headlines. */

.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--pink-d)}
.ex{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:999px;background:rgb(11 28 58/.06);font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);vertical-align:middle}
.caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--pink);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.glass{background:linear-gradient(180deg,rgb(255 255 255/.86),rgb(255 255 255/.7));backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);
  border-radius:22px;box-shadow:inset 0 1px 0 rgb(255 255 255/.95),inset 0 0 0 1px rgb(255 255 255/.55),0 2px 4px rgb(11 28 58/.04),0 30px 70px -28px rgb(42 47 122/.45)}
[data-in]{opacity:0;transform:translateY(26px);transition:opacity 1s var(--eo),transform 1.2s var(--eo)}
[data-in].in{opacity:1;transform:none}
.cl-p{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(30px);will-change:transform}
.cl-p.a{left:-6%;top:6%;width:44vw;height:18vw;background:radial-gradient(closest-side,rgb(255 255 255/.95),rgb(255 255 255/0))}
.cl-p.b{right:-8%;top:30%;width:38vw;height:16vw;background:radial-gradient(closest-side,rgb(255 194 223/.75),rgb(255 194 223/0))}
.cl-p.c{left:30%;bottom:-6%;width:30vw;height:12vw;background:radial-gradient(closest-side,rgb(201 184 255/.55),rgb(201 184 255/0))}
.cl-p.d{right:-10%;top:4%;width:40vw;height:20vw;background:radial-gradient(closest-side,rgb(191 228 255/.9),rgb(191 228 255/0))}
.cl-p.e{left:-12%;top:20%;width:46vw;height:22vw;background:radial-gradient(closest-side,rgb(255 255 255/.8),rgb(255 255 255/0))}

/* ---------- hero ---------- */
.hero.sky{padding-bottom:clamp(64px,7vw,96px)}
.hero.sky h1{max-width:11ch;margin-top:20px}
.hero-sub{max-width:34ch;margin:22px auto 0;font:400 clamp(18px,1.5vw,21px)/1.45 var(--sans);color:var(--ink-2);text-wrap:balance}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 26px;margin-top:32px}
.hero-cta .btn{margin:0}
.lnk{font:500 15.5px/1 var(--sans);color:var(--ink);padding:10px 2px;border-bottom:1px solid rgb(11 28 58/.25);transition:border-color .3s var(--e)}
.lnk:hover{border-color:var(--pink)}
.show{position:relative;z-index:1;max-width:980px;margin:clamp(56px,6vw,80px) auto 0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;align-items:end;padding:0 var(--gut)}
.sa{padding:20px 22px 22px;animation:bob 9s ease-in-out infinite}
.smap{overflow:hidden;animation:bob 9s ease-in-out -4.5s infinite;margin-bottom:28px}
@keyframes bob{50%{transform:translateY(-10px)}}
.sa-top{display:flex;justify-content:space-between;align-items:center}
.sa-app{display:inline-flex;align-items:center;gap:8px;font:500 14px/1 var(--sans);color:var(--ink-2)}
.sa-q{margin:16px 0 0 auto;width:fit-content;max-width:100%;padding:12px 16px;border-radius:18px 18px 4px 18px;background:#EEF4FF;font:400 16px/1.35 var(--sans);color:var(--ink);min-height:44px}
.sa-a{margin-top:16px;opacity:0;transform:translateY(8px);transition:opacity .5s var(--e),transform .6s var(--eo)}
.sa.ans .sa-a{opacity:1;transform:none}
.sa-a>p:first-child{font:400 15px/1.4 var(--sans);color:var(--ink-2)}
.sa-a ol{list-style:none;margin-top:10px;display:grid;gap:6px;counter-reset:n}
.sa-a li{counter-increment:n;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;font:400 15px/1.2 var(--sans);color:var(--ink-2);opacity:0;transform:translateX(-8px);transition:opacity .45s var(--e),transform .55s var(--eo)}
.sa.ans .sa-a li{opacity:1;transform:none}
.sa.ans .sa-a li:nth-child(2){transition-delay:.12s}.sa.ans .sa-a li:nth-child(3){transition-delay:.24s}
.sa-a li b::before{content:counter(n) ". ";color:var(--ink-3);font-weight:400}
.sa-a li b{font-weight:500;color:var(--ink)}
.sa-a li span{font-size:13.5px;color:var(--ink-3);white-space:nowrap}
.sa-a li.me{position:relative;background:linear-gradient(90deg,rgb(255 46 147/.14),rgb(255 46 147/.04));box-shadow:inset 0 0 0 1px rgb(255 46 147/.28)}
.sa-a li.me b{color:var(--pink-d)}
.sa.ans li.me{animation:named 1.2s var(--eo) .4s both}
@keyframes named{0%{box-shadow:inset 0 0 0 1px rgb(255 46 147/0),0 0 0 0 rgb(255 46 147/.45)}60%{box-shadow:inset 0 0 0 1px rgb(255 46 147/.4),0 0 0 10px rgb(255 46 147/0)}100%{box-shadow:inset 0 0 0 1px rgb(255 46 147/.28)}}
.sa-src{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.sa-src span{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font:400 12.5px/1 var(--sans);color:var(--ink-3)}
.sm-map{display:block;width:100%;height:auto}
.mp-g{fill:#EAF4FF}.mp-r{fill:none;stroke:#fff;stroke-width:9}.mp-b{fill:#DCEBFA}
.mp-p circle{fill:#9AB2CE}
.mp-me{transform-origin:108px 70px;transform:translateY(-26px) scale(.6);opacity:0;transition:transform .7s var(--eo),opacity .4s var(--e)}
.mp-me path{fill:var(--pink)}
.mp-ring{fill:none;stroke:var(--pink);stroke-width:2;opacity:0;transform-origin:108px 62px}
.smap.ans .mp-me{transform:none;opacity:1}
.smap.ans .mp-ring{animation:ring 1.8s var(--e) .5s infinite}
@keyframes ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.sm-r{display:grid;gap:4px;padding:14px 16px 16px}
.sm-g{display:inline-flex;align-items:center;gap:6px;font:500 12.5px/1 var(--sans);color:var(--ink-3)}
.sm-r b{font:500 16px/1.2 var(--sans);color:var(--ink)}
.sm-r span:last-child{font:400 13.5px/1.3 var(--sans);color:var(--ink-3)}
.hero.sky .brands{margin-top:clamp(56px,6vw,84px)}

/* the entrance: until the flock has passed, everything waits below its place */
.intro .hero.sky .kick,.intro .hero.sky h1,.intro .hero.sky .hero-sub,.intro .hero.sky .hero-cta,.intro .hero.sky .show,.intro .hero.sky .brands{opacity:0;transform:translateY(34px);filter:blur(8px)}
.intro.go .hero.sky .kick,.intro.go .hero.sky h1,.intro.go .hero.sky .hero-sub,.intro.go .hero.sky .hero-cta,.intro.go .hero.sky .show,.intro.go .hero.sky .brands{
  opacity:1;transform:none;filter:none;transition:opacity 1.1s var(--eo) var(--in,0s),transform 1.4s var(--eo) var(--in,0s),filter 1.1s var(--eo) var(--in,0s)}
.hero.sky .hero-sub{--in:.24s}.hero.sky .hero-cta{--in:.38s}.hero.sky .show{--in:.55s}.hero.sky .brands{--in:.8s}

/* ---------- the short list ---------- */
.say2{position:relative;isolation:isolate;overflow:hidden;padding:clamp(90px,12vw,170px) var(--gut) clamp(60px,8vw,110px);text-align:center}
.st{max-width:21ch;margin:0 auto;font:400 clamp(40px,5.6vw,84px)/1.02 var(--display);letter-spacing:-.018em;text-wrap:balance}
.st span{color:rgb(11 28 58/.16);transition:color .5s var(--e)}
.st span.on{color:var(--ink)}
.st span.on:nth-last-child(-n+3){color:var(--pink-d)}
.say-f{margin-top:34px;font:400 16px/1.4 var(--sans);color:var(--ink-2)}
.say-f b{font:400 1.6em/1 var(--display);color:var(--pink-d);margin-right:4px}
.say-f span{display:block;margin-top:6px;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}

/* ---------- the neighborhood, pinned ---------- */
.hood{position:relative;height:440vh;background:linear-gradient(180deg,var(--paper),#EEF5FF 30%,#F6F0FF 70%,var(--paper))}
.hd-stage{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(16px,3vw,40px);max-width:1360px;margin:0 auto;padding:clamp(80px,9vh,110px) var(--gut) 40px;overflow:hidden}
.hd-copy{position:relative;z-index:1;min-width:0}
.hd-copy h2{margin-top:16px;font-size:clamp(40px,4.6vw,68px)!important;line-height:1;max-width:11ch;text-wrap:balance}
.hd-s{list-style:none;position:relative;margin-top:30px;min-height:172px}
.hd-s li{position:absolute;inset:0 auto auto 0;max-width:36ch;opacity:0;transform:translateY(14px);transition:opacity .6s var(--e),transform .8s var(--eo);pointer-events:none}
.hd-s li.on{opacity:1;transform:none}
.hd-s b{display:block;font:500 clamp(22px,2vw,28px)/1.2 var(--sans);letter-spacing:-.03em;color:var(--ink)}
.hd-s span{display:block;margin-top:12px;font:400 17px/1.5 var(--sans);color:var(--ink-2)}
.hd-bar{width:min(320px,100%);height:3px;border-radius:3px;background:rgb(11 28 58/.08);overflow:hidden}
.hd-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--sky),var(--pink));transform-origin:left;transform:scaleX(0)}
.hd-cv{width:100%;height:min(76vh,720px);display:block}

/* ---------- two ways to be found ---------- */
.work2{padding-bottom:clamp(40px,5vw,64px)}
.sec2-h{max-width:var(--max);margin:0 auto;text-align:center}
.sec2-h h2{margin-top:16px;font-size:clamp(44px,6vw,92px)!important;line-height:1}
.ways{max-width:var(--max);margin:clamp(48px,6vw,80px) auto 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px)}
.way{position:relative;display:grid;align-content:start;gap:26px;padding:clamp(24px,3vw,40px);border-radius:30px;background:linear-gradient(180deg,rgb(255 255 255/.92),rgb(255 255 255/.72));box-shadow:inset 0 0 0 1px var(--line),var(--sh)}
.way:nth-child(2){transition-delay:.12s}
.way h3{margin-top:12px;font:400 clamp(32px,3vw,46px)/1 var(--display);letter-spacing:-.015em}
.way-t>p:not(.eyebrow){margin-top:14px;max-width:46ch;font:400 16.5px/1.55 var(--sans);color:var(--ink-2)}
.more{display:inline-flex;gap:6px;margin-top:18px;font:500 15px/1 var(--sans);color:var(--ocean)}
.more:hover span{transform:translateX(3px)}.more span{transition:transform .3s var(--eo)}
.way .svcs{margin-top:0}
.inst{position:relative;padding:clamp(18px,2vw,26px);border-radius:22px;background:linear-gradient(160deg,#D9EDFF 0%,#E9E3FF 55%,#FFE3F1 100%);overflow:hidden}
.inst::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 80% 0%,rgb(255 255 255/.7),transparent 70%)}
.inst-f{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:18px}
.inst-f b{font:400 clamp(48px,5vw,72px)/.9 var(--display);color:var(--ink)}
.inst-f b small{font-size:.5em;color:var(--ink-3)}
.inst-f>span:not(.ex){font:400 15px/1.3 var(--sans);color:var(--ink-2)}
.inst-f .ex{margin-left:auto;background:rgb(255 255 255/.7)}
.ai-m table{position:relative;z-index:1;width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 6px}
.ai-m col.cq{width:34%}
.ai-m thead th img{display:block;margin:0 auto 6px;width:16px;height:16px}
.ai-m th{font:500 12.5px/1.2 var(--sans);color:var(--ink-3);text-align:center;padding:0 4px 4px}
.ai-m tbody th{text-align:left;font:400 14.5px/1.2 var(--sans);color:var(--ink);padding:10px 12px;border-radius:12px 0 0 12px;background:rgb(255 255 255/.7);white-space:nowrap}
.ai-m td{text-align:center;background:rgb(255 255 255/.7);padding:8px 4px}
.ai-m td:last-child{border-radius:0 12px 12px 0}
.ai-m td i{display:inline-block;width:22px;height:22px;border-radius:50%;background:rgb(11 28 58/.08);transform:scale(.6);transition:transform .5s var(--eo),background .4s var(--e)}
.ai-m td i.y.lit{background:var(--pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.9' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;transform:scale(1);box-shadow:0 4px 12px -4px rgb(255 46 147/.7)}
.ai-m td i.n.lit{transform:scale(.8);background:rgb(11 28 58/.1)}
.geo-g{position:relative;z-index:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(4px,.7vw,8px);max-width:420px;margin:0 auto}
.geo-g span{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font:500 clamp(11px,1vw,14px)/1 var(--sans);transition:background .6s var(--e),color .6s var(--e),transform .6s var(--eo)}
.geo-g .r4{background:rgb(255 255 255/.78);color:var(--ink-3)}
.geo-g .r3{background:#DCD2FF;color:var(--ink)}
.geo-g .r2{background:#FF9ACB;color:var(--ink)}
.geo-g .r1{background:var(--pink);color:#fff;box-shadow:0 6px 14px -6px rgb(255 46 147/.8)}
.geo-g span:nth-child(25){outline:2px solid #fff;outline-offset:2px}
.geo.live .geo-g span:not(.old){transform:scale(1.08)}
.geo.live .geo-g span:not(.old){animation:pop .6s var(--eo)}
@keyframes pop{40%{transform:scale(1.25)}100%{transform:scale(1)}}
.way .svc{background:rgb(255 255 255/.85)}
.way .svc .lpfig{background:linear-gradient(180deg,#F1F7FF,#F5EFFF)}

/* ---------- what AI reads ---------- */
.ai-band{position:relative;isolation:isolate;overflow:hidden;margin-top:clamp(80px,10vw,140px);padding:clamp(80px,10vw,140px) var(--gut);background:linear-gradient(180deg,var(--paper),#F1EBFF 40%,#FFEAF4 85%,var(--paper))}
.ai-in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,72px);align-items:center}
.ai-copy h2{margin-top:16px;font-size:clamp(44px,5vw,76px)!important;line-height:1;max-width:10ch}
.ai-copy>p:not(.eyebrow){margin-top:20px;max-width:44ch;font:400 17.5px/1.55 var(--sans);color:var(--ink-2)}
.ai-l{list-style:none;margin-top:30px;border-top:1px solid var(--line-2)}
.ai-l li{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--line-2)}
.ai-l b{font:500 18px/1.25 var(--sans);letter-spacing:-.02em}
.ai-l span{font:400 15px/1.45 var(--sans);color:var(--ink-3)}
.orb{position:relative;min-width:0}
.orb-s{display:block;width:100%;height:auto;overflow:visible}
.orb-s .ring{fill:none;stroke:rgb(124 198 255/.55);stroke-dasharray:2 7;animation:spin 60s linear infinite;transform-origin:300px 270px}
.orb-s .ring.r2{stroke:rgb(255 46 147/.25);animation-duration:40s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.orb-s .op{fill:none;stroke:rgb(214 19 111/.22);stroke-width:1.2}
.orb-s .pu{fill:var(--pink)}
.orb-s .on rect{fill:#fff;stroke:rgb(11 28 58/.1);filter:drop-shadow(0 8px 16px rgb(42 47 122/.12))}
.orb-s .on text{font:500 14px var(--sans);fill:var(--ink);dominant-baseline:central}
.orb-s .od{fill:var(--sky)}
.orb-s .on{animation:float 7s ease-in-out infinite;animation-delay:var(--d)}
@keyframes float{50%{transform:translateY(-5px)}}
.orb-c{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(44%,240px);padding:16px 18px;border-radius:20px;text-align:left;
  background:linear-gradient(180deg,#fff,#FFF4FA);box-shadow:0 0 0 8px rgb(255 46 147/.08),0 0 0 18px rgb(255 46 147/.04),0 24px 50px -20px rgb(42 47 122/.45)}
.orb-l{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pink-d)}
.orb-c p{margin-top:10px;font:400 clamp(16px,1.5vw,20px)/1.25 var(--display);color:var(--ink);min-height:2.5em}

/* ---------- reused sections, in the new colours ---------- */
.rep .sec-h h2,.who .sec-h h2,.rules .sec-h h2{margin-top:16px}
.rep::before{background:linear-gradient(180deg,transparent,#E4F1FF 30%,#F3EDFF 70%,transparent)!important;opacity:1}
.kd{background:rgb(255 46 147/.1);color:var(--pink-d)}
.pt{background:#F3F7FF}
.kb rect{fill:#DCE6FB}.kb rect.hi{fill:var(--pink)}
.kln{stroke:var(--pink);stroke-dasharray:1;stroke-dashoffset:1}
.port.in .kln,.rep.in .kln{transition:stroke-dashoffset 2.2s var(--eo) .3s;stroke-dashoffset:0}
.um li{background:linear-gradient(180deg,#fff,#FBF8FF)}
.um .lpfig{background:linear-gradient(180deg,#F1F7FF,#F7F1FF)}
.um .dwc path,.um .dwc rect,.um .dwc circle{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--eo)}
.um li.in .dwc path,.um li.in .dwc rect,.um li.in .dwc circle{stroke-dashoffset:0}
.um .dwc .d{stroke-dasharray:1}
.tog-band .sw.on{background:#D5DDE6;transition:background .5s var(--e)}
.tog-band .sw i{transition:transform .5s var(--eo)}
.tog-band .sw.on i{transform:none}
.tog-band.in .sw.on{background:linear-gradient(120deg,var(--pink),#FF8CC3)}
.tog-band.in .sw.on i{transform:translateX(17px)}
.tog-band.in .tog:nth-child(odd) .sw{transition-delay:.3s}
.audit{color:#fff}
.audit .eyebrow{color:#FFC2E0}
.audit h2 em{color:#FFC2E0}
.audit .water::after{background:linear-gradient(120deg,rgb(20 26 78/.55),rgb(20 26 78/.1))}
.rep-f{background:linear-gradient(180deg,rgb(255 255 255/.96),rgb(255 255 255/.9));box-shadow:inset 0 1px 0 #fff,0 40px 90px -30px rgb(20 26 78/.7)}
.faq h2 em{color:var(--pink-d)}
.acc summary::after{background:linear-gradient(var(--pink-d),var(--pink-d)) center/14px 2px no-repeat,linear-gradient(var(--pink-d),var(--pink-d)) center/2px 14px no-repeat}
.close.dusk .wm{font:400 clamp(110px,22vw,360px)/.8 var(--display);letter-spacing:-.03em;color:transparent;background:linear-gradient(180deg,rgb(255 255 255/.55),rgb(255 194 224/.12));-webkit-background-clip:text;background-clip:text}
.close.dusk .close-in h2 em{color:#FFC2E0}
.close.dusk .birds{z-index:-1}
.close.dusk .water::after{background:linear-gradient(180deg,rgb(20 26 78/.15),rgb(20 26 78/.55))}
.close .btn.white{color:var(--pink-d)}

@media (max-width:1200px){
  .ai-m thead th span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ai-m thead th img{width:18px;height:18px;margin-bottom:2px}
  .ai-m tbody th{white-space:normal;line-height:1.2}
}
@media (max-width:1000px){
  .show{grid-template-columns:minmax(0,1fr);max-width:560px}
  .smap{display:none}
  .ways,.ai-in{grid-template-columns:minmax(0,1fr)}
  .hd-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);align-items:start;padding-top:96px}
  .hd-copy h2{font-size:clamp(34px,8vw,48px)!important}
  .hd-s{min-height:150px;margin-top:20px}
  .hd-cv{height:auto;min-height:0;align-self:stretch}
}
@media (max-width:640px){
  .way{padding:20px 16px;border-radius:24px}
  .inst{padding:14px 10px}
  .ai-m col.cq{width:38%}
  .ai-m thead th span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .ai-m thead th img{width:18px;height:18px;margin-bottom:2px}
  .ai-m tbody th{white-space:normal;font-size:12.5px;line-height:1.2;padding:8px 6px 8px 10px}
  .ai-m td{padding:6px 2px}
  .ai-m td i{width:20px;height:20px}
  .ai-m td i.y.lit{background-size:13px}
  .geo-g{gap:5px}
  .geo-g span{font-size:12px}
  .inst-f b{font-size:52px}
  .orb-c{width:40%;padding:10px 12px;border-radius:14px;box-shadow:0 0 0 5px rgb(255 46 147/.08),0 16px 34px -16px rgb(42 47 122/.45)}
  .orb-c p{font-size:13px;margin-top:6px}
  .orb-l{font-size:9px}
  .orb-s .on text{font-size:20px}
  .hood{height:400vh}
  .hd-s span{font-size:15.5px}
  .hd-s b{font-size:20px}
  .sa-a li span{display:none}
  .ai-m tbody th{font-size:13px;padding:8px}
  .ai-m th{font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .sa,.smap,.orb-s .ring,.orb-s .on,.caret{animation:none}
  [data-in]{opacity:1;transform:none}
  .um .dwc path,.um .dwc rect,.um .dwc circle{stroke-dashoffset:0}
}
