/* v47 homepage, on top of the v46 sheet. White and snow white instead of the warm off-white: the page is pure white,
   every other section is a snow band (#fffafa), cards flip to the opposite tone. The red pen stays the accent; lime
   lives only in "Who We Are". Also: "Our work" as a card arc on the sky, and the tools as two sliding rows. */
.v46-home{--paper:#fff;--snow:#fffafa;--sheet:#fffafa;--card:#fff;--hair:#f1e6e6}
body.v46-home{background:#fff}
.v46-home .site-header{background:rgb(255 255 255/.97)!important;border-bottom-color:var(--hair)}
.v46-home .v30-landing-hero .grid-pulse:after{background:radial-gradient(circle at 50% 46%,rgb(255 255 255/0),rgb(255 255 255/.74) 64%,#fff 90%)}
.v46-home .ask-frame{background:var(--snow);box-shadow:inset 0 0 0 1px var(--hair)}
.v46-home .ask-hint kbd{border-color:var(--hair)}
/* bands: features (snow), tools (white), trades (snow), comparison (white), plans (snow), answers (white) */
.v46-features{margin-top:0;background:var(--snow)}
.v46-vis{background:#fff;box-shadow:inset 0 0 0 1px var(--hair)}
.v46-arrows button{border-color:var(--hair)}
.v46-trades{background:var(--snow)}
.whr-list,.whr-list li{border-color:var(--hair)}
.whr-live.whr-has .whr-list a:not(.is-on){color:#dccfcf}
.whr-live.whr-has .whr-list a:not(.is-on) .whr-n{color:#e2d6d6}
.v46-home .comparison-reveal{background:#fff}
.v46-plans{background:var(--snow)}
.v46-plan{background:#fff;box-shadow:inset 0 0 0 1px var(--hair)}
.v46-plan ul{border-top-color:var(--hair)}
.v46-home .answer-first-section{--blend-from:#fff;--blend-to:#fff;background:#fff}
.v46-home .answer-first-grid article{background:var(--snow)!important;box-shadow:inset 0 0 0 1px var(--hair)!important}

/* ---------------------------------------------------------------- Our work: card arc on the sky */
.v47-work{position:relative;padding:0 clamp(8px,1.6vw,24px);background:#fff}
.mo-pin{position:relative;height:calc(100svh - 24px);min-height:620px;overflow:hidden;border-radius:36px;background:linear-gradient(180deg,#6aa4e6 0%,#a9c9ee 55%,#e3eef9 100%);color:#0b2545;isolation:isolate}
.mo-js:not(.mo-still){height:300vh}
.mo-js:not(.mo-still) .mo-pin{position:sticky;top:12px}
.v47-work:not(.mo-js) .mo-pin{height:auto;min-height:0;padding:clamp(84px,11vw,150px) 16px}
.v47-work:not(.mo-js) .mo-stage,.v47-work:not(.mo-js) .mo-intro{display:none}
.mo-head{position:absolute;left:0;right:0;top:clamp(48px,9vh,96px);z-index:3;width:min(780px,calc(100% - 32px));margin-inline:auto;text-align:center}
.v47-work:not(.mo-js) .mo-head{position:static}
.mo-js .mo-head{opacity:0;pointer-events:none}
.mo-js.mo-open .mo-head,.mo-still .mo-head{pointer-events:auto}
.mo-head:focus-within{opacity:1!important;transform:none!important}
.mo-head .eyebrow{color:#0b2545}
.mo-head .v46-h2{color:#0b2545}
.mo-head .v46-lede{margin-inline:auto;color:#163a63}
.mo-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.mo-links a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:rgb(255 255 255/.86);color:#0b2545;font-weight:700;font-size:14px;text-decoration:none;transition:background .2s}
.mo-links a:hover{background:#fff}
.mo-links li:last-child a{background:#0b2545;color:#fff}
.mo-links a:focus-visible{outline:2px solid #fff;outline-offset:2px}
.mo-intro{position:absolute;left:50%;top:50%;z-index:1;width:min(360px,56%);transform:translate(-50%,-50%);text-align:center;pointer-events:none;opacity:0;transition:opacity .6s}
.mo-intro-h{margin:0;color:#0b2545;font-size:clamp(20px,2.4vw,32px);font-weight:600;line-height:1.15;letter-spacing:-.03em}
.mo-intro-s{margin:12px 0 0;color:#163a63;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;opacity:.6}
.mo-stage{position:absolute;inset:0;z-index:2;pointer-events:none}
.mo-card{position:absolute;left:50%;top:50%;width:64px;height:90px;margin:-45px 0 0 -32px;opacity:0;pointer-events:auto;perspective:700px;-webkit-tap-highlight-color:transparent}
.mo-live .mo-card{will-change:transform}
.mo-card:hover{z-index:5}
.mo-in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.34,1.4,.64,1)}
.mo-f,.mo-b{position:absolute;inset:0;overflow:hidden;border-radius:9px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 10px 24px -10px rgb(11 37 69/.5)}
.mo-f{background:#fff}
.mo-f img{display:block;width:100%;height:100%;object-fit:cover}
.mo-b{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px;background:#111113;color:#fff;text-align:center;transform:rotateY(180deg)}
.mo-b small{color:#ff9c94;font:700 5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase}
.mo-b b{font-size:9px;font-weight:700;line-height:1.1;letter-spacing:-.01em}
.mo-b em{font-size:6.5px;font-style:normal;opacity:.7}
@media (hover:hover) and (pointer:fine){.mo-card:hover .mo-in{transform:rotateY(180deg)}}
.v47-work .v46-sky{position:absolute;inset:0;z-index:-1}

/* ---------------------------------------------------------------- tools: two sliding rows (cosmos.so style) */
.v46-home .work-with.v47-logos{padding:clamp(56px,7vw,96px) 0;background:#fff;border:0;color:var(--ink)}
.v47-logos-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:30px}
.v47-logos-head h2{margin:0;color:var(--ink);font-size:clamp(20px,2vw,26px);font-weight:650;letter-spacing:-.025em}
.v47-logos-head p{margin:0;color:#77767c;font-size:15px}
.v47-rows{display:grid;gap:22px;opacity:.78;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.v47-row{overflow:hidden}
.v47-track{display:flex;width:max-content;animation:v47-left var(--dur,58s) linear infinite;will-change:transform}
.v47-row--rev .v47-track{animation-name:v47-right}
.v47-set{display:flex;align-items:center;gap:clamp(40px,5vw,76px);padding-right:clamp(40px,5vw,76px);margin:0;list-style:none}
.v47-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);white-space:nowrap}
.v47-logo img{width:auto;height:clamp(22px,2.1vw,28px);filter:grayscale(1) brightness(0);transition:filter .3s}
.v47-logo b{font-size:clamp(17px,1.65vw,22px);font-weight:650;letter-spacing:-.03em}
.v47-rows:hover .v47-track,.work-with.is-offscreen .v47-track{animation-play-state:paused}
.v47-logo:hover img{filter:none}
@keyframes v47-left{to{transform:translate3d(-50%,0,0)}}
@keyframes v47-right{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}

/* below-the-fold sections skip style, layout and paint until they come near the screen ("auto" remembers the real
   height once a section has rendered). Not on the scroll-driven ones (Who We Are, Our work, comparison). */
.v46-features{content-visibility:auto;contain-intrinsic-size:auto 920px}
.v46-home .v47-logos{content-visibility:auto;contain-intrinsic-size:auto 360px}
.v46-trades{content-visibility:auto;contain-intrinsic-size:auto 820px}
.v46-plans{content-visibility:auto;contain-intrinsic-size:auto 920px}
.v46-home .answer-first-section{content-visibility:auto;contain-intrinsic-size:auto 1400px}
.v46-home .v30-consultation{content-visibility:auto;contain-intrinsic-size:auto 1000px}

@media (max-width:900px){
  .mo-pin{border-radius:26px}
  .mo-js:not(.mo-still){height:280vh}
}
@media (prefers-reduced-motion:reduce){
  .v47-track{animation:none}
  .mo-in{transition:none}
}
