/* Homepage-only refinement / home51. App Shell intentionally untouched. */
:root{--h51-ink:#101827;--h51-soft:rgba(16,24,39,.66);--h51-muted:rgba(16,24,39,.45);--h51-line:rgba(50,76,116,.12);--h51-blue:#6d91e8;--h51-violet:#8c7cdd;--h51-glass:rgba(249,251,255,.46)}
html[data-theme="dark"]{--h51-ink:#f4f7fc;--h51-soft:rgba(226,235,248,.68);--h51-muted:rgba(205,218,238,.44);--h51-line:rgba(211,227,255,.085);--h51-blue:#94afff;--h51-violet:#b7a8ff;--h51-glass:rgba(9,16,26,.24)}
html,body.home-public-v3{max-width:100%;overflow-x:clip!important}
body.home-public-v3{background:#f3f6fa!important;color:var(--h51-ink)!important}
html[data-theme="dark"] body.home-public-v3{background:#010207!important}
body.home-public-v3 main{overflow:visible!important;background:transparent!important}

/* Hero is full bleed. The physical liquid field is rendered by WebGPU; CSS only supplies the scene underneath. */
body.home-public-v3 .nf-hero{position:relative!important;isolation:isolate!important;display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr)!important;align-items:center!important;width:100%!important;max-width:none!important;min-height:100svh!important;margin:0!important;padding:clamp(92px,11vh,140px) max(5vw,42px) 52px!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:radial-gradient(900px 640px at 82% 39%,rgba(83,117,205,.10),transparent 70%),linear-gradient(180deg,#f6f8fc,#eef3f8)!important}
html[data-theme="dark"] body.home-public-v3 .nf-hero{background:radial-gradient(980px 690px at 82% 40%,rgba(42,72,151,.13),transparent 70%),radial-gradient(760px 520px at 98% 4%,rgba(102,77,161,.055),transparent 74%),linear-gradient(180deg,#010207 0%,#02050a 52%,#050b15 100%)!important}
body.home-public-v3 .nf-hero::before,body.home-public-v3 .nf-hero::after,body.home-public-v3 .nf-constellation::after{display:none!important}
.home51-liquid-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}
body.home-public-v3 .nf-hero-copy{position:relative;z-index:3;align-self:center;max-width:620px!important;margin:0!important;padding-left:clamp(18px,4vw,72px)!important}
body.home-public-v3 .nf-hero-copy h1{font-size:clamp(66px,8vw,126px)!important;line-height:.82!important;letter-spacing:-.085em!important;color:var(--h51-ink)!important;margin:0!important}
body.home-public-v3 .nf-hero-copy p{font-size:clamp(22px,2.1vw,34px)!important;color:var(--h51-soft)!important;margin-top:38px!important;letter-spacing:-.045em!important;font-weight:700!important}
body.home-public-v3 .nf-constellation{position:relative!important;z-index:3!important;width:100%!important;height:min(68vh,650px)!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.home-public-v3 .nf-constellation-lines path{stroke:color-mix(in srgb,var(--h51-blue) 43%,transparent)!important;stroke-width:1!important;opacity:.52!important;transition:opacity .35s ease,stroke .35s ease!important}
body.home-public-v3 .nf-constellation.is-snapped .nf-constellation-lines path{opacity:.76!important;stroke:color-mix(in srgb,var(--h51-blue) 63%,transparent)!important}
body.home-public-v3 .nf-star-node{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important;transform:translate(calc(-50% + var(--magnet-x,0px)),calc(-50% + var(--magnet-y,0px))) scale(var(--node-scale,1))!important;transition:transform .52s cubic-bezier(.16,1,.3,1),opacity .28s ease!important}
body.home-public-v3 .nf-star-node::after,body.home-public-v3 .nf-star-node::before,body.home-public-v3 .f2-node-ripple{display:none!important}
body.home-public-v3 .nf-star-node strong{color:var(--h51-ink)!important;transition:color .25s ease,text-shadow .25s ease,transform .45s cubic-bezier(.16,1,.3,1)!important}
body.home-public-v3 .nf-star-node small{color:var(--h51-muted)!important;transition:opacity .25s ease!important}
body.home-public-v3 .nf-star-node.is-nearest{--node-scale:1.055;z-index:8!important}
body.home-public-v3 .nf-star-node.is-nearest strong{color:color-mix(in srgb,var(--h51-ink) 88%,var(--h51-blue))!important;text-shadow:0 0 22px color-mix(in srgb,var(--h51-blue) 22%,transparent)}
body.home-public-v3 .nf-star-node.is-nearest small{opacity:.88!important}
body.home-public-v3 .nf-star-note{color:var(--h51-muted)!important}
.home51-liquid-fallback .nf-hero{background:radial-gradient(42% 42% at 77% 35%,rgba(164,190,235,.16),transparent 65%),radial-gradient(38% 48% at 86% 68%,rgba(113,143,215,.10),transparent 68%),linear-gradient(180deg,#010207,#050b15)!important}

/* Principle: transmitted glass, not opaque cards. */
body.home-public-v3 .home-studio-section{position:relative!important;width:min(1260px,calc(100% - 48px))!important;margin:0 auto!important;padding:clamp(92px,10vw,150px) 0!important;background:transparent!important;overflow:visible!important}
body.home-public-v3 .studio-overview{overflow:visible!important}
body.home-public-v3 .studio-direction,body.home-public-v3 .studio-principle{position:relative!important;overflow:hidden!important;background:linear-gradient(145deg,color-mix(in srgb,var(--h51-glass) 88%,transparent),color-mix(in srgb,var(--h51-blue) 4%,transparent))!important;border:1px solid var(--h51-line)!important;box-shadow:0 28px 90px rgba(25,45,78,.10),inset 0 1px rgba(255,255,255,.13)!important;backdrop-filter:blur(28px) saturate(155%)!important;-webkit-backdrop-filter:blur(28px) saturate(155%)!important}
html[data-theme="dark"] body.home-public-v3 .studio-direction,html[data-theme="dark"] body.home-public-v3 .studio-principle{background:linear-gradient(145deg,rgba(16,27,44,.30),rgba(4,9,16,.18))!important;box-shadow:0 30px 100px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08)!important}
body.home-public-v3 .studio-direction{transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .28s ease!important}
body.home-public-v3 .studio-direction:hover{transform:translateY(-4px) scale(1.006)!important;border-color:color-mix(in srgb,var(--h51-blue) 24%,var(--h51-line))!important}

/* Robust homepage-only pinned narrative. JS uses fixed positioning inside the existing iframe scroll root. */
body.home-public-v3 .nf-production{position:relative!important;height:440svh!important;min-height:2600px!important;margin:0!important;padding:0!important;overflow:visible!important;background:#eef3f8!important;contain:none!important;transform:none!important}
html[data-theme="dark"] body.home-public-v3 .nf-production{background:radial-gradient(820px 520px at 72% 45%,rgba(47,78,153,.07),transparent 72%),#02050a!important}
body.home-public-v3 .nf-production-stage{position:absolute!important;left:0!important;right:0!important;top:0!important;width:100%!important;height:100svh!important;min-height:620px!important;overflow:hidden!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;padding:clamp(92px,10vh,126px) max(4vw,32px) 28px!important;background:inherit!important;transform:none!important;contain:none!important;z-index:6!important}
body.home-public-v3 .nf-production.home51-pinned .nf-production-stage{position:fixed!important;top:0!important;bottom:auto!important}
body.home-public-v3 .nf-production.home51-after .nf-production-stage{position:absolute!important;top:auto!important;bottom:0!important}
body.home-public-v3 .nf-production .nf-section-head{width:min(1260px,100%)!important;margin:0 auto 14px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,460px)!important;gap:38px!important;align-items:end!important}
body.home-public-v3 .nf-production .nf-section-head h2{font-size:clamp(42px,5vw,72px)!important;color:var(--h51-ink)!important;line-height:.94!important;margin:0!important;letter-spacing:-.068em!important}
body.home-public-v3 .nf-production .nf-section-head>p{color:var(--h51-soft)!important;line-height:1.68!important;margin:0!important}
body.home-public-v3 .nf-story-stack{position:relative!important;width:min(1260px,100%)!important;height:100%!important;margin:0 auto!important;overflow:visible!important}
body.home-public-v3 .nf-story{position:absolute!important;inset:0!important;display:grid!important;grid-template-columns:minmax(320px,.9fr) minmax(480px,1.1fr)!important;align-items:center!important;gap:clamp(44px,7vw,96px)!important;opacity:0!important;pointer-events:none!important;transform:translateY(22px) scale(.988)!important;transition:opacity .44s ease,transform .68s cubic-bezier(.16,1,.3,1)!important;background:transparent!important;border:0!important}
body.home-public-v3 .nf-story.is-active{opacity:1!important;pointer-events:auto!important;transform:none!important}
body.home-public-v3 .nf-story-copy h3{color:var(--h51-ink)!important;font-size:clamp(52px,6.4vw,90px)!important;line-height:.9!important;letter-spacing:-.075em!important;margin:14px 0 22px!important}
body.home-public-v3 .nf-story-copy p{color:var(--h51-soft)!important;max-width:34em!important;line-height:1.75!important}
body.home-public-v3 .nf-story-visual{position:relative!important;height:min(52vh,500px)!important;display:grid!important;place-items:center!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important}
body.home-public-v3 .nf-story-visual::before{content:"";position:absolute;width:min(40vw,430px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(112,151,237,.07),transparent 68%);pointer-events:none}
body.home-public-v3 .f2-mono{width:min(55%,400px)!important;overflow:visible!important;filter:drop-shadow(0 0 14px rgba(100,140,235,.08))}
body.home-public-v3 .f2-mono text{display:none!important}body.home-public-v3 .f2-mono .fill{fill:transparent!important}body.home-public-v3 .f2-mono .soft{stroke:color-mix(in srgb,var(--h51-blue) 18%,transparent)!important}body.home-public-v3 .f2-mono .line{stroke:color-mix(in srgb,var(--h51-blue) 48%,transparent)!important;stroke-width:1!important}body.home-public-v3 .f2-mono .node{fill:transparent!important;stroke:color-mix(in srgb,var(--h51-blue) 72%,transparent)!important;stroke-width:1.1!important}
body.home-public-v3 .nf-story.is-active .f2-mono .line{stroke-dasharray:12 9;animation:home51Trace 4.6s linear infinite}@keyframes home51Trace{to{stroke-dashoffset:-84}}

/* Worlds / video remain content-first and join without a hard seam. */
body.home-public-v3 .nf-worlds-home{position:relative!important;margin-bottom:0!important;border-bottom:0!important;box-shadow:none!important;overflow:hidden!important}
body.home-public-v3 .nf-worlds-home::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:76px;pointer-events:none;background:linear-gradient(180deg,transparent,#020407);z-index:4}
body.home-public-v3 .home-section--video{margin-top:0!important;border-top:0!important;background:#f1f4f8!important}
html[data-theme="dark"] body.home-public-v3 .home-section--video{background:#020407!important}

/* Signature has its own robust pin controller and a long hold at center. */
body.home-public-v3 .nf-signature-field{position:relative!important;height:320svh!important;min-height:2200px!important;margin:0!important;padding:0!important;overflow:visible!important;background:linear-gradient(180deg,#eef2f7,#f5f7fa)!important;contain:none!important;transform:none!important}
html[data-theme="dark"] body.home-public-v3 .nf-signature-field{background:radial-gradient(760px 460px at 50% 48%,rgba(69,99,175,.045),transparent 75%),#000!important}
body.home-public-v3 .nf-signature-stage{position:absolute!important;left:0!important;right:0!important;top:0!important;width:100%!important;height:100svh!important;min-height:560px!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:inherit!important;z-index:5!important}
body.home-public-v3 .nf-signature-field.home51-pinned .nf-signature-stage{position:fixed!important;top:0!important;bottom:auto!important}
body.home-public-v3 .nf-signature-field.home51-after .nf-signature-stage{position:absolute!important;top:auto!important;bottom:0!important}
body.home-public-v3 .nf-signature-stage canvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important}
body.home-public-v3 .nf-signature-fallback{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(590px,58vw)!important;opacity:0!important;pointer-events:none!important;filter:none!important}
html[data-theme="dark"] body.home-public-v3 .nf-signature-fallback{filter:invert(1)!important}
body.home-public-v3 .nf-signature-caption{position:absolute!important;left:50%!important;bottom:10%!important;transform:translateX(-50%)!important;color:var(--h51-muted)!important;white-space:nowrap!important}
body.home-public-v3 .nf-signature-field.home51-static .nf-signature-fallback{opacity:.82!important}
body.home-public-v3 .nf-signature-field.home51-static canvas{display:none!important}

/* Homepage footer stays the already-approved compact shape. */
body.home-public-v3 .footer.compact-footer{width:min(1260px,calc(100% - 48px))!important;margin:0 auto 28px!important}

@media(max-width:1100px){body.home-public-v3 .nf-hero{grid-template-columns:minmax(0,.85fr) minmax(460px,1.15fr)!important;padding-inline:30px!important}.nf-production .nf-section-head{gap:24px!important}body.home-public-v3 .nf-story{grid-template-columns:minmax(300px,.9fr) minmax(390px,1.1fr)!important;gap:30px!important}body.home-public-v3 .nf-story-visual{height:min(44vh,390px)!important}}
@media(max-width:820px){body.home-public-v3 .nf-hero{display:block!important;min-height:auto!important;padding:110px 24px 44px!important}body.home-public-v3 .nf-hero-copy{padding:0!important;min-height:46svh;display:grid;align-content:center}body.home-public-v3 .nf-hero-copy h1{font-size:clamp(58px,16vw,88px)!important}body.home-public-v3 .nf-constellation{height:520px!important;margin-top:12px}.home-studio-section{width:calc(100% - 28px)!important}.studio-overview{grid-template-columns:1fr!important}.studio-directions{grid-template-columns:1fr!important}body.home-public-v3 .nf-production{height:auto!important;min-height:0!important;padding:80px 20px!important}body.home-public-v3 .nf-production-stage{position:relative!important;height:auto!important;min-height:0!important;padding:0!important}body.home-public-v3 .nf-production .nf-section-head{grid-template-columns:1fr!important;margin-bottom:44px!important}.nf-production-progress{display:none!important}body.home-public-v3 .nf-story-stack{display:grid!important;gap:64px!important;height:auto!important}body.home-public-v3 .nf-story{position:relative!important;inset:auto!important;grid-template-columns:1fr!important;gap:24px!important;opacity:1!important;transform:none!important;pointer-events:auto!important}.nf-production-step{display:none!important}body.home-public-v3 .nf-story-visual{height:300px!important}.nf-signature-field{height:220svh!important;min-height:1300px!important}.nf-signature-fallback{width:min(72vw,420px)!important}.footer.compact-footer{width:calc(100% - 24px)!important}}
@media(prefers-reduced-motion:reduce){body.home-public-v3 .nf-production{height:auto!important;min-height:0!important}.nf-production-stage{position:relative!important;height:auto!important}.nf-story{position:relative!important;opacity:1!important;transform:none!important}.nf-story-stack{height:auto!important;display:grid!important;gap:48px!important}.nf-signature-field{height:100svh!important;min-height:600px!important}.nf-signature-stage{position:relative!important}.nf-signature-fallback{opacity:.82!important}.nf-signature-stage canvas{display:none!important}}
