  :root{
    --bg:#0A0B0F;
    --bg-2:#0E1017;
    --surface:rgba(255,255,255,0.035);
    --surface-2:rgba(255,255,255,0.055);
    --border:rgba(255,255,255,0.09);
    --border-strong:rgba(255,255,255,0.18);
    --ember:#FF6A39;
    --ember-2:#FF9260;
    --gold:#FFB238;
    --jade:#22C58D;
    --jade-2:#5EE7AE;
    --text:#F4F2EC;
    --dim:#9B9DA8;
    --dimmer:#63656F;
    --radius-lg:22px;
    --radius-md:16px;
    --maxw:1220px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; background:var(--bg); color:var(--text);
    font-family:'Manrope', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Sora', sans-serif; font-weight:700; margin:0; letter-spacing:-0.015em;}
  .mono{font-family:'IBM Plex Mono', monospace;}
  a{color:inherit;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
  section{position:relative;}
  img,svg{display:block;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  /* ---------- backdrop texture ---------- */
  .grid-overlay{
    position:fixed; inset:0; z-index:0; pointer-events:none; opacity:0.5;
    background-image:
      linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, black 40%, transparent 85%);
  }
  .mesh{
    position:fixed; z-index:0; pointer-events:none; border-radius:50%; filter:blur(90px);
  }
  .mesh-1{ width:640px; height:640px; top:-220px; left:-160px; background:radial-gradient(circle, rgba(255,106,57,0.28), transparent 70%); }
  .mesh-2{ width:560px; height:560px; top:-100px; right:-200px; background:radial-gradient(circle, rgba(34,197,141,0.16), transparent 70%); }

  /* ---------- glass helpers ---------- */
  .glass{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    backdrop-filter:blur(20px);
  }
  .glass-hover{transition:border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;}
  .glass-hover:hover{border-color:var(--border-strong); background:var(--surface-2); transform:translateY(-3px);}

  /* ---------- nav ---------- */
  header{position:sticky; top:0; z-index:60; padding-top:18px;}
  .nav-shell{
    max-width:var(--maxw); margin:0 auto; padding:0 32px;
  }
  nav.pill{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 14px 12px 22px; border-radius:999px;
    background:rgba(14,15,20,0.72); border:1px solid var(--border);
    backdrop-filter:blur(20px);
  }
  .logo{display:flex; align-items:center; gap:10px; font-family:'Sora',sans-serif; font-weight:700; font-size:1.14rem; text-decoration:none;}
  .logo .mark{
    width:24px; height:24px; border-radius:8px;
    background:conic-gradient(from 220deg, var(--gold), var(--ember), #b83b16, var(--gold));
    box-shadow:0 0 16px rgba(255,106,57,0.5);
  }
  .nav-links-list{display:flex; gap:30px; list-style:none; padding:0; margin:0;}
  .nav-links-list a{font-size:0.88rem; text-decoration:none; color:var(--dim); transition:color 0.2s ease;}
  .nav-links-list a:hover{color:var(--text);}
  .btn{
    display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:999px;
    font-size:0.86rem; font-weight:700; text-decoration:none; cursor:pointer; border:1px solid transparent;
    transition:transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
    font-family:'Manrope', sans-serif;
  }
  .btn:active{transform:translateY(1px);}
  .btn-ember{ background:linear-gradient(135deg, var(--gold), var(--ember)); color:#1a0d05; box-shadow:0 8px 22px -8px rgba(255,106,57,0.7); }
  .btn-ember:hover{ box-shadow:0 12px 30px -6px rgba(255,106,57,0.85); transform:translateY(-1px); }
  .btn-ghost{ background:rgba(255,255,255,0.04); color:var(--text); border-color:var(--border); }
  .btn-ghost:hover{ background:rgba(255,255,255,0.08); border-color:var(--border-strong); }
  .btn-jade{ background:linear-gradient(135deg, var(--jade-2), var(--jade)); color:#052a20; box-shadow:0 8px 22px -8px rgba(34,197,141,0.6); }
  .btn-jade:hover{ box-shadow:0 12px 30px -6px rgba(34,197,141,0.8); transform:translateY(-1px); }
  .btn-lg{padding:15px 28px; font-size:0.95rem;}

  /* ---------- hero ---------- */
  .hero{padding:88px 0 0; position:relative; z-index:1;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:9px; font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--gold);
    border:1px solid rgba(255,178,56,0.3); background:rgba(255,178,56,0.07);
    padding:7px 15px; border-radius:999px; margin-bottom:28px;
  }
  .eyebrow .dot{width:6px; height:6px; border-radius:50%; background:var(--jade-2); box-shadow:0 0 8px var(--jade-2); animation:blink 2s ease-in-out infinite;}
  @keyframes blink{ 50%{ opacity:0.4; } }
  .hero-grid{display:grid; grid-template-columns:1.08fr 0.92fr; gap:60px; align-items:center;}
  .hero h1{ font-size:clamp(2.5rem, 4.4vw, 3.7rem); line-height:1.08; }
  .swap-word{
    display:inline-block; position:relative; background:linear-gradient(100deg, var(--gold), var(--ember-2));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.lede{margin-top:24px; font-size:1.14rem; line-height:1.65; color:var(--dim); max-width:520px;}
  .hero-ctas{display:flex; gap:14px; margin-top:36px; flex-wrap:wrap;}

  .stat-strip{ display:flex; gap:0; margin-top:56px; border-top:1px solid var(--border); padding-top:28px; }
  .stat-strip .stat{ flex:1; padding-right:24px; }
  .stat-strip .stat + .stat{ border-left:1px solid var(--border); padding-left:24px; }
  .stat .num{ font-family:'Sora',sans-serif; font-weight:700; font-size:1.7rem; color:var(--text); }
  .stat .num span{ color:var(--gold); }
  .stat .lbl{ font-size:0.8rem; color:var(--dimmer); margin-top:4px; }

  /* ---------- phone mockup ---------- */
  .phone-stage{position:relative; display:flex; justify-content:center;}
  .phone-glow{
    position:absolute; width:440px; height:440px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,106,57,0.32), rgba(255,178,56,0.1) 55%, transparent 72%);
    filter:blur(14px); top:50%; left:50%; transform:translate(-50%,-50%);
    animation:pulse-glow 6s ease-in-out infinite;
  }
  @keyframes pulse-glow{ 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:0.85;} 50%{ transform:translate(-50%,-50%) scale(1.07); opacity:1;} }
  .phone{
    position:relative; width:288px; height:584px; background:#050506; border-radius:38px; padding:11px;
    box-shadow:0 40px 90px -20px rgba(0,0,0,0.75), 0 0 0 1px rgba(255,255,255,0.06) inset; z-index:1;
  }
  .phone-screen{ width:100%; height:100%; border-radius:28px; overflow:hidden; background:linear-gradient(180deg, #0e1a17 0%, #0a1412 100%); display:flex; flex-direction:column; position:relative; }
  .chat-header{ display:flex; align-items:center; gap:10px; padding:15px 16px 11px; background:rgba(8,12,10,0.5); border-bottom:1px solid rgba(255,255,255,0.06); }
  .chat-avatar{ width:32px; height:32px; border-radius:50%; background:conic-gradient(from 220deg, var(--gold), var(--ember)); }
  .chat-header .name{font-size:0.85rem; font-weight:700; color:#fff; font-family:'Sora',sans-serif;}
  .chat-header .status{font-size:0.66rem; color:var(--jade-2); font-family:'IBM Plex Mono', monospace;}
  .chat-body{ flex:1; padding:15px; display:flex; flex-direction:column; gap:9px; background-image:radial-gradient(rgba(255,255,255,0.03) 1px, transparent 1px); background-size:14px 14px; overflow:hidden; }
  .bubble{ max-width:80%; padding:9px 13px; border-radius:14px; font-size:0.81rem; line-height:1.4; opacity:0; transform:translateY(8px) scale(0.98); animation:pop-in 0.4s ease forwards; font-family:'Manrope',sans-serif;}
  @keyframes pop-in{ to{ opacity:1; transform:translateY(0) scale(1);} }
  .bubble.them{ align-self:flex-start; background:#1a2624; color:#eef4f1; border-bottom-left-radius:4px; }
  .bubble.me{ align-self:flex-end; background:linear-gradient(135deg,#d9f5c4,#c3edb0); color:#12250c; border-bottom-right-radius:4px; }
  .typing-row{ align-self:flex-start; display:flex; gap:4px; padding:9px 13px; background:#1a2624; border-radius:14px; border-bottom-left-radius:4px; opacity:0; }
  .typing-row.show{opacity:1;}
  .typing-row span{ width:6px; height:6px; border-radius:50%; background:#8fa89f; animation:bounce 1s infinite; }
  .typing-row span:nth-child(2){animation-delay:0.15s;} .typing-row span:nth-child(3){animation-delay:0.3s;}
  @keyframes bounce{ 0%,60%,100%{transform:translateY(0);} 30%{transform:translateY(-4px);} }
  .chat-footer{ padding:10px 14px 15px; display:flex; align-items:center; gap:8px; }
  .chat-input{ flex:1; height:33px; border-radius:999px; background:rgba(255,255,255,0.07); font-size:0.7rem; color:rgba(255,255,255,0.35); display:flex; align-items:center; padding:0 14px; font-family:'IBM Plex Mono', monospace; }
  .replied-badge{ position:absolute; top:-14px; right:-10px; z-index:2; background:var(--bg-2); border:1px solid rgba(255,178,56,0.4); padding:8px 12px; border-radius:12px; font-size:0.66rem; color:var(--gold); font-family:'IBM Plex Mono', monospace; box-shadow:0 10px 24px -8px rgba(0,0,0,0.6); }

  /* ---------- trust marquee ---------- */
  .marquee-wrap{ padding:56px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); margin-top:80px; position:relative; z-index:1; overflow:hidden; }
  .marquee-label{ text-align:center; font-size:0.8rem; color:var(--dimmer); margin-bottom:26px; }
  .marquee-track{ display:flex; gap:14px; width:max-content; animation:scroll-left 26s linear infinite; }
  @keyframes scroll-left{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
  .chip{ display:flex; align-items:center; gap:8px; padding:10px 20px; border-radius:999px; border:1px solid var(--border); background:var(--surface); font-size:0.86rem; color:var(--dim); white-space:nowrap; }
  .chip .ico{color:var(--jade-2);}

  /* ---------- section shell ---------- */
  .section{padding:120px 0; position:relative; z-index:1;}
  .kicker{ font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--ember-2); margin-bottom:16px; display:block; }
  .section-head{max-width:660px; margin-bottom:56px;}
  .section-head h2{font-size:clamp(1.9rem, 3.1vw, 2.55rem); line-height:1.16;}
  .section-head h2 .accent{ background:linear-gradient(100deg, var(--gold), var(--ember-2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .section-head p{margin-top:16px; font-size:1.03rem; line-height:1.6; color:var(--dim);}

  /* ---------- pain cards ---------- */
  .pain-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .pain-card{padding:30px 26px;}
  .pain-card .clock{font-family:'IBM Plex Mono', monospace; font-size:0.76rem; color:var(--ember-2); margin-bottom:18px; display:inline-block;}
  .pain-card h3{font-size:1.1rem; font-weight:700; margin-bottom:10px;}
  .pain-card p{font-size:0.92rem; line-height:1.6; color:var(--dim); margin:0;}

  /* ---------- capability hover-expand ---------- */
  .cap-shell{display:grid; grid-template-columns:0.85fr 1.15fr; gap:24px;}
  .cap-list{display:flex; flex-direction:column; gap:10px;}
  .cap-item{ padding:20px 22px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; transition:border-color 0.25s ease, background 0.25s ease; }
  .cap-item .cn{ display:flex; align-items:center; gap:16px; }
  .cap-item .num{ font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--dimmer); }
  .cap-item h4{font-size:1.02rem; font-weight:700;}
  .cap-item .tag{font-size:0.72rem; color:var(--dimmer); margin-top:2px;}
  .cap-item .arrow{color:var(--dimmer); transition:transform 0.25s ease, color 0.25s ease; font-size:1.1rem;}
  .cap-item.active{ border-color:var(--border-strong); background:var(--surface-2); }
  .cap-item.active .num{color:var(--gold);}
  .cap-item.active .arrow{ transform:rotate(90deg); color:var(--gold); }
  .cap-detail{ padding:38px; display:flex; flex-direction:column; }
  .cap-detail .status-row{display:flex; align-items:center; gap:10px; margin-bottom:20px;}
  .status-pill{font-family:'IBM Plex Mono', monospace; font-size:0.68rem; padding:4px 10px; border-radius:6px;}
  .status-live{background:rgba(34,197,141,0.15); color:var(--jade-2);}
  .status-soon{background:rgba(255,178,56,0.15); color:var(--gold);}
  .cap-detail h3{font-size:1.5rem; margin-bottom:14px;}
  .cap-detail p{font-size:0.98rem; line-height:1.65; color:var(--dim); margin:0 0 24px;}
  .cap-feats{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px;}
  .cap-feats li{ display:flex; gap:10px; font-size:0.9rem; color:var(--dim); }
  .cap-feats li .ico{color:var(--jade-2); flex-shrink:0;}

  /* ---------- live demo ---------- */
  .demo-shell{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  .demo-tabs{display:flex; flex-direction:column; gap:12px;}
  .demo-tab{ text-align:left; padding:18px 20px; cursor:pointer; color:var(--text); transition:border-color 0.2s ease, background 0.2s ease; }
  .demo-tab strong{display:block; font-size:0.98rem; margin-bottom:4px; font-family:'Sora', sans-serif; font-weight:700;}
  .demo-tab span{font-size:0.85rem; color:var(--dim);}
  .demo-tab.active{border-color:var(--ember); background:rgba(255,106,57,0.08);}
  .demo-tab.active strong{color:var(--gold);}

  /* ---------- dashboard mock ---------- */
  .dash-mock{padding:24px;}
  .dash-top{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}
  .dash-top .dots{display:flex; gap:6px;}
  .dash-top .dots span{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,0.14);}
  .dash-cols{display:grid; grid-template-columns:1.1fr 0.9fr; gap:16px;}
  .dash-panel{background:rgba(255,255,255,0.03); border-radius:14px; padding:18px; border:1px solid var(--border);}
  .dash-panel h4{margin:0 0 12px; font-size:0.78rem; color:var(--dimmer); font-family:'IBM Plex Mono', monospace; text-transform:uppercase; letter-spacing:0.06em; font-weight:500;}
  .dash-row{display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px dashed var(--border); font-size:0.85rem;}
  .dash-row:last-child{border-bottom:none;}
  .pill{font-size:0.66rem; padding:4px 10px; border-radius:999px; font-family:'IBM Plex Mono', monospace;}
  .pill-jade{background:rgba(34,197,141,0.15); color:var(--jade-2);}
  .pill-ember{background:rgba(255,106,57,0.15); color:var(--ember-2);}
  .cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:5px; margin-top:6px;}
  .cal-cell{aspect-ratio:1; border-radius:5px; background:rgba(255,255,255,0.04);}
  .cal-cell.filled{background:var(--jade);}
  .cal-cell.busy{background:var(--gold);}

  /* ---------- process ---------- */
  .process-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .process-card{padding:28px 24px; position:relative;}
  .process-card .pn{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color:var(--gold); display:block; margin-bottom:18px;}
  .process-card h4{font-size:1.05rem; margin-bottom:10px;}
  .process-card p{font-size:0.88rem; line-height:1.55; color:var(--dim); margin:0 0 16px;}
  .process-card .tt{font-family:'IBM Plex Mono', monospace; font-size:0.7rem; color:var(--jade-2); border-top:1px solid var(--border); padding-top:14px; display:block;}
  .process-connector{ position:absolute; top:32px; right:-20px; width:20px; height:1px; background:var(--border); display:none; }
  @media(min-width:981px){ .process-card:not(:last-child) .process-connector{display:block;} }

  /* ---------- local trust ---------- */
  .trust-band{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .trust-band h2{font-size:clamp(1.8rem,3vw,2.4rem); line-height:1.2;}
  .trust-band > div > p{color:var(--dim); font-size:1rem; line-height:1.7; margin-top:20px;}
  .founder-strip{margin-top:28px; display:flex; align-items:center; gap:14px; padding:16px 18px;}
  .founder-strip .initial{ width:40px; height:40px; border-radius:50%; flex-shrink:0; background:conic-gradient(from 220deg, var(--gold), var(--ember)); display:flex; align-items:center; justify-content:center; font-family:'Sora',sans-serif; font-weight:700; color:#1a0d05; }
  .founder-strip p{margin:0; font-size:0.86rem; color:var(--dim); line-height:1.5;}
  .locale-card{padding:36px;}
  .locale-card .mono{font-size:0.74rem; color:var(--gold); text-transform:uppercase; letter-spacing:0.1em;}
  .locale-list{list-style:none; margin:22px 0 0; padding:0; display:flex; flex-direction:column; gap:16px;}
  .locale-list li{display:flex; gap:12px; font-size:0.92rem; color:var(--dim); line-height:1.5;}
  .locale-list li .ico{color:var(--jade-2); flex-shrink:0;}

  /* ---------- investment ---------- */
  .invest-shell{display:grid; grid-template-columns:1fr; gap:16px;}
  .invest-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:56px;}
  .invest-step{padding:28px 26px;}
  .invest-step .st{font-family:'IBM Plex Mono', monospace; font-size:0.7rem; color:var(--gold); letter-spacing:0.08em; margin-bottom:14px; display:block;}
  .invest-step h4{font-size:1.02rem; margin-bottom:10px;}
  .invest-step p{font-size:0.87rem; line-height:1.55; color:var(--dim); margin:0;}

  .pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .plan{padding:32px 28px; display:flex; flex-direction:column;}
  .plan.featured{ border-color:var(--ember); background:linear-gradient(180deg, rgba(255,106,57,0.1), var(--surface) 45%); position:relative; }
  .plan.featured::before{ content:'Most chosen'; position:absolute; top:-13px; left:28px; background:var(--ember); color:#1a0d05; font-family:'IBM Plex Mono', monospace; font-size:0.66rem; padding:4px 10px; border-radius:999px; font-weight:700; }
  .plan h3{font-size:1.25rem;}
  .plan .plan-sub{font-size:0.87rem; color:var(--dim); margin-top:8px; min-height:40px;}
  .plan-price{font-family:'IBM Plex Mono', monospace; font-size:1.35rem; color:var(--gold); margin:22px 0 4px;}
  .plan-price small{font-size:0.68rem; color:var(--dimmer); font-weight:400;}
  .plan ul{list-style:none; padding:0; margin:22px 0 26px; display:flex; flex-direction:column; gap:11px; flex:1;}
  .plan ul li{font-size:0.86rem; color:var(--dim); display:flex; gap:9px; line-height:1.5;}
  .plan ul li .ico{color:var(--jade-2); flex-shrink:0;}

  /* ---------- final cta ---------- */
  .final-cta{padding:20px 0 0;}
  .cta-glass{padding:64px 56px; text-align:center; position:relative; overflow:hidden;}
  .cta-glass::before{ content:''; position:absolute; inset:0; background:radial-gradient(120% 160% at 50% 0%, rgba(255,106,57,0.14), transparent 60%); pointer-events:none; }
  .cta-glass h2{font-size:clamp(2rem,4vw,2.9rem); max-width:620px; margin:0 auto; line-height:1.15; position:relative;}
  .cta-glass > p{margin:20px auto 0; max-width:480px; color:var(--dim); font-size:1.02rem; position:relative;}
  .final-ctas{display:flex; gap:16px; justify-content:center; margin-top:34px; flex-wrap:wrap; position:relative;}
  .cta-stats{display:flex; justify-content:center; gap:0; margin-top:52px; border-top:1px solid var(--border); padding-top:30px; position:relative; flex-wrap:wrap;}
  .cta-stats .stat{ padding:0 30px; text-align:center; }
  .cta-stats .stat + .stat{border-left:1px solid var(--border);}
  .next-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:56px; position:relative;}
  .next-step{ text-align:left; padding:20px; border-radius:14px; background:rgba(255,255,255,0.03); border:1px solid var(--border); }
  .next-step .nn{font-family:'IBM Plex Mono', monospace; font-size:0.7rem; color:var(--gold); display:block; margin-bottom:10px;}
  .next-step h5{font-size:0.92rem; margin-bottom:6px; font-family:'Sora',sans-serif; font-weight:700;}
  .next-step p{font-size:0.8rem; color:var(--dim); margin:0; line-height:1.5;}
  .direct-contacts{ display:flex; justify-content:center; gap:28px; margin-top:36px; flex-wrap:wrap; position:relative; font-size:0.9rem; }
  .direct-contacts a{text-decoration:none; color:var(--text); display:flex; align-items:center; gap:8px;}
  .direct-contacts a:hover{color:var(--gold);}

  footer{border-top:1px solid var(--border); padding:52px 0 36px; position:relative; z-index:1;}
  .foot-grid{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:24px;}
  .foot-brand p{color:var(--dimmer); font-size:0.85rem; margin-top:10px; max-width:280px; line-height:1.5;}
  .foot-links{display:flex; gap:44px; flex-wrap:wrap;}
  .foot-col h5{font-family:'IBM Plex Mono', monospace; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--dimmer); margin:0 0 14px; font-weight:500;}
  .foot-col a{display:block; font-size:0.86rem; color:var(--dim); text-decoration:none; margin-bottom:10px;}
  .foot-col a:hover{color:var(--text);}
  .foot-bottom{margin-top:40px; padding-top:24px; border-top:1px solid var(--border); font-size:0.78rem; color:var(--dimmer); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

  :focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
  ::selection{background:var(--ember); color:#1a0d05;}

  @media (max-width: 980px){
    .hero-grid{grid-template-columns:1fr; gap:52px;}
    .phone-stage{order:-1;}
    .stat-strip{flex-wrap:wrap; gap:20px;}
    .stat-strip .stat{flex:1 1 40%; padding-right:0; border-left:none !important; padding-left:0 !important;}
    .pain-grid{grid-template-columns:1fr;}
    .cap-shell{grid-template-columns:1fr;}
    .demo-shell{grid-template-columns:1fr;}
    .process-grid{grid-template-columns:1fr 1fr;}
    .trust-band{grid-template-columns:1fr;}
    .pricing-grid{grid-template-columns:1fr;}
    .invest-steps{grid-template-columns:1fr;}
    .next-steps{grid-template-columns:1fr 1fr;}
    .nav-links-list{display:none;}
    .dash-cols{grid-template-columns:1fr;}
    .cta-glass{padding:48px 26px;}
    .cta-stats{gap:20px;}
    .cta-stats .stat{border-left:none !important; padding:0 16px;}
  }
  @media (max-width: 560px){
    .process-grid{grid-template-columns:1fr;}
    .next-steps{grid-template-columns:1fr;}
    .wrap{padding:0 20px;}
    .nav-shell{padding:0 16px;}
    .phone{width:100%; max-width:280px;}
  }

  /* ---------- mobile nav ---------- */
  .nav-toggle{
    display:none; background:none; border:none; cursor:pointer; padding:8px;
    color:var(--text); align-items:center; justify-content:center;
  }
  .nav-toggle svg{width:22px; height:22px;}
  .mobile-menu{
    display:none; position:fixed; inset:0; z-index:70;
    background:rgba(6,7,10,0.97); backdrop-filter:blur(20px);
    flex-direction:column; padding:100px 32px 40px;
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu a{
    font-family:'Sora',sans-serif; font-size:1.5rem; font-weight:700; color:var(--text);
    text-decoration:none; padding:16px 0; border-bottom:1px solid var(--border);
  }
  .mobile-menu .btn{margin-top:28px; justify-content:center;}
  .mobile-close{ position:absolute; top:28px; right:28px; background:none; border:none; color:var(--text); cursor:pointer; padding:8px; }
  .mobile-close svg{width:24px; height:24px;}
  @media (max-width:980px){ .nav-toggle{display:flex;} }

  /* ---------- legal pages ---------- */
  .legal-hero{ padding:150px 0 60px; position:relative; z-index:1; }
  .legal-hero h1{ font-size:clamp(2.1rem, 4vw, 3rem); line-height:1.12; max-width:760px; }
  .legal-hero .updated{ margin-top:18px; font-size:0.86rem; color:var(--dimmer); }
  .legal-body{ padding:0 0 120px; position:relative; z-index:1; }
  .legal-shell{ display:grid; grid-template-columns:260px 1fr; gap:56px; align-items:start; }
  .legal-toc{ position:sticky; top:110px; display:flex; flex-direction:column; gap:4px; }
  .legal-toc a{
    font-size:0.85rem; color:var(--dim); text-decoration:none; padding:9px 14px; border-radius:10px;
    transition:background 0.2s ease, color 0.2s ease;
  }
  .legal-toc a:hover{ background:var(--surface); color:var(--text); }
  .legal-content{ padding:44px 48px; max-width:760px; }
  .legal-content h2{ font-size:1.35rem; margin:40px 0 16px; padding-top:8px; scroll-margin-top:110px; }
  .legal-content h2:first-child{ margin-top:0; }
  .legal-content h3{ font-size:1.05rem; margin:26px 0 12px; font-family:'Manrope',sans-serif; font-weight:700; }
  .legal-content p{ font-size:0.96rem; line-height:1.75; color:var(--dim); margin:0 0 16px; }
  .legal-content ul, .legal-content ol{ margin:0 0 16px; padding-left:22px; }
  .legal-content li{ font-size:0.96rem; line-height:1.75; color:var(--dim); margin-bottom:8px; }
  .legal-content strong{ color:var(--text); }
  .legal-content a.inline-link{ color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
  .legal-note{
    margin:28px 0; padding:18px 20px; border-radius:14px; border:1px solid rgba(255,178,56,0.3);
    background:rgba(255,178,56,0.06); font-size:0.88rem; line-height:1.6; color:var(--dim);
  }
  .legal-note strong{color:var(--gold);}
  .legal-table{ width:100%; border-collapse:collapse; margin:0 0 20px; font-size:0.9rem; }
  .legal-table th, .legal-table td{ text-align:left; padding:10px 14px; border:1px solid var(--border); color:var(--dim); }
  .legal-table th{ color:var(--text); background:var(--surface); font-family:'Sora',sans-serif; font-size:0.82rem; }
  @media (max-width:900px){
    .legal-shell{grid-template-columns:1fr;}
    .legal-toc{position:static; flex-direction:row; flex-wrap:wrap; gap:8px;}
    .legal-content{padding:28px 22px;}
  }

  /* ---------- contact form ---------- */
  .contact-form{ display:flex; flex-direction:column; gap:16px; text-align:left; margin-top:36px; }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .field label{ display:block; font-size:0.8rem; color:var(--dim); margin-bottom:8px; font-family:'IBM Plex Mono', monospace; }
  .field input, .field textarea, .field select{
    width:100%; background:rgba(255,255,255,0.04); border:1px solid var(--border); border-radius:12px;
    padding:12px 14px; font-family:'Manrope',sans-serif; font-size:0.92rem; color:var(--text);
    transition:border-color 0.2s ease, background 0.2s ease;
  }
  .field input:focus, .field textarea:focus, .field select:focus{
    outline:none; border-color:var(--gold); background:rgba(255,255,255,0.06);
  }
  .field textarea{resize:vertical; min-height:90px;}
  .form-foot{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:6px; }
  .form-hint{ font-size:0.78rem; color:var(--dimmer); }
  @media (max-width:600px){ .form-row{grid-template-columns:1fr;} }
