  :root{
    --bg:#090C13;
    --bg-raised:#131826;
    --text:#F5F5F7;
    --muted:#AEB4C2;
    --faint:#7D8494;
    --line:rgba(148,163,196,.16);
    --indigo:#2A4A85;
    --violet:#7E93C4;
    --magenta:#C7DCF2;
    --grad:linear-gradient(100deg,var(--indigo),var(--violet),var(--magenta));
    --gold:#F0C36A;
    --gold-2:#FFD781;
    --copper:#A05C28;
    --font-display:"Bricolage Grotesque",-apple-system,BlinkMacSystemFont,sans-serif;
    --font-body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-mono:"Spline Sans Mono",ui-monospace,"SF Mono",Menlo,monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:var(--font-body);
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:rgba(126,147,196,.35)}

  /* ---------- accessibility ---------- */
  :focus-visible{outline:2px solid rgba(240,195,106,.9);outline-offset:3px;border-radius:4px}
  .skip-link{
    position:absolute;left:-9999px;top:0;z-index:200;
    background:var(--indigo);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 0;
  }
  .skip-link:focus{left:0}

  h1,h2,h3{font-family:var(--font-display);letter-spacing:-0.03em;line-height:1.04;font-weight:700}
  h1{font-size:clamp(2.7rem,6.6vw,5rem)}
  h2{font-size:clamp(2rem,4.2vw,3.1rem)}
  h3{font-size:1.35rem;letter-spacing:-0.02em}
  p{color:var(--muted)}
  em.flair{
    font-family:var(--font-display);font-style:normal;font-weight:800;
    letter-spacing:-0.03em;
    background:linear-gradient(100deg,#93A5CC,#C9DCF0 55%,#C7DCF2);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }

  .wrap{max-width:1120px;margin:0 auto;padding:0 28px}
  section{padding:120px 0}
  section[id]{scroll-margin-top:96px}

  /* dusk ramps: soft transitions between dark and paper, through the steel family */
  .fade{height:150px;pointer-events:none;background-size:26px 26px,auto}
  .fade-down{background-image:
    radial-gradient(rgba(42,74,133,.10) 1px,transparent 1.1px),
    linear-gradient(180deg,#090C13 0%,#1C2C4E 32%,#5F7BA8 66%,#C9D8EE 88%,#EFF4FB 100%)}
  .fade-up{background-image:
    radial-gradient(rgba(42,74,133,.10) 1px,transparent 1.1px),
    linear-gradient(0deg,#090C13 0%,#1C2C4E 32%,#5F7BA8 66%,#C9D8EE 88%,#EFF4FB 100%)}

  /* ---------- light "paper" band: brightens the middle of the page ---------- */
  .light{
    background-color:#EFF4FB;
    background-image:radial-gradient(rgba(42,74,133,.10) 1px,transparent 1.1px);
    background-size:26px 26px;
    border-top:1px solid rgba(20,35,66,.06);
  }
  .light .tag{color:#69778F}
  .light .tag b{color:#2A4A85}
  .light h2,.light h3{color:#111E38}
  .light p{color:#46536E}
  .light em.flair{background:linear-gradient(100deg,#1E3A6E,#4A6BA8 55%,#7E93C4);-webkit-background-clip:text;background-clip:text}
  .light .trades li{border-color:rgba(30,58,110,.18);color:#4A5670;background:#fff}
  .light .card{background:#fff;border-color:rgba(30,58,110,.12);box-shadow:0 10px 28px rgba(23,42,79,.07)}
  .light .card:hover{box-shadow:0 18px 44px rgba(23,42,79,.15)}
  .light .card-num{color:var(--copper)}
  .light .also{color:#7C8AA6}
  .light .card details{border-top-color:rgba(30,58,110,.12)}
  .light .card summary{color:var(--copper)}
  .light .card details li{color:#46536E}
  .light .card details li::before{color:var(--copper)}
  .light .card-icon{background:linear-gradient(135deg,rgba(42,74,133,.10),rgba(126,147,196,.08));border-color:rgba(42,74,133,.25)}
  .light .card-link{color:#7C4715;border-color:rgba(160,92,40,.45);background:rgba(240,195,106,.12)}
  .light .card-link:hover{border-color:rgba(160,92,40,.8);background:rgba(240,195,106,.25)}
  .light .step{border-top-color:rgba(30,58,110,.15)}
  .light .step-label{color:#7C8AA6}

  .tag{
    font-family:var(--font-mono);font-size:.72rem;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
    display:block;margin-bottom:1.4rem;
  }
  .tag b{color:var(--gold-2);font-weight:500}

  /* ---------- nav ---------- */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(9,12,19,.72);
    -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:80px}
  .brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--text)}
  .brand svg{height:34px;width:auto;display:block}
  .brand-name{font-family:var(--font-display);font-weight:600;font-size:1.08rem;letter-spacing:-0.02em;white-space:nowrap}
  .nav-right{display:flex;align-items:center;gap:1.8rem}
  .nav-links{display:flex;align-items:center;gap:1.6rem;list-style:none}
  .nav-links a{color:var(--muted);text-decoration:none;font-size:.96rem;font-weight:500;transition:color .2s}
  .nav-links a:hover{color:var(--text)}
  @media(max-width:760px){.nav-links{display:none}}
  .nav-phone{
    font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;
    color:var(--muted);text-decoration:none;transition:color .2s;white-space:nowrap;
  }
  .nav-phone:hover{color:var(--text)}
  .nav-cta{
    font-family:var(--font-display);font-weight:700;font-size:.86rem;color:#0B1120;text-decoration:none;
    text-transform:uppercase;letter-spacing:.05em;
    border:1px solid var(--gold);padding:.68rem 1.25rem;border-radius:6px;
    background:var(--gold);transition:background .2s,box-shadow .2s;white-space:nowrap;
  }
  .nav-cta:hover{background:var(--gold-2);box-shadow:0 0 18px rgba(240,195,106,.3)}
  @media(max-width:640px){
    .nav-phone{display:none}
    .brand-name{font-size:.88rem}
    .brand svg{height:27px}
    .nav-cta{padding:.42rem .8rem;font-size:.82rem}
  }
  @media(max-width:400px){
    .brand-name{font-size:.78rem}
    .brand svg{height:24px}
    .nav-cta{padding:.36rem .65rem;font-size:.78rem}
  }

  /* ---------- hero ---------- */
  .hero{
    position:relative;min-height:100svh;display:flex;flex-direction:column;
    padding:150px 0 0;overflow:hidden;
  }
  .orb-field{position:absolute;inset:0;pointer-events:none}
  .hero-dots{position:absolute;inset:0;pointer-events:none}
  .orb{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform}
  .orb-1{
    width:560px;height:560px;left:50%;top:38%;margin-left:-280px;margin-top:-280px;opacity:.52;
    background:radial-gradient(circle at 35% 35%,var(--indigo),transparent 65%);
    animation:drift1 18s ease-in-out infinite alternate;
  }
  .orb-2{
    width:480px;height:480px;left:50%;top:34%;margin-left:-120px;margin-top:-240px;opacity:.34;
    background:radial-gradient(circle at 60% 40%,var(--violet),transparent 65%);
    animation:drift2 22s ease-in-out infinite alternate;
  }
  .orb-3{
    width:420px;height:420px;left:50%;top:44%;margin-left:-340px;margin-top:-180px;opacity:.16;
    background:radial-gradient(circle at 45% 55%,var(--magenta),transparent 62%);
    animation:drift3 26s ease-in-out infinite alternate;
  }
  @keyframes drift1{from{transform:translate(0,0) scale(1)}to{transform:translate(60px,-40px) scale(1.12)}}
  @keyframes drift2{from{transform:translate(0,0) scale(1.08)}to{transform:translate(-70px,30px) scale(.95)}}
  @keyframes drift3{from{transform:translate(0,0) scale(.95)}to{transform:translate(50px,50px) scale(1.1)}}

  .hero-inner{
    position:relative;z-index:1;width:100%;margin:auto 0;padding-bottom:60px;
    display:grid;grid-template-columns:1.4fr .78fr;gap:2.2rem;align-items:center;text-align:left;
  }
  .hero .tag{margin-bottom:2rem}
  .hero h1{font-size:clamp(2.6rem,4.3vw,4.1rem);margin:0 0 1.5rem}
  .hero .sub{max-width:36rem;font-size:1.18rem;margin:0 0 2.6rem}
  .hero-cta-row{display:flex;align-items:center;justify-content:flex-start;gap:1.4rem;flex-wrap:wrap}
  .hero-art{position:relative;margin-right:-52px}
  .hero-art svg{width:100%;height:auto;display:block}
  @media(max-width:880px){
    .hero-inner{grid-template-columns:1fr;gap:0;text-align:center}
    .hero h1{font-size:clamp(2.5rem,8vw,3.4rem);margin:0 auto 1.5rem}
    .hero .sub{margin:0 auto 2.6rem}
    .hero-cta-row{justify-content:center}
    .hero-art{max-width:330px;margin:2.8rem auto 0}
  }
  .btn-primary{
    display:inline-block;text-decoration:none;color:#0B1120;
    font-family:var(--font-display);font-weight:700;font-size:.92rem;
    text-transform:uppercase;letter-spacing:.05em;
    padding:1rem 2.1rem;border-radius:6px;
    background:var(--gold);
    border:1px solid var(--gold);
    transition:transform .2s,box-shadow .2s,background .2s;
  }
  .btn-primary:hover{
    transform:translateY(-2px);
    background:var(--gold-2);
    box-shadow:0 8px 32px rgba(240,195,106,.38);
  }
  .hero-note{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;color:var(--faint);text-transform:uppercase}

  .hero-ticker{
    position:relative;z-index:1;
    border-top:1px solid var(--line);
    font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;
    text-transform:uppercase;color:var(--faint);
  }
  .hero-ticker .wrap{display:flex;gap:2.5rem;flex-wrap:wrap;padding-top:1.1rem;padding-bottom:1.1rem}
  .hero-ticker span i{font-style:normal;color:var(--gold);margin-right:.7rem}

  /* ---------- reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .reveal.visible{opacity:1;transform:none}

  /* ---------- services (cards) ---------- */
  .section-head{max-width:800px;margin:0 auto 3.4rem;text-align:center}
  .section-head .lede{margin-left:auto;margin-right:auto}
  .section-head .trades{justify-content:center}
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
  @media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:620px){.cards{grid-template-columns:1fr}}
  .card{
    position:relative;background:var(--bg-raised);border-radius:8px;padding:2rem 1.8rem;
    border:1px solid var(--line);
    transition:transform .3s,box-shadow .3s;
  }
  .card::before{
    content:"";position:absolute;inset:-1px;border-radius:9px;padding:1px;
    background:var(--grad);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    opacity:0;transition:opacity .3s;pointer-events:none;
  }
  .card:hover{transform:translateY(-5px);box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 30px rgba(126,147,196,.12)}
  .card:hover::before{opacity:.75}
  .card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.3rem}
  .card-icon{
    width:44px;height:44px;border-radius:6px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,rgba(30,58,110,.22),rgba(199,220,242,.14));
    border:1px solid rgba(126,147,196,.25);
  }
  .card-icon svg{width:22px;height:22px;stroke:url(#icon-grad);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .card-num{font-family:var(--font-mono);font-size:.78rem;color:var(--faint)}
  .card h3{margin-bottom:.6rem;font-size:1rem;text-transform:uppercase;letter-spacing:.05em}
  .card p{font-size:.95rem}
  .card .also{
    display:block;margin-top:1rem;font-family:var(--font-mono);font-size:.68rem;
    letter-spacing:.1em;text-transform:uppercase;color:var(--faint);
  }

  /* ---------- problem ---------- */
  .lede{margin-top:1.4rem;font-size:1.12rem;max-width:56ch}
  .inline-link{color:#A3B3DC;text-decoration:underline;text-underline-offset:3px;transition:color .2s}
  .inline-link:hover{color:var(--text)}
  .pains{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem}
  @media(max-width:820px){.pains{grid-template-columns:1fr}}
  .pain{border-top:1px solid var(--line);padding-top:1.5rem;position:relative}
  .pain::before{
    content:"";position:absolute;top:-2px;left:0;width:52px;height:3px;background:var(--grad);
  }
  .pain-stat{
    font-family:var(--font-display);font-weight:700;letter-spacing:-0.03em;
    font-size:clamp(2.5rem,4.6vw,3.5rem);line-height:1;margin-bottom:.7rem;
    background:linear-gradient(120deg,#D9A84E,#F0C36A 55%,#FFE3A8);
    -webkit-background-clip:text;background-clip:text;color:transparent;
    display:inline-block;
  }
  .pain p{font-size:.98rem}

  /* ---------- how it works ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem}
  @media(max-width:820px){.steps{grid-template-columns:1fr;gap:2.6rem}}
  .step{border-top:1px solid var(--line);padding-top:1.5rem;position:relative}
  .step::before{
    content:"";position:absolute;top:-2px;left:0;width:52px;height:3px;background:var(--grad);
  }
  .step h3{text-transform:uppercase;font-size:1rem;letter-spacing:.05em}
  .step-label{
    font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;
    text-transform:uppercase;color:var(--faint);display:block;margin-bottom:.9rem;
  }
  .step h3{margin-bottom:.6rem}
  .step p{font-size:.98rem}

  /* ---------- process timeline ---------- */
  .timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:3rem}
  .timeline::before{
    content:"";position:absolute;top:29px;left:16.66%;right:16.66%;height:2px;
    background:linear-gradient(90deg,var(--copper),var(--gold));opacity:.55;
  }
  .tl-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
  .tl-node{
    position:relative;z-index:1;width:60px;height:60px;border-radius:50%;
    background:#fff;border:2px solid rgba(160,92,40,.4);
    box-shadow:0 8px 22px rgba(23,42,79,.14);
    display:flex;align-items:center;justify-content:center;
  }
  .tl-node span{font-family:var(--font-display);font-weight:800;font-size:1.2rem;color:var(--copper)}
  .tl-dur{
    margin-top:1rem;display:inline-block;background:var(--gold);color:#0B1120;
    font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;
    text-transform:uppercase;padding:.34rem .8rem;border-radius:999px;
  }
  .tl-dur.big{background:linear-gradient(100deg,#E7A94A,#F0C36A);box-shadow:0 4px 14px rgba(240,195,106,.4)}
  .tl-step h3{margin-top:1rem;text-transform:uppercase;font-size:1rem;letter-spacing:.04em}
  .tl-step p{margin-top:.55rem;font-size:.95rem;max-width:34ch}
  @media(max-width:760px){
    .timeline{grid-template-columns:1fr;gap:2.4rem}
    .timeline::before{left:29px;right:auto;top:60px;bottom:60px;width:2px;height:auto;
      background:linear-gradient(180deg,var(--copper),var(--gold))}
    .tl-step{flex-direction:row;align-items:flex-start;text-align:left;gap:1.1rem}
    .tl-node{flex:0 0 60px}
    .tl-body{display:flex;flex-direction:column;align-items:flex-start}
    .tl-dur{margin-top:.2rem}
    .tl-step h3,.tl-step p{margin-top:.55rem}
  }

  /* ---------- contact ---------- */
  .contact{position:relative;overflow:hidden}
  .contact-glow{
    position:absolute;left:50%;top:-60px;width:760px;height:460px;margin-left:-380px;
    background:radial-gradient(ellipse at center,rgba(30,58,110,.18),transparent 70%);
    filter:blur(50px);pointer-events:none;
  }
  .cta-final-inner{position:relative;text-align:center;max-width:640px;margin:0 auto}
  .cta-final-inner h2{margin-bottom:1rem}
  .cta-final-inner .sub{max-width:44ch;margin:0 auto 2.2rem}
  .cta-final-meta{display:block;margin-top:1.4rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--line);padding:3.2rem 0 2.6rem;font-size:.9rem}
  .footer-grid{display:flex;flex-wrap:wrap;gap:2.4rem;justify-content:space-between;align-items:flex-start}
  .footer-brand{display:flex;align-items:center;gap:.55rem;color:var(--text);font-family:var(--font-display);font-weight:600}
  .footer-brand svg{height:26px;width:auto}
  .footer-meta{
    font-family:var(--font-mono);font-size:.76rem;letter-spacing:.05em;
    color:var(--faint);line-height:2;
  }
  .footer-meta a{color:var(--muted);text-decoration:none;transition:color .2s}
  .footer-meta a:hover{color:var(--text)}
  .footer-links{display:flex;gap:1.6rem;list-style:none;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.05em}
  .footer-links a{color:var(--muted);text-decoration:none;transition:color .2s}
  .footer-links a:hover{color:var(--text)}
  .footer-svc{flex-direction:column;gap:.6rem}

  /* ---------- premium interactions ---------- */
  .progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:130;pointer-events:none}
  .progress i{display:block;height:100%;background:linear-gradient(90deg,#A05C28,#F0C36A);transform:scaleX(0);transform-origin:0 50%}

  .nav-links a{position:relative;padding-bottom:4px}
  .nav-links a.active{color:var(--text)}
  .nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--gold)}

  /* services dropdown */
  .svc-menu{position:relative}
  .svc-toggle{
    display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;padding:0;
    color:var(--muted);font-family:var(--font-body);font-size:.96rem;font-weight:500;transition:color .2s;
  }
  .svc-toggle:hover,.svc-menu.open .svc-toggle{color:var(--text)}
  .svc-toggle svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .25s}
  .svc-menu.open .svc-toggle svg{transform:rotate(180deg)}
  .svc-dropdown{
    position:absolute;top:calc(100% + 14px);left:50%;
    width:640px;max-width:calc(100vw - 32px);
    background:#0B0F1A;border:1px solid var(--line);border-radius:12px;padding:1.3rem 1.5rem 1rem;
    box-shadow:0 20px 44px rgba(5,8,16,.6);opacity:0;pointer-events:none;
    transform:translateX(-50%) translateY(-6px);transition:opacity .2s,transform .2s;z-index:120;
  }
  /* invisible bridge so hover survives the gap between button and panel */
  .svc-dropdown::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
  .svc-menu:hover .svc-dropdown,.svc-menu.open .svc-dropdown,.svc-menu:focus-within .svc-dropdown{
    opacity:1;pointer-events:auto;transform:translateX(-50%)
  }
  .dd-head{font-family:var(--font-body);font-weight:600;font-size:.92rem;color:var(--text)}
  .svc-dropdown .dd-sep{display:block;height:1px;background:var(--line);margin:.85rem 0}
  .dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem 1.3rem}
  .dd-item{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem;border-radius:8px;text-decoration:none;transition:background .18s}
  .dd-item:hover,.dd-item:focus-visible{background:rgba(126,147,196,.1)}
  .dd-icon{flex:0 0 32px;width:32px;height:32px;border-radius:7px;background:rgba(126,147,196,.14);border:1px solid rgba(126,147,196,.22);display:flex;align-items:center;justify-content:center}
  .dd-icon svg{width:16px;height:16px;stroke:var(--violet);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .dd-text{display:flex;flex-direction:column;min-width:0}
  .dd-item-title{font-family:var(--font-body);font-weight:600;font-size:.85rem;color:var(--text);line-height:1.3}
  .dd-item-desc{font-size:.75rem;color:var(--muted);line-height:1.35;margin-top:.15rem}
  .dd-foot{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}
  .dd-foot .dd-all{color:var(--violet);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.3rem 0}
  .dd-foot .dd-all:hover{color:var(--text)}
  @media(max-width:700px){
    .svc-dropdown{position:fixed;left:16px;right:16px;top:74px;width:auto;max-width:none;transform:none;max-height:calc(100vh - 94px);overflow-y:auto}
    .svc-menu:hover .svc-dropdown,.svc-menu.open .svc-dropdown,.svc-menu:focus-within .svc-dropdown{transform:none}
    .dd-grid{grid-template-columns:1fr}
  }

  .nav-burger{
    display:none;background:none;border:1px solid var(--line);border-radius:6px;
    width:40px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;
  }
  .nav-burger span{display:block;width:18px;height:2px;background:var(--text);transition:transform .25s,opacity .25s}
  .nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  @media(max-width:760px){.nav-burger{display:flex}}
  /* the slide-out menu carries the CTA on small screens, give the burger the room */
  @media(max-width:540px){.nav .nav-cta{display:none}}

  .menu-overlay{position:fixed;inset:0;background:rgba(5,7,12,.6);opacity:0;pointer-events:none;transition:opacity .3s;z-index:118}
  .mobile-menu{
    position:fixed;top:0;right:0;bottom:0;width:min(80vw,320px);background:#0B0F1A;
    border-left:1px solid var(--line);z-index:120;transform:translateX(102%);transition:transform .32s ease;
    display:flex;flex-direction:column;padding:5.4rem 1.8rem 2rem;overflow-y:auto;
  }
  .mobile-menu .mm-head{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:1.2rem;padding-bottom:.4rem}
  .mobile-menu .mm-svc{font-size:1rem;font-weight:600;padding:.7rem 0}
  body.menu-open .menu-overlay{opacity:1;pointer-events:auto}
  body.menu-open .mobile-menu{transform:none}
  body.menu-open{overflow:hidden}
  .mobile-menu a{
    color:var(--text);text-decoration:none;font-family:var(--font-display);font-weight:700;
    font-size:1.3rem;letter-spacing:-0.02em;padding:.95rem 0;border-bottom:1px solid var(--line);
  }
  .mobile-menu .mm-phone{font-family:var(--font-mono);font-weight:400;font-size:.95rem;color:var(--muted);letter-spacing:.04em}
  .mobile-menu .mm-cta{
    margin-top:1.6rem;border-bottom:none;text-align:center;background:var(--gold);color:#0B1120;
    border-radius:6px;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;padding:1rem;
  }

  .btn-ghost{
    display:inline-block;text-decoration:none;color:var(--text);
    font-family:var(--font-display);font-weight:700;font-size:.92rem;
    text-transform:uppercase;letter-spacing:.05em;
    padding:1rem 1.7rem;border-radius:6px;border:1px solid rgba(126,147,196,.45);
    background:rgba(255,255,255,.04);transition:border-color .2s,box-shadow .2s,transform .2s;
  }
  .btn-ghost:hover{border-color:rgba(126,147,196,.9);transform:translateY(-2px);box-shadow:0 0 18px rgba(126,147,196,.2)}

  /* opening curtain, plays once per session, then --intro-delay collapses to 0 */
  :root{--intro-delay:.95s}
  html.intro-seen{--intro-delay:0s}
  .intro{
    position:fixed;inset:0;z-index:200;background:var(--bg);pointer-events:none;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.3rem;
    animation:introLift .5s cubic-bezier(.7,0,.3,1) 1.05s forwards;
  }
  .intro svg{height:76px;width:auto;opacity:0;animation:rise .5s .05s ease forwards}
  .intro-bar{width:0;height:3px;background:linear-gradient(90deg,#A05C28,#F0C36A);animation:introBar .45s .32s ease forwards}
  .intro-name{
    font-family:var(--font-mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;
    color:var(--muted);opacity:0;animation:rise .5s .42s ease forwards;
  }
  @keyframes introLift{to{transform:translateY(-101%)}}
  @keyframes introBar{to{width:130px}}
  html.intro-seen .intro{display:none}

  @keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  .hero-copy>*{animation:rise .6s ease both;animation-delay:var(--intro-delay)}
  .hero-copy>*:nth-child(2){animation-delay:calc(var(--intro-delay) + .08s)}
  .hero-copy>*:nth-child(3){animation-delay:calc(var(--intro-delay) + .16s)}
  .hero-copy>*:nth-child(4){animation-delay:calc(var(--intro-delay) + .24s)}
  .hero-art{animation:rise .8s ease both;animation-delay:calc(var(--intro-delay) + .2s)}
  @keyframes bob{from{transform:translateY(-5px)}to{transform:translateY(5px)}}
  .float-a{animation:bob 5.5s ease-in-out infinite alternate}
  .float-b{animation:bob 6.5s .6s ease-in-out infinite alternate}
  .float-c{animation:bob 7s 1.1s ease-in-out infinite alternate}

  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:4.5rem;border-top:1px solid var(--line);padding-top:2.4rem}
  @media(max-width:820px){.stats{grid-template-columns:repeat(2,1fr)}}
  .stat-num{
    font-family:var(--font-display);font-weight:800;letter-spacing:-0.02em;
    font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1;display:inline-block;
    background:linear-gradient(120deg,#D9A84E,#F0C36A 55%,#FFE3A8);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .stat-label{display:block;margin-top:.5rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}

  .trades{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.6rem;padding:0}
  .trades li{
    list-style:none;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
    color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:.4rem .7rem;
  }

  .trades-panel{
    max-width:860px;margin:0 auto 3.4rem;padding:2.2rem 1.8rem;text-align:center;
    background:#fff;border:1px solid rgba(30,58,110,.14);border-radius:14px;
    box-shadow:0 20px 50px rgba(17,30,56,.06);
  }
  .trades-panel-label{
    display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
    color:#7C4715;margin-bottom:1.2rem;
  }
  .trades-panel .trades{justify-content:center;margin-top:0}
  .trades-panel .trades li{
    font-size:.72rem;padding:.5rem .85rem;border-radius:6px;font-weight:600;
    border-color:rgba(30,58,110,.16);transition:border-color .2s,color .2s;
  }
  .trades-panel .trades li:hover{border-color:var(--copper);color:#7C4715}
  .trades-panel-more{
    display:block;margin-top:1.2rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;
    color:#7C4715;font-style:italic;
  }
  @media(max-width:640px){.trades-panel{padding:1.8rem 1.2rem}}

  .card details{margin-top:1rem;border-top:1px solid var(--line);padding-top:.8rem}
  .card summary{
    cursor:pointer;list-style:none;font-family:var(--font-mono);font-size:.7rem;
    letter-spacing:.12em;text-transform:uppercase;color:var(--violet);
    display:flex;align-items:center;gap:.5rem;
  }
  .card summary::-webkit-details-marker{display:none}
  .card summary::before{content:"+"}
  .card details[open] summary::before{content:"–"}
  .card details ul{margin:.4rem 0 0;padding:0}
  .card details li{list-style:none;position:relative;padding-left:1.1rem;font-size:.9rem;color:var(--muted);margin-top:.55rem}
  .card details li::before{content:"✓";position:absolute;left:0;color:var(--violet);font-family:var(--font-mono);font-size:.8rem}
  .card-link{
    display:inline-flex;align-items:center;gap:.5rem;margin-top:1.3rem;
    font-family:var(--font-display);font-weight:700;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;
    color:var(--text);text-decoration:none;padding:.62rem 1.05rem;border-radius:6px;
    border:1px solid rgba(126,147,196,.4);background:rgba(126,147,196,.06);
    transition:border-color .2s,background .2s,gap .2s;
  }
  .card-link:hover{gap:.75rem;border-color:rgba(126,147,196,.9);background:rgba(126,147,196,.14)}

  /* big brand mark, the logo as a statement, not just the nav chip */
  .brandmark{text-align:center;padding:20px 0 40px}
  .brandmark svg{height:132px;width:auto;filter:drop-shadow(0 8px 30px rgba(11,17,32,.6))}
  .brandmark .wm{
    display:block;margin-top:.4rem;font-family:var(--font-mono);font-size:.72rem;
    letter-spacing:.34em;text-transform:uppercase;color:var(--faint);
  }
  @media(max-width:600px){.brandmark svg{height:96px}}

  .float-call{
    position:fixed;left:16px;bottom:16px;z-index:112;width:56px;height:56px;border-radius:8px;
    background:var(--gold);display:none;align-items:center;justify-content:center;
    box-shadow:0 12px 32px rgba(5,8,16,.6);transform:translateY(80px);opacity:0;
    transition:transform .3s,opacity .3s;
  }
  .float-call svg{width:24px;height:24px;stroke:#0B1120;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .float-call.show{transform:none;opacity:1}
  @media(max-width:760px){.float-call{display:flex}}

  /* ---------- reduced motion ---------- */
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .orb{animation:none}
    .reveal{opacity:1;transform:none;transition:none}
    .btn-primary,.btn-submit,.btn-ghost{transition:none}
    .hero-copy>*,.hero-art,.float-a,.float-b,.float-c{animation:none}
    .intro{display:none}
  }
