/* IntelliFunnel Labs home page */
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/bricolage-grotesque-600.woff2") format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url("/fonts/bricolage-grotesque-700.woff2") format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:800;font-display:swap;src:url("/fonts/bricolage-grotesque-800.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/instrument-sans-400.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/instrument-sans-500.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/instrument-sans-600.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:500;font-display:swap;src:url("/fonts/jetbrains-mono-500.woff2") format("woff2")}
body{margin:0;background:#0B1736}
.skip-link{position:absolute;left:16px;top:-64px;z-index:100;background:#F9A332;color:#0B1736;padding:12px 16px;border-radius:8px;text-decoration:none;font-weight:600}
.skip-link:focus{top:12px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}
a{color:#FFB25E}a:hover{color:#FFD199}
.ifl{--ink:#0B1736;--ink-2:#0F1D45;--deep:#07102A;--paper:#F5F3EE;--text:#141821;--muted:#5B6475;--on:#FFFFFF;--on-2:#AEB8D2;--line:#E2E0D8;--line-ink:rgba(255,255,255,.12);--grad:linear-gradient(135deg,#F9A332 0%,var(--acc) 52%,#E8590C 100%);--acc-text:#B94A06;font-family:"Instrument Sans",system-ui,sans-serif;color:var(--on);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip}
.ifl *{box-sizing:border-box}
.ifl h1,.ifl h2,.ifl h3,.ifl h4,.ifl p,.ifl ul,.ifl ol{margin:0}
.ifl ul,.ifl ol{padding:0;list-style:none}
.ifl .disp{font-family:"Bricolage Grotesque",system-ui,sans-serif;letter-spacing:-.025em;line-height:1.02}
.ifl .mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.08em}
.ifl a:focus-visible,.ifl button:focus-visible{outline:2px solid #F9A332;outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
@media (max-width:700px){.wrap{padding:0 20px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:0;background:var(--grad);color:var(--ink);font:600 16px/1 "Instrument Sans",sans-serif;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 10px 30px -10px rgba(244,123,32,.8);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s ease}
.btn:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(244,123,32,.95)}
.btn:hover::after{transform:translateX(130%)}
.btn-sm{min-height:44px;padding:0 20px;font-size:15px}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--on);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.tlink:hover{color:var(--on);border-bottom-color:#F9A332}
.tlink svg,.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* header */
.hdr{position:sticky;top:0;z-index:40;transition:background-color .35s,border-color .35s,backdrop-filter .35s;border-bottom:1px solid transparent}
.hdr.solid{background:rgba(7,16,42,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line-ink)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#fff;text-decoration:none;font:700 19px/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.01em}
.brand:hover{color:#fff}
.brand img{width:30px;height:30px}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:#C9D1E6;text-decoration:none;font-size:15px;font-weight:500;border-radius:999px;transition:color .2s,background-color .2s}
.nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
@media (max-width:820px){.hdr-in{flex-wrap:wrap;gap:0 12px;min-height:60px}.nav{order:3;width:100%;margin:0 0 6px -12px;gap:0}.nav a{padding:0 10px;font-size:14px}}

/* intro: pinned 3D story */
.intro{position:relative;margin-top:-68px}
.motion .intro{height:var(--h)}
.motion .cap-in{opacity:0}
.motion .cap-in[data-in="-1"]{opacity:1}
.stage{position:sticky;top:0;height:clamp(560px,100vh,1000px);overflow:hidden;background:radial-gradient(120% 90% at 70% 30%,#1B2C5E 0%,#0B1736 55%,#07102A 100%)}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,16,42,.92) 0%,rgba(7,16,42,.78) 30%,rgba(7,16,42,.3) 52%,rgba(7,16,42,0) 68%),linear-gradient(0deg,rgba(7,16,42,.8) 0%,rgba(7,16,42,0) 26%)}
.cap-in h1,.cap-in h2,.cap-in p{text-shadow:0 2px 22px rgba(7,16,42,.85)}
.cap{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;pointer-events:none}
.cap.top{align-items:flex-start;padding-top:clamp(120px,17vh,190px)}
.cap-in{max-width:640px;will-change:transform,opacity}
.cap-in a,.cap-in button{pointer-events:auto}
.cap-in.off,.cap-in.off a,.cap-in.off button{pointer-events:none}
.kick{display:inline-flex;align-items:center;gap:10px;color:#FFB25E;font-weight:600;font-size:15px;margin-bottom:22px}
.kick::before{content:"";width:28px;height:2px;background:var(--grad);border-radius:2px}
.hero-h{font-size:clamp(44px,6.4vw,92px);font-weight:800;color:#fff}
.hero-p{margin-top:26px;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:#D2D9EA;max-width:34em}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:36px}
.cap-h{font-size:clamp(34px,4.4vw,64px);font-weight:700;color:#fff}
.cap-p{margin-top:20px;font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:#C9D1E6;max-width:32em}
.chap{display:inline-flex;align-items:center;gap:10px;color:#F9A332;margin-bottom:18px}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.chip{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 18px 0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(11,23,54,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#AEB8D2;font-weight:600;transition:all .45s cubic-bezier(.2,.7,.2,1)}
.chip i{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:grid;place-items:center;transition:all .45s}
.chip i svg{width:12px;height:12px;fill:none;stroke:#0B1736;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .3s}
.chip.on{color:#fff;border-color:rgba(249,163,50,.7);background:rgba(244,123,32,.16)}
.chip.on i{background:var(--grad);border-color:transparent}
.chip.on i svg{opacity:1}
.legend-h{margin-top:30px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#8E9AB9;font-size:11px;max-width:560px}
.legend{display:grid;grid-template-columns:repeat(5,max-content);gap:12px 26px;margin-top:14px;color:#D2D9EA;font-size:14px;font-weight:500}
.legend li{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.lg{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none}
.lg svg{width:16px;height:16px;fill:none;stroke:#0B1736;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:820px){.legend{grid-template-columns:repeat(3,max-content);gap:10px 18px}}
.meet{display:flex;align-items:center;gap:16px;margin-top:28px;padding:16px 20px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-width:420px}
.meet-ico{flex:none;width:48px;height:48px;border-radius:14px;background:var(--grad);display:grid;place-items:center}
.meet-ico svg{width:24px;height:24px;fill:none;stroke:#0B1736;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.meet b{display:block;color:#fff;font-size:16px}
.meet span{color:#AEB8D2;font-size:14px}
.hud{position:absolute;left:0;right:0;bottom:28px;pointer-events:none}
.hud-in{display:flex;align-items:center;gap:20px}
.pill{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(7,16,42,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font:500 12px/1 "JetBrains Mono",monospace;letter-spacing:.1em;text-decoration:none;cursor:pointer}
.pill:hover{color:#fff;border-color:rgba(249,163,50,.7)}
.pill svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.prog{flex:1;max-width:520px;display:flex;flex-direction:column;gap:10px}
.prog-bar{position:relative;height:2px;background:rgba(255,255,255,.18);border-radius:2px}
.prog-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--grad);border-radius:2px;box-shadow:0 0 12px rgba(244,123,32,.8)}
.prog-labels{display:flex;justify-content:space-between;color:#7F8BAA}
.prog-labels span.on{color:#fff}
.pct{color:#AEB8D2;min-width:44px}
.hud-skip{margin-left:auto}
.cue{position:absolute;left:50%;bottom:104px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:#D2D9EA;pointer-events:none}
.mouse{width:26px;height:40px;border:2px solid rgba(255,255,255,.55);border-radius:14px;position:relative}
.mouse::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#F47B20;animation:wheel 1.6s ease-in-out infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}80%{transform:translateY(12px);opacity:0}100%{opacity:0}}
.no-gl .stage{background:radial-gradient(80% 70% at 75% 35%,rgba(244,123,32,.35) 0%,rgba(11,23,54,0) 60%),radial-gradient(120% 90% at 70% 30%,#1B2C5E 0%,#0B1736 55%,#07102A 100%)}
@media (max-width:820px){
  .scrim{background:linear-gradient(0deg,rgba(7,16,42,.96) 0%,rgba(7,16,42,.75) 48%,rgba(7,16,42,.2) 100%)}
  .cap{align-items:flex-end;padding-bottom:150px}
  .cap.top{align-items:flex-end;padding-top:0}
  .prog-labels{display:none}
  .hud-skip span{display:none}
  .cue{display:none}
}

/* light sections */
.light{background:var(--paper);color:var(--text)}
.sec{padding:120px 0}
@media (max-width:700px){.sec{padding:80px 0}}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:56px}
.sec-head h2{font-size:clamp(36px,4.6vw,68px);font-weight:700;max-width:12em}
.sec-head p{max-width:30em;font-size:18px;line-height:1.6;color:var(--muted)}
.dark .sec-head p{color:var(--on-2)}
.js [data-rv]{opacity:1;transform:translateY(36px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
[data-rv].in{opacity:1;transform:none}

/* outcomes */
.outs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:-80px;position:relative;z-index:5}
.out{background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 60px -30px rgba(11,23,54,.45);border:1px solid var(--line);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.out:hover{transform:translateY(-6px);box-shadow:0 40px 70px -30px rgba(11,23,54,.55)}
.out h3{font-size:24px;font-weight:700;margin-top:22px;color:var(--text)}
.out p{margin-top:8px;color:var(--muted);line-height:1.55}
.ico{width:48px;height:48px;border-radius:14px;background:var(--ink);color:#F9A332;display:grid;place-items:center;transition:background .3s,color .3s}
.ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.out:hover .ico,.svc:hover .ico{background:var(--grad);color:var(--ink)}
@media (max-width:900px){.outs{grid-template-columns:minmax(0,1fr);margin-top:-48px}}

/* services */
.lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.lane{background:#EBE8E0;border-radius:26px;padding:24px;display:flex;flex-direction:column;gap:14px}
.lane-h{padding:6px 6px 10px}
.track{display:flex;gap:6px;width:120px;margin-bottom:16px}
.track i{flex:1;height:4px;border-radius:4px;background:#CBC8BD}
.track i.on{background:var(--grad)}
.lane-h h3{font-size:28px;font-weight:700;color:var(--text)}
.lane-h p{margin-top:6px;color:var(--muted);font-size:15px}
.svc{flex:1;display:flex;flex-direction:column;gap:14px;background:#fff;border-radius:18px;padding:22px;border:1px solid var(--line);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.svc:hover{transform:translateY(-5px);border-color:#F47B20;box-shadow:0 26px 50px -28px rgba(11,23,54,.5)}
.svc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.svc h4{font-size:18px;font-weight:600;line-height:1.3;color:var(--text);min-height:2.6em}
.svc dl{margin:0;display:flex;flex-direction:column;gap:10px}
.svc dt{font-size:13px;font-weight:600;color:var(--acc-text)}
.svc dd{margin:2px 0 0;font-size:15px;line-height:1.5;color:#2A303C}
.svc a{margin-top:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--text);font-weight:600;font-size:15px;text-decoration:none}
.svc a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.svc:hover a svg{transform:translateX(5px)}
.soon{display:inline-block;padding:3px 10px;border-radius:999px;background:#FDE5C4;color:#6B3600;font-size:13px;font-weight:600}
.svc.is-soon{border-style:dashed;border-color:#C9C5B9;background:#FBFAF6}
@media (max-width:960px){.lanes{grid-template-columns:minmax(0,1fr)}.svc h4{min-height:0}}

/* services: nine cards through one funnel */
#outcomes{padding-bottom:120px}
.lane-r{background:#F5F3EE;color:var(--text)}
.lane-e{background:#FCE3C6;color:var(--text)}
.lane-c{background:linear-gradient(160deg,#1A3474 0%,#0E1D47 100%);color:#fff}
.is-soon{background:repeating-linear-gradient(135deg,#F5F3EE 0 22px,#EEEAE1 22px 44px)}
.pc-left{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:20px}
.pc-meta{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px}
.pc-lane{display:inline-flex;align-items:center;gap:10px}
.pc-lane .track{margin:0;width:64px}
.lane-c .track i{background:rgba(255,255,255,.22)}
.lane-c .track i.on{background:var(--grad)}
.pc-name{font-weight:800;line-height:1;letter-spacing:-.03em;max-width:9.5em}
.fcard{position:absolute}
.pc-right{position:relative;border-left:2px dashed rgba(20,24,33,.2);display:flex;flex-direction:column}
.lane-c .pc-right{border-left-color:rgba(255,255,255,.22)}
.stamp-in{width:100%;height:100%;border-radius:14px;background:var(--ink);display:grid;place-items:center;color:#F9A332}
.lane-c .stamp-in{background:var(--grad);color:var(--ink)}
.pc-right dl{margin:0;display:flex;flex-direction:column;gap:12px}
.pc-right dt{font-size:13px;font-weight:600;letter-spacing:.02em;color:#B94A06}
.lane-c .pc-right dt{color:#FFB25E}
.lane-e .pc-right dt{color:#8F3803}
.pc-right dd{margin:3px 0 0;line-height:1.45}
.pc-link{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border-radius:999px;background:var(--ink);color:#fff;font-weight:600;text-decoration:none;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.pc-link:hover{color:#fff;transform:translateX(5px)}
.lane-c .pc-link{background:var(--grad);color:var(--ink)}
.lane-c .pc-link:hover{color:var(--ink)}
.pc-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fsec{position:relative;background:var(--deep)}
.motion .fsec{height:var(--h)}
.fstage{position:sticky;top:0;height:clamp(640px,100vh,1000px);overflow:hidden;background:radial-gradient(70% 55% at 50% 100%,rgba(244,123,32,.14),rgba(7,16,42,0) 70%),var(--deep)}
.fhead{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-top:96px}
.fhead h2{font-size:clamp(30px,3.2vw,46px);font-weight:700;color:#fff}
.fhead p{margin-top:8px;color:var(--on-2);font-size:16px;max-width:34em}
.fcount{color:#F9A332;white-space:nowrap}
.fsvg{position:absolute;right:2vw;top:190px;width:min(60vw,980px);height:calc(100% - 270px);z-index:1;overflow:visible}
.fsvg .mouth{fill:#040A1F}
.fsvg .tband{fill:url(#fg);opacity:.92}
.fsvg .tglow{fill:url(#fgo);opacity:0;transition:opacity .5s}
.fsvg .tier.on .tglow{opacity:.5}
.fsvg .tneck{fill:url(#fg)}
.fsvg .trim{fill:none;stroke:rgba(255,255,255,.28);stroke-width:2;transition:stroke .4s}
.fsvg .trim.top{stroke:#F9A332;stroke-width:3}
.fsvg .trim.back{stroke:rgba(249,163,50,.35)}
.fsvg .tier.on .trim{stroke:#F9A332}
.fsvg .tlab{fill:#6F7B9B;font:500 15px "JetBrains Mono",monospace;letter-spacing:.1em;transition:fill .4s}
.fsvg .tier.on .tlab{fill:#FFFFFF}
.fdrop{position:absolute;left:0;top:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:radial-gradient(circle,#FFE2B8 0%,#F47B20 55%,rgba(244,123,32,0) 72%);box-shadow:0 0 24px 8px rgba(244,123,32,.55);opacity:0;z-index:2;pointer-events:none}
.fout{position:absolute;right:4vw;bottom:22px;z-index:2;display:flex;align-items:center;gap:14px;color:#AEB8D2}
.pills{display:flex;gap:6px}
.pills i{width:22px;height:8px;border-radius:4px;background:rgba(255,255,255,.14);transition:background .4s,box-shadow .4s}
.pills i.on{background:var(--grad);box-shadow:0 0 12px rgba(244,123,32,.7)}
.fcards{position:absolute;inset:0;z-index:2;perspective:1600px;pointer-events:none}
.fcard{position:absolute;left:clamp(24px,5vw,96px);top:calc(50% - 160px);width:min(440px,33vw);display:grid;grid-template-columns:minmax(0,1fr);border-radius:24px;overflow:hidden;transform-origin:50% 50%;transform:translate3d(0,0,0);backface-visibility:hidden;will-change:transform,opacity;box-shadow:0 50px 90px -40px rgba(0,0,0,.8);opacity:0;pointer-events:none}
.fcard[data-fcard="0"]{opacity:1;pointer-events:auto}
.fcard .pc-left{padding:24px 28px 14px;gap:14px}
.fcard .pc-right{padding:18px 28px 24px;gap:12px;border-left:0;border-top:2px dashed rgba(20,24,33,.2)}
.fcard.lane-c .pc-right{border-top-color:rgba(255,255,255,.22)}
.fcard .pc-name{font-size:clamp(26px,2.2vw,34px)}
.fcard .pc-right dd{font-size:15px}
.fico{position:absolute;top:22px;right:24px;width:48px;height:48px}
.fcard .pc-meta{padding-right:60px}
.fico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fdone{position:absolute;left:clamp(24px,5vw,96px);width:min(440px,33vw);top:calc(50% - 60px);font-size:clamp(30px,3vw,46px);font-weight:800;line-height:1.05;color:#fff;opacity:0}
@media (max-width:820px){
  .fsec{height:auto !important}
  .fstage{position:relative;height:auto;overflow:visible;padding-bottom:80px}
  .fhead{padding-top:80px;flex-direction:column;align-items:flex-start}
  .fsvg,.fdrop,.fout,.fcount,.fdone{display:none}
  .fcards{position:relative;perspective:none;display:flex;flex-direction:column;gap:16px;padding:32px 20px 0}
  .fcard{position:relative;left:auto;top:auto;width:100% !important;opacity:1 !important;visibility:visible !important;transform:none !important;grid-template-columns:minmax(0,1fr)}
  .fcard .pc-right{border-left:0;border-top:2px dashed rgba(20,24,33,.2)}
  .lane-c .pc-right{border-top-color:rgba(255,255,255,.22)}
}
html:not(.motion) .fsec{height:auto !important}
html:not(.motion) .fstage{position:relative;height:auto;overflow:visible;padding-bottom:80px}
html:not(.motion) .fsvg,html:not(.motion) .fdrop,html:not(.motion) .fout,html:not(.motion) .fcount,html:not(.motion) .fdone{display:none}
html:not(.motion) .fcards{position:relative;perspective:none;display:flex;flex-direction:column;align-items:center;gap:20px;padding-top:40px}
html:not(.motion) .fcard{position:relative;left:auto;top:auto;opacity:1;visibility:visible;transform:none}

/* approach: words light up as they pass */
.dark{background:var(--ink);color:var(--on)}
.state{font-size:clamp(30px,3.9vw,58px);font-weight:700;line-height:1.14;max-width:22em}
.state .w{color:#141821}
.state .w.hl{color:#C2510A}
.motion .state .w{color:#8C867A;transition:color .5s ease}
.motion .state .w.lit{color:#141821}
.motion .state .w.hl.lit{color:#C2510A}
.prins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:80px}
.prin{border-top:1px solid var(--line);padding-top:26px;color:var(--text)}
.prin .n{color:#B94A06}
.prin h3{font-size:26px;font-weight:700;margin-top:14px}
.prin p{margin-top:10px;color:var(--muted);line-height:1.6}
@media (max-width:900px){.prins{grid-template-columns:minmax(0,1fr)}}

/* engagement: pinned horizontal pass */
.hpin{position:relative;background:var(--deep)}
.motion .hpin{height:var(--h)}
.hstage{position:sticky;top:0;height:clamp(560px,100vh,1000px);overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:48px}
.hhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
.hhead h2{font-size:clamp(36px,4.6vw,68px);font-weight:700}
.hbar{width:260px;height:2px;background:rgba(255,255,255,.15);border-radius:2px;position:relative}
.hfill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--grad)}
.hrow{display:flex;gap:28px;padding-left:max(32px,calc((100vw - 1240px) / 2 + 32px));padding-right:32px;will-change:transform}
.step{flex:none;width:min(520px,78vw);min-height:360px;border-radius:28px;padding:36px;background:linear-gradient(160deg,#13245A 0%,#0B1736 100%);border:1px solid var(--line-ink);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.step::after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(244,123,32,.35),rgba(244,123,32,0) 70%)}
.step .num{font-size:120px;font-weight:800;line-height:.9;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{font-size:34px;font-weight:700;margin-top:18px}
.step p{margin-top:12px;font-size:18px;line-height:1.55;color:#C9D1E6;max-width:24em}
.step.end{background:var(--grad);color:var(--ink)}
.step.end::after{display:none}
.step.end h3{color:var(--ink);font-size:40px}
.step.end p{color:#2A1606}
.step.end .btn{background:var(--ink);color:#fff;box-shadow:none;align-self:flex-start}
.step.end .btn:hover{color:#fff}
@media (max-width:900px){
  .hpin{height:auto !important}
  .hstage{position:relative;height:auto;padding:80px 0}
  .hrow{flex-direction:column;padding:0 20px;transform:none !important}
  .step{width:100%;min-height:0}
  .step .num{font-size:80px}
}

/* proof */
.proof{display:grid;grid-template-columns:1.1fr .9fr;gap:40px 80px;align-items:center}
.big{font-size:clamp(110px,15vw,220px);font-weight:800;line-height:.85;letter-spacing:-.05em;background:linear-gradient(135deg,#F9A332,#E8590C);-webkit-background-clip:text;background-clip:text;color:transparent}
.proof-t{margin-top:18px;font-size:clamp(20px,1.8vw,26px);line-height:1.4;max-width:20em;color:var(--text)}
.stages{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.stages li{padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--text)}
.bars{display:flex;flex-direction:column;gap:18px}
.bar-r{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:16px;color:var(--muted);font-size:15px}
.bar{height:18px;border-radius:9px;background:#E4E1D8;overflow:hidden}
.bar i{display:block;height:100%;border-radius:9px;transform-origin:left;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.bar .b1{width:100%;background:#9AA2B4}
.bar .b2{width:55%;background:var(--grad);transition-delay:.35s}
.js .bar i{transform:scaleX(0)}
.bars.in .bar i{transform:none}
.note{grid-column:1 / -1;font-size:14px;color:var(--muted)}
@media (max-width:900px){.proof{grid-template-columns:minmax(0,1fr)}}

/* about + cta + footer */
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px 80px;align-items:start}
.about h2{font-size:clamp(36px,4.2vw,60px);font-weight:700;color:var(--text)}
.about p{font-size:20px;line-height:1.6;color:#3A4150}
.about a{color:var(--acc-text);font-weight:600;display:inline-block;padding:10px 0}
@media (max-width:900px){.about{grid-template-columns:minmax(0,1fr)}}
.cta{position:relative;overflow:hidden;background:var(--ink);padding:140px 0}
.cta .glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}
.cta .g1{width:520px;height:520px;left:-140px;top:-240px;background:radial-gradient(circle,#F47B20,rgba(244,123,32,0) 70%);animation:drift 16s ease-in-out infinite alternate}
.cta .g2{width:460px;height:460px;right:6%;bottom:-260px;background:radial-gradient(circle,#F9A332,rgba(249,163,50,0) 70%);animation:drift 21s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate3d(160px,50px,0) scale(1.15)}}
.cta-in{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.cta h2{font-size:clamp(40px,5.6vw,84px);font-weight:800;max-width:11em}
.foot{background:var(--deep);color:var(--on-2);padding:48px 0 36px;font-size:15px}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px}
.foot-name{display:inline-flex;align-items:center;gap:10px;font:700 20px/1 "Bricolage Grotesque",sans-serif;color:#fff}
.foot-name img{width:30px;height:30px;object-fit:contain}
.foot-links{display:flex;flex-wrap:wrap;gap:0 6px}
.foot-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--on-2);text-decoration:none}
.foot-links a:hover{color:#fff}
.foot-bot{margin-top:18px;padding-top:20px;border-top:1px solid var(--line-ink);display:flex;flex-wrap:wrap;gap:6px 32px;font-size:14px}
@media (prefers-reduced-motion:reduce){
  [data-rv]{opacity:1;transform:none;transition:none}
  .cta .glow,.mouse::after{animation:none}
  .bar i{transform:none;transition:none}
}

/* Without the motion layer (phones, reduced motion, no JavaScript) everything reads as a normal page */
html:not(.motion) .hdr{background:rgba(7,16,42,.94);border-bottom-color:var(--line-ink)}
html:not(.motion) .stage{position:relative;height:auto;overflow:visible;padding:150px 0 96px}
html:not(.motion) .stage canvas,html:not(.motion) .hud,html:not(.motion) .cue,html:not(.motion) .scrim{display:none}
html:not(.motion) .cap,html:not(.motion) .cap.top{position:relative;inset:auto;display:block;padding:0}
html:not(.motion) .cap + .cap{margin-top:88px}
html:not(.motion) .cap-in{opacity:1;transform:none;visibility:visible}
html:not(.motion) .chip{color:#fff;border-color:rgba(249,163,50,.7);background:rgba(244,123,32,.16)}
html:not(.motion) .chip i{background:var(--grad);border-color:transparent}
html:not(.motion) .chip i svg{opacity:1}
html:not(.motion) .hpin{height:auto}
html:not(.motion) .hstage{position:relative;height:auto;padding:96px 0}
html:not(.motion) .hrow{flex-wrap:wrap;padding:0 32px;transform:none}
html:not(.motion) .step{width:min(560px,100%);min-height:0}
html:not(.motion) .fcards{max-width:1240px;margin:0 auto}
@media (max-width:700px){html:not(.motion) .hrow{padding:0 20px}}
@media (max-width:400px){.nav{flex-wrap:wrap;margin-left:-5px}.nav a{padding:0 5px}}
