*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:#f9f9f9;color:#1a1c1c;font-family:'Manrope',sans-serif;overflow-x:hidden;cursor:none}
a{text-decoration:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;vertical-align:middle;line-height:1}

:root{
  --blue:#003ec7;--blue-bright:#0052ff;--blue-dim:#b7c4ff;
  --ink:#1a1c1c;--paper:#f9f9f9;--paper-low:#f3f3f3;--paper-high:#e8e8e8;
  --muted:#434656;--border:#c3c5d9;
  --expo:cubic-bezier(0.19,1,0.22,1);--back:cubic-bezier(0.34,1.56,0.64,1);
}

/* PROGRESS & PRELOADER */
#prog{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--blue),var(--blue-bright));z-index:9999;transition:width .1s linear}
#pre{position:fixed;inset:0;z-index:10000;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transition:opacity .9s var(--expo),transform .9s var(--expo)}
#pre.out{opacity:0;transform:translateY(-8px);pointer-events:none}
.pw{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(3rem,12vw,9rem);color:#f9f9f9;letter-spacing:-.05em;text-transform:uppercase;display:flex;overflow:hidden}
.pw span{display:inline-block;animation:cU .9s var(--expo) both}
.pt{width:min(300px,72vw);height:2px;background:rgba(255,255,255,.12);overflow:hidden}
.pf{height:100%;background:var(--blue-bright);width:0%;transition:width 2s cubic-bezier(.25,.46,.45,.94)}
.pl{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.35)}
@keyframes cU{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}

/* CURSOR */
#cdot,#cring{position:fixed;border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:opacity .3s}
#cdot{width:6px;height:6px;background:var(--blue);top:0;left:0}
#cring{width:36px;height:36px;border:1.5px solid var(--blue);top:0;left:0;transition:width .4s var(--expo),height .4s var(--expo),background .3s}
body.ch #cring{width:64px;height:64px;background:rgba(0,62,199,.07);border-color:var(--blue-bright)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:2rem 3rem;transition:padding .5s var(--expo),background .4s,backdrop-filter .4s}
.nav.s{padding:1.2rem 3rem;background:rgba(249,249,249,.88);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-bottom:1px solid rgba(195,197,217,.2)}
.nav-logo{font-family:'Epilogue',sans-serif;font-weight:900;font-size:1.75rem;letter-spacing:-.05em;text-transform:uppercase;color:var(--ink)}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{font-family:'Space Grotesk',sans-serif;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);opacity:.5;position:relative;transition:opacity .3s}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--blue);transition:width .4s var(--expo)}
.nav-links a:hover,.nav-links a.act{opacity:1}
.nav-links a:hover::after,.nav-links a.act::after{width:100%}
.nav-links a.act{color:var(--blue)}
.nav-cta{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-bright));padding:.75rem 1.5rem;border:none;cursor:none;position:relative;overflow:hidden;transition:transform .3s var(--back),box-shadow .3s}
.nav-cta::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.18);transform:translateX(-101%);transition:transform .4s var(--expo)}
.nav-cta:hover{transform:scale(1.05);box-shadow:0 8px 32px rgba(0,62,199,.3)}
.nav-cta:hover::before{transform:translateX(0)}
.hbg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:none;padding:4px}
.hbg span{display:block;width:24px;height:2px;background:var(--ink);transition:transform .4s var(--expo),opacity .3s}
.hbg.o span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hbg.o span:nth-child(2){opacity:0;transform:scaleX(0)}
.hbg.o span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:999;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.75rem;transform:translateY(-100%);transition:transform .7s var(--expo)}
.mmenu.o{transform:translateY(0)}
.mmenu a{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2rem,8vw,5rem);text-transform:uppercase;color:#f9f9f9;letter-spacing:-.03em;opacity:.65;transition:opacity .3s,color .3s}
.mmenu a:hover{opacity:1;color:var(--blue-bright)}

/* REVEAL SYSTEM */
.rv{opacity:0;transform:translateY(48px);transition:opacity .9s var(--expo),transform .9s var(--expo)}
.rv.v{opacity:1;transform:translateY(0)}
.rl{opacity:0;transform:translateX(-60px);transition:opacity .9s var(--expo),transform .9s var(--expo)}
.rl.v{opacity:1;transform:translateX(0)}
.rr{opacity:0;transform:translateX(60px);transition:opacity .9s var(--expo),transform .9s var(--expo)}
.rr.v{opacity:1;transform:translateX(0)}
.rs{opacity:0;transform:scale(.93);transition:opacity .9s var(--expo),transform .9s var(--expo)}
.rs.v{opacity:1;transform:scale(1)}
.sg>*{opacity:0;transform:translateY(32px);transition:opacity .8s var(--expo),transform .8s var(--expo)}
.sg.v>*:nth-child(1){transition-delay:.00s;opacity:1;transform:none}
.sg.v>*:nth-child(2){transition-delay:.10s;opacity:1;transform:none}
.sg.v>*:nth-child(3){transition-delay:.20s;opacity:1;transform:none}
.sg.v>*:nth-child(4){transition-delay:.30s;opacity:1;transform:none}

/* TYPOGRAPHY UTILITIES */
.gr{background:linear-gradient(135deg,var(--blue),var(--blue-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
@keyframes lU{to{transform:translateY(0);opacity:1}}
@keyframes fU{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* COMPONENTS */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding:11rem 3rem 4rem;position:relative;overflow:hidden}
.hero.split{display:grid;grid-template-columns:8fr 4fr;gap:3rem;align-items:end;min-height:85svh;justify-content:start}
.hglow{position:absolute;top:-10%;right:-5%;width:55%;aspect-ratio:1;background:radial-gradient(circle,rgba(0,82,255,.13) 0%,transparent 70%);pointer-events:none;animation:gp 8s ease-in-out infinite;transition:left .8s ease,top .8s ease}
@keyframes gp{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12) translate(2%,4%);opacity:.7}}
.hero-eye{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--blue);margin-bottom:1.75rem;display:block;opacity:0;animation:fU 1s var(--expo) 2.5s both}
.hero.split .hero-eye{animation-delay:.3s}
.hero-h1{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(3.5rem,11vw,12rem);line-height:.85;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:3rem}
.hero.split .hero-h1{font-size:clamp(3rem,10vw,11rem);margin-bottom:2rem;opacity:0;animation:fU .9s var(--expo) .4s both}
.hero-h1 .ln{display:block;overflow:hidden}
.hero-h1 .ln span{display:block;transform:translateY(115%);opacity:0;animation:lU 1.1s var(--expo) both}
.hero-h1 .ln:nth-child(1) span{animation-delay:2.65s}
.hero-h1 .ln:nth-child(2) span{animation-delay:2.8s}
.hero-h1 .ln:nth-child(3) span{animation-delay:2.95s}
.hero.split .hero-h1 .ln:nth-child(1) span{animation-delay:.3s}
.hero.split .hero-h1 .ln:nth-child(2) span{animation-delay:.45s}
.hero-h1 .ac{color:var(--blue);font-style:italic}
.hero-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;opacity:0;animation:fU 1s var(--expo) 3.4s both}
.hero-sub{font-family:'Manrope',sans-serif;font-size:clamp(1.05rem,2vw,1.35rem);color:var(--muted);max-width:28rem;line-height:1.65}
.hero.split .hero-sub{opacity:0;animation:fU .9s var(--expo) .7s both;align-self:end}
.hero-sub strong{color:var(--ink);font-weight:700}
.scrl{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.swhl{width:28px;height:44px;border:2px solid var(--border);border-radius:14px;display:flex;align-items:flex-start;justify-content:center;padding-top:6px}
.swdot{width:4px;height:4px;border-radius:50%;background:var(--blue);animation:sD 2s ease-in-out infinite}
@keyframes sD{0%{transform:translateY(0);opacity:1}60%{transform:translateY(18px);opacity:0}61%{transform:translateY(0);opacity:0}100%{opacity:1}}
.slbl{font-family:'Space Grotesk',sans-serif;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);opacity:.5}

/* MARQUEE & TICKER */
.mq, .tick{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.9rem 0;background:var(--paper-low)}
.mq-t, .tick-t{display:flex;gap:0;animation:mq 26s linear infinite;width:max-content}
.tick-t{gap:3rem;animation:mq 30s linear infinite}
.mq-t:hover, .tick-t:hover{animation-play-state:paused}
.mq-i{display:flex;align-items:center;gap:1.25rem;padding:0 2rem;font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(1.4rem,2.8vw,2.8rem);text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap;color:var(--ink);opacity:.1;transition:opacity .4s}
.mq-i:hover{opacity:.55}
.mq-i .st{color:var(--blue);font-size:.45em;opacity:1}
.tick-i{display:flex;align-items:center;gap:.9rem;font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tick-i .dot{width:5px;height:5px;border-radius:50%;background:var(--blue);flex-shrink:0}
.tick-i strong{color:var(--blue)}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* BENTO GRID */
.sct{padding:5rem 3rem}
.bento{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));grid-template-rows:auto auto;gap:1px;background:var(--border);border:1px solid var(--border)}
.bc{background:var(--paper);padding:3rem;position:relative;overflow:hidden;transition:background .4s}
.bc:hover{background:var(--paper-low)}
.bc.wide{grid-column:span 3}
.bc.half{grid-column:span 2}
.bc.blu{background:var(--blue);color:#fff}
.bc.blu:hover{background:var(--blue-bright)}
.bc.drk{background:var(--ink);color:#f9f9f9}
.bc.drk:hover{background:#2a2c2c}
.bc-lbl{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;opacity:.5;display:block;margin-bottom:1.25rem}

/* DEFAULT FONT SIZES FOR SMALLER BOXES */
.bc-num{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2.2rem, 3.8vw, 4rem);line-height:.9;letter-spacing:-.04em;display:block}

/* MASSIVE SIZES FOR WIDE/HALF BOXES */
.bc.wide .bc-num, .bc.half .bc-num {font-size:clamp(3rem, 6.5vw, 6.5rem)}

.bc.wide .bc-num{color:var(--blue)}
.bc.blu .bc-num{color:#fff}
.bc.drk .bc-num{color:var(--blue-dim)}
.bc-desc{font-family:'Manrope',sans-serif;font-size:.9rem;line-height:1.6;margin-top:.9rem;opacity:.75}

/* FEATURES */
.feat{background:var(--ink);color:#f9f9f9;padding:6rem 3rem}
.frule{width:0;height:3px;background:var(--blue-bright);margin-bottom:3.5rem;transition:width .9s var(--expo) .2s}
.frule.v{width:3rem}
.feat-eye{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:1.25rem;display:block}
.feat-h2{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2.5rem,6vw,6rem);line-height:.9;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:4rem}
.feat-h2 .ac{color:var(--blue-dim);font-style:italic}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.5rem}
.fi{border-top:1px solid rgba(195,197,217,.2);padding-top:2rem}
.fi-n{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.2em;color:var(--blue-dim);margin-bottom:1.5rem;display:block}
.fi-t{font-family:'Epilogue',sans-serif;font-weight:700;font-size:1.7rem;margin-bottom:.9rem;transition:font-style .3s;line-height:1.1}
.fi:hover .fi-t{font-style:italic}
.fi-d{font-family:'Manrope',sans-serif;font-size:.88rem;line-height:1.7;color:rgba(249,249,249,.6)}

/* JOURNEY */
.jrn{padding:6rem 3rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.jrn-img{position:relative;aspect-ratio:4/5;overflow:hidden}
.jrn-img img{transition:transform .8s var(--expo),filter .6s;filter:grayscale(1)}
.jrn-img:hover img{transform:scale(1.04);filter:grayscale(0)}
.jrn-tag{position:absolute;bottom:2rem;left:2rem;background:rgba(249,249,249,.92);backdrop-filter:blur(10px);padding:1rem 1.25rem;border-left:3px solid var(--blue)}
.jrn-tag-lbl{font-family:'Space Grotesk',sans-serif;font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;opacity:.55;display:block;margin-bottom:.25rem}
.jrn-tag-val{font-family:'Epilogue',sans-serif;font-weight:700;font-size:1.1rem}
.jrn-eye{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--blue);margin-bottom:1.25rem;display:block}
.jrn-h2{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2.5rem,4vw,4rem);line-height:.9;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:3rem}
.steps{list-style:none;display:flex;flex-direction:column;gap:0}
.step{display:flex;gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--border);transition:padding-left .3s}
.step:last-child{border-bottom:none}
.step:hover{padding-left:.5rem}
.sn{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:700;color:var(--border);line-height:1;flex-shrink:0;transition:color .4s}
.step:hover .sn{color:var(--blue)}
.st-t{font-family:'Epilogue',sans-serif;font-weight:700;font-size:1.2rem;text-transform:uppercase;margin-bottom:.4rem}
.st-d{font-family:'Manrope',sans-serif;font-size:.88rem;color:var(--muted);line-height:1.6}

/* QUOTES & CTA */
.pq{padding:6rem 3rem;background:var(--paper-low)}
.pq-in{max-width:68rem;margin:0 auto;text-align:center}
.pq-mk{font-family:'Epilogue',sans-serif;font-weight:900;font-size:6rem;line-height:.5;color:var(--blue);display:block;margin-bottom:1.25rem}
.pq-q{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(1.75rem,4vw,4rem);line-height:1.1;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:1.75rem}
.pq-q .ac{font-style:italic;color:var(--blue)}
.pq-c{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;opacity:.45}
.pq-center{padding:5rem 3rem;text-align:center;border-bottom:1px solid var(--border)}
.pq-mark{font-family:'Epilogue',sans-serif;font-weight:900;font-size:5rem;line-height:.5;color:var(--blue);display:block;margin-bottom:1rem}
.pq-cite{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;opacity:.4}
.ctaw{padding:3rem}
.ctab{background:var(--paper-low);padding:7rem 3rem;text-align:center;position:relative;overflow:hidden}
.cta-bg{position:absolute;bottom:-3rem;right:-3rem;font-family:'Epilogue',sans-serif;font-weight:900;font-size:20rem;line-height:1;color:rgba(0,0,0,.04);text-transform:uppercase;pointer-events:none;user-select:none;letter-spacing:-.05em}
.cta-h2{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(3rem,8vw,8rem);line-height:.9;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:2.5rem;position:relative}
.cta-h2 .ac{color:var(--blue)}
.cta-dark{background:var(--blue);color:#fff;padding:5rem 3rem;text-align:center}
.cta-dark h2{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2.5rem,6vw,6rem);letter-spacing:-.04em;text-transform:uppercase;margin-bottom:2.5rem}

/* BUTTONS */
.btn, .mbtn{display:inline-block;font-family:'Space Grotesk',sans-serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:1.1rem 2.75rem;border:none;cursor:none;transition:transform .4s var(--back),box-shadow .4s,background .3s,color .3s}
.mbtn{font-size:.65rem;padding:1rem 2rem}
.btn-p, .mbtn-p{background:var(--blue);color:#fff}
.btn-p:hover, .mbtn-p:hover{transform:scale(1.07);box-shadow:0 12px 40px rgba(0,62,199,.35)}
.btn-o, .mbtn-o{background:transparent;color:var(--ink);border:2px solid var(--ink);margin-left:1rem}
.btn-o:hover, .mbtn-o:hover{background:var(--ink);color:#f9f9f9;transform:scale(1.05)}
.btn-w{background:#fff;color:var(--blue)}
.btn-w:hover{transform:scale(1.06);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.btn-gw{background:transparent;color:#fff;border:2px solid #fff;margin-left:1rem}
.btn-gw:hover{background:#fff;color:var(--blue);transform:scale(1.04)}

/* FOOTER */
footer{background:var(--ink);color:#f9f9f9;padding:5rem 3rem 3rem;position:relative;overflow:hidden}
.ft-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Epilogue',sans-serif;font-weight:900;font-size:25vw;line-height:1;color:rgba(255,255,255,.04);text-transform:uppercase;pointer-events:none;user-select:none;white-space:nowrap}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:4rem;position:relative}
.ft-brand{font-family:'Epilogue',sans-serif;font-weight:900;font-size:2.25rem;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:.75rem}
.ft-tag{font-family:'Manrope',sans-serif;font-size:.82rem;line-height:1.7;color:rgba(249,249,249,.4);text-transform:uppercase;letter-spacing:.08em;max-width:22rem}
.ft-col-lbl{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:1.5rem;display:block;font-weight:700}
.ft-links{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.ft-links a{font-family:'Space Grotesk',sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(249,249,249,.45);text-decoration:underline;text-underline-offset:4px;transition:color .3s}
.ft-links a:hover{color:var(--blue-bright)}
.ft-bot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:2rem;position:relative;flex-wrap:wrap;gap:1rem}
.ft-copy{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(249,249,249,.28)}
.ft-email{font-family:'Epilogue',sans-serif;font-size:1rem;letter-spacing:-.02em;color:#f9f9f9;transition:color .3s}
.ft-email:hover{color:var(--blue-bright)}

/* ========================================================================= */
/* PAGE SPECIFIC STYLES                                                      */
/* ========================================================================= */

/* NETWORK.HTML MAP ANIMATIONS */
.map-hero{padding:10rem 3rem 5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;min-height:100svh;}
.map-eye{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:1.5rem;opacity:0;animation:fU .9s var(--expo) .3s both}
.map-h1{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2.5rem,5vw,5.5rem);line-height:.88;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:1.5rem;opacity:0;animation:fU .9s var(--expo) .5s both}
.map-h1 .ac{color:var(--blue);font-style:italic}
.map-desc{font-family:'Manrope',sans-serif;font-size:1.05rem;color:var(--muted);line-height:1.7;max-width:28rem;margin-bottom:2.5rem;opacity:0;animation:fU .9s var(--expo) .7s both}
.live-badge{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:rgba(0,82,255,.06);border:1px solid rgba(0,82,255,.2);opacity:0;animation:fU .9s var(--expo) .9s both;margin-bottom:2.5rem;}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--blue-bright);animation:pls 2s ease-in-out infinite}
.live-txt{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--blue);font-weight:700}
.map-cta-row{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fU .9s var(--expo) 1.1s both}
.map-visual{position:relative;display:flex;align-items:center;justify-content:center;}
.map-stages{width:100%;max-width:500px;aspect-ratio:1;position:relative;}
.stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .8s var(--expo),transform .8s var(--expo);}
.stage.hidden{opacity:0;pointer-events:none;transform:scale(1.05)}
.stage.active{opacity:1;transform:scale(1)}
.india-svg, .blr-svg{width:100%;height:100%;overflow:visible}
.india-outline{fill:#f0f0f0;stroke:var(--border);stroke-width:1.5;stroke-dasharray:3000;stroke-dashoffset:3000;transition:fill .8s ease,stroke .8s ease;}
.india-outline.drawn{stroke-dashoffset:0;transition:stroke-dashoffset 2s ease-in-out,fill .8s ease 1.8s,stroke .8s ease 1.8s;}
.india-outline.filled{fill:#e8edf8;stroke:var(--blue);stroke-width:1}
.karnataka-path{fill:var(--blue);opacity:0;transition:opacity .7s ease;}
.karnataka-path.show{opacity:1}
.blr-ring{fill:none;stroke:var(--blue-bright);stroke-width:1;opacity:0;transform-origin:center;transition:opacity .4s;}
.blr-ring.show{opacity:.6;animation:ripple 2s ease-out infinite}
@keyframes ripple{0%{r:8;opacity:.6}100%{r:28;opacity:0}}
.blr-core{fill:var(--blue-bright);r:0;transition:r .5s var(--back);}
.blr-core.show{r:6}
.blr-label{font-family:'Space Grotesk',sans-serif;font-size:10px;font-weight:700;fill:var(--blue);letter-spacing:.15em;text-transform:uppercase;opacity:0;transition:opacity .5s ease;}
.blr-label.show{opacity:1}
.state-label{font-family:'Space Grotesk',sans-serif;font-size:7px;fill:var(--muted);letter-spacing:.05em;text-transform:uppercase;opacity:0;transition:opacity .5s ease;}
.state-label.show{opacity:.55}
.zoom-btn, .back-btn{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;background:white;padding:.6rem 1.25rem;cursor:none;display:flex;align-items:center;gap:.5rem;}
.zoom-btn{color:var(--blue);border:1.5px solid rgba(0,62,199,.25);opacity:0;transition:opacity .4s,transform .3s var(--back),background .3s,color .3s;}
.zoom-btn.show{opacity:1}
.zoom-btn:hover{background:var(--blue);color:#fff;transform:translateX(-50%) scale(1.05)}
.zoom-arrow{font-size:1rem;transition:transform .3s}
.zoom-btn:hover .zoom-arrow{transform:rotate(-45deg)}
.back-btn{color:var(--muted);border:1.5px solid var(--border);transition:color .3s,border-color .3s;}
.back-btn:hover{color:var(--blue);border-color:var(--blue)}
.grid-line{stroke:var(--border);stroke-width:.8;opacity:.4}
.ring-road{fill:none;stroke:var(--paper-high);stroke-width:2.5;stroke-dasharray:6 4}
.hood-group{cursor:none}
.hood-bg{r:0;fill:var(--blue);transition:r .6s var(--back),fill .3s;}
.hood-bg.show{r:12}
.hood-bg.active{fill:var(--blue-bright)}
.hood-inner{r:0;fill:white;transition:r .6s var(--back) .1s}
.hood-inner.show{r:5}
.hood-pulse{fill:none;stroke:var(--blue);stroke-width:1;r:12;opacity:0;transform-origin:center;}
.hood-pulse.show{opacity:.4;animation:hp 2.2s ease-out infinite}
@keyframes hp{0%{r:14;opacity:.5}100%{r:36;opacity:0}}
.hood-line{stroke:rgba(0,62,199,.18);stroke-width:1;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1s var(--expo);}
.hood-line.show{stroke-dashoffset:0}
.hood-name{font-family:'Epilogue',sans-serif;font-weight:900;font-size:11px;fill:var(--ink);text-transform:uppercase;letter-spacing:-.01em;opacity:0;transition:opacity .5s ease;}
.hood-name.show{opacity:1}
.hood-sub{font-family:'Space Grotesk',sans-serif;font-size:8px;fill:var(--muted);letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .5s ease .1s;}
.hood-sub.show{opacity:.7}
.step-indicator{display:flex;gap:.5rem;justify-content:center;position:absolute;bottom:-2.5rem;left:0;right:0;}
.step-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .3s,transform .3s var(--back);cursor:none;}
.step-dot.active{background:var(--blue);transform:scale(1.4)}

.hoods-section{padding:5rem 3rem;background:var(--paper-low);}
.hoods-eyebrow{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:1.5rem}
.hoods-h2{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.03em;text-transform:uppercase;margin-bottom:3rem;line-height:.9}
.hoods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.hood-card{background:var(--paper);padding:2.5rem;position:relative;overflow:hidden;transition:background .4s;}
.hood-card:hover{background:var(--paper-low)}
.hood-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--expo);}
.hood-card:hover::before{transform:scaleX(1)}
.hc-num{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:1rem;font-weight:700}
.hc-name{font-family:'Epilogue',sans-serif;font-weight:900;font-size:1.5rem;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:.5rem}
.hc-stat{font-family:'Space Grotesk',sans-serif;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;display:block}
.hc-desc{font-family:'Manrope',sans-serif;font-size:.85rem;color:var(--muted);line-height:1.6}
.expansion{padding:4rem 3rem;text-align:center;border-top:1px solid var(--border)}
.exp-lbl{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:1rem;opacity:.5}
.exp-h3{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(1.5rem,3vw,3rem);text-transform:uppercase;letter-spacing:-.03em}
.exp-cities{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.exp-city{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1.25rem;border:1.5px solid var(--border);color:var(--muted);transition:border-color .3s,color .3s;}
.exp-city:hover{border-color:var(--blue);color:var(--blue)}

/* MANIFESTO HTML STYLES */
.img-break{width:100%;height:60svh;overflow:hidden;position:relative}
.img-break img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);transition:filter .8s}
.img-break:hover img{filter:grayscale(0) contrast(1)}
.img-cap{position:absolute;bottom:2rem;right:2rem;text-align:right;color:#fff}
.img-cap .cl{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;opacity:.7;display:block;margin-bottom:.5rem}
.img-cap .ct{font-family:'Epilogue',sans-serif;font-weight:900;font-size:1.5rem;font-style:italic;text-transform:uppercase}
.content{padding:0 3rem}
.block{padding:4rem 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:3fr 6fr;gap:4rem;align-items:start}
.block:last-child{border-bottom:none}
.block-n{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);padding-top:.4rem}
.block-t{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2rem,4vw,3.5rem);text-transform:uppercase;letter-spacing:-.03em;margin-bottom:1.5rem;line-height:.95}
.block-t .ac{color:var(--blue)}
.block-body{font-family:'Manrope',sans-serif;font-size:1.05rem;line-height:1.8;color:var(--muted);margin-bottom:1rem}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}
.mini-card{padding:1.75rem;background:var(--paper-low)}
.mini-card h4{font-family:'Epilogue',sans-serif;font-weight:700;font-size:1.1rem;text-transform:uppercase;margin-bottom:.6rem}
.mini-card p{font-family:'Manrope',sans-serif;font-size:.88rem;color:var(--muted);line-height:1.6}

/* CONTACT HTML STYLES */
.forms-bg{background:var(--paper-low);padding:5rem 3rem 6rem}
.forms-grid{display:grid;grid-template-columns:1fr 1px 1fr;gap:0 5rem;max-width:1200px;margin:0 auto}
.fdiv{background:var(--border);opacity:.35}
.fp-lbl{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.75rem}
.fp-title{font-family:'Epilogue',sans-serif;font-weight:900;font-size:clamp(2.5rem,5vw,4rem);text-transform:uppercase;letter-spacing:-.03em;line-height:.9;margin-bottom:1.5rem}
.fp-desc{font-family:'Manrope',sans-serif;font-size:.9rem;color:var(--muted);line-height:1.7;margin-bottom:2.5rem;max-width:22rem}
.ff{margin-bottom:2rem}
.fl{font-family:'Space Grotesk',sans-serif;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.6rem;transition:color .3s}
.fi,.ft{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border);padding:.75rem 0;font-family:'Epilogue',sans-serif;font-size:1.1rem;text-transform:uppercase;color:var(--ink);outline:none;transition:border-color .3s;resize:none}
.fi::placeholder,.ft::placeholder{color:var(--border)}
.ff:focus-within .fl{color:var(--blue)}
.ff:focus-within .fi,.ff:focus-within .ft{border-color:var(--blue)}
.fsub{display:flex;align-items:center;gap:1rem;background:none;border:none;cursor:none;padding:0;margin-top:1.25rem}
.fsub-c{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .5s var(--back);flex-shrink:0}
.fsub-c.b{background:var(--blue)}
.fsub-c.d{background:var(--ink)}
.fsub:hover .fsub-c{transform:scale(1.2) rotate(45deg)}
.fsub-txt{font-family:'Space Grotesk',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--ink)}
.pricing-strip{background:var(--blue);color:#fff;padding:3rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem;margin:0 3rem 5rem;}
.price-lbl{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;opacity:.7;display:block;margin-bottom:.5rem}
.price-val{font-family:'Epilogue',sans-serif;font-weight:900;font-size:3.5rem;line-height:1;letter-spacing:-.04em}
.price-sub{font-family:'Manrope',sans-serif;font-size:.9rem;opacity:.75;margin-top:.4rem}
.price-features{list-style:none;display:flex;flex-direction:column;gap:.5rem}
.price-features li{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;opacity:.8;display:flex;align-items:center;gap:.5rem}
.price-features li::before{content:'✦';color:var(--blue-dim);font-size:.5em}
.price-cta{font-family:'Space Grotesk',sans-serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:1rem 2rem;background:#fff;color:var(--blue);border:none;cursor:none;transition:transform .3s var(--back),box-shadow .3s;}
.price-cta:hover{transform:scale(1.05);box-shadow:0 10px 30px rgba(0,0,0,.2)}
.hq{padding:5rem 3rem;display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:start}
.hq-card{padding:2.5rem;background:var(--paper-low);border:1px solid var(--border)}
.hq-stat-lbl{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:.5rem;font-weight:700}
.pulse-row{display:flex;align-items:center;gap:.75rem;margin:1rem 0}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);animation:pls 2s ease-in-out infinite;flex-shrink:0}
@keyframes pls{0%,100%{box-shadow:0 0 0 0 rgba(0,82,255,.5)}50%{box-shadow:0 0 0 8px rgba(0,82,255,0)}}
.stat-title{font-family:'Epilogue',sans-serif;font-size:1.5rem;text-transform:uppercase;font-weight:700}
.stat-desc{font-family:'Manrope',sans-serif;font-size:.82rem;color:var(--muted);line-height:1.6;margin-top:.5rem}
.hq-divider{margin:2rem 0;border:none;border-top:1px solid var(--border)}
.hq-map{height:360px;overflow:hidden;position:relative;background:var(--paper-low)}
.hq-map img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3);transition:filter .6s,transform .6s}
.hq-map:hover img{filter:grayscale(0);transform:scale(1.03)}
.hq-ov{position:absolute;bottom:2rem;left:2rem}
.hq-city{font-family:'Epilogue',sans-serif;font-weight:900;font-size:2.5rem;text-transform:uppercase;color:#fff;line-height:1;margin-bottom:.25rem}
.hq-coords{font-family:'Space Grotesk',sans-serif;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--ink);color:#f9f9f9;font-family:'Space Grotesk',sans-serif;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;padding:1rem 1.5rem;border-left:3px solid var(--blue);z-index:5000;transform:translateY(100px);opacity:0;transition:transform .5s var(--expo),opacity .4s}
.toast.show{transform:translateY(0);opacity:1}

/* RESPONSIVE FIXES */
@media(max-width:1150px){
  .bc { padding: 2rem; }
  .bc-num { font-size: clamp(2rem, 4vw, 3.5rem); }
  .bc.wide .bc-num, .bc.half .bc-num { font-size: clamp(2.5rem, 5vw, 5rem); }
}

@media(max-width:900px){
  .nav{padding:1.5rem}.nav.s{padding:1rem 1.5rem}
  .nav-links,.nav-cta{display:none}.hbg{display:flex}
  .hero{padding:8rem 1.5rem 3rem}
  .hero.split{grid-template-columns:1fr}
  
  /* Fixed Tablet Grid Wrapping */
  .bento{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .bc.wide{grid-column:span 2}
  .bc.half{grid-column:span 1} /* This ensures it sits perfectly next to the blue box */
  
  .feat-grid{grid-template-columns:1fr 1fr}
  .jrn{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr 1fr}
  .sct,.feat,.jrn,.pq,.ctaw, .pq-center{padding-left:1.5rem;padding-right:1.5rem}
  .btn-o, .mbtn-o, .btn-gw{margin-left:0;margin-top:.75rem;display:inline-block}
  
  .map-hero{grid-template-columns:1fr;padding:7rem 1.5rem 3rem;gap:3rem}
  .hoods-grid{grid-template-columns:1fr 1fr}
  .hoods-section,.expansion{padding-left:1.5rem;padding-right:1.5rem}
  
  .content{padding:0 1.5rem}
  .block{grid-template-columns:1fr;gap:1.25rem}
  .mini-grid{grid-template-columns:1fr}
  .cta-dark{padding-left:1.5rem;padding-right:1.5rem}

  .forms-bg{padding:4rem 1.5rem}
  .forms-grid{grid-template-columns:1fr}
  .fdiv{display:none}
  .hq{grid-template-columns:1fr;padding:3rem 1.5rem}
  .pricing-strip{margin:0 1.5rem 3rem}
}

@media(max-width:600px){
  .bento{grid-template-columns:1fr}
  .bc.wide, .bc.half{grid-column:span 1}
  .feat-grid{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr}.ft-bot{flex-direction:column;align-items:flex-start}
  .hoods-grid{grid-template-columns:1fr}
}
