/* -- PAYHIP FULL-BLEED ESCAPE ----------------------------------- */
#vd-root{
  margin-left:calc(-50vw + 50%);
  margin-right:calc(-50vw + 50%);
  width:100vw;
  overflow-x:hidden;
  font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
#vd-root *{box-sizing:border-box;}
#vd-root a{color:inherit;text-decoration:none;}

/* -- DESIGN TOKENS --------------------------------------------- */
#vd-root{
  --ink:#10172A; --ink-soft:#1A2238;
  --parchment:#F7F4ED; --parchment-dim:#EDE8DB;
  --brass:#B8862E; --brass-bright:#D6A14A;
  --green:#3F7D5C; --amber:#C8932F; --red:#B4543D;
  --slate:#5B6478; --slate-light:#8B91A3;
  --line:rgba(16,23,42,0.10); --line-dark:rgba(247,244,237,0.12);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono','Courier New',monospace;
}

/* -- RAG STRIP ------------------------------------------------- */
.vd-rag{display:flex;width:100%;height:5px;}
.vd-rag span{flex:1;}
.vd-rag .g{background:var(--green);}
.vd-rag .a{background:var(--amber);}
.vd-rag .r{background:var(--red);}

/* -- LAYOUT ---------------------------------------------------- */
.vd-wrap{max-width:1100px;margin:0 auto;padding:0 32px;}
@media(max-width:640px){.vd-wrap{padding:0 20px;}}

/* -- HERO ------------------------------------------------------ */
.vd-hero{
  background:var(--ink);color:var(--parchment);
  padding:72px 0 64px;position:relative;overflow:hidden;
}
.vd-hero::before{
  content:"";position:absolute;top:-180px;right:-180px;
  width:500px;height:500px;border-radius:50%;
  background:radial-gradient(circle,rgba(184,134,46,0.15),transparent 70%);
  pointer-events:none;
}
.vd-breadcrumb{
  font-family:var(--mono);font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--slate-light);margin-bottom:18px;display:block;
}
.vd-breadcrumb a{color:var(--brass-bright);}
.vd-hero-grid{display:flex;gap:56px;align-items:flex-start;}
.vd-hero-left{flex:1.3 1 420px;min-width:300px;}
.vd-hero-right{flex:1 1 280px;min-width:240px;}
@media(max-width:860px){.vd-hero-grid{flex-direction:column;gap:36px;}}
.vd-kicker{
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--brass-bright);margin-bottom:14px;display:block;
}
.vd-h1{
  font-family:var(--serif);font-weight:600;color:var(--parchment);
  font-size:clamp(32px,5vw,56px);line-height:1.06;letter-spacing:-0.01em;margin:0 0 18px;
}
.vd-h1 em{font-style:italic;font-weight:500;color:var(--brass-bright);}
.vd-hero-sub{
  font-size:16px;color:var(--slate-light);line-height:1.65;margin:0 0 32px;max-width:520px;
}
.vd-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px;}
.vd-badge{
  font-family:var(--mono);font-size:11px;letter-spacing:0.06em;
  padding:5px 10px;border:1px solid var(--line-dark);color:var(--slate-light);
}
.vd-badge.accent{border-color:var(--brass);color:var(--brass-bright);}

/* Phase strip in hero */
.vd-phase-strip{background:var(--ink-soft);border:1px solid var(--line-dark);padding:22px 20px;}
.vd-phase-strip .ps-label{
  font-family:var(--mono);font-size:10px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--slate-light);margin-bottom:16px;display:block;
}
.vd-phase-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line-dark);}
.vd-phase-row:last-child{border-bottom:none;}
.vd-phase-row .pr-num{
  font-family:var(--mono);font-size:10px;color:var(--brass-bright);
  width:20px;flex-shrink:0;
}
.vd-phase-row .pr-name{font-size:13.5px;font-weight:600;color:var(--parchment);}
.vd-phase-row .pr-desc{font-size:12px;color:var(--slate-light);margin-top:2px;}

/* -- SECTION --------------------------------------------------- */
.vd-section{padding:72px 0;}
.vd-section.dark{background:var(--ink);color:var(--parchment);}
.vd-section.dim{background:var(--parchment-dim);}
.vd-section.parchment{background:var(--parchment);}
.vd-eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--brass);margin-bottom:12px;display:block;
}
.vd-section.dark .vd-eyebrow{color:var(--brass-bright);}
.vd-h2{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(24px,3vw,34px);line-height:1.15;letter-spacing:-0.01em;margin:0 0 12px;
}
.vd-section.dark .vd-h2{color:var(--parchment);}
.vd-lead{font-size:15.5px;line-height:1.7;color:var(--slate);margin:0 0 40px;max-width:640px;}
.vd-section.dark .vd-lead{color:var(--slate-light);}

/* -- CATEGORY GROUPS (offerings, rebuilt to match the AI-DLC Stack section on
   home-option4.html — 8 tools + 2 bundles + 1 free reference across 5 categories) -- */
.vd-timeline{padding:8px 0 40px;}
.vd-tl-nodes{display:flex;text-align:center;}
.vd-tl-nodes>div{flex:1;padding:0 10px;}
.vd-tl-nodes .pn{font-family:var(--mono);font-size:10px;color:var(--brass-bright);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:4px;}
.vd-tl-nodes h4{font-family:var(--serif);font-weight:600;font-size:15px;margin:0 0 5px;}
.vd-tl-nodes p{font-size:11.5px;color:var(--slate-light);margin:0;line-height:1.5;}
.vd-tl-svg{width:100%;height:34px;margin-bottom:2px;}

.vd-cat{margin-bottom:34px;}
.vd-cat:last-child{margin-bottom:8px;}
.vd-cat-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.vd-cat-icon{width:30px;height:30px;border:1px solid var(--brass-bright);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.vd-cat-head h4{font-family:var(--mono);font-size:11.5px;letter-spacing:0.09em;text-transform:uppercase;margin:0;}
.vd-cat-grid{display:flex;flex-wrap:wrap;gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.vd-tile{background:var(--ink-soft);flex:1 1 0;min-width:260px;padding:22px 20px;transition:background 0.15s ease;}
.vd-tile:hover{background:#212b47;}
.vd-tile .vt-badge{font-family:var(--mono);font-size:9.5px;letter-spacing:0.07em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);padding:2px 7px;display:inline-block;margin-bottom:12px;}
.vd-tile .vt-badge.free{color:var(--brass-bright);border-color:var(--brass-bright);}
.vd-tile .vt-badge.bundle{color:var(--brass-bright);border-color:var(--brass-bright);}
.vd-tile h5{font-family:var(--serif);font-weight:600;font-size:15px;margin:0 0 8px;line-height:1.3;}
.vd-tile p{font-size:12px;color:var(--slate-light);line-height:1.55;margin:0 0 14px;}
.vd-tile a.vt-link{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--brass-bright);display:inline-block;}

/* -- DIMENSIONS LIST ------------------------------------------- */
.vd-dims{display:flex;flex-direction:column;}
.vd-dim{
  display:flex;align-items:flex-start;gap:18px;
  padding:18px 0;border-bottom:1px solid var(--line-dark);
}
.vd-dim:first-child{border-top:1px solid var(--line-dark);}
.vd-dim .dd-num{font-family:var(--mono);font-size:11px;color:var(--brass-bright);width:22px;flex-shrink:0;margin-top:2px;}
.vd-dim .dd-body{flex:1;}
.vd-dim .dd-body strong{font-size:15px;font-weight:600;color:var(--parchment);display:block;margin-bottom:4px;}
.vd-dim .dd-body span{font-size:13px;color:var(--slate-light);line-height:1.55;}
.vd-dim .dd-pct{font-family:var(--mono);font-size:12px;color:var(--slate-light);flex-shrink:0;white-space:nowrap;}

/* -- RAG LEGEND ------------------------------------------------ */
.vd-rag-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:32px;}
.vd-rag-item{display:flex;align-items:center;gap:10px;}
.vd-rag-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.vd-rag-dot.g{background:var(--green);}
.vd-rag-dot.a{background:var(--amber);}
.vd-rag-dot.r{background:var(--red);}
.vd-rag-item .ri-text{font-size:13.5px;color:var(--slate-light);}
.vd-rag-item .ri-text strong{color:var(--parchment);}

/* -- VOCAB TABLE ----------------------------------------------- */
.vd-vocab{display:flex;flex-direction:column;gap:0;}
.vd-vocab-row{
  display:flex;align-items:flex-start;gap:24px;
  padding:14px 0;border-bottom:1px solid var(--line);
}
.vd-vocab-row:first-child{border-top:1px solid var(--line);}
.vd-vocab-row .vr-term{
  font-family:var(--serif);font-weight:600;font-size:15px;
  color:var(--brass);min-width:180px;flex-shrink:0;
}
.vd-vocab-row .vr-def{font-size:14px;color:var(--slate);line-height:1.6;}

/* -- CTA BANNER ------------------------------------------------ */
.vd-cta-banner{
  background:var(--ink-soft);border:1px solid var(--brass);
  padding:36px 32px;display:flex;justify-content:space-between;
  align-items:center;gap:24px;flex-wrap:wrap;margin-top:0;
}
.vd-cta-banner .cb-left h3{font-family:var(--serif);font-weight:600;font-size:21px;margin:0 0 6px;}
.vd-cta-banner .cb-left p{font-size:14px;color:var(--slate-light);margin:0;max-width:460px;}
.vd-cta-banner .cb-right{display:flex;flex-direction:column;gap:8px;align-items:flex-end;}
.vd-mini-btn{
  border:1px solid var(--brass-bright);color:var(--brass-bright);
  font-family:var(--sans);font-size:13px;font-weight:600;
  padding:10px 18px;border-radius:2px;white-space:nowrap;display:inline-block;
}
.vd-btn-primary{
  display:block;width:100%;text-align:center;
  background:var(--brass-bright);color:var(--ink);
  font-family:var(--sans);font-weight:700;font-size:14px;
  padding:13px 20px;border-radius:2px;
}
.vd-btn-free{
  display:block;width:100%;text-align:center;
  background:var(--ink);color:var(--parchment);
  font-family:var(--sans);font-weight:600;font-size:14px;
  padding:13px 20px;border-radius:2px;
}

/* -- FOOTER NAV ------------------------------------------------ */
.vd-footer-nav{background:var(--ink);padding:28px 0;}
.vd-footer-nav .fn-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
.vd-footer-nav p{font-family:var(--mono);font-size:11px;color:var(--slate-light);margin:0;}
.vd-footer-nav .fn-links{display:flex;gap:24px;flex-wrap:wrap;}
.vd-footer-nav .fn-links a{font-family:var(--mono);font-size:11px;color:var(--slate-light);}
.vd-footer-nav .fn-links a:hover{color:var(--brass-bright);}

::selection{background:var(--brass);color:var(--ink);}


/* ---- Payhip Hardening Overrides ----
   Payhip's Custom Page template applies its own default colour to real heading
   tags (h1–h6) with higher CSS specificity than a plain class selector, so a rule
   like ".vd-tile h5{color:var(--parchment);}" is silently overridden by Payhip's
   default (dark) heading colour once this is pasted into the Embed Code field —
   the text becomes unreadable against the dark tile background. Every real
   heading sitting on a dark background in this file needs an ID-scoped
   !important rule instead. Do not remove any of the rules below. */
#vd-root h1,#vd-root h2,#vd-root h3,#vd-root h4,#vd-root h5,#vd-root h6{
  font-family:inherit;
}
#vd-root a{color:inherit !important;text-decoration:none !important;}
#vd-root ul,#vd-root ol{padding-left:18px;}
#vd-root button,
#vd-root .vd-btn-primary,
#vd-root .vd-btn-free,
#vd-root .vd-btn-secondary,
#vd-root .vd-mini-btn{
  font-family:var(--sans)!important;
}
#vd-root .vd-h1,
#vd-root .vd-hero h1{color:var(--parchment)!important;}
#vd-root .vd-h2,
#vd-root .vd-section.dark .vd-h2{color:inherit!important;}
#vd-root .vd-cta-banner .cb-left>h3{
  color:var(--parchment)!important;
  font-family:var(--serif)!important;
}
#vd-root .vd-tl-nodes h4,
#vd-root .vd-tl-nodes h4 a{color:var(--brass-bright)!important;}
#vd-root .vd-cat-head h4,
#vd-root .vd-cat-head h4 a{color:var(--brass-bright)!important;}
#vd-root .vd-tile h5,
#vd-root .vd-tile h5 a{color:var(--parchment)!important;}
