:root{
    --ink:#0A0A0B;
    --ink-2:#141416;
    --ink-3:#1C1C1F;
    --paper:#F4F1EB;
    --paper-2:#EBE7DE;
    --red:#DA1E28;
    --red-deep:#7A0F17;
    --red-glow: rgba(218,30,40,0.35);
    --line: rgba(255,255,255,0.09);
    --line-dark: rgba(10,10,11,0.1);
    --muted:#8C8A85;
    --muted-dark:#6b6b6b;
    --font-display:'Unbounded', sans-serif;
    --font-body:'Manrope', sans-serif;
    --font-mono:'JetBrains Mono', monospace;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family: var(--font-body);
    background: var(--paper);
    color: var(--ink);
    line-height:1.55;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  ::selection{ background: var(--red); color:#fff; }

  .grain{
    position:fixed; inset:0; pointer-events:none; z-index:999;
    opacity:0.035; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }
  section{ position:relative; }
  .eyebrow{
    font-family: var(--font-body);
    font-size:12.5px; letter-spacing:.02em;
    color: var(--red); font-weight:700;
    display:inline-flex; align-items:center; gap:8px; margin-bottom:20px;
    background: rgba(218,30,40,0.08);
    border:1px solid rgba(218,30,40,0.22);
    padding:7px 14px; border-radius:100px;
  }
  .eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--red); display:inline-block; }
  .dark-eyebrow{ background:rgba(255,138,144,0.1); border-color:rgba(255,138,144,0.28); color:#ff8a90; }
  .dark-eyebrow::before{ background:#ff8a90; }
  h1,h2,h3{ font-family: var(--font-display); font-weight:700; letter-spacing:-0.01em; }

  .reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
  .reveal.in{ opacity:1; transform:translateY(0); }
  .reveal-delay-1{ transition-delay:.08s; }
  .reveal-delay-2{ transition-delay:.16s; }

  /* ===== NAV ===== */
  header{
    position:fixed; top:0; left:0; right:0; z-index:200;
    padding:18px 32px; display:flex; align-items:center; justify-content:space-between;
    backdrop-filter: blur(10px);
    background: rgba(10,10,11,0.55);
    border-bottom:1px solid var(--line);
  }
  .logo{ font-family:var(--font-mono); font-size:13px; font-weight:700; letter-spacing:.02em; display:flex; align-items:center; gap:10px; color:#EFEEEC; white-space:nowrap; }
  .logo .dot{ width:8px; height:8px; border-radius:50%; background:var(--red); box-shadow:0 0 12px var(--red-glow); flex-shrink:0; }
  nav ul{ list-style:none; display:flex; gap:28px; font-size:14px; font-weight:600; }
  nav a{ color:#EFEEEC; opacity:.7; transition:opacity .2s; white-space:nowrap; }
  nav a:hover{ opacity:1; }
  .nav-cta{
    font-family:var(--font-mono); font-size:12.5px; font-weight:600;
    background:#fff; color:var(--ink); padding:11px 20px; border-radius:100px;
    letter-spacing:.02em; white-space:nowrap;
    transition: transform .25s ease, background .25s ease, color .25s;
  }
  .nav-cta:hover{ background:var(--red); color:#fff; transform:translateY(-1px);}
  .nav-links-wrap{ display:flex; align-items:center; gap:30px; }

  .btn{
    font-family:var(--font-body); font-weight:700; font-size:14.5px;
    background: var(--red); color:#fff; border:none; padding:16px 28px;
    border-radius:10px; cursor:pointer;
    display:inline-flex; align-items:center; gap:10px;
    transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease, background .25s;
    white-space:nowrap;
    box-shadow: 0 8px 24px -8px var(--red-glow);
  }
  .btn:hover{ transform:translateY(-2px); box-shadow:0 14px 32px -8px var(--red-glow); }
  .btn svg{ width:15px; height:15px; transition:transform .25s; }
  .btn:hover svg{ transform:translateX(3px); }

  /* ===== HERO ===== */
  .hero{
    background: var(--ink);
    color:#EFEEEC;
    padding:150px 0 100px;
    position:relative;
    overflow:hidden;
  }
  .hero::before{
    content:'';
    position:absolute; top:-10%; right:-5%; width:55%; height:90%;
    background: radial-gradient(ellipse at center, var(--red-deep) 0%, transparent 65%);
    opacity:.5; filter:blur(50px);
    pointer-events:none;
  }
  .hero-grid{
    display:grid; grid-template-columns: 1.1fr .9fr; gap:56px; align-items:center;
    position:relative; z-index:2;
  }
  .hero h1{
    font-size: clamp(27px, 3.1vw, 42px);
    line-height:1.16;
    margin-bottom:22px;
    max-width:600px;
  }
  .hero h1 span{ color:var(--red); }
  .hero p.lead{
    font-size:16.5px; color:#C7C5C1; max-width:480px; margin-bottom:34px; font-weight:500;
  }
  .hero-stats{ display:flex; gap:40px; margin-top:38px; }
  .hero-stats .stat b{
    font-family:var(--font-mono); font-size:26px; color:#fff; display:block; font-weight:700; line-height:1;
  }
  .hero-stats .stat span{ font-size:12.5px; color:#8f8d8a; display:block; margin-top:8px; }

  /* portrait card */
  .hero-visual{ position:relative; display:flex; justify-content:center; }
  .device{
    position:relative; width:100%; max-width:400px;
    background: linear-gradient(160deg, #161618 0%, #0e0e10 100%);
    border:1px solid var(--line); border-radius:20px;
    padding:14px 14px 0; overflow:hidden;
    box-shadow: 0 40px 80px -24px rgba(0,0,0,0.7);
  }
  .device-bar{ display:flex; align-items:center; gap:6px; padding:4px 6px 14px; }
  .device-bar i{ width:9px; height:9px; border-radius:50%; background:#3a3a3d; display:block; }
  .device-bar .chip{ margin-left:12px; font-family:var(--font-mono); font-size:10.5px; color:#8f8d8a; background:#1a1a1c; padding:5px 12px; border-radius:6px; }
  .portrait-window{
    position:relative; border-radius:12px 12px 0 0; overflow:hidden;
    background: radial-gradient(ellipse at 50% 20%, #2a2124 0%, #131315 70%);
    aspect-ratio: 4/4.2;
  }
  .portrait-window svg.figure{ position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:82%; }
  .scanline{
    position:absolute; left:0; right:0; height:2px; z-index:5;
    background: linear-gradient(90deg, transparent, var(--red) 15%, var(--red) 85%, transparent);
    box-shadow: 0 0 22px 5px var(--red-glow);
    animation: scan 4s ease-in-out infinite;
  }
  @keyframes scan{
    0%{ top:4%; opacity:0; } 8%{ opacity:1; }
    50%{ top:94%; opacity:1; } 58%{ opacity:0; } 100%{ top:94%; opacity:0; }
  }
  .scan-grid{
    position:absolute; inset:0; z-index:2; opacity:.25;
    background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size: 32px 32px;
  }
  .float-chip{
    position:absolute; z-index:6; font-family:var(--font-mono); font-size:10.5px; font-weight:600;
    padding:8px 12px; border-radius:9px; white-space:nowrap;
    background:rgba(16,16,18,0.9); border:1px solid var(--line); color:#EFEEEC;
    backdrop-filter:blur(6px); box-shadow:0 8px 20px -8px rgba(0,0,0,.6);
    opacity:0; animation: chipin .5s ease forwards;
  }
  @keyframes chipin{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }
  .float-chip b{ color:var(--red); }
  .float-chip.ok b{ color:#7fe0a8; }
  .fc1{ top:16%; left:-14%; animation-delay:.9s; }
  .fc2{ top:52%; right:-12%; animation-delay:1.9s; }
  .device-name{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 6px; border-top:1px solid var(--line); margin-top:0;
  }
  .device-name .dn-txt b{ font-family:var(--font-display); font-size:14px; color:#fff; display:block; }
  .device-name .dn-txt span{ font-family:var(--font-mono); font-size:10px; color:var(--muted); }
  .device-name .dn-badge{ font-family:var(--font-mono); font-size:9.5px; color:var(--red); border:1px solid rgba(218,30,40,.4); padding:5px 9px; border-radius:100px; }

  /* ===== SECTION HEADERS ===== */
  .sec-head{ max-width:620px; margin-bottom:52px; }
  .sec-head h2{ font-size:clamp(26px,3vw,38px); line-height:1.16; }
  .sec-head p{ color:var(--muted-dark); font-size:16px; margin-top:16px; }

  /* ===== PROBLEM ===== */
  .problem{ padding:120px 0; }
  .problem-intro{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:56px; }
  .problem-intro .big{ font-family:var(--font-display); font-size:clamp(26px,3vw,38px); line-height:1.16; }
  .problem-intro .aside{ font-size:15.5px; color:var(--muted-dark); padding-bottom:6px; }
  .problem-list{ border-top:1px solid var(--line-dark); }
  .problem-row{
    display:grid; grid-template-columns: 60px 1fr 1.4fr; gap:32px; align-items:center;
    padding:28px 8px; border-bottom:1px solid var(--line-dark);
    transition: background .3s, padding-left .3s;
  }
  .problem-row:hover{ background:var(--paper-2); padding-left:20px; }
  .problem-row .p-num{ font-family:var(--font-mono); font-size:14px; color:var(--red); font-weight:700; }
  .problem-row .p-title{ font-family:var(--font-display); font-size:18px; font-weight:600; }
  .problem-row .p-desc{ font-size:15px; color:var(--muted-dark); }
  @media (max-width:760px){
    .problem-intro{ grid-template-columns:1fr; gap:20px; }
    .problem-row{ grid-template-columns: 40px 1fr; gap:14px; }
    .problem-row .p-desc{ grid-column:2; }
  }

  /* ===== HOW ===== */
  .how{ padding:130px 0; background:var(--ink); color:#EFEEEC; }
  .how .sec-head p{ color:#a7a5a2; }
  .how-steps{ position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:20px;}
  .how-steps::before{
    content:''; position:absolute; top:26px; left:9%; right:9%; height:1px;
    background: repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 16px);
  }
  .how-step{ position:relative; }
  .how-step .n{
    width:52px; height:52px; border-radius:50%; background:var(--ink-3); color:#fff;
    font-family:var(--font-mono); font-weight:700; font-size:17px;
    display:flex; align-items:center; justify-content:center; margin-bottom:24px; position:relative; z-index:2;
    border:3px solid var(--ink); box-shadow:inset 0 0 0 1px var(--line);
  }
  .how-step.mid .n{ background:var(--red); box-shadow:0 0 24px -4px var(--red-glow); }
  .how-step h3{ font-size:19px; margin-bottom:10px; font-weight:700; color:#fff;}
  .how-step p{ font-size:14.5px; color:#a7a5a2; line-height:1.6; }
  .how-note{
    margin-top:56px; padding:22px 26px; border-left:3px solid var(--red);
    background:var(--ink-2); border-radius:0 12px 12px 0; font-size:14.5px; max-width:640px;
    font-weight:600; color:#e9e7e3;
  }

  /* ===== REPORT ===== */
  .report{ padding:130px 0; }
  .report-grid{ display:grid; grid-template-columns: .9fr 1.1fr; gap:64px; align-items:center; }
  .report .sec-head{ margin-bottom:0; }
  .cat-cloud{ display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
  .cat-cloud span{
    font-family:var(--font-mono); font-size:12px; padding:8px 14px; border-radius:100px;
    border:1px solid var(--line-dark); color:var(--muted-dark);
  }
  .report-doc{
    background:#fff; color:var(--ink); border-radius:14px; padding:30px 28px;
    box-shadow:0 40px 90px -26px rgba(0,0,0,.28); border:1px solid var(--line-dark);
    font-family:var(--font-mono); transform: rotate(1deg);
  }
  .report-doc .rd-top{ display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1px solid var(--line-dark); padding-bottom:16px; margin-bottom:18px;}
  .report-doc .rd-top b{ font-family:var(--font-display); font-size:15px; }
  .report-doc .rd-score{ text-align:right; }
  .report-doc .rd-score b{ font-size:28px; }
  .report-doc .rd-score span{ font-size:10px; color:var(--muted-dark); }
  .rd-row{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px dashed rgba(10,10,11,.12); font-size:11.5px; gap:12px;}
  .rd-row .rd-label{ font-weight:600; }
  .rd-pill{ padding:3px 9px; border-radius:100px; font-size:9.5px; font-weight:700; white-space:nowrap; }
  .rd-pill.high{ background:rgba(218,30,40,.12); color:var(--red); }
  .rd-pill.mid{ background:rgba(200,150,10,.14); color:#a67c00; }
  .rd-pill.low{ background:rgba(50,150,90,.12); color:#2f8a5c; }
  .rd-sign{ margin-top:20px; padding-top:16px; border-top:1px solid var(--line-dark); font-size:10.5px; color:var(--muted-dark); font-style:italic; }

  /* ===== EXPERT ===== */
  .expert{ padding:130px 0; background:var(--paper-2); }
  .expert-grid{ display:grid; grid-template-columns:.72fr 1.28fr; gap:68px; align-items:center; }
  .avatar{
    width:100%; aspect-ratio:3/3.4; border-radius:18px; position:relative; overflow:hidden;
    background: linear-gradient(160deg, var(--ink) 0%, var(--red-deep) 150%);
    display:flex; align-items:flex-end; justify-content:center;
  }
  .avatar .ph{ font-family:var(--font-mono); font-size:11px; color:rgba(255,255,255,.5); position:absolute; top:16px; left:16px; }
  .avatar svg.figure{ width:80%; }
  .expert-name{ font-family:var(--font-mono); font-size:12px; color:var(--red); font-weight:700; letter-spacing:.03em; margin-bottom:10px; }
  .expert-quote{ font-family:var(--font-display); font-size:clamp(20px,2.1vw,27px); line-height:1.36; margin-bottom:24px; font-weight:500; }
  .expert p.bio{ font-size:15.5px; color:var(--muted-dark); max-width:580px; margin-bottom:8px; }
  .timeline{ display:flex; gap:0; margin-top:36px; border-top:1px solid var(--line-dark); padding-top:26px; flex-wrap:wrap; }
  .timeline div{ flex:1; min-width:130px; padding-right:20px; margin-bottom:14px; }
  .timeline b{ font-family:var(--font-mono); font-size:24px; display:block; color:var(--red); line-height:1; }
  .timeline span{ font-size:12.5px; color:var(--muted-dark); display:block; margin-top:8px; }

  /* ===== PRICING ===== */
  .pricing{ padding:130px 0; }
  .price-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .price-card{
    background:#fff; border:1px solid var(--line-dark); border-radius:20px; padding:34px 28px;
    display:flex; flex-direction:column; transition:transform .3s ease, box-shadow .3s ease;
  }
  .price-card:hover{ transform:translateY(-6px); box-shadow:0 24px 50px -20px rgba(0,0,0,.18); }
  .price-card.featured{
    background:var(--ink); color:#EFEEEC; border-color:var(--ink); position:relative;
    box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
  }
  .price-badge{
    position:absolute; top:-13px; left:28px; background:var(--red); color:#fff;
    font-family:var(--font-mono); font-size:10.5px; font-weight:700; padding:5px 12px; border-radius:100px;
    letter-spacing:.03em;
  }
  .price-tag{ font-family:var(--font-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--red); font-weight:700; margin-bottom:14px; display:inline-block; }
  .price-card h3{ font-size:21px; margin-bottom:6px; }
  .price-vol{ font-size:13px; color:var(--muted-dark); margin-top:8px; font-weight:600; }
  .price-card.featured .price-vol{ color:#a7a5a2; }
  .price-card .amount{ font-family:var(--font-mono); font-size:34px; font-weight:700; margin:12px 0 22px; letter-spacing:-0.02em; }
  .price-card ul{ list-style:none; margin-bottom:28px; flex:1; }
  .price-card li{ font-size:13.5px; padding:10px 0; border-top:1px solid var(--line-dark); display:flex; gap:10px; align-items:flex-start; line-height:1.4; }
  .price-card.featured li{ border-top:1px solid var(--line); }
  .price-card li svg{ width:14px; height:14px; flex-shrink:0; margin-top:3px; color:var(--red); }
  .price-card.featured li svg{ color:#ff8a90; }
  .price-card .btn{ width:100%; justify-content:center; }
  .price-card:not(.featured) .btn{ background:var(--ink); box-shadow:none; }
  .price-card:not(.featured) .btn:hover{ background:var(--red); }

  /* ===== REVIEWS ===== */
  .reviews{ padding:130px 0; background:var(--ink); color:#EFEEEC; overflow:hidden; }
  .reviews .sec-head{ display:flex; justify-content:space-between; align-items:flex-end; max-width:100%; gap:24px; flex-wrap:wrap; }
  .reviews .sec-head .st-left{ max-width:560px; }
  .reviews .sec-head h2{ color:#EFEEEC; }
  .rv-nav{ display:flex; gap:12px; }
  .rv-btn{
    width:52px; height:52px; border-radius:50%; border:1px solid var(--line);
    background:transparent; color:#EFEEEC; cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition: background .25s, border-color .25s, transform .25s;
  }
  .rv-btn:hover{ background:var(--red); border-color:var(--red); transform:translateY(-2px); }
  .rv-btn:disabled{ opacity:.3; cursor:default; transform:none; background:transparent; border-color:var(--line); }
  .rv-btn svg{ width:18px; height:18px; }
  .rv-viewport{ overflow:hidden; margin-top:12px; padding:4px; margin:8px -4px 0; }
  .rv-track{ display:flex; gap:24px; transition: transform .6s cubic-bezier(.16,1,.3,1); }
  .rv-card{
    flex:0 0 calc((100% - 48px)/3); min-width:0;
    background:var(--ink-2); border:1px solid var(--line); border-radius:18px; padding:28px;
    display:flex; flex-direction:column; transition: border-color .3s, transform .3s;
  }
  .rv-card:hover{ border-color:rgba(218,30,40,.4); transform:translateY(-4px); }
  .rv-quote-mark{ font-family:var(--font-display); font-size:44px; color:var(--red); line-height:.6; height:26px; }
  .rv-text{ font-size:14.5px; color:#c7c5c1; line-height:1.6; flex:1; margin:14px 0 22px; }
  .rv-person{ display:flex; align-items:center; gap:14px; border-top:1px solid var(--line); padding-top:18px; }
  .rv-avatar{
    width:52px; height:52px; border-radius:50%; flex-shrink:0; overflow:hidden;
    background: linear-gradient(150deg, #2a2124, var(--red-deep));
    display:flex; align-items:flex-end; justify-content:center;
  }
  .rv-avatar svg{ width:80%; }
  .rv-avatar img{ width:100%; height:100%; object-fit:cover; }
  .rv-person .rv-info b{ font-family:var(--font-display); font-size:14.5px; display:block; color:#fff; }
  .rv-person .rv-info span{ font-size:12.5px; color:var(--muted); }
  .rv-dots{ display:flex; gap:8px; justify-content:center; margin-top:32px; }
  .rv-dot{ width:8px; height:8px; border-radius:50%; background:var(--line); border:none; cursor:pointer; transition:background .3s, width .3s; padding:0; }
  .rv-dot.active{ background:var(--red); width:24px; border-radius:100px; }
  @media (max-width:860px){ .rv-card{ flex:0 0 calc((100% - 24px)/2); } }
  @media (max-width:600px){ .rv-card{ flex:0 0 100%; } .reviews .sec-head{ display:block; } .rv-nav{ margin-top:20px; } }

  /* ===== FAQ ===== */
  .faq{ padding:130px 0; max-width:820px; }
  .faq-item{ border-bottom:1px solid var(--line-dark); }
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; gap:20px;
    padding:24px 4px; cursor:pointer; font-weight:700; font-size:16px;
  }
  .faq-q .plus{ width:26px; height:26px; border-radius:50%; border:1px solid var(--line-dark); flex-shrink:0; position:relative; transition:transform .3s, background .3s, border-color .3s;}
  .faq-q .plus::before, .faq-q .plus::after{ content:''; position:absolute; background:var(--ink); }
  .faq-q .plus::before{ width:10px; height:1.4px; top:50%; left:50%; transform:translate(-50%,-50%); }
  .faq-q .plus::after{ width:1.4px; height:10px; top:50%; left:50%; transform:translate(-50%,-50%); transition:opacity .25s; }
  .faq-item.open .faq-q .plus{ background:var(--red); border-color:var(--red); transform:rotate(180deg); }
  .faq-item.open .faq-q .plus::before, .faq-item.open .faq-q .plus::after{ background:#fff; }
  .faq-item.open .faq-q .plus::after{ opacity:0; }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.16,1,.3,1); }
  .faq-a p{ padding:0 4px 24px; font-size:14.5px; color:var(--muted-dark); max-width:680px; line-height:1.65; }

  /* ===== FINAL ===== */
  .final{ padding:150px 0; background: var(--ink); color:#fff; text-align:center; position:relative; overflow:hidden; }
  .final::before{
    content:''; position:absolute; top:-40%; left:50%; transform:translateX(-50%); width:900px; height:900px;
    background: radial-gradient(circle, var(--red-deep) 0%, transparent 62%); opacity:.5; filter:blur(30px);
  }
  .final-inner{ position:relative; z-index:2; max-width:600px; margin:0 auto; }
  .final h2{ font-size:clamp(28px,3.6vw,44px); line-height:1.16; margin-bottom:20px; }
  .final p{ color:#B9B7B3; font-size:16px; margin-bottom:40px; }
  .final .fine{ font-family:var(--font-mono); font-size:11.5px; color:#7c7a77; margin-top:20px; }

  footer{ padding:56px 0 40px; background:var(--paper); border-top:1px solid var(--line-dark); }
  .foot-grid{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; padding-bottom:28px; border-bottom:1px solid var(--line-dark); }
  .foot-grid .logo{ color:var(--ink); opacity:.85; }
  .foot-social{ display:flex; gap:10px; }
  .foot-social a{
    width:42px; height:42px; border-radius:50%; border:1px solid var(--line-dark);
    display:flex; align-items:center; justify-content:center;
    font-family:var(--font-mono); font-size:11px; font-weight:700; color:var(--ink);
    transition: background .25s, color .25s, border-color .25s, transform .25s;
  }
  .foot-social a:hover{ background:var(--red); color:#fff; border-color:var(--red); transform:translateY(-3px); }
  .foot-bottom{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; padding-top:24px; }
  footer .fmeta{ font-size:12.5px; color:var(--muted-dark); display:flex; gap:24px; flex-wrap:wrap; }
  footer .fmeta a{ transition:color .2s; } footer .fmeta a:hover{ color:var(--red); }
  .fcopy{ font-size:12.5px; color:var(--muted-dark); }

  @media (max-width:900px){
    .hero-grid, .report-grid, .expert-grid{ grid-template-columns:1fr; }
    .hero{ padding-top:120px; padding-bottom:70px; }
    .hero-visual{ margin-top:16px; }
    .how-steps{ grid-template-columns:1fr; }
    .how-steps::before{ display:none; }
    .price-grid{ grid-template-columns:1fr; }
    .fc1{ left:2%; } .fc2{ right:2%; }
  }
  @media (max-width:480px){
    .float-chip{ display:none; }
  }
/* ===== PORTRAIT IMAGES ===== */
.portrait-window img.figure{
  position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:100%; height:100%; object-fit:cover; object-position:center top;
}
.avatar img.figure{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top;
}
.avatar .ph{ display:none; }

/* ===== MOBILE MENU (hamburger) ===== */
.burger{ display:none; width:44px; height:44px; border:1px solid var(--line); background:transparent; border-radius:10px; cursor:pointer; position:relative; }
.burger span{ position:absolute; left:11px; right:11px; height:2px; background:#EFEEEC; border-radius:2px; transition:transform .3s, opacity .3s, top .3s; }
.burger span:nth-child(1){ top:15px; }
.burger span:nth-child(2){ top:21px; }
.burger span:nth-child(3){ top:27px; }
body.menu-open .burger span:nth-child(1){ top:21px; transform:rotate(45deg); }
body.menu-open .burger span:nth-child(2){ opacity:0; }
body.menu-open .burger span:nth-child(3){ top:21px; transform:rotate(-45deg); }

.mobile-nav{
  position:fixed; inset:0; z-index:150; background:rgba(10,10,11,0.97); backdrop-filter:blur(14px);
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px;
  opacity:0; pointer-events:none; transition:opacity .35s ease;
}
body.menu-open .mobile-nav{ opacity:1; pointer-events:auto; }
.mobile-nav a{ font-family:var(--font-display); font-size:26px; color:#EFEEEC; font-weight:600; padding:12px; opacity:0; transform:translateY(12px); transition:opacity .4s, transform .4s, color .2s; }
body.menu-open .mobile-nav a{ opacity:1; transform:translateY(0); }
body.menu-open .mobile-nav a:nth-child(1){ transition-delay:.06s; }
body.menu-open .mobile-nav a:nth-child(2){ transition-delay:.11s; }
body.menu-open .mobile-nav a:nth-child(3){ transition-delay:.16s; }
body.menu-open .mobile-nav a:nth-child(4){ transition-delay:.21s; }
body.menu-open .mobile-nav a:nth-child(5){ transition-delay:.26s; }
body.menu-open .mobile-nav a:nth-child(6){ transition-delay:.31s; }
.mobile-nav a:hover{ color:var(--red); }
.mobile-nav .m-cta{ margin-top:16px; background:var(--red); color:#fff; border-radius:100px; padding:14px 32px; font-size:17px; }
.mobile-nav .m-social{ display:flex; gap:12px; margin-top:28px; opacity:0; transform:translateY(12px); transition:opacity .4s, transform .4s; transition-delay:.36s; flex-wrap:wrap; justify-content:center; }
body.menu-open .mobile-nav .m-social{ opacity:1; transform:translateY(0); }
.mobile-nav .m-social a{ font-family:var(--font-mono); font-size:13px; font-weight:600; color:#EFEEEC; padding:9px 16px; border:1px solid var(--line); border-radius:100px; transition:background .2s, border-color .2s; }
.mobile-nav .m-social a:hover{ background:var(--red); border-color:var(--red); color:#fff; }

@media (max-width:1024px){
  .burger{ display:block; }
  .nav-links-wrap ul{ display:none; }
  .nav-links-wrap .nav-cta{ display:none; }
  .nav-links-wrap{ gap:0; }
}

/* ===== FOOTER credit ===== */
.foot-credit{ font-size:12.5px; color:var(--muted-dark); }
.foot-credit a{ color:var(--ink); font-weight:600; transition:color .2s; }
.foot-credit a:hover{ color:var(--red); }

/* ===== FAQ mobile spacing fix ===== */
@media (max-width:760px){
  .faq{ padding:80px 24px; }
  .reviews{ padding:80px 0; }
  .problem,.how,.report,.expert,.pricing{ padding:80px 0; }
}
