/* ============================================================
   The Honest Capsule - slimtidereviews.com
   Theme: "Violet Dispatch" (magazine / wellness, product violet)
   Method: vd- flat compound-kebab classes + [data-*] state/variant
           + u- utilities + :root hex tokens. Grouped by page section,
           light native nesting for pseudo-classes only. No @layer.
   ============================================================ */

/* ---- metric-matched fallbacks (size-adjust calibrated in preview) ---- */
@font-face{font-family:"Playfair fallback";src:local("Georgia");size-adjust:88.1%}
@font-face{font-family:"Wix fallback";src:local("Arial");size-adjust:100.8%}

/* ---- tokens ---- */
:root{
  --ink:#221a2e;
  --ink-soft:#3c3550;
  --violet:#5b2aa0;
  --violet-deep:#3c1c6e;
  --violet-bright:#7c3ed1;
  --orchid:#c33fa0;
  --lilac:#f1eafb;
  --lilac-2:#e9defa;
  --line:#e2d6f3;
  --canvas:#faf7fd;
  --white:#ffffff;
  --muted:#5c5470;
  --gold:#e0a429;
  --green:#207a4b;
  --green-bg:#e7f4ec;
  --amber:#8a5a12;
  --amber-bg:#fbf1da;
  --red:#b23636;

  --font-head:"Playfair Display","Playfair fallback",Georgia,serif;
  --font-body:"Wix Madefor Text","Wix fallback",Arial,sans-serif;

  --r-sm:9px; --r:15px; --r-lg:24px; --pill:999px;
  --sh-sm:0 1px 2px rgba(40,20,70,.07);
  --sh:0 10px 30px -14px rgba(60,28,110,.30);
  --sh-lg:0 26px 60px -28px rgba(60,28,110,.45);
  --maxw:1080px;
}

/* ---- reset / base ---- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--font-body);font-size:1.05rem;line-height:1.7;
  font-weight:400;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:800;line-height:1.12;
  color:var(--ink);margin:0 0 .5em;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,1.1rem+2vw,2.4rem)}
h3{font-size:clamp(1.2rem,1rem+1vw,1.55rem);font-weight:700}
h4{font-size:1.08rem;font-weight:700}
p{margin:0 0 1.05em}
a{color:var(--violet);text-underline-offset:.16em;text-decoration-thickness:.07em}
a:hover{color:var(--violet-deep)}
img{max-width:100%;height:auto;display:block}
strong,b{font-weight:700}
hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}
:focus-visible{outline:3px solid var(--violet-bright);outline-offset:2px;border-radius:4px}

/* ---- utilities ---- */
.u-wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1rem,3vw,2rem)}
.u-narrow{max-width:760px}
.u-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.u-center{text-align:center}
.u-mt0{margin-top:0}
.u-eyebrow{font-family:var(--font-body);font-weight:700;text-transform:uppercase;
  letter-spacing:.14em;font-size:.74rem;color:var(--orchid)}
.u-skip{position:absolute;left:-999px;top:0;background:var(--violet);color:#fff;
  padding:.7rem 1.1rem;border-radius:0 0 var(--r-sm) 0;z-index:200}
.u-skip:focus{left:0}

/* ---- disclosure ribbon (FTC, top of page) ---- */
.vd-ribbon{background:var(--violet-deep);color:#efe6fb;font-size:.83rem;line-height:1.5}
.vd-ribbon .u-wrap{padding-block:.5rem;display:flex;gap:.5rem;justify-content:center;
  align-items:center;text-align:center;flex-wrap:wrap}
.vd-ribbon a{color:#fff;font-weight:600}
.vd-ribbon b{color:#f3d9ec}

/* ---- header ---- */
.vd-head{position:sticky;top:0;z-index:100;background:rgba(250,247,253,.92);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.vd-head .u-wrap{display:flex;align-items:center;gap:1rem;
  padding-block:.7rem;min-height:62px}
.vd-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);
  font-family:var(--font-head);font-weight:800;font-size:1.18rem;letter-spacing:-.02em;line-height:1.05}
.vd-brand img{width:34px;height:34px}
.vd-brand small{display:block;font-family:var(--font-body);font-weight:600;
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--orchid)}
.vd-nav{margin-left:auto;display:flex;align-items:center;gap:.3rem}
.vd-nav a{font-weight:600;font-size:.96rem;color:var(--ink-soft);text-decoration:none;
  padding:.5rem .7rem;border-radius:var(--r-sm)}
.vd-nav a:hover{background:var(--lilac);color:var(--violet)}
.vd-nav a[aria-current="page"]{color:var(--violet);background:var(--lilac)}
.vd-burger{display:none;margin-left:auto;background:var(--lilac);border:1px solid var(--line);
  border-radius:var(--r-sm);width:46px;height:42px;cursor:pointer;align-items:center;justify-content:center}
.vd-burger span,.vd-burger span::before,.vd-burger span::after{content:"";display:block;
  width:20px;height:2px;background:var(--ink);position:relative;transition:.2s}
.vd-burger span::before{position:absolute;top:-6px}
.vd-burger span::after{position:absolute;top:6px}

.vd-cta-mini{background:var(--violet);color:#fff!important;font-weight:700;
  padding:.55rem .95rem;border-radius:var(--pill);text-decoration:none;font-size:.9rem;
  box-shadow:var(--sh-sm)}
.vd-cta-mini:hover{background:var(--violet-deep);color:#fff}

@media (max-width:860px){
  .vd-burger{display:flex}
  .vd-nav{position:fixed;inset:62px 0 auto 0;flex-direction:column;align-items:stretch;
    background:var(--white);border-bottom:1px solid var(--line);padding:.6rem 1rem 1rem;
    gap:.15rem;box-shadow:var(--sh);transform:translateY(-120%);transition:transform .25s;
    margin:0}
  .vd-nav[data-open="true"]{transform:translateY(0)}
  .vd-nav a{padding:.8rem .6rem;font-size:1.05rem}
  .vd-cta-mini{text-align:center;margin-top:.4rem}
}

/* ---- breadcrumb ---- */
.vd-crumb{background:var(--lilac);border-bottom:1px solid var(--line);font-size:.85rem}
.vd-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:.6rem 0}
.vd-crumb li{display:flex;gap:.4rem;align-items:center;color:var(--muted)}
.vd-crumb li+li::before{content:"/";color:var(--line)}
.vd-crumb a{text-decoration:none;font-weight:600}

/* ---- hero / lede ---- */
.vd-hero{padding:clamp(2rem,4vw,3.4rem) 0 1rem}
.vd-hero-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:clamp(1.5rem,4vw,2.6rem);align-items:center}
.vd-hero-fig{margin:0;display:grid;place-items:center}
.vd-hero-fig img{width:auto;max-width:min(270px,72%);height:auto;
  filter:drop-shadow(0 22px 42px rgba(60,28,110,.30))}
@media (max-width:760px){
  .vd-hero-grid{grid-template-columns:1fr}
  .vd-hero-fig img{max-width:200px}
}
.vd-hero h1{font-size:clamp(2.1rem,1.4rem+3.4vw,3.5rem);margin-bottom:.35em}
.vd-hero .vd-claim{color:var(--violet)}
.vd-lede{font-size:1.18rem;color:var(--ink-soft);max-width:60ch}
.vd-byline{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;align-items:center;
  margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line);
  font-size:.9rem;color:var(--muted)}
.vd-byline b{color:var(--ink)}
.vd-byline .vd-dot{width:5px;height:5px;border-radius:50%;background:var(--orchid)}

/* ---- verdict card ---- */
.vd-verdict{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.2rem,3vw,2.2rem);
  align-items:center;background:linear-gradient(160deg,#fff, #f6efff 90%);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.4rem,3vw,2.2rem);
  box-shadow:var(--sh);margin:1.8rem 0;position:relative;overflow:hidden}
.vd-verdict::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;
  background:linear-gradient(var(--violet),var(--orchid))}
.vd-ring{--p:80;width:128px;height:128px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--violet) calc(var(--p)*1%),var(--lilac-2) 0);
  position:relative}
.vd-ring::after{content:"";position:absolute;inset:11px;background:#fff;border-radius:50%;
  box-shadow:inset 0 0 0 1px var(--line)}
.vd-ring b{position:relative;font-family:var(--font-head);font-size:2.5rem;font-weight:800;
  line-height:1;color:var(--violet-deep)}
.vd-ring small{position:relative;display:block;text-align:center;font-size:.7rem;
  font-weight:700;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.vd-verdict h2{margin-top:0;font-size:clamp(1.4rem,1rem+1.6vw,1.9rem)}
.vd-verdict .vd-bottomline{font-size:1.08rem;color:var(--ink-soft);margin-bottom:1rem}
.vd-stars-static{color:var(--gold);font-size:1.15rem;letter-spacing:.08em}
@media (max-width:560px){
  .vd-verdict{grid-template-columns:1fr;text-align:center}
  .vd-verdict::before{inset:0 0 auto 0;width:auto;height:6px}
  .vd-ring{margin-inline:auto}
}

/* ---- key facts grid (dl: dt=label, dd=value) ---- */
.vd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.7rem;
  margin:1.4rem 0}
.vd-fact{background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:.85rem .95rem;margin:0}
.vd-fact dt{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--muted);margin-bottom:.2rem}
.vd-fact dd{margin:0;font-weight:700;color:var(--ink);font-size:1.02rem;line-height:1.35}

/* ---- generic sections ---- */
.vd-section{padding:clamp(1.8rem,4vw,3rem) 0}
.vd-section[data-tint="lilac"]{background:var(--lilac);border-block:1px solid var(--line)}
.vd-section[data-tint="violet"]{background:var(--violet-deep);color:#efe6fb}
.vd-section[data-tint="violet"] h2,.vd-section[data-tint="violet"] h3{color:#fff}
.vd-kicker{margin-bottom:.4rem}
.vd-prose{max-width:68ch}
.vd-prose h3{margin-top:1.8rem}

/* ---- callout / pullquote ---- */
.vd-callout{border-left:4px solid var(--orchid);background:var(--lilac);
  padding:1rem 1.2rem;border-radius:0 var(--r) var(--r) 0;margin:1.5rem 0}
.vd-pull{font-family:var(--font-head);font-weight:700;font-size:clamp(1.3rem,1rem+1.4vw,1.7rem);
  line-height:1.25;color:var(--violet-deep);border:0;margin:1.8rem 0;padding:0}

/* ---- pros / cons ---- */
.vd-proscons{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:1.4rem 0}
.vd-pc{border-radius:var(--r-lg);padding:1.2rem 1.3rem;border:1px solid var(--line)}
.vd-pc[data-kind="pro"]{background:var(--green-bg);border-color:#bfe3cd}
.vd-pc[data-kind="con"]{background:var(--amber-bg);border-color:#ecd6a6}
.vd-pc h3{margin-top:0;display:flex;align-items:center;gap:.5rem;font-size:1.15rem}
.vd-pc ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.vd-pc li{display:flex;gap:.6rem;align-items:flex-start;font-size:.98rem;line-height:1.55}
.vd-pc li::before{font-weight:800;flex:none;margin-top:.05rem}
.vd-pc[data-kind="pro"] li::before{content:"+";color:var(--green)}
.vd-pc[data-kind="con"] li::before{content:"\2013";color:var(--amber)}
@media (max-width:620px){.vd-proscons{grid-template-columns:1fr}}

/* ---- rating bars ---- */
.vd-bars{display:grid;gap:.85rem;margin:1.3rem 0}
.vd-bar{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:center}
.vd-bar .vd-bar-label{font-weight:600;font-size:.96rem}
.vd-bar .vd-bar-num{font-weight:700;color:var(--violet-deep);font-variant-numeric:tabular-nums}
.vd-bar .vd-bar-track{grid-column:1/-1;height:9px;background:var(--lilac-2);border-radius:var(--pill);overflow:hidden}
.vd-bar .vd-bar-fill{height:100%;border-radius:var(--pill);
  background:linear-gradient(90deg,var(--violet),var(--orchid))}

/* ---- stat snapshot (dl groups: dd=number on top via column-reverse) ---- */
.vd-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin:1.5rem 0}
.vd-stat{display:flex;flex-direction:column-reverse;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r);padding:1.1rem;text-align:center;margin:0;
  box-shadow:var(--sh-sm)}
.vd-stat dt{font-size:.78rem;color:var(--muted);font-weight:600;line-height:1.3}
.vd-stat dd{margin:0 0 .2rem;font-family:var(--font-head);font-weight:800;
  font-size:clamp(1.7rem,1.2rem+1.6vw,2.3rem);color:var(--violet-deep);line-height:1}

/* ---- star distribution ---- */
.vd-dist{display:grid;gap:.5rem;margin:1.2rem 0;max-width:540px}
.vd-dist-row{display:grid;grid-template-columns:54px 1fr 46px;gap:.7rem;align-items:center;font-size:.92rem}
.vd-dist-row .vd-dist-track{height:12px;background:var(--lilac-2);border-radius:var(--pill);overflow:hidden}
.vd-dist-row .vd-dist-fill{height:100%;background:var(--gold);border-radius:var(--pill)}
.vd-dist-row b{font-variant-numeric:tabular-nums;text-align:right;color:var(--ink-soft)}

/* ---- tables ---- */
.vd-table-wrap{overflow-x:auto;margin:1.3rem 0;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-sm)}
table.vd-table{width:100%;border-collapse:collapse;background:var(--white);font-size:.96rem;min-width:440px}
.vd-table caption{text-align:left;padding:.4rem .2rem;color:var(--muted);font-size:.85rem}
.vd-table th,.vd-table td{padding:.8rem .9rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.vd-table thead th{background:var(--lilac);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--violet-deep)}
.vd-table tbody tr:last-child td{border-bottom:0}
.vd-table tbody th{font-weight:700}
.vd-table [data-good]{color:var(--green);font-weight:700}
.vd-table [data-bad]{color:var(--amber);font-weight:700}

/* ---- testimonials ---- */
.vd-reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.1rem;margin:1.4rem 0}
.vd-review{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.2rem 1.3rem;box-shadow:var(--sh-sm);display:flex;flex-direction:column;gap:.6rem}
.vd-review[data-crit="true"]{background:#fbf6ef;border-color:#ecd9bf}
.vd-review-top{display:flex;align-items:center;gap:.7rem}
.vd-avatar{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-weight:800;color:#fff;background:var(--violet);font-size:.95rem}
.vd-review[data-crit="true"] .vd-avatar{background:var(--amber)}
.vd-review-who b{display:block;font-size:.96rem}
.vd-review-who span{font-size:.8rem;color:var(--muted)}
.vd-review .vd-stars-static{font-size:.95rem}
.vd-review h4{margin:.1rem 0 0;font-family:var(--font-body);font-weight:700}
.vd-review p{margin:0;font-size:.97rem;color:var(--ink-soft)}
.vd-badge{display:inline-flex;align-items:center;gap:.3rem;align-self:flex-start;margin-top:auto;
  font-size:.72rem;font-weight:700;color:var(--green);background:var(--green-bg);
  padding:.2rem .55rem;border-radius:var(--pill)}

/* ---- pricing ---- */
.vd-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem;margin:1.5rem 0}
.vd-plan{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:1.4rem 1.3rem;text-align:center;position:relative;box-shadow:var(--sh-sm);
  display:flex;flex-direction:column;gap:.5rem}
.vd-plan[data-best="true"]{border-color:var(--violet);box-shadow:var(--sh);
  outline:2px solid var(--violet)}
.vd-plan .vd-plan-tag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:var(--orchid);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.05em;
  padding:.25rem .8rem;border-radius:var(--pill);white-space:nowrap}
.vd-plan h3{margin:0;font-family:var(--font-body);font-weight:700;font-size:1.05rem;color:var(--muted)}
.vd-plan .vd-price{font-family:var(--font-head);font-weight:800;font-size:2.6rem;color:var(--violet-deep);line-height:1}
.vd-plan .vd-price small{font-size:.85rem;font-weight:600;color:var(--muted);font-family:var(--font-body)}
.vd-plan .vd-plan-total{font-size:.9rem;color:var(--ink-soft)}
.vd-plan .vd-plan-note{font-size:.82rem;color:var(--muted)}

/* ---- CTA button + disclosure microcopy ---- */
.vd-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--violet);color:#fff;font-weight:800;font-size:1.02rem;letter-spacing:.01em;
  padding:.85rem 1.5rem;border-radius:var(--pill);text-decoration:none;border:0;cursor:pointer;
  box-shadow:var(--sh);transition:transform .15s,background .15s;min-height:48px}
.vd-cta:hover{background:var(--violet-deep);color:#fff;transform:translateY(-1px)}
.vd-cta[data-variant="ghost"]{background:#fff;color:var(--violet);border:2px solid var(--violet);box-shadow:none}
.vd-cta[data-variant="ghost"]:hover{background:var(--lilac);color:var(--violet-deep)}
.vd-cta-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:1.1rem 0 .4rem}
.vd-microcopy{font-size:.82rem;color:var(--muted);max-width:46ch}
.vd-microcopy a{font-weight:600}

/* ---- review submission form ---- */
.vd-form-wrap{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:clamp(1.3rem,3vw,2rem);box-shadow:var(--sh-sm);max-width:680px}
.vd-form{display:grid;gap:1rem}
.vd-field{display:grid;gap:.35rem}
.vd-field label{font-weight:700;font-size:.92rem}
.vd-field .vd-hint{font-weight:400;color:var(--muted);font-size:.82rem}
.vd-field input,.vd-field textarea,.vd-field select{
  font:inherit;color:var(--ink);background:var(--canvas);border:1px solid var(--line);
  border-radius:var(--r-sm);padding:.7rem .85rem;width:100%;min-height:46px}
.vd-field textarea{min-height:120px;resize:vertical}
.vd-field input:focus,.vd-field textarea:focus{border-color:var(--violet);
  outline:2px solid var(--violet-bright);outline-offset:0}
.vd-row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:520px){.vd-row2{grid-template-columns:1fr}}
.vd-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vd-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem}
.vd-consent input{width:20px;height:20px;min-height:0;margin-top:.15rem;flex:none}

/* star picker (CSS radio, no JS needed for selection) */
.vd-starpick{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}
.vd-starpick legend{font-weight:700;font-size:.92rem;padding:0}
.vd-starpick .vd-starrow{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.1rem}
.vd-starpick input{position:absolute;opacity:0;width:1px;height:1px}
.vd-starpick label{font-size:2rem;line-height:1;color:var(--lilac-2);cursor:pointer;
  padding:0 .05rem;transition:color .12s;min-width:34px;text-align:center}
.vd-starpick label:hover,.vd-starpick label:hover ~ label{color:var(--gold)}
.vd-starpick input:checked ~ label{color:var(--gold)}
.vd-starpick input:focus-visible + label{outline:3px solid var(--violet-bright);outline-offset:2px;border-radius:4px}

.vd-form-note{font-size:.82rem;color:var(--muted);margin-top:.4rem}
.vd-success{display:none;background:var(--green-bg);border:1px solid #bfe3cd;color:#155
  ;border-radius:var(--r);padding:1rem 1.2rem}
.vd-success[data-show="true"]{display:block}
.vd-success b{color:var(--green)}

/* ---- FAQ (native details) ---- */
.vd-faq{display:grid;gap:.7rem;margin:1.3rem 0;max-width:760px}
.vd-faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--r);
  padding:.3rem .3rem;box-shadow:var(--sh-sm)}
.vd-faq summary{cursor:pointer;font-weight:700;padding:.85rem 1rem;list-style:none;
  display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:1.02rem}
.vd-faq summary::-webkit-details-marker{display:none}
.vd-faq summary::after{content:"+";color:var(--orchid);font-size:1.4rem;font-weight:700;flex:none}
.vd-faq details[open] summary::after{content:"\2013"}
.vd-faq details p{margin:0 1rem 1rem;color:var(--ink-soft)}
.vd-faq details p:first-of-type{margin-top:.2rem}

/* ---- takeaways ---- */
.vd-takeaways{background:linear-gradient(160deg,#fff,#f3ecfd);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:clamp(1.3rem,3vw,1.9rem);margin:1.6rem 0;box-shadow:var(--sh-sm)}
.vd-takeaways ul{margin:.6rem 0 0;padding:0;list-style:none;display:grid;gap:.7rem}
.vd-takeaways li{display:flex;gap:.7rem;align-items:flex-start}
.vd-takeaways li::before{content:"\2714";color:var(--violet);font-weight:800;flex:none}

/* ---- author box ---- */
.vd-author{display:flex;gap:1rem;align-items:flex-start;background:var(--lilac);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:1.2rem 1.3rem;margin:1.8rem 0}
.vd-author .vd-avatar{width:54px;height:54px;font-size:1.2rem}
.vd-author p{margin:.3rem 0 0;font-size:.92rem;color:var(--ink-soft)}

/* ---- footer ---- */
.vd-foot{background:var(--ink);color:#cfc6df;margin-top:2.5rem;font-size:.92rem;line-height:1.65}
.vd-foot .u-wrap{padding-block:2.4rem 1.6rem}
.vd-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:1.6rem}
.vd-foot h3{color:#fff;font-family:var(--font-body);font-weight:700;font-size:1rem;margin-bottom:.7rem}
.vd-foot-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-head);
  font-weight:800;font-size:1.15rem;color:#fff;margin-bottom:.6rem}
.vd-foot-brand img{width:30px;height:30px}
.vd-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.vd-foot a{color:#cfc6df;text-decoration:none}
.vd-foot a:hover{color:#fff;text-decoration:underline}
.vd-foot-legal{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid #3a3350;
  font-size:.8rem;color:#9b91ad}
.vd-foot-legal p{margin:0 0 .7rem}
.vd-disclaimer{background:#2a2238;border:1px solid #3a3350;border-radius:var(--r);
  padding:.9rem 1.1rem;margin-bottom:1.2rem;font-size:.8rem}
@media (max-width:720px){.vd-foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.vd-foot-grid{grid-template-columns:1fr}}

/* ---- 404 ---- */
.vd-404{text-align:center;padding:4rem 0}
.vd-404 h1{font-size:clamp(2.4rem,1.6rem+4vw,4rem);color:var(--violet)}
