  :root{
    --paper:#FBFAF6;
    --tint:#F1EEE6;
    --ink:#16151A;
    --ink-soft:#5B5965;
    --mag:#E8177C;
    --cyan:#00A5D8;
    --yel:#FFC50A;
    --ph:#DCDAD4;
    --ph-text:#8B8983;
    --display:"Montserrat", "Arial Black", sans-serif;
    --body:"Instrument Sans", "Helvetica Neue", Arial, sans-serif;
    --mono:"IBM Plex Mono", "Courier New", monospace;
    --radius:10px;
    --maxw:1160px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper);
    color:var(--ink);
    font-family:var(--body);
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}

  h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.08;text-wrap:balance;letter-spacing:-0.015em;}
  h1,h2{font-weight:900;letter-spacing:-0.02em;}
  h1{font-size:clamp(2.6rem,6vw,4.4rem);}
  h2{font-size:clamp(2rem,4.2vw,3.1rem);}
  h3{font-size:1.25rem;line-height:1.2;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
  section{padding:88px 0;}
  .eyebrow{
    font-family:var(--mono);font-size:12px;font-weight:500;
    letter-spacing:0.14em;text-transform:uppercase;color:var(--mag);
    display:block;margin-bottom:16px;
  }
  .lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--ink-soft);max-width:34em;}

  /* ---------- buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    font-family:var(--body);font-weight:600;font-size:16px;line-height:1;
    padding:18px 32px;border-radius:999px;border:2px solid var(--ink);
    cursor:pointer;text-decoration:none;white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  }
  .btn-primary{background:var(--ink);color:var(--paper);}
  .btn-primary:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--mag);}
  .btn-secondary{background:transparent;color:var(--ink);}
  .btn-secondary:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink);}
  .btn-accent{background:var(--mag);border-color:var(--mag);color:#fff;}
  .btn-accent:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--yel);}
  .btn:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;}
  a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;}

  /* ---------- logo ---------- */
  .logo{
    font-family:var(--display);font-weight:900;font-size:26px;
    letter-spacing:-0.02em;text-decoration:none;display:inline-flex;
  }

  .logo-img{height:32px;width:auto;display:block;}
  footer .logo-img{height:38px;}
  nav .logo{padding:4px 0;}

  /* ---------- announcement bar ---------- */
  .announce{
    background:var(--ink);color:var(--paper);
    font-family:var(--mono);font-size:13px;letter-spacing:0.04em;
    text-align:center;padding:10px 16px;
  }
  .announce strong{color:var(--yel);font-weight:500;}

  /* ---------- nav ---------- */
  nav{
    position:sticky;top:0;z-index:50;
    background:var(--paper);border-bottom:2px solid var(--ink);
  }
  .nav-inner{
    max-width:var(--maxw);margin:0 auto;padding:14px 24px;
    display:flex;align-items:center;justify-content:space-between;gap:24px;
  }
  .nav-links{display:flex;gap:28px;font-weight:500;font-size:15px;}
  .nav-links a{text-decoration:none;}
  .nav-links a:hover{color:var(--mag);}
  nav .btn{padding:12px 24px;font-size:15px;}
  @media (max-width:980px){.nav-links{display:none;}}

  /* ---------- hero ---------- */
  .hero{padding:72px 0 80px;}
  .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center;}
  @media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:40px;}}
  .hero h1{margin-bottom:22px;}
  .misreg{
    color:var(--mag);
    text-shadow:0.045em 0.035em 0 rgba(0,165,216,.5);
  }
  .hero .lede{margin-bottom:32px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px;}
  .trust-row{display:flex;gap:24px;flex-wrap:wrap;align-items:center;color:var(--ink-soft);font-size:14px;font-weight:500;}
  .trust-row .stars{color:var(--yel);letter-spacing:2px;font-size:15px;}
  .trust-row span b{color:var(--ink);}

  /* ---------- placeholder blocks ---------- */
  .ph{
    background:var(--ph);border-radius:var(--radius);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:10px;color:var(--ph-text);font-family:var(--mono);font-size:12px;
    text-align:center;padding:20px;line-height:1.5;
  }
  .ph small{font-size:11px;opacity:.75;max-width:34ch;}
  .ph svg{opacity:.55;}
  .ph-hero{aspect-ratio:4/4.4;}
  .ph-card{aspect-ratio:4/3;border-radius:8px;}

  /* ---------- real media ---------- */
  .hero-media{
    width:100%;aspect-ratio:4/5;object-fit:cover;
    border-radius:var(--radius);display:block;
  }
  .card-img{
    width:100%;aspect-ratio:4/3;object-fit:cover;
    border-radius:8px 8px 0 0;border-bottom:2px solid var(--ink);
  }
  .ph-avatar{width:48px;height:48px;border-radius:50%;padding:0;flex:none;}
  .ph-avatar small,.ph-avatar svg{display:none;}


  /* ---------- registration dots divider ---------- */
  .regdots{display:flex;gap:10px;justify-content:center;padding:0 0 8px;}
  .regdots i{width:10px;height:10px;border-radius:50%;display:block;}
  .regdots i:nth-child(1){background:var(--cyan);}
  .regdots i:nth-child(2){background:var(--mag);}
  .regdots i:nth-child(3){background:var(--yel);}
  .regdots i:nth-child(4){background:var(--ink);}

  /* ---------- marquee ---------- */
  .marquee{
    background:var(--mag);color:#fff;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);
    overflow:hidden;padding:14px 0;white-space:nowrap;
  }
  .marquee-track{display:inline-flex;gap:0;animation:scroll var(--marq-dur,56s) linear infinite;}
  .marquee span{
    font-family:var(--display);font-weight:800;font-size:17px;
    text-transform:uppercase;letter-spacing:0.06em;padding:0 22px;
    display:inline-flex;align-items:center;gap:22px;
  }
  .marquee span::after{content:"✳";font-size:14px;color:var(--yel);}
  @keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion:reduce){
    .marquee-track{animation:none;}
    html{scroll-behavior:auto;}
    .btn{transition:none;}
  }

  /* ---------- problem section ---------- */
  .problem{background:var(--tint);border-bottom:2px solid var(--ink);}
  .problem h2{max-width:15em;margin-bottom:18px;}
  .problem .lede{margin-bottom:48px;}
  .stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:820px){.stat-grid{grid-template-columns:1fr;}}
  .stat{
    background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);
    padding:28px 26px;
  }
  .stat .num{font-family:var(--display);font-weight:900;font-size:2.6rem;line-height:1;margin-bottom:10px;font-variant-numeric:tabular-nums;}
  .stat:nth-child(1) .num{color:var(--cyan);}
  .stat:nth-child(2) .num{color:var(--mag);}
  .stat:nth-child(3) .num{color:var(--ink);}
  .stat p{font-size:15px;color:var(--ink-soft);}
  .stat p b{color:var(--ink);}

  /* ---------- products ---------- */
  .products-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:52px;flex-wrap:wrap;}
  .product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:36px;}
  @media (max-width:820px){.product-grid{grid-template-columns:1fr;gap:44px;}}
  .product{
    background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);
    overflow:visible;display:flex;flex-direction:column;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .product:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink);}
  .product .ph-card{border-radius:8px 8px 0 0;border-bottom:2px solid var(--ink);}
  .product-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1;}
  .product-body .tag{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);}
  .product-body h3{font-size:1.45rem;}
  .product-body p{color:var(--ink-soft);font-size:15.5px;flex:1;}
  .product-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
  .price{font-family:var(--mono);font-size:14px;font-weight:500;}
  .price b{font-size:18px;color:var(--mag);}
  .product-foot a{font-weight:600;font-size:15px;text-decoration:none;border-bottom:2px solid var(--mag);padding-bottom:2px;}
  .product-foot a:hover{color:var(--mag);}

  /* ---------- steps ---------- */
  .steps{background:var(--tint);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
  .steps h2{text-align:center;margin-bottom:14px;}
  .steps .lede{text-align:center;margin:0 auto 56px;}
  .step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:820px){.step-grid{grid-template-columns:1fr;}}
  .step{background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);padding:30px 26px;}
  .step .n{
    width:42px;height:42px;border-radius:50%;border:2px solid var(--ink);
    display:flex;align-items:center;justify-content:center;
    font-family:var(--display);font-weight:800;font-size:18px;margin-bottom:18px;
  }
  .step:nth-child(1) .n{background:var(--cyan);color:#fff;border-color:var(--ink);}
  .step:nth-child(2) .n{background:var(--mag);color:#fff;}
  .step:nth-child(3) .n{background:var(--yel);color:var(--ink);}
  .step h3{margin-bottom:10px;}
  .step p{font-size:15.5px;color:var(--ink-soft);}
  .steps-cta{text-align:center;margin-top:48px;}

  /* ---------- comparison ---------- */
  .compare{background:var(--ink);color:var(--paper);}
  .compare .eyebrow{color:var(--yel);}
  .compare h2{max-width:18em;margin-bottom:14px;}
  .compare .lede{color:#B9B7C0;margin-bottom:48px;}
  .table-scroll{overflow-x:auto;border:2px solid var(--paper);border-radius:var(--radius);}
  table{width:100%;border-collapse:collapse;min-width:640px;font-size:15.5px;}
  th,td{padding:18px 22px;text-align:left;border-bottom:1px solid #3A3942;}
  tr:last-child td{border-bottom:none;}
  thead th{font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;border-bottom:2px solid var(--paper);}
  thead th:nth-child(2){color:var(--mag);background:rgba(232,23,124,.12);}
  tbody td:nth-child(2){background:rgba(232,23,124,.12);font-weight:600;}
  tbody td:nth-child(3){color:#8E8C97;}
  td .yes{color:var(--yel);margin-right:8px;}

  /* ---------- reviews ---------- */
  .reviews h2{text-align:center;margin-bottom:10px;}
  .reviews .sub{text-align:center;color:var(--ink-soft);margin-bottom:52px;}
  .reviews .sub .stars{color:var(--yel);letter-spacing:2px;}
  .review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:900px){.review-grid{grid-template-columns:1fr;}}
  .review{
    border:2px solid var(--ink);border-radius:var(--radius);padding:28px 26px;
    background:var(--paper);display:flex;flex-direction:column;gap:16px;
  }
  .review .stars{color:var(--yel);letter-spacing:3px;font-size:15px;}
  .review blockquote{font-size:16px;line-height:1.55;flex:1;}
  .review blockquote b{background:linear-gradient(transparent 55%, var(--yel) 55%);}
  .review-who{display:flex;align-items:center;gap:12px;}
  .review-who .name{font-weight:600;font-size:14.5px;line-height:1.3;}
  .review-who .role{font-size:13px;color:var(--ink-soft);}
  .verified{font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cyan);}

  /* ---------- guarantee ---------- */
  .guarantee{background:var(--yel);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
  .guarantee-inner{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;}
  @media (max-width:820px){.guarantee-inner{grid-template-columns:1fr;gap:28px;}}
  .seal{
    width:150px;height:150px;border-radius:50%;border:3px solid var(--ink);
    background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;
    font-family:var(--display);font-weight:800;text-align:center;line-height:1.1;
    font-size:15px;gap:4px;flex:none;transform:rotate(-6deg);
  }
  .seal em{font-style:normal;color:var(--mag);font-size:26px;}
  .guarantee h2{margin-bottom:14px;}
  .guarantee p{max-width:44em;font-size:1.05rem;}
  .guarantee p + p{margin-top:12px;}

  /* ---------- FAQ ---------- */
  .faq{max-width:780px;margin:0 auto;}
  .faq h2{text-align:center;margin-bottom:48px;}
  details{border:2px solid var(--ink);border-radius:var(--radius);background:var(--paper);margin-bottom:14px;overflow:hidden;}
  summary{
    cursor:pointer;list-style:none;padding:22px 26px;
    font-family:var(--display);font-weight:800;font-size:1.05rem;
    display:flex;align-items:center;justify-content:space-between;gap:16px;
  }
  summary::-webkit-details-marker{display:none;}
  summary::after{content:"+";font-size:1.5rem;color:var(--mag);flex:none;line-height:1;}
  details[open] summary::after{content:"–";}
  details[open]{background:var(--tint);}
  .faq-body{padding:0 26px 24px;color:var(--ink-soft);font-size:16px;max-width:60ch;}

  /* ---------- final CTA ---------- */
  .final{background:var(--ink);color:var(--paper);text-align:center;padding:110px 0;}
  .final h2{font-size:clamp(2.4rem,5vw,3.8rem);max-width:16em;margin:0 auto 20px;}
  .final .lede{color:#B9B7C0;margin:0 auto 40px;}
  .final .hero-ctas{justify-content:center;}
  .final .btn-secondary{color:var(--paper);border-color:var(--paper);}
  .final .btn-secondary:hover{box-shadow:4px 4px 0 var(--cyan);}
  .final .micro{font-family:var(--mono);font-size:12.5px;color:#8E8C97;margin-top:26px;}

  /* ---------- footer ---------- */
  footer{background:var(--ink);color:#8E8C97;border-top:1px solid #3A3942;padding:48px 0 110px;font-size:14px;}
  .foot-inner{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;align-items:start;}
  footer .logo{color:var(--paper);font-size:30px;}
  .foot-links{display:flex;gap:40px;flex-wrap:wrap;}
  .foot-links div{display:flex;flex-direction:column;gap:8px;}
  .foot-links b{color:var(--paper);font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;font-weight:500;margin-bottom:4px;}
  .foot-links a{text-decoration:none;}
  .foot-links a:hover{color:var(--paper);}
  .foot-legal{margin-top:40px;font-family:var(--mono);font-size:11.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}

  /* ---------- sticky mobile CTA ---------- */
  .sticky-cta{
    position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;
    background:var(--paper);border-top:2px solid var(--ink);padding:12px 16px;
    gap:12px;align-items:center;justify-content:space-between;
  }
  .sticky-cta .price-line{font-size:13px;line-height:1.35;}
  .sticky-cta .price-line b{display:block;font-family:var(--display);font-weight:800;font-size:15px;}
  .sticky-cta .btn{padding:14px 26px;font-size:15px;}
  @media (max-width:720px){.sticky-cta{display:flex;}}

  /* ---------- category teaser strip ---------- */
  .cat-strip{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:36px;}
  @media (max-width:820px){.cat-strip{grid-template-columns:1fr;}}
  .cat-card{
    display:grid;grid-template-columns:42% 1fr;align-items:stretch;
    border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;
    background:var(--tint);text-decoration:none;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .cat-card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--ink);}
  .cat-card img{width:100%;height:100%;object-fit:cover;min-height:170px;}
  .cat-card-body{padding:22px 24px;display:flex;flex-direction:column;gap:8px;justify-content:center;}
  .cat-card-body .tag{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mag);}
  .cat-card-body h3{font-size:1.3rem;}
  .cat-card-body p{color:var(--ink-soft);font-size:14.5px;}
  .nav-links a.active{color:var(--mag);}
  .product-grid.grid-3{grid-template-columns:repeat(3,1fr);gap:24px;}
  @media (max-width:980px){.product-grid.grid-3{grid-template-columns:1fr;gap:36px;}}
  .grid-3 .product-body{padding:22px 22px 24px;}
  .grid-3 .product-body h3{font-size:1.25rem;}

  /* ---------- product detail page ---------- */
  .crumbs{font-family:var(--mono);font-size:12px;letter-spacing:0.06em;padding:20px 0 0;color:var(--ink-soft);}
  .crumbs a{text-decoration:none;}
  .crumbs a:hover{color:var(--mag);}
  .pdp{padding:36px 0 80px;}
  .pdp-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:48px;align-items:start;}
  @media (max-width:900px){.pdp-grid{grid-template-columns:1fr;}}
  .pdp-gallery{position:sticky;top:96px;}
  @media (max-width:900px){.pdp-gallery{position:static;}}
  .pdp-main{width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--ink);border-radius:var(--radius);display:block;}
  .pdp-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px;}
  .pdp-thumbs button{padding:0;border:2px solid var(--ink);border-radius:8px;overflow:hidden;cursor:pointer;background:none;opacity:.6;transition:opacity .15s;}
  .pdp-thumbs button.on,.pdp-thumbs button:hover{opacity:1;}
  .pdp-thumbs button.on{box-shadow:3px 3px 0 var(--mag);}
  .pdp-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
  .buybox{border:2px solid var(--ink);border-radius:var(--radius);padding:28px;background:var(--paper);}
  .buybox h1{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:6px;}
  .buybox .sub{color:var(--ink-soft);font-size:15px;margin-bottom:8px;}
  .buybox .rating{font-size:14px;margin-bottom:22px;}
  .buybox .rating .stars{color:var(--yel);letter-spacing:2px;}
  .opt{margin-bottom:16px;}
  .opt label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px;}
  .opt label small{font-weight:400;color:var(--ink-soft);}
  .opt select{
    width:100%;padding:12px 14px;font-family:var(--body);font-size:15px;
    border:2px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink);
    appearance:auto;cursor:pointer;
  }
  .opt select:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;}
  .price-block{border-top:2px solid var(--ink);margin-top:22px;padding-top:18px;}
  .price-block .label{font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);}
  .price-big{font-family:var(--display);font-weight:900;font-size:2.6rem;line-height:1.1;color:var(--mag);}
  .price-per{font-family:var(--mono);font-size:13px;color:var(--ink-soft);margin-bottom:6px;}
  .ship-by{font-size:13.5px;margin:10px 0 18px;padding:10px 14px;background:var(--tint);border-radius:8px;}
  .ship-by b{color:var(--ink);}
  .buybox .btn{width:100%;margin-bottom:10px;}
  .trust-mini{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:13.5px;color:var(--ink-soft);}
  .trust-mini span::before{content:"✔";color:var(--mag);margin-right:8px;font-weight:700;}
  .qty-breaks{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:8px;font-family:var(--mono);}
  .qty-breaks td,.qty-breaks th{border:1px solid var(--ph);padding:7px 10px;text-align:left;color:var(--ink);}
  .qty-breaks th{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;}
  .pdp-desc{max-width:760px;}
  .pdp-desc h2{margin-bottom:18px;}
  .pdp-desc p{margin-bottom:14px;color:var(--ink-soft);}
  .pdp-desc p b{color:var(--ink);}
  .usecases{background:var(--tint);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);}
  .usecase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  @media (max-width:900px){.usecase-grid{grid-template-columns:1fr;}}
  .usecase{background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);padding:24px;}
  .usecase .n{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mag);display:block;margin-bottom:10px;}
  .usecase h3{font-size:1.1rem;margin-bottom:8px;}
  .usecase p{font-size:14.5px;color:var(--ink-soft);}
  .specs{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:var(--ink);}
  @media (max-width:720px){.specs{grid-template-columns:1fr;}}
  .spec{background:var(--paper);padding:18px 22px;}
  .spec b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:5px;font-weight:500;}
  .spec span{font-size:15px;}
  .sticky-cta .price-line em{font-style:normal;color:var(--mag);}
  .price-big.loading{opacity:.35;transition:opacity .15s ease;}
