:root{
    --navy-950:#0A1120;
    --navy-900:#0F1A2E;
    --navy-800:#16233B;
    --steel-300:#B9C2CE;
    --steel-500:#7C8AA0;
    --white:#F4F6F8;
    --cobalt:#2F6FED;
    --cobalt-dim:#1A3E86;
    --line:rgba(185,194,206,0.16);
    font-size:16px;
    box-sizing:border-box;
    padding-top:env(safe-area-inset-top,0px);
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  *,*::before,*::after{box-sizing:inherit}
  html{scroll-behavior:smooth;scroll-padding-top:env(safe-area-inset-top,0px);overflow-x:hidden;}
  body{
    margin:0;
    background:var(--navy-950);
    color:var(--white);
    font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
    width:100%;
  }
  .display{font-family:'Anton',Impact,sans-serif;font-weight:400;letter-spacing:0.01em;line-height:0.95;}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,48px);}
  ::selection{background:var(--cobalt);color:#fff}

  /* header */
  header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,17,32,0.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background .3s ease,box-shadow .3s ease;}
  header.scrolled{background:rgba(10,17,32,0.97);box-shadow:0 10px 30px rgba(0,0,0,.38);}
  .nav{display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,48px);max-width:1180px;margin:0 auto;transition:padding .3s ease;}
  header.scrolled .nav{padding-top:9px;padding-bottom:9px;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand img,.brand video{height:38px;width:auto;aspect-ratio:1600/1114;object-fit:contain;}
  .brand span{font-family:'Anton',sans-serif;font-size:1.15rem;letter-spacing:0.02em;}
  .navlinks{display:flex;gap:clamp(18px,3vw,34px);font-size:0.92rem;font-weight:600;color:var(--steel-300);}
  .navlinks a{display:inline-flex;align-items:center;gap:6px;position:relative;}
  .navlinks svg{width:16px;height:16px;transition:transform .25s ease;}
  .navlinks a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:linear-gradient(90deg,var(--cobalt),#8ab4ff);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
  .navlinks a:hover::after,.navlinks a.active::after{transform:scaleX(1);}
  .navlinks a:hover,.navlinks a.active{color:var(--white)}
  .navlinks a:hover svg{transform:rotate(-10deg) scale(1.12);}
  .nav-cta{display:none;}
  @media(min-width:720px){.nav-cta{display:inline-flex;}}
  @media(max-width:720px){
    .nav{flex-wrap:wrap;gap:10px;padding:10px 16px;}
    .navlinks{flex-wrap:wrap;gap:10px 18px;font-size:0.8rem;width:100%;}
    .navlinks svg{width:14px;height:14px;}
    .brand span{font-size:1rem;}
  }
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--cobalt);color:#fff;font-weight:700;font-size:0.92rem;
    padding:11px 22px;border:none;cursor:pointer;
    clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
    position:relative;overflow:hidden;
  }
  .btn:hover{background:#4a80f0}
  .btn-ghost{background:transparent;border:1px solid var(--line);color:var(--white);clip-path:none;padding:10px 20px;}
  .btn-ghost:hover{border-color:var(--cobalt);color:var(--cobalt);background:rgba(47,111,237,.08);}

  /* hero */
  .hero{position:relative;overflow:hidden;padding:clamp(64px,10vw,110px) 0 clamp(56px,8vw,90px);}
  .streaks{position:absolute;inset:0;pointer-events:none;opacity:0.5;}
  .hero-bg{position:absolute;inset:0;overflow:hidden;background:var(--navy-950);}
  .hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:saturate(.85);}
  .hero-bg img:first-child{animation:bgKenBurns 24s ease-in-out infinite;}
  .hero-bg img:last-child{animation:bgKenBurns 24s ease-in-out infinite -12s;}
  .hero-bg-tint{position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,17,32,.92) 20%,rgba(10,17,32,.55) 55%,rgba(15,26,46,.85));}
  @keyframes bgKenBurns{0%{opacity:0;transform:scale(1.15) translate(2%,0)}12%{opacity:.55}28%{opacity:.55}40%{opacity:0;transform:scale(1.02) translate(-1%,0)}100%{opacity:0;transform:scale(1.15) translate(2%,0)}}
  .hero-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1;}
  .hero-particles span{position:absolute;bottom:-10px;left:var(--x,50%);width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#8ab4ff,var(--cobalt) 60%,transparent);opacity:0;animation:riseParticle 9s linear infinite;animation-delay:var(--d,0s);}
  .hero-particles span::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:46px;background:linear-gradient(to top,transparent,rgba(47,111,237,.35));transform:translateX(-50%);}
  @keyframes riseParticle{0%{opacity:0;transform:translateY(0)}12%{opacity:.85}85%{opacity:.5}100%{opacity:0;transform:translateY(-120vh)}}
  .hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;position:relative;z-index:2;}
  @media(min-width:920px){.hero-grid{grid-template-columns:1fr 1.05fr;gap:40px;}}
  .eyebrow{color:var(--cobalt);font-weight:700;font-size:0.85rem;letter-spacing:0.04em;margin:0 0 14px;}
  h1.display{font-size:clamp(2.8rem,7vw,5.2rem);margin:0 0 20px;}
  .hero p.lead{color:var(--steel-300);font-size:clamp(1rem,1.6vw,1.2rem);max-width:46ch;margin:0 0 32px;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px;}
  .hero-stats{display:flex;gap:clamp(28px,5vw,52px);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:26px;}
  .stat b{display:block;font-family:'Anton',sans-serif;font-size:1.9rem;color:var(--white);}
  .stat span{color:var(--steel-500);font-size:0.85rem;}
  .hero-visual{position:relative;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);background:transparent;overflow:hidden;aspect-ratio:1/0.86;}
  .hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;aspect-ratio:auto;}
  @media(max-width:919px){.hero-visual{clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);max-height:none;}}

  section{padding:clamp(60px,9vw,96px) 0;}
  .section-head{max-width:640px;margin:0 0 44px;}
  .section-head .eyebrow{margin-bottom:10px;}
  h2.display{font-size:clamp(2rem,4.4vw,3rem);margin:0 0 14px;}
  .section-head p{color:var(--steel-300);margin:0;}

  /* services reel */
  .reel{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
  @media(min-width:760px){.reel{grid-template-columns:repeat(4,1fr);}}
  .frame{background:var(--navy-950);padding:32px 26px;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;}
  .frame:hover{transform:translateY(-8px);box-shadow:0 0 0 1px rgba(47,111,237,.35),0 22px 44px rgba(0,0,0,.45);z-index:1;}
  .frame::before,.frame::after{content:"";position:absolute;left:0;right:0;height:8px;background-image:repeating-linear-gradient(90deg,var(--navy-800) 0 8px,transparent 8px 16px);}
  .frame::before{top:0}
  .frame::after{bottom:0}
  .frame .icon{width:40px;height:40px;color:var(--cobalt);margin-bottom:22px;}
  .frame h3{font-size:1.05rem;font-weight:800;margin:0 0 10px;}
  .frame p{color:var(--steel-500);font-size:0.92rem;margin:0;}

  /* portfolio */
  .portfolio-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
  @media(min-width:760px){.portfolio-grid{grid-template-columns:repeat(3,1fr);}}
  .partner-head{margin-top:56px;}
  .partner-head .display{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0;display:flex;align-items:center;gap:14px;}
  .partner-icon{flex:none;width:44px;height:44px;color:var(--cobalt);}
  .partner-table{margin-top:22px;background:var(--navy-950);border:1px solid var(--line);overflow:hidden;}
  .partner-table table{width:100%;border-collapse:collapse;}
  .partner-table th,.partner-table td{text-align:left;padding:14px 20px;font-size:0.95rem;}
  .partner-table thead th{background:var(--navy-800);color:var(--cobalt);font-weight:800;letter-spacing:0.04em;text-transform:uppercase;border-bottom:1px solid var(--line);}
  .partner-table tbody tr{border-bottom:1px solid var(--line);transition:background .25s ease;}
  .partner-table tbody tr:last-child{border-bottom:none;}
  .partner-table tbody tr:hover{background:rgba(47,111,237,.08);}
  .partner-table td:first-child{color:var(--steel-500);width:60px;font-family:'Anton',sans-serif;}
  @media(max-width:600px){.partner-table th,.partner-table td{padding:12px 14px;font-size:0.9rem;}}

  /* estimator */
  #estimator .section-head{margin-bottom:40px;}
  .estimator{display:grid;grid-template-columns:1fr;gap:36px;background:var(--navy-900);border:1px solid var(--line);padding:clamp(20px,4vw,36px);position:relative;overflow:hidden;}
  .estimator::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--cobalt),#8ab4ff,transparent);animation:workSheen 4s ease-in-out infinite;}
  .est-controls{display:grid;gap:22px;}
  .est-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;}
  .est-field label{color:var(--steel-300);font-size:0.95rem;font-weight:600;}
  .est-val{color:var(--cobalt);font-family:'Anton',sans-serif;font-size:1.15rem;letter-spacing:0.02em;min-width:70px;text-align:right;}
  .est-field input[type="range"]{grid-column:1 / -1;width:100%;-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--navy-800);border:1px solid var(--line);outline:none;}
  .est-field input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--cobalt);border:3px solid #fff;box-shadow:0 0 10px rgba(47,111,237,.7);cursor:pointer;transition:transform .2s ease;}
  .est-field input[type="range"]::-webkit-slider-thumb:hover{transform:scale(1.15);}
  .est-field input[type="range"]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--cobalt);border:3px solid #fff;box-shadow:0 0 10px rgba(47,111,237,.7);cursor:pointer;}
  .est-note{grid-column:1 / -1;color:var(--steel-500);font-size:0.82rem;margin:0;}
  .est-results{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-content:start;}
  .est-card{background:var(--navy-950);border:1px solid var(--line);padding:18px 20px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:6px;}
  .est-card span{display:block;color:var(--steel-500);font-size:0.82rem;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0;}
  .est-card b{font-family:'Anton',sans-serif;font-size:clamp(1.4rem,3vw,2rem);color:var(--white);font-weight:400;white-space:nowrap;}
  .est-card.est-main{grid-column:1 / -1;border-color:var(--cobalt);background:linear-gradient(135deg,rgba(47,111,237,.16),rgba(47,111,237,.02));}
  .est-card.est-main b{background:linear-gradient(110deg,var(--white) 30%,#8ab4ff);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .est-cta{grid-column:1 / -1;justify-content:center;text-align:center;}
  @media(min-width:860px){.estimator{grid-template-columns:1fr 1fr;gap:44px;} .est-card b{font-size:2.2rem;}}

  /* about */
  .about{display:grid;grid-template-columns:1fr;gap:36px;}
  @media(min-width:900px){.about{grid-template-columns:0.9fr 1.1fr;gap:64px;}}
  .about-visual{background:transparent;position:relative;overflow:hidden;}
  .about-visual img,.about-visual video{width:100%;aspect-ratio:16/10;object-fit:cover;opacity:0.92;display:block;}
  .about-copy p{color:var(--steel-300);margin:0 0 18px;max-width:56ch;}
  .about-list{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:14px;}
  .about-list li{display:flex;gap:12px;font-size:0.95rem;color:var(--white);}
  .about-list svg{flex:none;width:20px;height:20px;color:var(--cobalt);margin-top:2px;}

  /* work reel */
  .section-head h2 .work-icon{flex:none;width:46px;height:46px;color:var(--cobalt);vertical-align:-8px;margin-right:10px;}
  .section-head h2{display:flex;align-items:center;}
  .work-reel{overflow:hidden;margin:0 calc(-1 * clamp(20px,5vw,48px));padding:0 clamp(20px,5vw,48px);position:relative;}
  .work-track{display:flex;gap:18px;width:max-content;}
  .work-track img,.work-track video{width:230px;height:150px;object-fit:cover;border:1px solid var(--line);flex:none;filter:saturate(.9);transition:filter .3s ease,transform .3s ease;}
  .work-track img:hover,.work-track video:hover{filter:saturate(1.15);transform:scale(1.04);}
  @media(min-width:760px){.work-track img,.work-track video{width:290px;height:190px;}}
  .work-track{animation:workLoop 40s linear infinite;}
    .work-reel:hover .work-track{animation-play-state:paused;}
    @keyframes workLoop{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
    .work-track img,.work-track video{animation:workBob 5s ease-in-out infinite;animation-delay:calc(var(--i,0) * -0.6s);}
    @keyframes workBob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-12px) rotate(-1.2deg)}}
    .work-track img:hover,.work-track video:hover{animation-play-state:paused;transform:scale(1.06) translateY(-4px);}
    .work-reel::before{content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,transparent,var(--cobalt),#8ab4ff,transparent);animation:workSheen 4s ease-in-out infinite;}
    @keyframes workSheen{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

  /* cta */
  .cta{background:var(--navy-800);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;}
  .cta::before{content:"";position:absolute;top:-40%;bottom:-40%;left:-30%;width:22%;background:linear-gradient(90deg,transparent,rgba(47,111,237,.18),transparent);transform:skewX(-18deg);animation:ctaSweep 7s ease-in-out infinite;pointer-events:none;}
  @keyframes ctaSweep{0%{left:-30%}55%,100%{left:130%}}
  .cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;position:relative;}
  .cta h2.display{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0;}

  /* location map */
  #location .section-head{margin-bottom:28px;}
  #location .section-head p:not(.eyebrow){margin-bottom:0;}
  .map-frame{position:relative;border:1px solid var(--line);padding:10px;background:var(--navy-900);}
  .map-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(47,111,237,.35);pointer-events:none;}
  .map-frame iframe{width:100%;height:360px;border:0;display:block;filter:saturate(.85) contrast(1.05);}
  @media(min-width:760px){.map-frame iframe{height:420px;}}
  .cta p{color:var(--steel-300);margin:8px 0 0;}
  .cta .btn{animation:ctaFloat 3.4s ease-in-out infinite,ctaGlow 3.4s ease-in-out infinite;}
  @keyframes ctaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  @keyframes ctaGlow{0%,100%{filter:drop-shadow(0 0 6px rgba(47,111,237,.0))}50%{filter:drop-shadow(0 0 16px rgba(47,111,237,.65))}}

  footer{padding:40px 0;position:relative;overflow:hidden;}
  .foot-stars{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
  .foot-stars span{position:absolute;bottom:-8px;left:var(--x,50%);width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#8ab4ff,var(--cobalt) 60%,transparent);opacity:0;animation:riseParticle 9s linear infinite;animation-delay:var(--d,0s);}
  .foot-inner{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:28px;position:relative;}
  .foot-brand{display:flex;align-items:center;gap:10px;color:var(--steel-500);font-size:0.85rem;}
  .foot-brand img,.foot-brand video{height:52px;width:auto;aspect-ratio:1/1;object-fit:contain;border-radius:8px;}
  .foot-copy{flex:1;color:var(--steel-500);font-size:0.85rem;text-align:center;padding:0 10px;}
  .foot-social{display:flex;gap:18px;}
  .foot-social a{color:var(--steel-300);display:inline-flex;position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s ease;}
  .foot-social svg{width:22px;height:22px;fill:currentColor;}
  .foot-social a::after{content:"";position:absolute;left:50%;bottom:-6px;width:0;height:2px;background:currentColor;transition:width .3s ease,left .3s ease;}
  .foot-social a:hover{color:var(--cobalt);transform:translateY(-3px) rotate(-8deg);}
  .foot-social a:hover::after{width:100%;left:0;}
  .foot-social a:nth-child(1):hover{color:#E1306C;}
  .foot-social a:nth-child(2):hover{color:#FF0033;}
  .foot-social a:nth-child(3):hover{color:#1877F2;}
  .foot-social a:nth-child(4):hover{color:#25D6EE;}
  .foot-social a:nth-child(5):hover{color:#25D366;}

  .reveal-io{opacity:1;transform:none;}
  .reveal{opacity:0;animation:rise 0.7s ease both;}
    .hero-eyebrow.reveal{animation-delay:.05s}
    .hero-title.reveal{animation-delay:.15s}
    .hero-lead.reveal{animation-delay:.32s}
    .hero-actions.reveal{animation-delay:.46s}
    .hero-stats.reveal{animation-delay:.58s}
    @keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

    .reveal-io{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
    .reveal-io.in-view{opacity:1;transform:none;}
    .reel .frame.reveal-io{transition-delay:calc(var(--i,0) * 90ms);}

    .streaks{animation:drift 14s ease-in-out infinite alternate;}
    @keyframes drift{from{transform:translateX(0)}to{transform:translateX(-3%)}}

    .btn{transition:background .25s ease,transform .25s ease;}
    .btn:active{transform:scale(0.97);}

    .btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:shine 3.2s ease-in-out infinite;}
    @keyframes shine{0%{left:-60%}55%,100%{left:150%}}
    .btn-ghost::after{background:linear-gradient(105deg,transparent,rgba(47,111,237,.55),transparent);}

    .frame .icon{transition:transform .35s ease,color .35s ease;}
    .frame:hover .icon{transform:translateY(-4px) scale(1.15) rotate(-6deg);color:#5b8cff;}
    .frame h3{transition:color .3s ease;}
    .frame:hover h3{background:linear-gradient(90deg,var(--white),#8ab4ff);-webkit-background-clip:text;background-clip:text;color:transparent;}

    .hero-visual img.slide-a{animation:slideShow 8s ease-in-out infinite,contourPulse 3.2s ease-in-out infinite;}
    .hero-visual img.slide-b{animation:slideShow 8s ease-in-out infinite -4s,contourPulse 3.2s ease-in-out infinite -1.6s;}
    @keyframes slideShow{0%{opacity:0;transform:scale(1.04) translateX(14px);}8%{opacity:1;}42%{opacity:1;}50%{opacity:0;transform:scale(1.04) translateX(-14px);}100%{opacity:0;transform:scale(1.04) translateX(14px);}}
    @keyframes contourPulse{0%,100%{box-shadow:0 0 0 4px rgba(47,111,237,.85);}50%{box-shadow:0 0 0 9px rgba(139,180,255,0),0 0 22px 6px rgba(47,111,237,.75);}}

    .eyebrow{position:relative;display:inline-block;}
    .eyebrow::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:100%;background:linear-gradient(90deg,var(--cobalt),transparent);transform-origin:left;animation:underlineGrow .9s ease both;animation-delay:.35s;}
    @keyframes underlineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

    .section-head h2.display,.cta h2.display,.about-copy h2.display,.partner-head .display{background:linear-gradient(110deg,var(--white) 25%,var(--cobalt) 45%,#8ab4ff 55%,var(--cobalt) 65%,var(--white) 85%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .7s ease both,shimmer 7s linear infinite;animation-delay:.1s,0s;}

    .hero-stats .stat b{background:linear-gradient(120deg,var(--white) 35%,#8ab4ff 85%);-webkit-background-clip:text;background-clip:text;color:transparent;}
    .stat b.counted{animation:popCount .5s ease;}
    @keyframes popCount{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}

    .about-visual img,.about-visual video{animation:slowZoom 16s ease-in-out infinite alternate,contourPulse 3.2s ease-in-out infinite;}
  @keyframes slowZoom{from{transform:scale(1.03)}to{transform:scale(1.12)}}

    .about-copy.in-view .about-list li{animation:rise .6s ease both;animation-delay:calc(var(--i,0) * 120ms);}

    .marquee:hover .marquee-track{animation-play-state:paused;filter:brightness(1.2);}
    .marquee-track{transition:filter .3s ease;}

    .hero-visual{animation:float 6s ease-in-out infinite;}
    @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

    .hero-title{background:linear-gradient(110deg,var(--white) 20%,var(--cobalt) 40%,#8ab4ff 50%,var(--cobalt) 60%,var(--white) 80%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .7s ease both,shimmer 6s linear infinite;animation-delay:.15s,0s;}
    @keyframes shimmer{0%{background-position:0 center}100%{background-position:-220% center}}

    .hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;pointer-events:none;}
    .hero::before{width:420px;height:420px;background:var(--cobalt-dim);top:-80px;right:10%;animation:blob 12s ease-in-out infinite;}
    .hero::after{width:360px;height:360px;background:#0d2a5e;bottom:-100px;left:-60px;animation:blob 14s ease-in-out infinite reverse;}
    @keyframes blob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,24px) scale(.94)}}

    .marquee-track{animation:marquee 30s linear infinite;}
    @keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  :focus-visible{outline:2px solid var(--cobalt);outline-offset:3px;}

  /* extras */
  #progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--cobalt),#8ab4ff);z-index:120;transition:width .1s linear;}
  .cursor-glow{position:fixed;top:0;left:0;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(47,111,237,.16),transparent 65%);pointer-events:none;transform:translate(-50%,-50%);z-index:2;}
  .cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;background:var(--cobalt);box-shadow:0 0 12px rgba(47,111,237,.9);pointer-events:none;transform:translate(-50%,-50%);z-index:120;transition:transform .18s ease-out,opacity .3s ease;}
  .marquee{overflow:hidden;background:var(--navy-800);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;}
  .marquee-track{display:flex;gap:48px;white-space:nowrap;width:max-content;font-family:'Anton',sans-serif;font-size:clamp(1.2rem,2.4vw,1.7rem);letter-spacing:.04em;color:var(--steel-300);}
  .marquee-track span{display:inline-flex;align-items:center;gap:48px;}
  .marquee-track b{color:var(--cobalt);font-weight:400;}

  /* mobile parity with desktop */
  @media(max-width:720px){
    .cursor-glow,.cursor-dot{display:none;}
    .nav{display:grid;grid-template-columns:1fr auto;align-items:center;}
    .nav .brand{grid-column:1;}
    .nav .nav-cta{grid-column:2;grid-row:1;display:inline-flex;padding:9px 16px;font-size:0.8rem;}
    .nav .navlinks{grid-column:1 / -1;grid-row:2;justify-content:space-between;gap:8px;}
    .hero{text-align:left;}
    .hero-visual{aspect-ratio:1/0.9;margin-top:8px;}
    .hero-stats{gap:20px;}
    .stat b{font-size:1.5rem;}
    .hero-grid{gap:28px;}
    h1.display{font-size:clamp(2.2rem,9vw,3.2rem);}
    h2.display{font-size:clamp(1.7rem,6.2vw,2.3rem);}
    .section-head{max-width:100%;}
    .frame{padding:26px 20px;}
    .est-results{gap:10px;}
    .est-card{padding:14px 12px;}
    .est-card b{font-size:clamp(1rem,4.8vw,1.25rem);}
    .est-card span{font-size:0.68rem;letter-spacing:0.03em;}
    .est-cta{width:100%;justify-content:center;text-align:center;padding:12px 16px;}
    .foot-inner{flex-direction:column;align-items:center;text-align:center;gap:16px;}
    .foot-copy{flex:1 1 100%;padding:0;}
    .foot-social{justify-content:center;}
    .about-copy{text-align:left;}
    .work-track img,.work-track video{width:200px;height:130px;}
    .map-frame iframe{height:320px;}
    .cta-inner{flex-direction:column;align-items:flex-start;gap:18px;}
    .cta-inner .btn{align-self:flex-start;}
    section{padding:clamp(48px,10vw,72px) 0;}
  }