
  :root{
    --orange:#f28c00;
    --orange-dark:#d97700;
    --orange-soft:#fff4e6;
    --red:#e30613;
    --ink:#171717;
    --muted:#6f6f6f;
    --line:#e9e9e9;
    --soft:#fafafa;
    --green:#1d7f43;
    --shadow:0 18px 50px rgba(0,0,0,.10);
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--ink);
    background:#fff;
  }
  button,a{font:inherit}
  .topline{height:7px;background:var(--orange)}
  header{
    position:sticky;top:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:17px 6vw;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(10px);
  }
  .brand{
    font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;
    font-size:41px;font-weight:900;letter-spacing:-3px;line-height:1;
    color:var(--orange);
  }
  .brand .y{color:var(--red)}
  .header-note{font-size:12px;color:#777;text-align:right;line-height:1.4}
  .hero{
    padding:56px 6vw 46px;
    background:
      radial-gradient(circle at 85% 15%,rgba(242,140,0,.14),transparent 32%),
      linear-gradient(180deg,#fff 0%,#fff9f1 100%);
  }
  .hero-grid{
    max-width:1180px;margin:auto;
    display:grid;grid-template-columns:1.03fr .97fr;
    gap:50px;align-items:center;
  }
  .tag{
    display:inline-block;
    background:var(--orange-soft);
    color:#9a5200;
    border:1px solid #ffd7a8;
    border-radius:999px;
    padding:8px 13px;
    font-size:13px;
    font-weight:800;
    margin-bottom:16px;
  }
  h1{
    margin:0 0 18px;
    font-size:54px;
    line-height:1.03;
    letter-spacing:-2px;
  }
  h1 span{color:var(--orange)}
  .lead{
    max-width:650px;
    margin:0;
    font-size:18px;
    line-height:1.65;
    color:#555;
  }
  .winner-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:28px;
  }
  .winner-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:14px;
    padding:14px 15px;
    box-shadow:0 7px 22px rgba(0,0,0,.04);
  }
  .winner-card strong{display:block;font-size:14px;margin-bottom:4px}
  .winner-card small{color:#777}
  .product{
    position:relative;
    background:#fff;
    border:1px solid #eee;
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
    overflow:hidden;
  }
  .product-badge{
    position:absolute;right:18px;top:18px;
    background:var(--orange);
    color:#fff;
    font-weight:900;
    font-size:12px;
    padding:9px 12px;
    border-radius:999px;
  }
  .product img{
    width:100%;
    display:block;
    max-height:390px;
    object-fit:contain;
    margin-top:8px;
  }
  .product h2{font-size:29px;margin:12px 0 10px}
  .pricing{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap}
  .was{font-size:18px;color:#777;text-decoration:line-through}
  .now{font-size:43px;font-weight:900;color:var(--orange)}
  .shipping{margin-top:4px;font-size:14px;color:#555}
  .availability{
    margin-top:14px;
    background:#f3faf5;
    color:#176834;
    border:1px solid #d8ecdf;
    border-radius:11px;
    padding:11px 13px;
    font-size:14px;
    font-weight:800;
  }
  .cta,.claim-btn{
    width:100%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:12px;
    padding:16px 20px;
    margin-top:16px;
    background:var(--orange);
    color:#fff;
    font-weight:900;
    font-size:17px;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 9px 20px rgba(242,140,0,.22);
    transition:.15s ease;
  }
  .cta:hover,.claim-btn:hover{background:var(--orange-dark);transform:translateY(-1px)}
  .section{padding:62px 6vw}
  .container{max-width:1050px;margin:auto}
  .section h3{font-size:34px;margin:0 0 24px}
  .steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
  }
  .step{
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    padding:22px;
  }
  .step-num{
    width:36px;height:36px;border-radius:50%;
    display:grid;place-items:center;
    background:var(--orange-soft);
    color:var(--orange-dark);
    font-weight:900;
    margin-bottom:13px;
  }
  .step p{color:#666;line-height:1.55;margin-bottom:0}
  .faq-wrap{max-width:820px;margin:auto}
  details{border-bottom:1px solid var(--line);padding:17px 0}
  summary{cursor:pointer;font-weight:800}
  details p{color:#666;line-height:1.6}
  .legal-note{
    max-width:1050px;margin:0 auto 22px;
    background:#fff9ed;
    border:1px solid #f3d69b;
    color:#6f561e;
    border-radius:12px;
    padding:13px 15px;
    font-size:13px;
    line-height:1.5;
  }
  footer{
    background:#171717;
    color:#d6d6d6;
    padding:28px 6vw;
    font-size:12px;
    line-height:1.65;
  }
  .footer-inner{max-width:1050px;margin:auto}

  /* Modal / questionnaire */
  .modal{
    position:fixed;inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(0,0,0,.58);
    z-index:1000;
  }
  .modal.show{display:flex}
  .quiz{
    position:relative;
    width:min(530px,100%);
    background:#fff;
    border-radius:22px;
    padding:29px;
    box-shadow:0 28px 90px rgba(0,0,0,.30);
  }
  .close{
    position:absolute;right:15px;top:14px;
    width:36px;height:36px;
    border-radius:50%;
    border:1px solid var(--line);
    background:#fff;
    font-size:22px;
    cursor:pointer;
  }
  .quiz-brand{
    font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;
    font-size:30px;
    font-weight:900;
    letter-spacing:-2px;
    color:var(--orange);
  }
  .quiz-brand .y{color:var(--red)}
  .progress-label{font-size:13px;color:#777;margin:10px 0 8px}
  .progress{
    height:8px;
    background:#eee;
    border-radius:999px;
    overflow:hidden;
    margin-bottom:24px;
  }
  .progress span{
    display:block;height:100%;
    width:33.33%;
    background:var(--orange);
    transition:.25s ease;
  }
  .question{display:none}
  .question.active{display:block}
  .question h2{font-size:27px;line-height:1.24;margin:0 0 20px}
  .answers{display:grid;gap:12px}
  .answer{
    width:100%;
    text-align:left;
    background:#fff;
    border:2px solid #e8e8e8;
    border-radius:14px;
    padding:16px 17px;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
    transition:.15s ease;
  }
  .answer:hover{border-color:var(--orange);background:#fffaf4}
  .answer:active{transform:scale(.99)}
  .complete{display:none;text-align:center}
  .complete.show{display:block}
  .check{
    width:68px;height:68px;
    margin:4px auto 18px;
    display:grid;place-items:center;
    border-radius:50%;
    background:#eaf8ef;
    color:var(--green);
    font-size:34px;
    font-weight:900;
  }
  .complete h2{font-size:30px;margin:0 0 10px}
  .complete p{color:#666;line-height:1.55}
  .claim-panel{
    margin-top:16px;
    padding:14px;
    border-radius:12px;
    background:#fff7ea;
    border:1px solid #f5d49d;
    color:#684710;
    font-size:13px;
    text-align:left;
    line-height:1.5;
  }

  /* final on-page claim message */
  .claim-result{
    display:none;
    max-width:820px;
    margin:0 auto;
    border:1px solid #f3d49b;
    background:#fff8ec;
    border-radius:18px;
    padding:28px;
    text-align:center;
  }
  .claim-result.show{display:block}
  .claim-result h3{margin-bottom:10px}
  .claim-result p{color:#666;line-height:1.6;margin:0}

  @media(max-width:850px){
    header{padding:15px 5vw}
    .brand{font-size:35px}
    .header-note{display:none}
    .hero,.section{padding-left:5vw;padding-right:5vw}
    .hero-grid{grid-template-columns:1fr}
    h1{font-size:42px}
    .winner-grid,.steps{grid-template-columns:1fr}
    .product{padding:22px}
    .section h3{font-size:30px}
  }
