:root{
  --space-xs:6px;--space-sm:12px;--space-md:26px;--space-lg:33px;--space-xl:80px;
  --card-padding-y:22px;--card-padding-x:32px;--card-gap:20px;--card-radius:14px;
  --card-border-width:1px;--card-min-height:324px;--card-min-col-width:306px;
  --btn-padding-y:11px;--btn-padding-x:20px;--btn-radius:22px;--btn-gap-from-text:20px;
  --grid-gap:20px;--lh-heading:1.23;--lh-body:1.69;--ls-heading:0.030em;
  --accent:#1F4E3D;--secondary:#C9A876;--bg:#FCFAF4;--text:#1A2B24;--muted:#5C6862;
  --line:rgba(26,43,36,0.14);
  --display:'Playfair Display',Georgia,serif;
  --body:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;min-width:0}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}

html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--text);background:var(--bg);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}

h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:var(--lh-heading);letter-spacing:var(--ls-heading);color:var(--text);margin:0 0 var(--space-md)}
h1{font-size:clamp(2.5rem,5vw,4rem)}
h2{font-size:clamp(1.75rem,3.2vw,2.5rem)}
h3{font-size:clamp(1.2rem,1.8vw,1.45rem)}
h4{font-size:1rem;letter-spacing:0.08em;text-transform:uppercase}
p{margin:0 0 var(--space-md)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
code{font-family:ui-monospace,Menlo,monospace;font-size:0.92em;background:rgba(31,78,61,0.07);padding:1px 6px;border-radius:4px}

.wrap{max-width:1180px;margin:0 auto;padding:0 var(--space-lg)}
.wrap.narrow{max-width:880px}
.eyebrow{font-family:var(--body);font-size:0.78rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);margin:0 0 var(--space-sm)}
.section{padding:var(--space-xl) 0}
.section--alt{background:#F5F0E5}
.section__lead{color:var(--muted);font-size:1.05rem;max-width:62ch}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(252,250,244,0.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;color:var(--text)}
.brand:hover{text-decoration:none}
.brand__mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--accent);color:var(--secondary);font-family:var(--display);font-weight:700;font-size:1rem}
.brand__name{font-family:var(--display);font-size:1.15rem;font-weight:700}
.brand__name em{color:var(--accent);font-style:italic;font-weight:500}
.badge-18{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent);color:var(--accent);font-weight:700;font-size:0.78rem;padding:4px 10px;border-radius:999px;letter-spacing:0.05em}

/* Hero */
.hero{position:relative;min-height:60vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hero__bg{position:absolute;inset:0;z-index:0;background:
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20'><path d='M0 20 L20 0' stroke='%23C9A876' stroke-width='1.4' stroke-opacity='0.18'/></svg>"),
  linear-gradient(180deg,#1F4E3D 0%,#5C6862 40%,#FCFAF4 100%);
  background-repeat:repeat,no-repeat;background-size:20px 20px,cover}
.hero__inner{position:relative;z-index:1;padding:var(--space-xl) 0;text-align:center;max-width:920px}
.hero__byline{font-size:0.82rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--bg);margin:0 0 var(--space-md);font-weight:500}
.hero__h1{color:var(--text);background:rgba(252,250,244,0.78);display:inline-block;padding:6px 18px;border-radius:6px}
.hero__sub{color:var(--text);font-size:1.125rem;letter-spacing:0.02em;margin:var(--space-md) 0 var(--space-lg);background:rgba(252,250,244,0.78);display:inline-block;padding:6px 14px;border-radius:6px}
.hero__cta{display:inline-block;color:var(--accent);font-weight:700;letter-spacing:0.04em;padding-bottom:3px;border-bottom:1px solid currentColor;background:rgba(252,250,244,0.86);padding:8px 14px;border-radius:4px}
.hero__cta:hover{text-decoration:none;background:var(--accent);color:var(--bg)}
.hero__toc{margin-top:var(--space-xl);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-sm);font-size:0.88rem}
.hero__toc a{color:var(--text);background:rgba(252,250,244,0.86);padding:6px 12px;border-radius:4px}
.hero__toc a:hover{background:var(--accent);color:var(--bg);text-decoration:none}
.vrule{display:inline-block;width:1px;height:14px;background:var(--line);vertical-align:middle}
.vrule--tall{height:48px;background:rgba(26,43,36,0.2)}

/* Brand stack */
.brand-stack{display:flex;flex-direction:column;gap:var(--space-xl)}
.brand-feature{border-top:1px solid var(--line);padding-top:var(--space-lg)}
.brand-feature__head{display:grid;grid-template-columns:160px 1fr;gap:var(--space-lg);align-items:start}
.brand-feature__logo{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;display:flex;align-items:center;justify-content:center;min-height:120px}
.brand-feature__logo img{max-height:80px;width:auto;object-fit:contain}

.brand-feature__wordmark{font-family:var(--display);font-size:1.8rem;font-weight:700;color:var(--accent);letter-spacing:0.01em;text-align:center}
.brand-feature__meta{min-width:0;display:flex;flex-direction:column;gap:var(--space-sm)}
.verif-badge{align-self:flex-start;background:var(--accent);color:var(--bg);font-size:0.74rem;font-weight:600;letter-spacing:0.05em;padding:4px 10px;border-radius:999px;font-family:ui-monospace,Menlo,monospace;text-transform:uppercase}
.brand-feature__meta h3{margin:0}
.brand-feature__rating{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-sm)}
.rating-num{font-family:var(--display);font-size:2rem;font-weight:700;color:var(--accent);line-height:1}
.rating-of{color:var(--muted);font-size:0.95rem}
.rating-label{font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}
.rating-bar{flex:1 1 100%;height:6px;background:rgba(31,78,61,0.12);border-radius:999px;overflow:hidden;min-width:140px;max-width:280px}
.rating-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--secondary));border-radius:999px}

.brand-feature__body{margin-top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}
.brand-feature__body p{margin:0}
.feat-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-sm)}
.feat-list li{padding:var(--space-sm) 0;border-bottom:1px solid var(--line);color:var(--text)}
.feat-list li strong{color:var(--accent);font-weight:700;margin-right:6px}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.chip{display:inline-block;padding:4px 12px;border:1px solid var(--line);border-radius:999px;font-size:0.84rem;color:var(--muted);background:transparent}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md);margin-top:var(--btn-gap-from-text)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--body);font-weight:600;padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);border:1px solid transparent;cursor:pointer;text-decoration:none;font-size:0.95rem;transition:background .15s ease,color .15s ease,border-color .15s ease;letter-spacing:0.02em}
.btn--primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.btn--primary:hover{background:#163829;border-color:#163829;text-decoration:none;color:var(--bg)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.btn--link{background:transparent;border:none;color:var(--accent);padding:6px 0;border-radius:0;border-bottom:1px solid currentColor}
.btn--link:hover{color:#163829;text-decoration:none}
.btn--sm{padding:8px 14px;font-size:0.85rem}

/* Timeline */
.timeline-wrap{padding-top:var(--space-lg);overflow-x:auto}
.timeline{list-style:none;margin:0;padding:var(--space-lg) 0 0;display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:var(--space-md);position:relative;min-width:880px}
.timeline::before{content:"";position:absolute;top:24px;left:0;right:0;height:1px;background:var(--line)}
.timeline__step{position:relative;padding-top:48px}
.timeline__dot{position:absolute;top:18px;left:0;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--accent)}
.timeline__num{font-family:var(--display);font-size:0.85rem;font-weight:700;color:var(--secondary);letter-spacing:0.1em;display:block;margin-bottom:4px}
.timeline__step h3{font-size:1.05rem;margin:0 0 var(--space-sm)}
.timeline__step p{margin:0;font-size:0.93rem;color:var(--muted);line-height:1.55}

/* Trust strip */
.trust-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md)}
.trust-cell{flex:1 1 180px;text-align:center}
.trust-cell__num{font-family:var(--display);font-size:1.8rem;font-weight:700;color:var(--accent);margin:0}
.trust-cell__label{margin:4px 0 0;font-size:0.88rem;color:var(--muted)}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:var(--space-md)}
.faq__q{font-weight:700;color:var(--text);margin:var(--space-md) 0 6px;font-size:1.05rem;font-family:var(--display)}
.faq__q:first-child{margin-top:0}
.faq__a{margin:0 0 var(--space-md);color:var(--muted);padding-left:var(--space-md);border-left:2px solid var(--secondary)}

.reminder{padding:var(--space-md);border:1px solid var(--accent);border-radius:8px;background:rgba(31,78,61,0.04);color:var(--text)}

/* Footer */
.site-footer{background:#1A2B24;color:#D9DAD3;padding:var(--space-xl) 0 var(--space-lg);margin-top:var(--space-xl)}
.footer-lead{font-family:var(--display);font-size:1.4rem;color:var(--bg);margin:0 0 var(--space-lg);max-width:60ch}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(252,250,244,0.12)}
.footer-col h4{color:var(--secondary);margin:0 0 var(--space-sm);font-family:var(--body);font-size:0.78rem;letter-spacing:0.16em}
.footer-col p{font-size:0.9rem;line-height:1.6;color:#D9DAD3;margin:0 0 var(--space-sm)}
.footer-col a{color:var(--bg)}
.footer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:0.9rem}
.footer-logos{display:flex;flex-wrap:wrap;gap:14px;margin-top:var(--space-md);align-items:center}
.footer-logos a{display:inline-flex;padding:4px;border-radius:6px;transition:background .15s}
.footer-logos a:hover{background:rgba(255,255,255,0.06)}
.footer-logos img{max-height:56px;width:auto;background:transparent;padding:0;border:none;opacity:0.92;filter:brightness(1.05)}
.footer-base{padding-top:var(--space-md);font-size:0.82rem;color:#9AA39E}
.footer-base p{margin:4px 0}

/* Age modal */
.age-modal{position:fixed;inset:0;z-index:1000;background:rgba(26,43,36,0.92);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}
.age-modal[hidden]{display:none}
.age-modal__inner{background:var(--bg);max-width:480px;width:100%;padding:var(--space-lg);border-radius:12px;text-align:center;border-top:4px solid var(--accent)}
.age-modal__inner h2{margin:0 0 var(--space-md);font-size:1.5rem}
.age-modal__inner p{color:var(--muted);font-size:0.95rem}
.age-modal__actions{display:flex;flex-direction:column;gap:10px;margin-top:var(--space-md)}
@media(min-width:480px){.age-modal__actions{flex-direction:row;justify-content:center}}

/* Cookie banner */
.cookie-banner{position:fixed;left:var(--space-md);right:var(--space-md);bottom:var(--space-md);z-index:900;background:#1A2B24;color:var(--bg);padding:var(--space-md);border-radius:12px;display:flex;flex-direction:column;gap:var(--space-sm);box-shadow:0 12px 30px rgba(0,0,0,0.18)}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0;font-size:0.9rem;color:#D9DAD3}
.cookie-banner a{color:var(--secondary)}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media(min-width:720px){.cookie-banner{flex-direction:row;align-items:center;justify-content:space-between;left:auto;right:var(--space-md);max-width:640px}}

/* Brand subpage */
.subpage-hero{padding:var(--space-xl) 0 var(--space-lg);border-bottom:1px solid var(--line)}
.subpage-hero .crumb{font-size:0.85rem;color:var(--muted);margin:0 0 var(--space-md)}
.subpage-hero h1{font-size:clamp(2rem,3.6vw,3rem)}
.subpage-meta{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;margin-top:var(--space-md)}
.spec-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-sm) var(--space-md)}
.spec-list li{padding:var(--space-sm) 0;border-bottom:1px solid var(--line)}
.spec-list strong{color:var(--accent);display:block;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px}
.cta-block{padding:var(--space-lg);border:1px solid var(--accent);border-radius:12px;background:rgba(31,78,61,0.04);text-align:center;margin-top:var(--space-lg)}
.cta-block .btn{margin-top:var(--space-sm)}

@media(max-width:680px){
  .brand-feature__head{grid-template-columns:1fr}
  .brand-feature__logo{min-height:90px}
  .timeline{grid-template-columns:repeat(5,260px)}
  .hero__inner{padding:var(--space-lg) 0}
  .footer-cols{grid-template-columns:1fr}
}
