:root{
    --ink:#0E0E12;
    --ink-soft:#4A4E58;
    --paper:#F1F1EF;
    --paper-raised:#FFFFFF;
    --line:#D6D6D2;
    --line-soft:#E4E4E1;
    --marigold:#FF8A00;
    --marigold-deep:#E06E00;
    --teal:#00B0C8;
    --muted:#6B6E76;
    --white:#FFFFFF;
    --radius-sm:3px;
    --maxw:1180px;
    --grad-blue:#1769FF;
    --grad-cyan:#00D9FF;
    --grad-green:#38E56B;
    --grad-lime:#B8F000;
    --grad-yellow:#FFD21F;
    --grad-orange:#FF8A00;
    --brand-gradient:linear-gradient(90deg, var(--grad-blue), var(--grad-cyan), var(--grad-green), var(--grad-lime), var(--grad-yellow), var(--grad-orange));
  }
  .grad-text{
    background:var(--brand-gradient);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  section[id]{scroll-margin-top:90px;}
  @media (max-width:900px){section[id]{scroll-margin-top:76px;}}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'IBM Plex Sans', sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Bricolage Grotesque', sans-serif;
    margin:0;
    line-height:1.08;
    letter-spacing:-0.01em;
    font-weight:600;
  }
  p{margin:0;}
  a{color:inherit;text-decoration:none;}
  img,svg{display:block;max-width:100%;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  section{position:relative;}

  /* subtle blueprint grid texture on paper sections */
  .grid-tex{
    background-image:
      linear-gradient(var(--line-soft) 1px, transparent 1px),
      linear-gradient(90deg, var(--line-soft) 1px, transparent 1px);
    background-size:48px 48px;
    background-position:-1px -1px;
  }

  .btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:13px 24px;
    border-radius:9999px;
    font-weight:600;
    font-size:0.95rem;
    border:1.5px solid transparent;
    cursor:pointer;
    transition:background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-primary{
    position:relative;background:transparent;color:var(--ink);
    padding:4px 4px 4px 26px;gap:16px;white-space:nowrap;
    transition:background .25s ease, color .25s ease, filter .18s ease;
  }
  .btn-primary::before{
    content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
    background:var(--brand-gradient);
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    pointer-events:none;transition:opacity .25s ease;
  }
  .btn-primary:hover{
    background:var(--grad-blue);
    color:#fff;
  }
  .btn-primary:hover::before{opacity:0;}
  .header-cta .btn-primary, .hero-ctas .btn-primary, .cta-band .btn-primary{color:var(--paper);}
  .btn-primary .btn-icon{
    width:40px;height:40px;border-radius:50%;flex-shrink:0;
    background:transparent;color:inherit;position:relative;overflow:hidden;
    display:flex;align-items:center;justify-content:center;
    transition:background .25s ease, color .25s ease;
  }
  .btn-primary .btn-icon::before{
    content:"";position:absolute;inset:0;border-radius:50%;padding:1.5px;
    background:var(--brand-gradient);
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    pointer-events:none;transition:opacity .25s ease;
  }
  .btn-primary:hover .btn-icon{background:rgba(255,255,255,.22);color:#fff;}
  .btn-primary:hover .btn-icon::before{opacity:0;}
  .btn-primary .btn-icon svg{
    position:absolute;width:16px;height:16px;
    transition:transform .35s cubic-bezier(.65,0,.35,1);
  }
  .btn-primary .btn-icon svg.arrow-1{transform:translate(0,0);}
  .btn-primary .btn-icon svg.arrow-2{transform:translate(-140%,140%);}
  .btn-primary:hover .btn-icon svg.arrow-1{transform:translate(140%,-140%);}
  .btn-primary:hover .btn-icon svg.arrow-2{transform:translate(0,0);}
  .btn-outline{background:transparent;color:var(--paper);border-color:rgba(238,241,234,0.35);}
  .btn-outline:hover{border-color:var(--paper);}
  .btn-outline-ink{background:transparent;color:var(--ink);border-color:var(--line);}
  .btn-outline-ink:hover{border-color:var(--ink);}

  .eyebrow-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:0.8rem;
    color:var(--muted);
    font-weight:500;
  }
  .eyebrow-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--marigold-deep);}

  /* ---------- HEADER ---------- */
  header.site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(14,14,18,0.95);
    backdrop-filter:blur(8px);
    border-bottom:1px solid rgba(238,241,234,0.12);
    transition:box-shadow .3s ease, top .3s ease;
  }
  header.site-header.is-scrolled{box-shadow:none;}
  .header-inner{
    max-width:var(--maxw);margin:0 auto;padding:24px 28px;
    display:flex;align-items:center;justify-content:space-between;
    transition:padding .35s cubic-bezier(.22,.61,.36,1);
  }
  header.site-header.is-scrolled .header-inner{padding:12px 28px;}
  .brand{display:flex;align-items:center;gap:10px;}
  .brand-mark{
    height:92px;width:auto;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    transition:height .35s cubic-bezier(.22,.61,.36,1);
  }
  header.site-header.is-scrolled .brand-mark{height:56px;}
  .brand-mark img{height:100%;width:auto;object-fit:contain;display:block;}
  .brand-word{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:1.4rem;letter-spacing:-0.01em;color:var(--paper);}
  .brand-word span{
    background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  }

  nav.main-nav{display:flex;align-items:center;gap:30px;}
  nav.main-nav a{font-size:0.92rem;font-weight:500;color:rgba(238,241,234,0.75);transition:color .15s;}
  nav.main-nav a:hover{color:var(--paper);}
  .header-cta{display:flex;align-items:center;gap:18px;}

  .nav-item{position:relative;}
  .nav-item > a{display:inline-flex;align-items:center;gap:5px;}
  .nav-item > a::after{
    content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);opacity:0.6;transition:transform .2s ease;
  }
  .nav-item:hover > a::after{transform:rotate(225deg) translateY(2px);}
  .nav-dropdown{
    position:absolute;top:100%;left:50%;transform:translate(-50%,6px);
    margin-top:14px;min-width:240px;padding:10px;border-radius:10px;
    background:rgba(20,20,26,0.98);border:1px solid rgba(238,241,234,0.12);
    box-shadow:0 18px 34px -14px rgba(0,0,0,.55);
    display:flex;flex-direction:column;gap:2px;
    opacity:0;pointer-events:none;visibility:hidden;
    transition:opacity .2s ease, transform .2s ease, visibility .2s;
    z-index:60;
  }
  .nav-item:hover .nav-dropdown,
  .nav-item:focus-within .nav-dropdown{
    opacity:1;pointer-events:auto;visibility:visible;transform:translate(-50%,0);
  }
  .nav-dropdown a{
    font-size:0.86rem;font-weight:500;color:rgba(238,241,234,0.78);
    padding:9px 12px;border-radius:6px;white-space:nowrap;
    transition:background .15s ease, color .15s ease;
  }
  .nav-dropdown a:hover{background:rgba(255,255,255,0.07);color:#fff;}
  .nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
  .nav-toggle span{width:22px;height:2px;background:var(--paper);transition:transform .2s ease, opacity .2s ease;}
  .nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.is-open span:nth-child(2){opacity:0;}
  .nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  /* ---------- HERO ---------- */
  .hero{
    background:var(--ink);
    color:var(--paper);
    overflow:hidden;
    position:relative;
    padding:100px 0;
  }
  .hero-inner{
    max-width:var(--maxw);margin:0 auto;padding:0 28px;
    position:relative;z-index:1;
    display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;
  }
  .hero-eyebrow{color:#9A9EA8;font-size:0.9rem;font-weight:500;margin-bottom:22px;}
  .hero h1{
    font-size:clamp(2.2rem, 3.6vw, 3.2rem);
    color:var(--paper);
    max-width:16ch;
  }
  .hero h1 em{
    font-style:normal;
    background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .word{display:inline-block;overflow:hidden;padding-bottom:0.15em;margin-bottom:-0.15em;vertical-align:top;}
  .word-inner{display:inline-block;will-change:transform,opacity;}
  .hero h1 em .word-inner{
    background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  }
  h2.word-split .word-inner{transform:translateY(110%);opacity:0;}
  .hero-sub{
    margin-top:22px;color:#A9ABB2;font-size:1.06rem;max-width:46ch;
  }
  .hero-ctas{display:flex;align-items:center;gap:20px;margin-top:32px;flex-wrap:wrap;}
  .hero-micro{font-size:0.85rem;color:#86888F;margin-top:18px;}

  /* flow diagram — circular, right side */
  .hero-flow{position:relative;z-index:1;}
  .flow-caption{font-size:0.98rem;color:#A9ABB2;margin-bottom:34px;text-align:center;max-width:32ch;margin-left:auto;margin-right:auto;}
  .flow-ring-wrap{
    position:relative;width:min(340px,86vw);aspect-ratio:1/1;margin:0 auto;
    touch-action:none;
  }
  .flow-particles{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;}
  .flow-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
  .flow-ring circle.ring-path{
    fill:none;stroke:rgba(238,241,234,0.18);stroke-width:1;stroke-dasharray:2 8;
  }
  .flow-ring circle.ring-beam{
    fill:var(--grad-cyan);
    filter:drop-shadow(0 0 6px rgba(0,217,255,0.7));
    animation:beamColorCycle 7s linear infinite;
  }
  @keyframes beamColorCycle{
    0%{fill:var(--grad-blue);filter:drop-shadow(0 0 6px rgba(23,105,255,0.7));}
    20%{fill:var(--grad-cyan);filter:drop-shadow(0 0 6px rgba(0,217,255,0.7));}
    40%{fill:var(--grad-green);filter:drop-shadow(0 0 6px rgba(56,229,107,0.7));}
    60%{fill:var(--grad-lime);filter:drop-shadow(0 0 6px rgba(184,240,0,0.7));}
    80%{fill:var(--grad-yellow);filter:drop-shadow(0 0 6px rgba(255,210,31,0.7));}
    100%{fill:var(--grad-orange);filter:drop-shadow(0 0 6px rgba(255,138,0,0.7));}
  }
  .flow-center{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    display:flex;flex-direction:column;align-items:center;gap:8px;
  }
  .flow-center .dot{
    width:9px;height:9px;border-radius:50%;background:var(--marigold);
    box-shadow:0 0 0 0 rgba(255,138,0,0.55);animation:ringPulse 2.4s infinite;
  }
  @keyframes ringPulse{
    0%{box-shadow:0 0 0 0 rgba(255,138,0,0.5);}
    70%{box-shadow:0 0 0 10px rgba(255,138,0,0);}
    100%{box-shadow:0 0 0 0 rgba(255,138,0,0);}
  }
  .flow-center span{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:#86888F;text-align:center;line-height:1.4;}
  .flow-node{
    position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;
    transform:translate(-50%,-50%);
  }
  .flow-circle{
    width:46px;height:46px;border-radius:50%;background:#1C1C22;flex-shrink:0;
    border:1.5px solid rgba(238,241,234,0.22);color:#A9ABB2;
    display:flex;align-items:center;justify-content:center;
    transition:border-color .2s ease, background .2s ease, color .2s ease;
  }
  .flow-circle svg{width:19px;height:19px;}
  .flow-node.highlight .flow-circle{
    background:var(--marigold);border-color:var(--marigold);color:var(--ink);
  }
  .flow-label{font-family:'IBM Plex Mono',monospace;font-size:0.76rem;color:#9A9CA3;white-space:nowrap;}
  .flow-node.highlight .flow-label{color:var(--marigold);}

  /* ---------- TRUST STRIP ---------- */
  .trust-strip{background:var(--paper);padding:56px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;}
  .trust-inner{display:flex;align-items:center;gap:36px;}
  .trust-label{max-width:24ch;flex-shrink:0;}
  .trust-label h3{font-size:1.6rem;}
  .trust-label p{margin-top:6px;font-size:0.86rem;color:var(--muted);}
  .trust-marquee{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);}
  .trust-logos{display:flex;gap:50px;align-items:center;width:max-content;animation:marquee 32s linear infinite;will-change:transform;-webkit-backface-visibility:hidden;}
  @media (hover:hover){.trust-marquee:hover .trust-logos{animation-play-state:paused;}}
  .trust-logos img{
    height:48px;width:auto;max-width:170px;object-fit:contain;flex-shrink:0;
    filter:grayscale(1);opacity:0.55;transition:filter .2s ease, opacity .2s ease;
  }
  .trust-logos img:hover{filter:grayscale(0);opacity:1;}
  @keyframes marquee{
    0%{transform:translateX(0);}
    100%{transform:translateX(-50%);}
  }

  /* ---------- SECTION HEADS ---------- */
  .section-pad{padding:88px 0;}
  .section-head{max-width:640px;margin-bottom:52px;will-change:filter,opacity;}
  .section-head h2{font-size:clamp(1.7rem,2.6vw,2.4rem);}
  .section-head p{margin-top:14px;color:var(--muted);font-size:1.02rem;}

  /* ---------- WHO WE HELP (expanding panels, photo-backed, scroll-zoom) ---------- */
  .who-panels{
    display:flex;height:380px;border:1px solid var(--line);overflow:hidden;
  }
  .who-panel{
    position:relative;flex:1 1 0;min-width:0;cursor:pointer;overflow:hidden;
    border-right:1px solid rgba(238,241,234,0.25);
    display:flex;flex-direction:column;justify-content:flex-end;padding:26px 24px;
    border-top:3px solid rgba(238,241,234,0.3);
    color:var(--paper);
    transition:flex-grow .6s cubic-bezier(.22,.61,.36,1), border-top-color .3s ease;
  }
  .who-panel:last-child{border-right:none;}
  .who-panel{background:var(--ink);}
  .who-panel::before{
    content:"";position:absolute;inset:0;z-index:0;
    background-image:
      linear-gradient(rgba(238,241,234,0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(238,241,234,0.06) 1px, transparent 1px);
    background-size:26px 26px;
  }
  .who-panel-photo{
    position:absolute;inset:-12%;z-index:0;
    background-size:cover;background-position:center;
    opacity:0.88;
    transform:scale(1);filter:grayscale(0.15);
    transition:opacity .4s ease, filter .4s ease;
    will-change:transform, filter;
  }
  .who-panel-dim{
    position:absolute;inset:0;z-index:0;
    background:rgba(14,14,18,0.55);
    transition:opacity .4s ease;
  }
  .who-panel-overlay{
    position:absolute;inset:0;z-index:0;
    background:linear-gradient(to top, rgba(14,14,18,0.92) 0%, rgba(14,14,18,0.5) 45%, rgba(14,14,18,0.15) 100%);
    transition:background .3s ease;
  }
  .who-panel.active{flex-grow:3.4;border-top-color:var(--accent);}
  .who-panel.active .who-panel-photo{opacity:1;filter:grayscale(0);}
  .who-panel.active .who-panel-dim{opacity:0;}
  .who-panel.active .who-panel-overlay{background:linear-gradient(to top, rgba(14,14,18,0.82) 0%, rgba(14,14,18,0.32) 55%, rgba(14,14,18,0.06) 100%);}
  .who-panel:nth-child(1){--accent:#1769FF;}
  .who-panel:nth-child(2){--accent:#38E56B;}
  .who-panel:nth-child(3){--accent:#FFD21F;}
  .who-panel:nth-child(4){--accent:#FF8A00;}
  .who-icon{width:32px;height:32px;color:var(--paper);opacity:0.9;margin-bottom:auto;flex-shrink:0;position:relative;z-index:1;}
  .who-panel.active .who-icon{color:var(--accent);opacity:1;}
  .who-panel h3{
    position:relative;z-index:1;
    font-size:1rem;font-weight:600;margin-top:20px;white-space:nowrap;
  }
  .who-panel p{
    position:relative;z-index:1;
    margin-top:10px;font-size:0.9rem;color:#C7C9CE;max-width:34ch;
    opacity:0;max-height:0;overflow:hidden;transition:opacity .35s ease .1s, max-height .35s ease;
  }
  .who-panel.active p{opacity:1;max-height:120px;}
  .who-index{
    position:absolute;top:22px;right:24px;z-index:1;font-family:'IBM Plex Mono',monospace;
    font-size:0.72rem;color:rgba(238,241,234,0.75);
  }

  /* ---------- SERVICES (plain card grid, Pixora-style) ---------- */
  .services-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  }
  .svc-card{
    background:var(--paper-raised);border:1px solid var(--line);border-radius:4px;
    padding:40px 26px 36px;position:relative;overflow:hidden;cursor:pointer;
    opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease, border-color .2s ease;
  }
  .svc-card.in-view{opacity:1;transform:translateY(0);}
  .svc-card::after{
    content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
    background:var(--brand-gradient);
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    pointer-events:none;opacity:0;transition:opacity .25s ease;
  }
  .svc-card:hover{border-color:transparent;}
  .svc-card:hover::after{opacity:1;}
  .svc-icon-wrap{display:flex;flex-direction:column;align-items:flex-start;}
  .svc-icon{width:52px;height:52px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
  .svc-icon img{width:100%;height:100%;object-fit:contain;filter:brightness(0);}
  .svc-card:hover .svc-icon{transform:translateY(-6px);}
  .svc-card h3{font-size:1.02rem;margin-top:24px;}
  .svc-card p.svc-desc{margin-top:10px;color:var(--muted);font-size:0.88rem;line-height:1.6;max-width:32ch;}
  .svc-link{
    display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:0.84rem;font-weight:600;color:var(--ink);
    transition:gap .2s ease, color .2s ease;
  }
  .svc-link svg{width:13px;height:13px;transition:transform .2s ease;}
  .svc-card:hover .svc-link{gap:11px;color:var(--marigold-deep);}
  .svc-card:hover .svc-link svg{transform:translate(2px,-2px);}
  @media (max-width:980px){
    .services-grid{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:560px){
    .services-grid{grid-template-columns:1fr;}
  }

  /* ---------- DIGITAL SERVICES (floating bubble cloud) ---------- */
  .bubbles-band{background:var(--ink);color:var(--paper);padding:72px 0;overflow:hidden;}
  .bubbles-head{max-width:520px;margin-bottom:8px;}
  .bubbles-head .eyebrow-tag{margin-bottom:10px;color:#9A9EA8;}
  .bubbles-head .eyebrow-tag .dot{background:var(--marigold);}
  .bubbles-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);text-transform:uppercase;letter-spacing:-0.01em;color:var(--paper);}
  .bubble-field{
    position:relative;height:480px;margin-top:24px;overflow:hidden;border-radius:4px;
    cursor:grab;touch-action:none;
    background-image:linear-gradient(rgba(238,241,234,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(238,241,234,.06) 1px,transparent 1px);
    background-size:28px 28px;
  }
  .bubble-field::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
    background:var(--brand-gradient);opacity:.8;
  }
  .bubble-field::before{
    content:"";position:absolute;left:0;right:0;bottom:0;height:90px;z-index:0;pointer-events:none;
    background:linear-gradient(to top, rgba(255,138,0,.16), transparent);
  }
  .bubble-field:active{cursor:grabbing;}
  .bubble{
    position:absolute;top:0;left:0;z-index:1;
    display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
    height:56px;padding:0 26px;border-radius:999px;
    font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:1.02rem;
    color:#fff;letter-spacing:-0.01em;
    will-change:transform;user-select:none;
    box-shadow:0 12px 20px -8px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.3);
  }
  .bubble:nth-child(11n+1){background:linear-gradient(135deg,#7C6CF0,#3A2FB0);}
  .bubble:nth-child(11n+2){background:linear-gradient(135deg,#FFD21F,#FF8A00);}
  .bubble:nth-child(11n+3){background:linear-gradient(135deg,#00D9FF,#1769FF);}
  .bubble:nth-child(11n+4){background:linear-gradient(135deg,#FF6FB0,#B23FD1);}
  .bubble:nth-child(11n+5){background:linear-gradient(135deg,#38E56B,#12A34A);}
  .bubble:nth-child(11n+6){background:linear-gradient(135deg,#FF8A00,#E23B3B);}
  .bubble:nth-child(11n+7){background:linear-gradient(135deg,#1769FF,#7C6CF0);}
  .bubble:nth-child(11n+8){background:linear-gradient(135deg,#B8F000,#38E56B);}
  .bubble:nth-child(11n+9){background:linear-gradient(135deg,#00D9FF,#12A34A);}
  .bubble:nth-child(11n+10){background:linear-gradient(135deg,#FF6FB0,#FF8A00);}
  .bubble:nth-child(11n+11){background:linear-gradient(135deg,#7C6CF0,#00D9FF);}
  @media (max-width:760px){
    .bubble-field{height:880px;}
    .bubble{height:48px;padding:0 20px;font-size:0.9rem;}
  }
  /* static fallback layout: used until physics boots, and permanently under reduced-motion */
  .bubble-field:not(.physics-on){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;height:auto;padding:24px 0;}
  .bubble-field:not(.physics-on) .bubble{position:relative;flex-shrink:0;}

  /* ---------- PROCESS (traveling marker) ---------- */
  .process-track{
    display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;
  }
  .process-line{
    position:absolute;top:18px;left:0;right:0;height:2px;background:var(--line);z-index:0;
  }
  .process-marker{
    position:absolute;top:13px;left:0;width:10px;height:10px;border-radius:50%;
    background:var(--brand-gradient);box-shadow:0 0 10px 2px rgba(0,217,255,0.4);
    transition:left 1.1s cubic-bezier(.65,0,.35,1);z-index:1;
  }
  .process-step{
    position:relative;padding-right:24px;z-index:1;
    opacity:0.32;transform:translateY(8px);
    transition:opacity .4s ease, transform .4s ease;
  }
  .process-step.lit{opacity:1;transform:translateY(0);}
  .process-num{
    width:38px;height:38px;border-radius:50%;background:var(--paper);
    border:1.5px solid var(--line);color:var(--muted);
    display:flex;align-items:center;justify-content:center;
    font-family:'IBM Plex Mono',monospace;font-size:0.85rem;font-weight:600;
    margin-bottom:20px;
    transition:border-color .3s ease, color .3s ease, transform .3s ease;
  }
  .process-step.lit .process-num{border-color:var(--marigold-deep);color:var(--marigold-deep);}
  .process-num.pulse{animation:numPulse .5s ease;}
  @keyframes numPulse{0%{transform:scale(1);}50%{transform:scale(1.2);}100%{transform:scale(1);}}
  .process-step h3{font-size:1.06rem;font-weight:600;}
  .process-step p{margin-top:8px;font-size:0.9rem;color:var(--muted);}
  .process-loop-note{
    display:flex;align-items:center;gap:10px;margin-top:44px;
    font-size:0.88rem;color:var(--muted);
    opacity:0;transform:translateY(6px);transition:opacity .5s ease, transform .5s ease;
  }
  .process-loop-note.show{opacity:1;transform:translateY(0);}
  .process-loop-note svg{width:17px;height:17px;color:var(--teal);flex-shrink:0;}

  /* ---------- STATS (light ledger band) ---------- */
  .stats-band{
    background:var(--paper-raised);color:var(--ink);padding:60px 0;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  }
  .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .stat{border-left:1px solid var(--line);padding-left:22px;}
  .stat:first-child{border-left:none;padding-left:0;}
  .stat .num{
    font-family:'IBM Plex Mono',monospace;font-size:clamp(1.9rem,3vw,2.6rem);font-weight:600;
    background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .stat .lbl{margin-top:6px;font-size:0.88rem;color:var(--muted);}

  /* ---------- TESTIMONIALS (quote spotlight) ---------- */
  .testi-band{background:var(--ink);color:var(--paper);padding:88px 0;position:relative;overflow:hidden;}
  .testi-inner{max-width:760px;margin:0 auto;padding:0 28px;position:relative;text-align:center;}
  .testi-mark{
    font-family:'Bricolage Grotesque',sans-serif;font-size:6rem;line-height:1;
    color:var(--marigold);opacity:0.35;position:relative;margin-bottom:-1.4rem;
    user-select:none;
  }
  .testi-quote{
    font-family:'Bricolage Grotesque',sans-serif;font-weight:500;
    font-size:clamp(1.25rem,2.6vw,1.7rem);line-height:1.45;color:var(--paper);
    min-height:5.6em;display:flex;align-items:center;justify-content:center;
    transition:opacity .25s ease, transform .25s ease;
  }
  .testi-quote.fading{opacity:0;transform:translateY(6px);}
  .testi-tag{
    display:inline-block;margin-top:26px;font-size:0.72rem;font-family:'IBM Plex Mono',monospace;
    color:var(--teal);border:1px solid var(--teal);border-radius:20px;padding:3px 12px;
  }
  .testi-name{margin-top:14px;font-size:1rem;font-weight:600;color:var(--paper);}
  .testi-role{margin-top:2px;font-size:0.85rem;color:#9A9CA3;}
  .testi-avatars{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:40px;}
  .testi-avatar-btn{
    width:44px;height:44px;border-radius:50%;background:#1C1C22;color:#9A9CA3;
    display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.8rem;
    font-family:'Bricolage Grotesque',sans-serif;border:2px solid transparent;cursor:pointer;
    transition:border-color .2s ease, color .2s ease, transform .2s ease;
  }
  .testi-avatar-btn.active{border-color:var(--marigold);color:var(--marigold);transform:scale(1.08);}
  .testi-arrow{
    position:absolute;top:50%;transform:translateY(-50%);
    width:38px;height:38px;border-radius:50%;border:1px solid rgba(238,241,234,0.25);
    background:none;color:var(--paper);display:flex;align-items:center;justify-content:center;
    cursor:pointer;transition:border-color .2s ease, background .2s ease;
  }
  .testi-arrow:hover{border-color:var(--marigold);background:rgba(255,138,0,0.1);}
  .testi-arrow.prev{left:0;}
  .testi-arrow.next{right:0;}
  .testi-arrow svg{width:16px;height:16px;}

  /* ---------- INSIGHTS (featured + list) ---------- */
  .insights-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;align-items:stretch;}
  .insight-featured{
    position:relative;display:flex;flex-direction:column;justify-content:flex-end;
    min-height:420px;border:1px solid var(--line);overflow:hidden;
    color:var(--paper);text-decoration:none;
  }
  .featured-media{
    position:absolute;inset:0;background-size:cover;background-position:center;
    transition:transform .6s ease;
  }
  .insight-featured:hover .featured-media{transform:scale(1.06);}
  .insight-featured::before{
    content:"";position:absolute;inset:0;z-index:0;
    background:linear-gradient(to top, rgba(14,14,18,0.93) 0%, rgba(14,14,18,0.5) 45%, rgba(14,14,18,0.08) 100%);
  }
  .featured-tag{
    position:relative;z-index:1;align-self:flex-start;margin:24px 24px 0;
    font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:var(--ink);
    background:var(--marigold);padding:4px 10px;border-radius:20px;
  }
  .featured-content{position:relative;z-index:1;padding:22px 28px 28px;}
  .featured-content .insight-date{color:rgba(238,241,234,0.75);font-family:'IBM Plex Mono',monospace;font-size:0.78rem;}
  .featured-content h3{margin-top:10px;font-size:1.5rem;line-height:1.25;max-width:22ch;}
  .featured-content p{margin-top:12px;color:#C7C9CE;font-size:0.95rem;max-width:44ch;}
  .featured-content .insight-link{margin-top:18px;display:inline-block;font-size:0.88rem;font-weight:600;color:var(--marigold);}

  .insight-list{display:flex;flex-direction:column;border:1px solid var(--line);}
  .insight-row{
    display:flex;gap:16px;padding:20px;border-bottom:1px solid var(--line);
    text-decoration:none;color:inherit;position:relative;overflow:hidden;
    transition:background .2s ease;
  }
  .insight-row::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--marigold);
    transform:scaleY(0);transform-origin:top;transition:transform .2s ease;
  }
  .insight-row:hover{background:var(--paper);}
  .insight-row:hover::before{transform:scaleY(1);}
  .row-media{width:76px;height:76px;flex-shrink:0;border-radius:var(--radius-sm);background-size:cover;background-position:center;}
  .row-text{display:flex;flex-direction:column;justify-content:center;min-width:0;}
  .row-text .insight-date{font-size:0.72rem;color:var(--muted);font-family:'IBM Plex Mono',monospace;}
  .row-text h4{margin-top:6px;font-size:0.95rem;font-weight:600;line-height:1.35;}
  .insight-view-all{
    margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;
    padding:18px;font-size:0.88rem;font-weight:600;color:var(--marigold-deep);
    text-decoration:none;background:var(--paper-raised);transition:background .2s ease;
  }
  .insight-view-all:hover{background:var(--paper);}

  /* ---------- CTA BAND (split + rotating badge) ---------- */
  .cta-band{background:var(--ink);color:var(--paper);padding:88px 0;}
  .cta-band-inner{
    display:grid;grid-template-columns:1fr auto;gap:56px;align-items:center;
  }
  .cta-band h2{font-size:clamp(1.7rem,3vw,2.3rem);color:var(--paper);max-width:14ch;}
  .cta-band p{margin-top:14px;color:#A9ABB2;max-width:44ch;}
  .cta-band .btn{margin-top:28px;}
  .cta-badge{width:150px;height:150px;position:relative;flex-shrink:0;}
  .cta-badge svg{width:100%;height:100%;}
  .cta-badge .ring-text{animation:badgeSpin 18s linear infinite;transform-origin:75px 75px;}
  @keyframes badgeSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
  .cta-badge-center{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:64px;height:64px;border-radius:50%;
    background:radial-gradient(circle at 32% 26%, #C9C3FF 0%, #7C6CF0 46%, #3A2FB0 100%);
    box-shadow:inset -7px -9px 14px rgba(0,0,0,.28), inset 5px 7px 10px rgba(255,255,255,.4), 0 14px 26px -8px rgba(124,108,240,.55);
    display:flex;align-items:center;justify-content:center;color:#fff;
  }
  .cta-badge-center svg{width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));}

  /* ---------- FAQ + CONTACT (merged: FAQ left, contact form right) ---------- */
  .faq-contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
  .faq-col{display:flex;flex-direction:column;}
  .faq-list{margin-top:28px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%;text-align:left;background:none;border:none;cursor:pointer;
    display:flex;align-items:center;justify-content:space-between;
    padding:20px 0;font-family:'Bricolage Grotesque',sans-serif;font-size:1.02rem;font-weight:600;color:var(--ink);
  }
  .faq-q .icon{
    width:20px;height:20px;position:relative;flex-shrink:0;margin-left:20px;
  }
  .faq-q .icon::before, .faq-q .icon::after{
    content:"";position:absolute;background:var(--ink);
  }
  .faq-q .icon::before{width:100%;height:1.6px;top:50%;left:0;transform:translateY(-50%);}
  .faq-q .icon::after{height:100%;width:1.6px;left:50%;top:0;transform:translateX(-50%);transition:transform .2s ease;}
  .faq-item.open .faq-q .icon::after{transform:translateX(-50%) rotate(90deg);opacity:0;}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .faq-a p{padding:0 0 20px;color:var(--muted);font-size:0.94rem;max-width:60ch;}
  .faq-item.open .faq-a{max-height:260px;}

  .contact-col .lead{margin-top:12px;color:var(--muted);font-size:0.98rem;max-width:48ch;}
  .contact-form-card{
    margin-top:32px;background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;padding:32px;
  }
  .form-stack{display:flex;flex-direction:column;gap:18px;}
  label{display:block;font-size:0.82rem;color:var(--muted);margin-bottom:6px;}
  input,textarea{
    width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);
    background:var(--paper);font-family:inherit;font-size:0.95rem;color:var(--ink);
  }
  input:focus,textarea:focus{outline:2px solid var(--marigold-deep);outline-offset:1px;}
  textarea{resize:vertical;min-height:100px;}
  .form-note{margin-top:16px;font-size:0.85rem;color:var(--teal);display:none;}
  .form-note.is-error{color:#E2483B;}
  .form-note.show{display:block;}
  .contact-form-card .btn{width:100%;justify-content:center;margin-top:4px;}

  .err-msg{display:none;margin-top:6px;font-size:0.8rem;color:#E2483B;}
  input.invalid,textarea.invalid,select.invalid{border-color:#E2483B;}
  input.invalid + .err-msg,textarea.invalid + .err-msg,select.invalid + .err-msg{display:block;}

  .req{color:#E2483B;margin-left:2px;}
  .field-hint{display:block;margin-top:-2px;margin-bottom:8px;font-size:0.78rem;color:var(--muted);}
  .budget-field .err-msg.budget-err{margin-top:10px;}
  .budget-pills{display:flex;flex-wrap:wrap;gap:10px;}
  .budget-pills input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
  .budget-pills label{
    position:relative;display:inline-flex;align-items:center;margin:0;padding:9px 18px;border-radius:9999px;
    border:1.5px solid var(--line);font-size:0.86rem;font-weight:500;color:var(--ink);
    cursor:pointer;transition:border-color .15s ease, color .15s ease;
  }
  .budget-pills label::before{
    content:"";position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;
    background:var(--brand-gradient);
    -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    pointer-events:none;opacity:0;transition:opacity .15s ease;
  }
  .budget-pills label:hover{border-color:var(--grad-cyan);}
  .budget-pills input:checked + label{border-color:transparent;color:var(--ink);font-weight:700;}
  .budget-pills input:checked + label::before{opacity:1;}
  .budget-pills input:focus-visible + label{outline:2px solid var(--marigold-deep);outline-offset:2px;}
  .budget-field.invalid .budget-pills label{border-color:#E2483B;}
  .budget-field.invalid .budget-err{display:block;}

  /* ---------- LEAD MODAL ---------- */
  .lead-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s ease;}
  .lead-modal.is-open{opacity:1;pointer-events:auto;}
  .lead-modal-overlay{position:absolute;inset:0;background:rgba(6,6,9,0.8);backdrop-filter:blur(4px);}
  .lead-modal-card{
    position:relative;width:100%;max-width:460px;max-height:88vh;overflow-y:auto;
    background:#0E0E12;border-radius:16px;padding:40px;
    border:1px solid transparent;
    background-image:linear-gradient(#0E0E12,#0E0E12), var(--brand-gradient);
    background-origin:border-box;background-clip:padding-box, border-box;
    box-shadow:0 0 0 1px rgba(23,105,255,.08), 0 -18px 60px -22px rgba(0,217,255,.35), 0 18px 60px -22px rgba(255,138,0,.3), 0 30px 60px -20px rgba(0,0,0,.6);
    transform:translateY(16px) scale(0.98);transition:transform .25s ease;
  }
  .lead-modal.is-open .lead-modal-card{transform:translateY(0) scale(1);}
  .lead-modal-badge{
    display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:9999px;
    background:rgba(0,217,255,0.1);border:1px solid rgba(0,217,255,0.4);color:var(--grad-cyan);
    font-size:0.76rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;
  }
  .lead-modal-badge svg{width:13px;height:13px;}
  .lead-modal-card h3{margin-top:16px;font-family:'Bricolage Grotesque',sans-serif;font-size:1.7rem;font-weight:700;color:var(--paper);}
  .lead-modal-card .lead{margin-top:10px;color:#9A9CA5;font-size:0.94rem;}
  .lead-modal-card form{margin-top:24px;}
  .lead-modal-card label{
    display:flex;align-items:center;gap:7px;font-size:0.84rem;font-weight:500;color:#C9CBD1;margin-bottom:8px;
  }
  .lead-modal-card label svg{width:15px;height:15px;color:var(--grad-cyan);flex-shrink:0;}
  .lead-modal-card input,.lead-modal-card select{
    width:100%;padding:13px 14px;border:1px solid rgba(238,241,234,0.16);border-radius:8px;
    background:#16161C;font-family:inherit;font-size:0.95rem;color:var(--paper);appearance:none;
  }
  .lead-modal-card select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239A9CA5' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;
  }
  .lead-modal-card select:invalid{color:#9A9CA5;}
  .lead-modal-card input::placeholder{color:#5C5E66;}
  .lead-modal-card input:focus,.lead-modal-card select:focus{outline:none;border-color:var(--grad-cyan);box-shadow:0 0 0 3px rgba(0,217,255,0.15);}
  .lead-modal-card .btn-primary.lead-modal-submit{width:100%;justify-content:center;margin-top:6px;color:var(--paper);}
  .lead-modal-card .form-note{color:var(--grad-cyan);}
  .lead-modal-close{
    position:absolute;top:20px;right:20px;width:32px;height:32px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(238,241,234,0.2);
    color:var(--paper);cursor:pointer;
  }
  .lead-modal-close svg{width:15px;height:15px;}
  .lead-modal-close:hover{background:rgba(255,255,255,0.08);}
  @media (max-width:480px){.lead-modal-card{padding:28px 24px;}}

  /* ---------- FOOTER ---------- */
  footer{background:var(--ink);color:#A5A7AE;padding:60px 0 28px;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 0.8fr 1fr;gap:44px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.1);}
  .footer-brand p{margin-top:14px;font-size:0.9rem;max-width:36ch;line-height:1.6;}
  .footer-col h4{font-family:'Bricolage Grotesque',sans-serif;color:var(--paper);font-size:0.92rem;font-weight:600;margin-bottom:16px;}
  .footer-col a{display:block;font-size:0.9rem;margin-bottom:11px;color:#A5A7AE;transition:color .15s;}
  .footer-col a:hover{color:var(--paper);}
  .footer-bottom{padding-top:22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
  .footer-bottom span{font-size:0.82rem;color:#86888F;}
  .social-row{display:flex;gap:10px;}
  .social-row a{
    width:32px;height:32px;border:1px solid rgba(255,255,255,0.18);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
  }
  .social-row svg{width:14px;height:14px;color:#A5A7AE;}

  /* ---------- SCROLL REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease, transform .6s ease;}
  .reveal.in-view{opacity:1;transform:translateY(0);}
  .stat:nth-child(1){transition-delay:0s;}
  .stat:nth-child(2){transition-delay:.08s;}
  .stat:nth-child(3){transition-delay:.16s;}
  .stat:nth-child(4){transition-delay:.24s;}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:900px){
    nav.main-nav{display:none;}
    .nav-toggle{display:flex;}
    .nav-item{width:100%;}
    .nav-item > a::after{margin-left:auto;}
    .nav-dropdown{
      position:static;transform:none;margin-top:0;margin-left:14px;
      opacity:1;visibility:visible;pointer-events:auto;
      box-shadow:none;border:none;background:transparent;padding:0 0 0 0;
      display:flex;flex-direction:column;gap:2px;
      max-height:0;overflow:hidden;transition:max-height .25s ease;
    }
    .nav-item.is-open .nav-dropdown{max-height:400px;padding:4px 0 4px;}
    .nav-item:hover .nav-dropdown,
    .nav-item:focus-within .nav-dropdown{transform:none;}
    .nav-item > a::after{transition:transform .2s ease;}
    .nav-item.is-open > a::after{transform:rotate(225deg) translateY(2px);}
    .nav-dropdown a{padding:7px 10px;white-space:normal;width:100%;box-sizing:border-box;}
    .hero{padding:80px 0;}
    .hero-inner{grid-template-columns:1fr;gap:48px;}
    .hero-flow{margin-top:8px;}
    .who-panels{height:auto;flex-direction:column;}
    .who-panel{flex:none !important;min-height:64px;padding:18px 22px;border-right:none;border-bottom:1px solid var(--line);border-top:3px solid var(--line);}
    .who-panel.active{min-height:170px;border-top-color:var(--accent);}
    .who-panel:last-child{border-bottom:none;}
    .process-track{grid-template-columns:repeat(2,1fr);row-gap:36px;}
    .process-line,.process-marker{display:none;}
    .process-step{opacity:1;transform:none;}
    .process-step .process-num{border-color:var(--marigold-deep);color:var(--marigold-deep);}
    .stats-grid{grid-template-columns:repeat(2,1fr);row-gap:28px;}
    .stat:nth-child(3){border-left:none;padding-left:0;}
    .testi-band{padding:64px 0;}
    .cta-band-inner{grid-template-columns:1fr;text-align:center;justify-items:center;}
    .cta-band p{margin-left:auto;margin-right:auto;}
    .testi-arrow{display:none;}
    .insights-layout{grid-template-columns:1fr;}
    .insight-featured{min-height:320px;}
    .faq-contact-layout{grid-template-columns:1fr;gap:48px;}
    .faq-a p{padding-left:0;}
    .contact-form-card{padding:26px;}
    .footer-grid{grid-template-columns:1fr;gap:32px;}
  }
  @media (max-width:600px){
    .trust-inner{flex-direction:column;align-items:flex-start;gap:14px;}
    .trust-marquee{width:100%;}
    .section-pad{padding:60px 0;}
    .flow-circle{width:38px;height:38px;}
    .flow-circle svg{width:16px;height:16px;}
    .flow-label{font-size:0.68rem;}
  }
  @media (max-width:480px){
    .header-inner{padding:14px 16px;}
    header.site-header.is-scrolled .header-inner{padding:10px 16px;}
    .brand-mark{height:62px;}
    header.site-header.is-scrolled .brand-mark{height:50px;}
    .brand-word{font-size:1.1rem;}
    .header-cta{gap:10px;}
    .header-cta .btn-primary{
      width:42px;height:42px;padding:0;gap:0;justify-content:center;
      border-radius:50%;
    }
    .header-cta .btn-primary .btn-label{display:none;}
    .header-cta .btn-primary::before{border-radius:50%;}
    .header-cta .btn-primary .btn-icon{width:100%;height:100%;}
  }
  @media (prefers-reduced-motion:reduce){
    *:not(.trust-logos){animation:none !important;transition:none !important;}
  }

  /* scroll progress bar */
  #scrollProgress{
    position:fixed;top:0;left:0;height:3px;width:0%;z-index:100;
    background:var(--brand-gradient);
  }

  /* magnetic-style follower cursor: small dot that grows into a labelled circle over service visuals */
  #cursorBall{
    position:fixed;top:0;left:0;width:12px;height:12px;border-radius:50%;
    background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:300;
    transform:translate(-50%,-50%);opacity:0;
    transition:width .35s cubic-bezier(.22,.61,.36,1), height .35s cubic-bezier(.22,.61,.36,1),
               background-color .35s ease, opacity .25s ease;
    display:flex;align-items:center;justify-content:center;
  }
  body.cursor-ready #cursorBall{opacity:1;}
  #cursorBall .cursor-label{
    font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:.04em;color:var(--ink);
    text-transform:uppercase;opacity:0;transition:opacity .2s ease;white-space:nowrap;
  }
  #cursorBall.cursor-view{width:78px;height:78px;background:var(--marigold);mix-blend-mode:normal;}
  #cursorBall.cursor-view .cursor-label{opacity:1;}
  #cursorBall.cursor-hide{opacity:0;}

  /* cursor-spotlight hover on bordered card grids */
  .spotlight-card{position:relative;}
  .spotlight-card::before{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:0;z-index:0;
    background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,0.55), transparent 65%);
    transition:opacity .3s ease;
    mix-blend-mode:overlay;
  }
  .spotlight-card:hover::before{opacity:1;}
  .spotlight-card > *{position:relative;z-index:1;}

  /* shiny sweep + magnetic feel on primary buttons */
  .btn{position:relative;overflow:hidden;}
  .btn-primary::after{
    content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,0.6), transparent);
    transform:skewX(-18deg);transition:left .65s ease;pointer-events:none;
  }
  .btn-primary:hover::after{left:130%;}
