:root{
    --bg: #F6EFDD;
    --bg-soft: #FBF7EC;
    --ink: #1F3A2E;
    --ink-soft: #3B5245;
    --accent: #C08A2E;
    --accent-deep: #8C3B2B;
    --sage: #8FA88C;
    --line: #D8CBA8;
    --paper: #FFFDF7;
    --shadow: 0 12px 30px rgba(31,58,46,0.12);
    --radius: 4px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Work Sans', sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    margin:0 0 .4em 0;
    line-height:1.08;
    font-weight:700;
    letter-spacing:-0.01em;
  }
  .mono{
    font-family:'IBM Plex Mono', monospace;
    letter-spacing:.06em;
  }
  p{margin:0 0 1em 0;}
  a{color:inherit;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;cursor:pointer;}
  .wrap{max-width:1160px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.14em;
    color:var(--accent-deep);
    font-weight:600;
    margin-bottom:10px;
    display:inline-block;
  }
  ::selection{background:var(--accent);color:var(--paper);}
  :focus-visible{outline:2px solid var(--accent-deep); outline-offset:3px;}

  /* ---------- Top strip ---------- */
  .topstrip{
    background:var(--ink);
    color:var(--bg-soft);
    font-size:13px;
  }
  .topstrip .wrap{
    display:flex;align-items:center;justify-content:space-between;
    height:40px;
    gap:16px;
  }
  .topstrip .msg{font-family:'IBM Plex Mono',monospace;letter-spacing:.03em;opacity:.9;}
  .topstrip .msg strong{color:#E8C77B;}

  /* Country selector */
  .country-select{position:relative;}
  .country-btn{
    display:flex;align-items:center;gap:8px;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.18);
    color:var(--bg-soft);
    padding:6px 10px;border-radius:20px;
    font-size:13px;
  }
  .country-btn .flag{font-size:16px;line-height:1;}
  .country-btn .chev{font-size:10px;opacity:.7;transition:transform .2s;}
  .country-select.open .chev{transform:rotate(180deg);}
  .country-menu{
    position:absolute;right:0;top:calc(100% + 8px);
    background:var(--paper);
    color:var(--ink);
    border-radius:14px;
    box-shadow:var(--shadow);
    width:210px;
    padding:8px;
    display:none;
    z-index:60;
    border:1px solid var(--line);
  }
  .country-select.open .country-menu{display:block;}
  .country-item{
    display:flex;align-items:center;gap:10px;
    padding:9px 10px;border-radius:8px;
    font-size:14px;font-weight:500;
    background:none;border:none;width:100%;text-align:left;color:var(--ink);
  }
  .country-item:hover{background:var(--bg);}
  .country-item.active{background:var(--bg);font-weight:700;}
  .country-item .flag{font-size:18px;}

  /* ---------- Header ---------- */
  header{
    background:var(--bg-soft);
    border-bottom:1px solid var(--line);
    position:sticky;top:0;z-index:50;
  }
  header .wrap{
    display:flex;align-items:center;justify-content:space-between;
    height:78px;
  }
  .logo-mark{display:flex;align-items:center;gap:10px;}
  .logo-mark img{height:34px;width:auto;}
  nav.mainnav{display:flex;gap:30px;}
  nav.mainnav a{
    font-size:14px;font-weight:600;
    text-decoration:none;color:var(--ink-soft);
    position:relative;padding-bottom:4px;
  }
  nav.mainnav a:hover{color:var(--ink);}
  .head-cta{
    background:var(--ink);color:var(--bg-soft);
    padding:11px 20px;border-radius:30px;
    font-weight:600;font-size:14px;border:none;
    text-decoration:none;
  }
  .head-cta:hover{background:var(--ink-soft);}
  .burger{display:none;background:none;border:none;font-size:22px;color:var(--ink);}

  /* ---------- Hero ---------- */
  .hero{
    padding:64px 0 60px;
    background:
      radial-gradient(ellipse at 85% 10%, rgba(192,138,46,0.13), transparent 55%),
      var(--bg);
    position:relative;
    overflow:hidden;
  }
  .hero .wrap{
    display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
  }
  .hero h1{font-size:clamp(34px,4.4vw,54px);}
  .hero h1 em{font-style:normal;color:var(--accent-deep);}
  .hero-sub{font-size:18px;color:var(--ink-soft);max-width:480px;}
  .hero-trust{display:flex;gap:18px;margin:22px 0 28px;flex-wrap:wrap;}
  .hero-trust .item{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink-soft);}
  .hero-trust .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}
  .price-tag{
    display:inline-flex;align-items:baseline;gap:10px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:14px 20px;margin-bottom:22px;
    box-shadow:var(--shadow);
  }
  .price-tag .old{font-family:'IBM Plex Mono',monospace;text-decoration:line-through;color:#a89a6f;font-size:15px;}
  .price-tag .new{font-family:'Fraunces',serif;font-weight:800;font-size:32px;color:var(--accent-deep);}
  .price-tag .unit{font-size:12px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;}
  .btn-primary{
    display:inline-flex;align-items:center;gap:10px;
    background:var(--accent-deep);color:var(--paper);
    padding:16px 30px;border-radius:30px;border:none;
    font-weight:700;font-size:16px;
    box-shadow:0 10px 24px rgba(140,59,43,0.35);
    transition:transform .15s ease;
  }
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-secondary{
    display:inline-flex;align-items:center;gap:8px;
    background:transparent;color:var(--ink);
    padding:15px 24px;border-radius:30px;border:1.5px solid var(--ink);
    font-weight:600;font-size:15px;
  }
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}

  /* hero visual */
  .hero-visual{position:relative;display:flex;justify-content:center;width:100%;}
  .label-frame{
    position:relative;
    background:var(--paper);
    border-radius:10px;
    padding:34px;
    box-shadow:var(--shadow);
    border:1px solid var(--line);
    max-width:380px;
    width:100%;
    box-sizing:border-box;
    margin:0 auto;
  }
  .label-frame::before{
    content:"";
    position:absolute;left:0;right:0;top:-1px;height:10px;
    background-image: radial-gradient(circle, var(--bg) 3.5px, transparent 3.6px);
    background-size: 16px 16px;
    background-position: 8px -4px;
  }
  .label-frame picture{display:block;width:100%;}
  .label-frame img.product{width:100%;height:auto;max-width:100%;display:block;object-fit:contain;}
  .badge-stamp{
    position:absolute;top:-18px;right:-18px;
    width:78px;height:78px;border-radius:50%;
    background:var(--ink);color:var(--bg-soft);
    display:flex;align-items:center;justify-content:center;
    text-align:center;font-family:'IBM Plex Mono',monospace;
    font-size:10.5px;font-weight:600;letter-spacing:.04em;
    box-shadow:var(--shadow);
    transform:rotate(8deg);
    line-height:1.25;
    border:2px dashed rgba(246,239,221,0.35);
  }

  /* ---------- Section shared ---------- */
  section{padding:76px 0;}
  .section-head{max-width:640px;margin:0 auto 44px;text-align:center;}
  .section-head h2{font-size:clamp(28px,3.4vw,40px);}
  .section-head p{color:var(--ink-soft);font-size:16px;}
  .band-alt{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .band-ink{background:var(--ink);color:var(--bg-soft);}
  .band-ink .eyebrow{color:#E8C77B;}

  /* problem list */
  .problem-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  }
  .problem-card{
    background:var(--paper);border:1px solid var(--line);
    border-radius:10px;padding:24px 20px;
    text-align:left;
  }
  .problem-card .ico{font-size:26px;margin-bottom:12px;display:block;}
  .problem-card h4{font-size:16px;margin-bottom:6px;font-family:'Work Sans';font-weight:700;}
  .problem-card p{font-size:14px;color:var(--ink-soft);margin:0;}

  /* how it works */
  .works-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
  .works-visual{
    background:var(--paper);border:1px solid var(--line);border-radius:14px;
    padding:30px;box-shadow:var(--shadow);
  }
  .works-visual ul{list-style:none;margin:0;padding:0;}
  .works-visual li{
    display:flex;gap:14px;padding:14px 0;border-bottom:1px dashed var(--line);
    align-items:flex-start;
  }
  .works-visual li:last-child{border-bottom:none;}
  .works-visual .num{
    font-family:'IBM Plex Mono',monospace;font-weight:700;color:var(--accent-deep);
    font-size:13px;min-width:26px;
  }

  /* ingredients */
  .ingredients-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
  .ing-card{
    background:var(--paper);border:1px solid var(--line);
    border-radius:10px;overflow:hidden;position:relative;
  }
  .safe-img{background:#eef1ec}
  .logo-mark img.safe-img,
  .foot-grid img.safe-img{background:transparent}
  .ing-card .thumb{aspect-ratio:1/1;overflow:hidden;background:var(--bg);}
  .ing-card .thumb img{width:100%;height:100%;object-fit:cover;}
  .ing-card .info{padding:16px 14px 18px;}
  .ing-card .tag{
    font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--accent-deep);
    text-transform:uppercase;letter-spacing:.08em;display:block;margin-bottom:4px;
  }
  .ing-card h4{font-family:'Fraunces',serif;font-size:17px;margin-bottom:4px;}
  .ing-card p{font-size:13px;color:var(--ink-soft);margin:0;}

  /* how to use */
  .dose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .dose-card{
    background:var(--paper);border:1px solid var(--line);border-radius:10px;
    padding:26px 22px;position:relative;
  }
  .dose-card::after{
    content:attr(data-time);
    position:absolute;top:20px;right:20px;
    font-family:'IBM Plex Mono',monospace;font-size:11px;
    background:var(--sage);color:var(--paper);
    padding:4px 9px;border-radius:20px;font-weight:600;
  }
  .dose-card h4{font-size:19px;margin-bottom:8px;}
  .dose-card p{font-size:14px;color:var(--ink-soft);margin:0;}

  /* testimonials */
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .rev-card{
    background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px;
  }
  .stars{color:var(--accent);font-size:15px;letter-spacing:2px;margin-bottom:10px;}
  .rev-card p.quote{font-size:14.5px;color:var(--ink-soft);margin-bottom:14px;font-style:italic;}
  .rev-name{font-weight:700;font-size:13.5px;}
  .rev-loc{font-size:12px;color:var(--ink-soft);font-family:'IBM Plex Mono',monospace;}

  /* guarantee / final cta */
  .final-cta{
    background:var(--ink);color:var(--bg-soft);
    border-radius:18px;padding:52px 44px;
    display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;
  }
  .final-cta h2{color:var(--bg-soft);}
  .final-cta p{color:#c9d6cd;}
  .final-price{
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.15);
    border-radius:14px;padding:26px;text-align:center;
  }
  .final-price .big{font-family:'Fraunces',serif;font-size:44px;font-weight:800;color:#E8C77B;}
  .final-price .old{font-family:'IBM Plex Mono',monospace;text-decoration:line-through;color:#8ea491;}

  /* blog */
  .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .blog-card{
    background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;
    text-decoration:none;color:var(--ink);display:block;
  }
  .blog-card .cover{
    height:140px;
    background:linear-gradient(135deg, var(--sage), var(--ink-soft));
    position:relative;
  }
  .blog-card .cover .n{
    position:absolute;bottom:10px;left:14px;color:#fff;
    font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;
    opacity:.85;
  }
  .blog-card .body{padding:18px 18px 20px;}
  .blog-card h4{font-family:'Fraunces',serif;font-size:17px;margin-bottom:8px;}
  .blog-card .read{font-size:13px;font-weight:700;color:var(--accent-deep);}
  .blog-note{
    margin-top:30px;font-size:13px;color:var(--ink-soft);
    background:var(--bg-soft);border:1px dashed var(--line);border-radius:10px;
    padding:14px 18px;
  }

  /* footer */
  footer{background:var(--ink);color:#c9d6cd;padding:56px 0 28px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
  footer h5{font-family:'IBM Plex Mono',monospace;color:#E8C77B;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;}
  footer ul{list-style:none;padding:0;margin:0;}
  footer li{margin-bottom:9px;font-size:14px;}
  footer a{text-decoration:none;color:#c9d6cd;}
  footer a:hover{color:#fff;}
  .foot-bottom{
    border-top:1px solid rgba(255,255,255,0.12);padding-top:22px;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    font-size:12.5px;color:#8ea491;
  }
  .foot-flags{display:flex;gap:8px;}
  .foot-flags span{font-size:16px;cursor:pointer;opacity:.6;transition:opacity .15s;}
  .foot-flags span:hover, .foot-flags span.active{opacity:1;}

  /* ---------- Popup ---------- */
  .popup-overlay{
    position:fixed;inset:0;background:rgba(31,58,46,0.55);
    display:none;align-items:center;justify-content:center;z-index:200;
    padding:20px;
  }
  .popup-overlay.show{display:flex;}
  .popup-box{
    background:var(--paper);border-radius:14px;max-width:420px;width:100%;
    padding:36px 32px 30px;position:relative;box-shadow:0 30px 60px rgba(0,0,0,0.35);
    border:1px solid var(--line);
  }
  .popup-box::before{
    content:"";position:absolute;left:0;right:0;top:-1px;height:10px;
    background-image: radial-gradient(circle, rgba(31,58,46,0.55) 3.5px, transparent 3.6px);
    background-size: 16px 16px;background-position:8px -4px;
    border-radius:14px 14px 0 0;
  }
  .popup-close{
    position:absolute;top:14px;right:16px;background:none;border:none;
    font-size:20px;color:var(--ink-soft);
  }
  .popup-box .eyebrow{margin-bottom:8px;}
  .popup-box h3{font-size:24px;margin-bottom:8px;}
  .popup-box p.desc{font-size:14px;color:var(--ink-soft);margin-bottom:20px;}
  .field{margin-bottom:14px;}
  .field label{font-size:12.5px;font-weight:600;color:var(--ink-soft);display:block;margin-bottom:6px;font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em;}
  .field input{
    width:100%;padding:13px 14px;border-radius:8px;border:1.5px solid var(--line);
    font-family:'Work Sans';font-size:15px;background:var(--bg-soft);
  }
  .field input:focus{border-color:var(--accent-deep);outline:none;background:var(--paper);}
  .popup-box .btn-primary{width:100%;justify-content:center;margin-top:6px;}
  .popup-fine{font-size:11.5px;color:#a89a6f;margin-top:12px;text-align:center;}
  .popup-success{display:none;text-align:center;padding:10px 0;}
  .popup-success .tick{font-size:40px;margin-bottom:10px;}

  /* ---------- Sticky order button ---------- */
  .sticky-cta{
    position:fixed;right:22px;bottom:22px;z-index:150;
    display:flex;align-items:center;gap:10px;
    background:var(--accent-deep);color:var(--paper);
    padding:14px 20px;border-radius:50px;
    text-decoration:none;
    box-shadow:0 12px 28px rgba(140,59,43,0.45);
    animation:pulse-cta 2.4s ease-in-out infinite;
    transition:transform .15s ease;
  }
  .sticky-cta:hover{transform:translateY(-3px);}
  .sticky-cta-ico{font-size:19px;}
  .sticky-cta-text{display:flex;flex-direction:column;line-height:1.15;}
  .sticky-cta-label{font-weight:700;font-size:13.5px;}
  .sticky-cta-price{font-family:'IBM Plex Mono',monospace;font-size:11.5px;opacity:.9;}
  @keyframes pulse-cta{
    0%,100%{box-shadow:0 12px 28px rgba(140,59,43,0.45);}
    50%{box-shadow:0 12px 34px rgba(140,59,43,0.7);}
  }
  @media(prefers-reduced-motion: reduce){
    .sticky-cta{animation:none;}
  }
  @media(max-width:520px){
    .sticky-cta{right:14px;bottom:14px;padding:12px 16px;}
    .sticky-cta-label{font-size:12.5px;}
  }

  /* mobile */
  @media(max-width:900px){
    nav.mainnav{display:none;}
    .burger{display:block;}
    .hero .wrap{grid-template-columns:1fr;}
    .hero-visual{order:-1;}
    .label-frame{max-width:300px;padding:24px;}
    .problem-grid{grid-template-columns:repeat(2,1fr);}
    .works-grid{grid-template-columns:1fr;}
    .ingredients-grid{grid-template-columns:repeat(2,1fr);}
    .dose-grid{grid-template-columns:1fr;}
    .rev-grid{grid-template-columns:1fr;}
    .blog-grid{grid-template-columns:1fr;}
    .final-cta{grid-template-columns:1fr;padding:36px 24px;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
