/* ============================================================
   Wiki Authority Group  Design System  v2
   Editorial  Modern dark  enhanced
   ============================================================ */

:root {
  --ink-900: #0b1e3c;
  --ink-850: #152423;
  --ink-800: #1b2c2b;
  --ink-700: #273736;
  --ink-600: #38484a;
  --ink-500: #556464;
  --ink-400: #7a8788;
  --ink-300: #a0acac;
  --ink-200: #cdd3d1;
  --ink-100: #e9ebe6;
  --paper:   #f7f3e8;
  --paper-2: #efe9d7;
  --paper-3: #e4dcc3;
  --paper-line: #c9bfa1;

  --gold-900: #6b5522;
  --gold-700: #8a6d2d;
  --gold-500: #b4923d;
  --gold-400: #c9a555;
  --gold-300: #dab872;
  --gold-200: #e8ca8e;
  --gold-100: #f2deae;

  --accent: #b4923d;
  --accent-soft: rgba(180,146,61,0.16);
  --accent-fg: #0b1e3c;

  --serif: 'Instrument Serif','Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:  'Geist','Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --mono:  'JetBrains Mono','IBM Plex Mono',ui-monospace,Menlo,monospace;

  --page-max: 1280px;
  --rail: 28px;
  --gutter: 80px;
  --ease: cubic-bezier(.22,.8,.26,1);
}

html[data-accent="gold"]    { --accent:#b4923d; --accent-soft:rgba(180,146,61,.16); --accent-fg:#0b1e3c; }
html[data-accent="oxford"]  { --accent:#2a4769; --accent-soft:rgba(42,71,105,.18);  --accent-fg:#fff; }
html[data-accent="forest"]  { --accent:#2f5a44; --accent-soft:rgba(47,90,68,.18);   --accent-fg:#fff; }
html[data-accent="burgundy"]{ --accent:#7a2a2f; --accent-soft:rgba(122,42,47,.18);  --accent-fg:#fff; }
html[data-accent="ink"]     { --accent:#0b1e3c; --accent-soft:rgba(11, 30, 60,.12);   --accent-fg:#f7f3e8; }
html[data-accent="copper"]  { --accent:#a8521f; --accent-soft:rgba(168,82,31,.16);  --accent-fg:#fff; }

html[data-density="compact"] { --gutter:56px; --rail:20px; }
html[data-density="airy"]    { --gutter:120px; --rail:40px; }

html[data-theme="light"] body { background:var(--paper); color:var(--ink-900); }
html[data-theme="light"] .nav { background:rgba(247,243,232,.7); border-bottom-color:rgba(0,0,0,.08); }
html[data-theme="light"] .nav.is-top { background:transparent; }
html[data-theme="light"] .nav-logo,
html[data-theme="light"] .nav-links a,
html[data-theme="light"] .nav-phone { color:var(--ink-900); }
html[data-theme="light"] .nav-hamburger span { background:var(--ink-700); }
html[data-theme="light"] .btn-primary { background:var(--ink-900); color:var(--paper); }
html[data-theme="light"] .btn-ghost { border-color:var(--paper-line); color:var(--ink-900); }
html[data-theme="light"] .hero h1,html[data-theme="light"] .hero h1 em { color:var(--ink-900); -webkit-text-fill-color:var(--ink-900); background:none; }
html[data-theme="light"] .hero-lede { color:var(--ink-500); }
html[data-theme="light"] .hero-meta { border-color:var(--paper-line); }
html[data-theme="light"] .hero-meta .m-num { color:var(--ink-900); }
html[data-theme="light"] .section { background:var(--paper); color:var(--ink-900); }
html[data-theme="light"] .section.paper { background:var(--paper-2); }
html[data-theme="light"] .sec-title em { color:var(--ink-500); }
html[data-theme="light"] .sec-lede,.sec-lede { color:var(--ink-300); }
html[data-theme="light"] .sec-lede,.html[data-theme="light"] .kicker { color:var(--ink-500); }
html[data-theme="light"] .steps,.html[data-theme="light"] .step { border-color:var(--paper-line) !important; }
html[data-theme="light"] .step p { color:var(--ink-500); }
html[data-theme="light"] .step.is-active { background:var(--paper-3); }
html[data-theme="light"] .footer { background:var(--paper-2); color:var(--ink-500); border-top-color:var(--paper-line); }
html[data-theme="light"] .footer-col h5,html[data-theme="light"] .footer-col p { color:var(--ink-500); }
html[data-theme="light"] .footer-col a { color:var(--ink-900); }
html[data-theme="light"] .footer-bottom { border-top-color:var(--paper-line); color:var(--ink-500); }
html[data-theme="light"] .trust { border-color:var(--paper-line); }
html[data-theme="light"] .trust-name { color:var(--ink-500); }
html[data-theme="light"] .trust-name:hover { color:var(--ink-900); }
html[data-type="display-serif"] { --serif:'Instrument Serif',Georgia,serif; }
html[data-type="classic"]       { --serif:'Cormorant Garamond','Instrument Serif',Georgia,serif; }
html[data-type="modern-sans"] .sec-title,.html[data-type="modern-sans"] .hero h1 { font-family:var(--sans); font-weight:500; }
html[data-type="brutal"]  { --serif:'Instrument Serif',Georgia,serif; --sans:'JetBrains Mono',ui-monospace,monospace; }

html[data-corners="sharp"] .btn,html[data-corners="sharp"] .quiz,html[data-corners="sharp"] .contact,html[data-corners="sharp"] .quiz-option { border-radius:0; }
html[data-corners="soft"]  .btn { border-radius:999px; }
html[data-corners="soft"]  .quiz,.html[data-corners="soft"] .contact,.html[data-corners="soft"] .quiz-option { border-radius:12px; }

html[data-hero="sphere"] .hero-visual-sphere { display:grid; }
html[data-hero="sphere"] .hero-visual-pages  { display:none; }
html[data-hero="pages"]  .hero-visual-sphere { display:none; }
html[data-hero="pages"]  .hero-visual-pages  { display:grid; }

/* ============================================================ Reset */
*,*::before,*::after { box-sizing:border-box; }
html,body { margin:0; padding:0; scroll-behavior:smooth; }
body {
  font-family:var(--sans);
  background:var(--ink-900);
  color:var(--ink-100);
  font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  animation:page-fade-in .5s var(--ease) both;
}
@keyframes page-fade-in { from { opacity:0 } to { opacity:1 } }
img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

/* Grain overlay */
.grain::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:1;
  opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ============================================================ Scroll Reveal */
.reveal {
  opacity:0; transform:translateY(22px);
  transition:opacity .75s var(--ease), transform .75s var(--ease);
}
.reveal.is-visible { opacity:1; transform:none; }
.reveal-d1 { transition-delay:.08s }
.reveal-d2 { transition-delay:.16s }
.reveal-d3 { transition-delay:.24s }
.reveal-d4 { transition-delay:.32s }
.reveal-d5 { transition-delay:.40s }

/* ============================================================ Shell */
.page { position:relative; z-index:2; }
.shell { max-width:var(--page-max); margin:0 auto; padding:0 var(--rail); }

/* ============================================================ Nav */
.nav {
  position:sticky; top:0; z-index:40;
  backdrop-filter:blur(18px) saturate(140%);
  background:rgba(10, 26, 51,0.55);
  border-bottom:1px solid rgba(255,255,255,0.06);
  transition:background .4s var(--ease), border-color .4s var(--ease);
}
.nav.is-top { background:transparent; border-bottom-color:transparent; }
.nav-inner {
  max-width:var(--page-max); margin:0 auto;
  padding:18px var(--rail);
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:32px;
}
.nav-logo {
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--serif); font-size:22px; letter-spacing:.01em; color:var(--ink-100);
}
.nav-logo .mark {
  width:150px; height:150px; display:grid; place-items:center;
  background:transparent; border-radius:0; overflow:visible; flex-shrink:0;
}
.nav-logo .mark img { width:100%; height:100%; object-fit:contain; }
.nav-logo .logo-word { display:flex; flex-direction:column; line-height:1; }
.nav-logo .logo-word b { font-weight:400; }
.nav-logo .logo-word small {
  font-family:var(--mono); font-size:9px; letter-spacing:.24em;
  color:var(--ink-300); text-transform:uppercase; margin-top:4px;
}
.nav-links { display:flex; gap:28px; justify-content:center; }
.nav-links a {
  font-size:13px; letter-spacing:.02em; color:var(--ink-200);
  padding:6px 0; position:relative; transition:color .2s;
}
.nav-links a:hover { color:var(--ink-100); }
.nav-links a[aria-current="page"] { color:var(--ink-100); }
.nav-links a[aria-current="page"]::after {
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--accent);
}
.nav-right { display:flex; align-items:center; gap:16px; }
.nav-phone {
  font-family:var(--mono); font-size:12px; letter-spacing:.04em;
  color:var(--ink-200); display:inline-flex; align-items:center; gap:8px;
}
.nav-phone::before {
  content:''; width:6px; height:6px; border-radius:50%; background:#5fd38a;
  box-shadow:0 0 0 4px rgba(95,211,138,.12);
}

/* Hamburger */
.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  padding:8px 4px; cursor:pointer; background:none; border:0; margin-left:4px;
}
.nav-hamburger span {
  display:block; width:22px; height:1.5px;
  background:var(--ink-200); transition:all .3s var(--ease); border-radius:1px;
}
.nav-hamburger.is-open span:nth-child(1) { transform:rotate(45deg) translate(4px,5px); }
.nav-hamburger.is-open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-hamburger.is-open span:nth-child(3) { transform:rotate(-45deg) translate(4px,-5px); }

/* Mobile drawer */
.nav-drawer {
  position:fixed; top:0; right:0; bottom:0; width:75%; max-width:320px;
  background:var(--ink-850); z-index:45;
  display:flex; flex-direction:column; padding:80px 28px 48px;
  transform:translateX(100%); transition:transform .45s var(--ease);
  border-left:1px solid var(--ink-700);
  box-shadow:-20px 0 60px rgba(0,0,0,.4);
  overflow-y:auto;
}
.nav-drawer-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:44;
  opacity:0; pointer-events:none; transition:opacity .45s var(--ease);
}
.nav-drawer-overlay.is-open { opacity:1; pointer-events:all; }
.nav-drawer.is-open { transform:none; }
.nav-drawer .nav-drawer-link {
  font-family:var(--serif); font-size:28px; font-weight:400; color:var(--ink-100);
  padding:14px 0; border-bottom:1px solid var(--ink-800); text-decoration:none; display:block;
  transition:color .2s var(--ease), padding-left .2s var(--ease);
}
.nav-drawer .nav-drawer-link:hover { color:var(--paper); padding-left:8px; }
.nav-drawer .nav-drawer-link[aria-current="page"] { color:var(--accent); }
.nav-drawer-footer { margin-top:auto; display:flex; flex-direction:column; gap:10px; }
.nav-drawer-footer a { font-family:var(--mono); font-size:12px; letter-spacing:.12em; color:var(--ink-400); }

/* ============================================================ Buttons */
.btn {
  display:inline-flex; align-items:center; gap:10px; padding:14px 22px;
  font-size:14px; letter-spacing:.01em; border-radius:2px;
  transition:transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
  border:1px solid transparent; white-space:nowrap;
}
.btn .arrow { width:16px; height:10px; position:relative; transition:transform .3s var(--ease); }
.btn:hover .arrow { transform:translateX(3px); }
.btn-primary { background:var(--paper); color:var(--ink-900); }
.btn-primary:hover { background:#fff; }
.btn-ghost { background:transparent; color:var(--ink-100); border-color:var(--ink-500); }
.btn-ghost:hover { border-color:var(--ink-200); background:rgba(255,255,255,0.03); }
.btn-accent { background:var(--accent); color:var(--accent-fg); border-color:var(--accent); }
.btn-accent:hover { filter:brightness(1.08); }
.btn-sm { padding:10px 16px; font-size:12px; }
.link-u {
  display:inline-flex; align-items:center; gap:8px; color:var(--ink-100); font-size:14px;
  border-bottom:1px solid var(--ink-500); padding-bottom:2px; transition:border-color .2s var(--ease);
  background:none; cursor:pointer;
}
.link-u:hover { border-color:var(--accent); }

/* ============================================================ Hero */
.hero { position:relative; padding:64px 0 120px; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:64px; align-items:center; }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-300); margin-bottom:28px;
}
.hero-eyebrow .dot { width:4px; height:4px; background:var(--accent); border-radius:50%; }
.hero h1 {
  font-family:var(--serif); font-weight:400;
  font-size:clamp(44px,6.2vw,86px); line-height:1.02; letter-spacing:-0.015em;
  margin:0 0 28px; color:var(--ink-100); text-wrap:balance;
}
.hero h1 em {
  font-style:italic; color:var(--paper);
  background:linear-gradient(180deg,var(--paper) 0%,#c7b9a0 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.hero h1 .sup {
  font-family:var(--mono); font-size:.28em; vertical-align:super;
  color:var(--accent); letter-spacing:0; font-style:normal;
}
.hero-lede { font-size:18px; line-height:1.55; color:var(--ink-200); max-width:52ch; margin:0 0 36px; }
.hero-ctas { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:48px; }
.hero-meta {
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
  padding-top:32px; border-top:1px solid var(--ink-700); max-width:560px;
}
.hero-meta .m-num { font-family:var(--serif); font-size:40px; line-height:1; color:var(--paper); }
.hero-meta .m-num sup { font-family:var(--mono); font-size:12px; vertical-align:super; color:var(--accent); }
.hero-meta .m-label {
  font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-400); margin-top:8px; line-height:1.5;
}
.hero-visual { position:relative; aspect-ratio:1/1; width:100%; display:grid; place-items:center; }

/* ============================================================ Globe */
.globe-wrap {
  position:relative; width:100%; height:100%; display:grid; place-items:center;
}
.globe-wrap::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 45%,rgba(180,146,61,.15),transparent 60%);
  filter:blur(40px); pointer-events:none;
}
.globe {
  position:relative; width:92%; aspect-ratio:1/1;
  animation:globe-spin 60s linear infinite;
}
@keyframes globe-spin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.globe svg { width:100%; height:100%; overflow:visible; }
.globe-glyph { font-family:var(--serif); fill:var(--paper); opacity:.92; }
.globe-glyph.dim { opacity:.38; }
.globe-ring { fill:none; stroke:rgba(237,224,196,.14); stroke-width:1; }
.globe-orbit-dot { fill:var(--paper); }
.orbit-pulse { animation:pulse 3s ease-in-out infinite; }
.orbit-pulse:nth-child(2) { animation-delay:.6s; }
.orbit-pulse:nth-child(3) { animation-delay:1.2s; }
.orbit-pulse:nth-child(4) { animation-delay:1.8s; }
@keyframes pulse { 0%,100%{opacity:.3} 50%{opacity:1} }

/* ============================================================ Floating pen */
.pen-layer { position:fixed; inset:0; z-index:5; pointer-events:none; overflow:hidden; }
.pen {
  position:absolute; top:0; left:0; width:96px; height:96px;
  transform-origin:20% 85%; will-change:transform;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.3)); opacity:.8;
}
@media (max-width:900px) { .pen-layer { display:none; } }
@media (prefers-reduced-motion:reduce) { .pen { display:none; } }

/* ============================================================ Sections */
.section { padding:var(--gutter) 0; position:relative; }
.section.paper { background:var(--paper); color:var(--ink-900); }
.section.paper .kicker { color:var(--ink-500); }
.section.paper .sec-rule { background:var(--paper-line); }
.kicker {
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-300);
  display:inline-flex; align-items:center; gap:12px; margin-bottom:20px;
}
.kicker::before { content:''; width:28px; height:1px; background:var(--accent); }
.sec-title {
  font-family:var(--serif); font-weight:400;
  font-size:clamp(34px,4.2vw,58px); line-height:1.05; letter-spacing:-0.01em;
  margin:0 0 24px; text-wrap:balance; color:inherit;
}
.sec-title em { font-style:italic; color:var(--ink-400); }
.section.paper .sec-title em { color:var(--ink-500); }
.sec-lede { font-size:17px; max-width:60ch; color:var(--ink-300); margin:0 0 56px; }
.section.paper .sec-lede { color:var(--ink-500); }
.sec-header { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; margin-bottom:56px; }
.sec-rule { height:1px; background:var(--ink-700); margin:0 0 40px; }

/* ============================================================ Process stepper */
.steps {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border-top:1px solid var(--ink-700); border-bottom:1px solid var(--ink-700);
}
.section.paper .steps { border-color:var(--paper-line); }
.step {
  padding:32px 28px 36px; position:relative; cursor:pointer;
  border-right:1px solid var(--ink-700);
  transition:background .4s var(--ease);
}
/* top accent line */
.step::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:transparent; transition:background .4s var(--ease);
}
.step.is-active::before { background:var(--accent); }
.section.paper .step { border-right-color:var(--paper-line); }
.step:last-child { border-right:0; }
.step.is-active { background:rgba(255,255,255,.025); }
.section.paper .step.is-active { background:var(--paper-2); }
.step-num {
  font-family:var(--mono); font-size:11px; letter-spacing:.2em;
  color:var(--ink-400); margin-bottom:80px;
  display:flex; align-items:center; justify-content:space-between;
  transition:color .3s;
}
.step.is-active .step-num { color:var(--accent); }
.step-progress {
  position:absolute; left:28px; right:28px; top:62px; height:1px;
  background:var(--ink-700); overflow:hidden;
}
.step-progress::after {
  content:''; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--accent);
}
.step.is-active .step-progress::after { width:100%; transition:width 4.2s linear; }
.step h4 { font-family:var(--serif); font-weight:400; font-size:28px; line-height:1.1; margin:0 0 12px; }
.step p { font-size:14px; color:var(--ink-300); margin:0; line-height:1.6; }
.section.paper .step p { color:var(--ink-500); }

/* ============================================================ Eligibility quiz */
.quiz {
  background:var(--ink-850); border:1px solid var(--ink-700);
  border-radius:4px; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr;
}
.quiz-left {
  padding:48px 44px; border-right:1px solid var(--ink-700);
  display:flex; flex-direction:column; justify-content:space-between;
}
.quiz-steps { display:flex; gap:8px; margin-bottom:40px; }
.quiz-steps .dot {
  flex:1; height:2px; background:var(--ink-700); transition:background .3s var(--ease);
}
.quiz-steps .dot.is-done { background:var(--accent); }
.quiz-steps .dot.is-active { background:var(--paper); }
.quiz-q-num {
  font-family:var(--mono); font-size:11px; letter-spacing:.2em;
  color:var(--ink-400); text-transform:uppercase; margin-bottom:16px;
}
.quiz-q { font-family:var(--serif); font-size:32px; line-height:1.15; margin:0 0 32px; }
.quiz-options { display:flex; flex-direction:column; gap:10px; }

/* Quiz options  warm, cream-tinted in both themes */
.quiz-option {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px; text-align:left;
  background:rgba(247,243,232,.07);
  border:1px solid rgba(247,243,232,.14);
  border-radius:2px; font-size:15px;
  transition:background .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.quiz-option:hover {
  background:rgba(247,243,232,.13);
  border-color:rgba(247,243,232,.28);
}
.quiz-option.is-selected {
  background:var(--accent-soft); border-color:var(--accent); color:var(--paper);
}
.quiz-option .key {
  font-family:var(--mono); font-size:10px; color:var(--ink-400);
  letter-spacing:.1em; flex-shrink:0; margin-left:12px;
}
.quiz-option.is-selected .key { color:var(--accent); }
.quiz-nav {
  display:flex; justify-content:space-between; align-items:center; margin-top:36px;
}
.quiz-nav .counter {
  font-family:var(--mono); font-size:11px; letter-spacing:.15em;
  color:var(--ink-400); text-transform:uppercase;
}

.quiz-right {
  padding:48px 44px; background:var(--ink-900);
  display:flex; flex-direction:column; justify-content:space-between;
}
.verdict-label {
  font-family:var(--mono); font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-400); margin-bottom:20px;
}
.verdict-bar { height:4px; background:var(--ink-700); border-radius:2px; overflow:hidden; margin-bottom:14px; }
.verdict-fill { height:100%; background:var(--accent); width:0%; transition:width .6s var(--ease); }
.verdict-score { font-family:var(--serif); font-size:56px; line-height:1; }
.verdict-score sup { font-family:var(--mono); font-size:14px; color:var(--ink-400); vertical-align:super; }
.verdict-note { color:var(--ink-300); font-size:14px; margin-top:18px; line-height:1.6; }
.verdict-tier {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--paper); padding:6px 10px; border:1px solid var(--ink-600); border-radius:2px; margin-top:20px;
}
.verdict-tier.high { color:#9fe5b9; border-color:rgba(159,229,185,.3); }
.verdict-tier.mid  { color:#f0cf8a; border-color:rgba(240,207,138,.3); }
.verdict-tier.low  { color:#e9a69b; border-color:rgba(233,166,155,.3); }
.verdict-factors { margin-top:28px; }
.verdict-factors .row {
  display:grid; grid-template-columns:1fr auto; gap:12px;
  padding:12px 0; border-top:1px solid var(--ink-700);
  font-size:13px; color:var(--ink-200);
}
.verdict-factors .row .val { font-family:var(--mono); color:var(--ink-300); font-size:11px; letter-spacing:.1em; }

/* Paper-section quiz overrides */
.section.paper .quiz { background:var(--paper); border-color:var(--paper-line); }
.section.paper .quiz-left { background:var(--paper); border-right-color:var(--paper-line); }
.section.paper .quiz-right { background:var(--paper-2); }
.section.paper .quiz-steps .dot { background:var(--paper-line); }
.section.paper .quiz-steps .dot.is-active { background:var(--ink-900); }
.section.paper .quiz-q-num,
.section.paper .verdict-label,
.section.paper .quiz-nav .counter { color:var(--ink-500); }
.section.paper .quiz-q { color:var(--ink-900); }
.section.paper .quiz-option {
  background:var(--paper-2) !important;
  border-color:var(--paper-line) !important;
  color:var(--ink-900) !important;
}
.section.paper .quiz-option:hover {
  background:var(--paper-3) !important;
  border-color:rgba(85,100,100,.5) !important;
}
.section.paper .quiz-option.is-selected {
  background:var(--accent-soft) !important;
  border-color:var(--accent) !important;
  color:var(--ink-900) !important;
}
.section.paper .quiz-option .key { color:var(--ink-500); }
.section.paper .quiz-option.is-selected .key { color:var(--gold-700); }
.section.paper .verdict-bar { background:var(--paper-line); }
.section.paper .verdict-score { color:var(--ink-900); }
.section.paper .verdict-score sup { color:var(--ink-500); }
.section.paper .verdict-note { color:var(--ink-500); }
.section.paper .verdict-factors .row { border-top-color:var(--paper-line); color:var(--ink-900); }
.section.paper .verdict-factors .row .val { color:var(--ink-500); }
.section.paper .verdict-tier { color:var(--ink-900); border-color:var(--paper-line); }
.section.paper .verdict-tier.high { color:#2a6e4c; border-color:rgba(42,110,76,.3); }
.section.paper .verdict-tier.mid  { color:#7a5a1a; border-color:rgba(122,90,26,.3); }
.section.paper .verdict-tier.low  { color:#8a2a2f; border-color:rgba(138,42,47,.3); }
.section.paper .quiz-nav .link-u { color:var(--ink-900); border-bottom-color:var(--paper-line); }

/* ============================================================ FAQ */
.faq-list { border-top:1px solid var(--paper-line); }
.faq-item { border-bottom:1px solid var(--paper-line); }
.faq-q {
  width:100%; display:grid; grid-template-columns:auto 1fr auto;
  gap:32px; align-items:center; padding:28px 0; text-align:left;
}
.faq-num { font-family:var(--mono); font-size:11px; letter-spacing:.18em; color:var(--ink-400); }
.faq-q h4 { font-family:var(--serif); font-weight:400; font-size:22px; margin:0; line-height:1.2; }
.faq-plus { width:20px; height:20px; position:relative; transition:transform .3s var(--ease); flex-shrink:0; }
.faq-plus::before,.faq-plus::after {
  content:''; position:absolute; background:var(--ink-900);
}
.faq-plus::before { left:0; right:0; top:50%; height:1px; transform:translateY(-50%); }
.faq-plus::after  { top:0; bottom:0; left:50%; width:1px; transform:translateX(-50%); transition:transform .3s var(--ease); }
.faq-item.is-open .faq-plus::after { transform:translateX(-50%) scaleY(0); }
.faq-a {
  max-height:0; overflow:hidden; transition:max-height .4s var(--ease);
  color:var(--ink-500); font-size:16px; line-height:1.65;
  padding-left:calc(32px + 24px);
}
.faq-item.is-open .faq-a { max-height:320px; padding-bottom:28px; }

/* ============================================================ Contact */
.contact {
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  background:var(--ink-850); border:1px solid var(--ink-700);
  border-radius:4px; overflow:hidden;
}
.contact-info { padding:48px 44px; border-right:1px solid var(--ink-700); }
.contact-info h3 { font-family:var(--serif); font-size:36px; font-weight:400; margin:0 0 20px; line-height:1.1; }
.contact-info p { color:var(--ink-300); margin:0 0 36px; }
.contact-rows { display:flex; flex-direction:column; gap:20px; }
.contact-row {
  display:grid; grid-template-columns:100px 1fr;
  padding:16px 0; border-top:1px solid var(--ink-700);
}
.contact-row .label { font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-400); }
.contact-row .val { font-family:var(--serif); font-size:18px; color:var(--paper); }
.contact-row .val.mono { font-family:var(--mono); font-size:13px; letter-spacing:.04em; }
.contact-form { padding:48px 44px; background:var(--ink-900); }
.field { margin-bottom:22px; }
.field label {
  display:block; font-family:var(--mono); font-size:10px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-400); margin-bottom:10px;
}
.field input,.field textarea,.field select {
  width:100%; padding:14px 0; background:transparent; border:0;
  border-bottom:1px solid var(--ink-600); color:var(--paper);
  font-family:inherit; font-size:16px; outline:none; transition:border-color .2s var(--ease);
}
.field input:focus,.field textarea:focus,.field select:focus { border-bottom-color:var(--accent); }
.field textarea { resize:vertical; min-height:80px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.submit-row {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:12px; padding-top:24px; border-top:1px solid var(--ink-700);
}
.submit-row .note { font-family:var(--mono); font-size:10px; letter-spacing:.15em; color:var(--ink-400); text-transform:uppercase; }
.field select option { background:var(--ink-800); color:var(--ink-100); }

/* ============================================================ Trust strip */
.trust {
  padding:40px 0 20px;
  border-top:1px solid var(--ink-700);
  border-bottom:1px solid var(--ink-700);
}
.trust-label-row { padding:0 0 20px; }
.trust-label {
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-400); line-height:1.6;
  text-align:center;
}
.trust-ticker {
  overflow:hidden; position:relative;
  mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
  -webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);
}
.trust-track {
  display:flex; width:max-content;
  animation:marquee 40s linear infinite;
}
.trust-track:hover { animation-play-state:paused; }
@keyframes marquee { to { transform:translateX(-50%); } }
.trust-item { display:inline-flex; align-items:center; }
.trust-name {
  font-family:var(--serif); font-style:italic; font-size:19px; color:var(--ink-300);
  white-space:nowrap; padding:0 8px; transition:color .2s;
}
.trust-name:hover { color:var(--paper); cursor:default; }
.trust-sep { color:var(--accent); opacity:.5; padding:0 20px; font-size:11px; }

/* ============================================================ Footer */
.footer {
  background:var(--ink-900); color:var(--ink-300);
  padding:72px 0 32px; border-top:1px solid var(--ink-700);
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:56px;
}
.footer-col h5 {
  font-family:var(--mono); font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-400); margin:0 0 18px; font-weight:500;
}
.footer-col a { display:block; padding:6px 0; font-size:14px; color:var(--ink-200); transition:color .2s; }
.footer-col a:hover { color:var(--paper); }
.footer-col p { font-size:14px; color:var(--ink-300); margin:0 0 20px; line-height:1.6; }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:24px; border-top:1px solid var(--ink-700);
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:var(--ink-400);
}
.footer-disclaimer-line {
  border-top:1px solid var(--ink-700); padding:14px 0; margin-top:20px;
  font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-500); text-align:center;
}

/* ============================================================ Tweaks panel */
.tweaks {
  position:fixed; right:20px; top:80px; z-index:60;
  width:300px; background:var(--ink-850); color:var(--paper);
  border:1px solid var(--ink-600); border-radius:6px;
  box-shadow:0 30px 60px rgba(0,0,0,.5); font-family:var(--sans);
}
.tweaks.is-hidden { display:none; }
.tweaks header {
  padding:14px 16px; border-bottom:1px solid var(--ink-700);
  display:flex; justify-content:space-between; align-items:center;
}
.tweaks header h5 { margin:0; font-family:var(--mono); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-300); }
.tweaks header .close { color:var(--ink-400); font-size:18px; }
.tweaks .group { padding:14px 16px; border-bottom:1px solid var(--ink-700); }
.tweaks .group:last-child { border-bottom:0; }
.tweaks .glabel { font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-400); margin-bottom:10px; }
.tweaks .opts { display:flex; gap:6px; flex-wrap:wrap; }
.tweaks .opts button {
  padding:8px 10px; font-size:11px; border:1px solid var(--ink-600);
  border-radius:2px; color:var(--ink-200); background:transparent; letter-spacing:.02em;
  transition:background .15s, color .15s, border-color .15s;
}
.tweaks .opts button.is-on { background:var(--paper); color:var(--ink-900); border-color:var(--paper); }
.tweaks .swatches { display:flex; gap:8px; }
.tweaks .swatches button {
  width:28px; height:28px; border-radius:50%; border:2px solid transparent; padding:0; flex-shrink:0;
  transition:border-color .15s, transform .15s;
}
.tweaks .swatches button:hover { transform:scale(1.1); }
.tweaks .swatches button.is-on { border-color:var(--paper); }

/* ============================================================ Responsive */
@media (max-width:1100px) {
  .hero-grid,.quiz,.contact,.footer-grid { grid-template-columns:1fr; }
  .steps { grid-template-columns:repeat(2,1fr); }
  .step:nth-child(2) { border-right:0; }
  .step:nth-child(1),.step:nth-child(2) { border-bottom:1px solid var(--ink-700); }
  .section.paper .step:nth-child(1),.section.paper .step:nth-child(2) { border-bottom-color:var(--paper-line); }
  .nav-links { display:none; }
  .sec-header { grid-template-columns:1fr; }
  .quiz-left { border-right:0; border-bottom:1px solid var(--ink-700); }
  .contact-info { border-right:0; border-bottom:1px solid var(--ink-700); }
  .trust-inner { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .nav-inner { padding: 12px 16px; gap: 12px; }
  .nav-logo { font-size: 15px; gap: 8px; }
  .nav-logo .mark { width: 56px; height: 56px; }
  .nav-logo .logo-word small { display: none; }
  .nav-right { gap: 8px; }
  .btn-sm { padding: 8px 12px; font-size: 11px; }
  .nav-phone { display: none !important; }
}
@media (max-width:640px) {
  :root { --gutter:48px; }
  .steps { grid-template-columns:1fr; }
  .step { border-right:0 !important; border-bottom:1px solid var(--ink-700) !important; }
  .field-row { grid-template-columns:1fr; }
  .hero-meta { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1fr; }
  .quiz-left,.quiz-right,.contact-info,.contact-form { padding:32px 24px; }
  .quiz-q { font-size:24px; }
}

/* -- Inline-grid responsive overrides -------------------------
   Browsers serialize React inline styles as kebab-case CSS.
   !important is needed to override inline styles. */
@media (max-width:900px) {
  [style*="200px 1fr"] { grid-template-columns: 1fr !important; }
  [style*="200px 1fr"] > div:first-child { border-right: 0 !important; border-bottom: 1px solid var(--ink-700); padding: 16px 0 !important; }
  [style*="200px 1fr"] > div:last-child  { padding-left: 0 !important; }
  [style*="padding-bottom"][style*="padding-left: 56px"] { grid-template-columns: 1fr !important; gap: 24px !important; }
  [style*="120px 1.5fr 1fr"] { grid-template-columns: 1fr !important; gap: 16px !important; padding: 36px 0 !important; }
  [style*="120px 1.5fr 1fr"] > div:first-child { display: flex; gap: 20px; align-items: baseline; }
  [style*="1fr 1fr 1fr"] { grid-template-columns: 1fr !important; }
  [style*="padding: 40px 36px"] { border-right: 0 !important; }
  [style*="padding-top: 48px"][style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  [style*="letter-spacing"][style*="1fr 1fr 1fr"] { grid-template-columns: 1fr !important; gap: 4px !important; }
  [style*="border-radius: 4px"][style*="1fr 1fr"] { grid-template-columns: 1fr !important; }
  [style*="min-height: 420px"] { border-right: 0 !important; }
  /* Offices 3-col & 2-col contact phone/email strip */
  [style*="1fr 1fr 1fr"][style*="border-radius: 4px"] { grid-template-columns: 1fr !important; }
  [style*="padding: 32px 28px"] { border-right: 0 !important; border-bottom: 1px solid var(--ink-700) !important; }
  /* Contact phone/email 2-col */
  [style*="padding-top: 40"][style*="1fr 1fr"] { grid-template-columns: 1fr !important; }
}
@media (max-width:640px) {
  [style*="padding-left: 56px"] { padding-left: 16px !important; }
  [style*="font-size: 44px"] { font-size: 28px !important; }
  [style*="font-size: 42px"] { font-size: 26px !important; }
  [style*="font-size: 22px"] { font-size: 17px !important; }
  [style*="font-size: 36px"] { font-size: 26px !important; }
  /* Offices phone/email strip */
  [style*="padding-top: 40"] { padding-top: 24px !important; }
  [style*="font-size: 36px"] { font-size: 22px !important; }
}

/* ============================================================ Mobile global fixes */
@media (max-width:640px) {
  body { overflow-x: hidden; }
  .shell { padding: 0 16px; }
  /* Nav  shrink to prevent overflow */
  .nav-inner { padding: 12px 16px !important; gap: 8px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
  .nav-logo { font-size: 14px !important; gap: 8px !important; }
  .nav-logo .mark { width: 56px !important; height: 56px !important; }
  .nav-logo .logo-word small { display: none !important; }
  .nav-right { gap: 6px !important; }
  .nav-hamburger { display: flex !important; }
  .btn-sm { padding: 7px 10px !important; font-size: 11px !important; }
  .btn-sm .arrow { display: none !important; }
  /* Footer */
  .footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
  /* Hero meta */
  .hero-meta { grid-template-columns: 1fr 1fr !important; }
  .trust-label { font-size: 9px !important; }
  .section { padding: 40px 0; }
  .contact-form, .contact-info { padding: 24px 20px !important; }
  .quiz-left, .quiz-right { padding: 24px 20px !important; }
  .quiz-q { font-size: 22px !important; }
  .faq-q { gap: 16px !important; }
  .faq-q h4 { font-size: 16px !important; }
  .faq-a { padding-left: 16px !important; }
  .sec-header { gap: 20px; margin-bottom: 36px; }
  .sec-title { font-size: clamp(28px,7vw,42px) !important; }
}
.nav-mobile-contact { display: none; }
@media (max-width:640px) {
  .btn-nav-cta { display: none !important; }
  .nav-mobile-contact { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-family: var(--mono); font-size: 10px; letter-spacing: .06em; line-height: 1.4; }
  .nav-mobile-contact a { color: var(--ink-200); text-decoration: none; }
  .nav-mobile-contact a:hover { color: var(--accent); }
}

/* WAG popup v2 */
.wag-overlay{
    position:fixed;inset:0;
    background:rgba(6,10,9,.84);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    display:flex;align-items:center;justify-content:center;
    z-index:99999;padding:20px;
    opacity:0;visibility:hidden;
    transition:opacity .55s ease,visibility .55s ease;
    font-family:'Inter',system-ui,sans-serif;
  }
  .wag-overlay.wag-open{opacity:1;visibility:visible;}

  .wag-popup{
    position:relative;
    width:100%;max-width:1000px;max-height:calc(100vh - 40px);
    background:#0a1830;color:#f4ede0;
    overflow:hidden;
    box-shadow:0 36px 90px rgba(0,0,0,.6),0 0 0 1px rgba(244,237,224,.06);
    transform:translateY(28px) scale(.97);opacity:0;
    transition:transform .7s cubic-bezier(.2,.85,.2,1),opacity .6s ease;
  }
  .wag-overlay.wag-open .wag-popup{transform:translateY(0) scale(1);opacity:1;transition-delay:.08s;}

  /* Tipped-in plate: inner brass border */
  .wag-popup::after{
    content:'';position:absolute;inset:14px;pointer-events:none;
    border:1px solid rgba(201,169,97,.22);
    z-index:5;
  }
  /* Paper-grain overlay */
  .wag-popup::before{
    content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
    background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/><feColorMatrix values='0 0 0 0 0.96 0 0 0 0 0.93 0 0 0 0 0.88 0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    mix-blend-mode:overlay;opacity:.5;
  }

  .wag-body{
    position:relative;z-index:2;
    display:grid;grid-template-columns:5fr 6fr;
  }

  /* --- LEFT: seal + stats + quote --- */
  .wag-left{
    padding:54px 46px 40px;
    background:
      radial-gradient(ellipse 80% 60% at 50% 18%,rgba(201,169,97,.18),transparent 65%),
      linear-gradient(180deg,#0d1814 0%,#050f1f 100%);
    display:flex;flex-direction:column;gap:30px;
    border-right:1px solid rgba(201,169,97,.18);
  }

  .wag-seal-wrap{
    position:relative;display:flex;flex-direction:column;align-items:center;
  }
  .wag-seal{
    width:148px;height:148px;
    position:relative;
    filter:drop-shadow(0 8px 24px rgba(201,169,97,.28));
  }
  .wag-seal img{
    width:100%;height:100%;display:block;
  }
  .wag-overlay.wag-open .wag-seal img{
    animation:wag-seal-in 1.2s cubic-bezier(.2,.8,.2,1) both;
  }
  /* Shimmer overlay on the seal  runs once on open */
  .wag-seal::after{
    content:'';position:absolute;inset:-4%;
    border-radius:50%;
    background:linear-gradient(115deg,transparent 38%,rgba(255,250,230,.55) 50%,transparent 62%);
    mix-blend-mode:overlay;
    opacity:0;
    -webkit-mask:radial-gradient(circle,#000 56%,transparent 60%);
            mask:radial-gradient(circle,#000 56%,transparent 60%);
    pointer-events:none;
  }
  .wag-overlay.wag-open .wag-seal::after{
    animation:wag-shimmer 1.6s ease-out .9s 1 both;
  }
  @keyframes wag-shimmer{
    0%{opacity:0;transform:translateX(-60%);}
    20%{opacity:1;}
    100%{opacity:0;transform:translateX(60%);}
  }
  @keyframes wag-seal-in{
    0%{opacity:0;transform:scale(.86);}
    100%{opacity:1;transform:scale(1);}
  }

  .wag-seal-caption{
    margin-top:18px;text-align:center;
    font-size:9.5px;letter-spacing:0.36em;text-transform:uppercase;
    color:#c9a961;font-weight:500;
  }
  .wag-seal-caption .dot{
    display:inline-block;width:3px;height:3px;border-radius:50%;
    background:#c9a961;margin:0 8px;vertical-align:middle;
  }

  .wag-divider{
    width:48px;height:1px;background:rgba(201,169,97,.5);
    margin:0 auto;
  }

  .wag-stats{display:flex;flex-direction:column;gap:20px;}
  .wag-stat{
    display:flex;align-items:baseline;gap:18px;
    padding-left:14px;
    border-left:1px solid rgba(201,169,97,.45);
  }
  .wag-stat-num{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;font-weight:500;
    font-size:42px;line-height:1;color:#f4ede0;
    min-width:84px;
  }
  .wag-stat-num sup{
    font-style:normal;font-size:18px;color:#c9a961;
    margin-left:1px;vertical-align:super;font-weight:400;
  }
  .wag-stat-num .unit{font-style:normal;font-size:14px;color:#c9a961;letter-spacing:0.04em;}
  .wag-stat-label{
    font-size:10px;letter-spacing:0.24em;text-transform:uppercase;
    color:#a8a195;line-height:1.5;
  }

  .wag-quote{
    margin-top:auto;
    font-family:'Cormorant Garamond',serif;
    font-style:italic;font-size:14.5px;line-height:1.55;color:#d4cdbe;
    padding-top:20px;border-top:1px solid rgba(244,237,224,.1);
  }
  .wag-quote-attr{
    display:block;margin-top:10px;
    font-family:'Inter',sans-serif;font-style:normal;
    font-size:9.5px;letter-spacing:0.28em;text-transform:uppercase;color:#c9a961;
  }

  /* --- RIGHT: form --- */
  .wag-right{
    position:relative;
    padding:54px 50px 40px;
    background:#14201c;
    display:flex;flex-direction:column;
  }
  /* Watermark monogram behind form */
  .wag-right::before{
    content:'WAG';
    position:absolute;
    bottom:-30px;right:-20px;
    font-family:'Cormorant Garamond',serif;
    font-weight:600;font-size:280px;line-height:.8;
    color:rgba(201,169,97,.025);
    letter-spacing:-0.04em;
    pointer-events:none;
    user-select:none;
  }

  .wag-right > *{position:relative;z-index:2;}

  .wag-eyebrow{
    font-size:9.5px;letter-spacing:0.32em;text-transform:uppercase;
    color:#c9a961;margin-bottom:14px;font-weight:500;
    display:flex;align-items:center;gap:10px;
  }
  .wag-eyebrow::before{
    content:'';width:18px;height:1px;background:#c9a961;
  }

  .wag-headline{
    font-family:'Cormorant Garamond',serif;
    font-weight:500;font-size:36px;line-height:1.05;
    letter-spacing:-0.014em;margin-bottom:18px;color:#f4ede0;
    position:relative;
  }
  .wag-headline em{
    font-style:italic;color:#c9a961;font-weight:500;
    display:block;font-size:42px;margin-top:2px;
  }
  .wag-headline-mark{
    position:absolute;left:-22px;top:-8px;
    font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:64px;line-height:1;color:rgba(201,169,97,.4);
    font-weight:400;
  }

  /* Process steps */
  .wag-process{
    display:flex;flex-direction:column;gap:9px;
    margin:18px 0 22px;
    padding:14px 0 16px;
    border-top:1px solid rgba(244,237,224,.08);
    border-bottom:1px solid rgba(244,237,224,.08);
  }
  .wag-step{
    display:flex;align-items:baseline;gap:12px;
    font-size:11.5px;line-height:1.45;color:#c5bdaf;
  }
  .wag-step-num{
    font-family:'Cormorant Garamond',serif;font-style:italic;
    font-size:14px;color:#c9a961;min-width:22px;font-weight:500;
  }

  /* Form */
  .wag-form{display:flex;flex-direction:column;gap:2px;}
  .wag-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  .wag-field{position:relative;}
  .wag-input,.wag-textarea{
    width:100%;padding:12px 0;
    background:transparent;border:none;
    border-bottom:1px solid rgba(244,237,224,.22);
    color:#f4ede0;font-family:'Inter',sans-serif;font-size:13px;
    outline:none;transition:border-color .35s ease;
  }
  .wag-input::placeholder,.wag-textarea::placeholder{
    color:rgba(244,237,224,.4);font-size:12px;letter-spacing:0.02em;
  }
  .wag-input:focus,.wag-textarea:focus{border-bottom-color:#c9a961;}
  .wag-textarea{resize:none;min-height:52px;padding-top:14px;font-family:'Inter',sans-serif;}

  /* Subject tiles */
  .wag-tiles{
    display:grid;grid-template-columns:repeat(5,1fr);gap:5px;
    margin:14px 0 4px;
  }
  .wag-tile{
    position:relative;cursor:pointer;
  }
  .wag-tile input{
    position:absolute;opacity:0;pointer-events:none;
  }
  .wag-tile-label{
    display:block;text-align:center;
    padding:10px 2px;
    border:1px solid rgba(244,237,224,.16);
    font-size:9px;letter-spacing:0.12em;text-transform:uppercase;
    color:#a8a195;
    transition:all .3s ease;
    font-weight:500;
    white-space:nowrap;
  }
  .wag-tile:hover .wag-tile-label{
    border-color:rgba(201,169,97,.5);color:#f4ede0;
  }
  .wag-tile input:checked + .wag-tile-label{
    border-color:#c9a961;color:#c9a961;
    background:rgba(201,169,97,.06);
  }

  .wag-tile-hint{
    font-size:9.5px;letter-spacing:0.22em;text-transform:uppercase;
    color:#7d8580;margin-top:2px;margin-bottom:10px;
  }

  /* Outlined CTA ? fills on hover */
  .wag-cta{
    margin-top:22px;padding:16px 24px;
    background:transparent;color:#c9a961;
    border:1px solid #c9a961;
    cursor:pointer;
    font-family:'Inter',sans-serif;font-weight:600;
    font-size:11px;letter-spacing:0.26em;text-transform:uppercase;
    display:flex;align-items:center;justify-content:space-between;
    transition:all .4s ease;
    position:relative;overflow:hidden;
  }
  .wag-cta::before{
    content:'';position:absolute;inset:0;
    background:#c9a961;
    transform:translateY(101%);
    transition:transform .45s cubic-bezier(.2,.85,.2,1);
    z-index:0;
  }
  .wag-cta:hover{color:#0a1830;}
  .wag-cta:hover::before{transform:translateY(0);}
  .wag-cta-label,.wag-cta-arrow{position:relative;z-index:1;}
  .wag-cta-flourish{
    position:relative;z-index:1;margin:0 8px;opacity:.55;
    font-family:'Cormorant Garamond',serif;font-style:italic;
  }
  .wag-cta-arrow{transition:transform .35s ease;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;}
  .wag-cta:hover .wag-cta-arrow{transform:translateX(5px);}

  .wag-footnote{
    margin-top:14px;font-size:9.5px;letter-spacing:0.22em;
    color:#7d8580;text-align:center;text-transform:uppercase;
  }

  /* Close */
  .wag-close{
    position:absolute;top:22px;right:22px;z-index:10;
    width:34px;height:34px;border-radius:50%;
    background:transparent;border:1px solid rgba(244,237,224,.22);
    color:#f4ede0;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:transform .4s ease,border-color .35s ease,color .35s ease;
  }
  .wag-close:hover{transform:rotate(90deg);border-color:#c9a961;color:#c9a961;}

  /* --- BOTTOM: publication strip --- */
  .wag-placements{
    position:relative;z-index:2;
    padding:22px 50px 24px;
    background:linear-gradient(180deg,#050f1f,#050a08);
    border-top:1px solid rgba(244,237,224,.07);
  }
  .wag-placements-label{
    text-align:center;
    font-size:9px;letter-spacing:0.38em;text-transform:uppercase;
    color:#7d8580;font-weight:500;margin-bottom:14px;
    display:flex;align-items:center;justify-content:center;gap:14px;
  }
  .wag-placements-label::before,
  .wag-placements-label::after{
    content:'';flex:0 0 36px;height:1px;background:rgba(201,169,97,.28);
  }
  .wag-logos{
    display:flex;align-items:center;justify-content:space-around;
    gap:24px;flex-wrap:wrap;
  }
  .wag-logos img{
    height:22px;width:auto;max-width:130px;
    object-fit:contain;
    filter:brightness(0) invert(1) opacity(.72);
    transition:filter .4s ease,transform .4s ease;
  }
  .wag-logos img.tall{height:32px;}
  .wag-logos img:hover{
    filter:brightness(0) invert(1) opacity(1);
    transform:translateY(-1px);
  }

  /* Success state */
  .wag-success{display:none;flex-direction:column;justify-content:center;min-height:340px;}
  .wag-form-wrapper.wag-submitted .wag-form-active{display:none;}
  .wag-form-wrapper.wag-submitted .wag-success{display:flex;}

  /* -------- v2.1 ANIMATION CHOREOGRAPHY -------- */
  @keyframes wag-fade-up {
    0%   { opacity:0; transform:translateY(14px); }
    100% { opacity:1; transform:translateY(0); }
  }
  @keyframes wag-fade-in {
    0% { opacity:0; }
    100% { opacity:1; }
  }
  @keyframes wag-border-draw {
    0%   { clip-path:inset(48% 48% 48% 48%); opacity:0; }
    55%  { opacity:1; }
    100% { clip-path:inset(0 0 0 0); opacity:1; }
  }
  @keyframes wag-divider-grow {
    0%   { transform:scaleX(0); }
    100% { transform:scaleX(1); }
  }
  @keyframes wag-rule-grow {
    0%   { transform:scaleX(0); }
    100% { transform:scaleX(1); }
  }
  @keyframes wag-mark-stamp {
    0%   { opacity:0; transform:scale(.55) rotate(-14deg); }
    60%  { opacity:1; transform:scale(1.1) rotate(2deg); }
    100% { opacity:1; transform:scale(1) rotate(0); }
  }
  @keyframes wag-tile-select {
    0%   { box-shadow:0 0 0 0 rgba(201,169,97,.45); transform:scale(1); }
    50%  { transform:scale(1.04); }
    100% { box-shadow:0 0 0 9px rgba(201,169,97,0); transform:scale(1); }
  }

  /* Inner brass border draws in like a stamp */
  .wag-overlay.wag-open .wag-popup::after{
    animation:wag-border-draw 1.1s cubic-bezier(.2,.85,.2,1) .35s both;
  }

  /* Brass divider scales from center */
  .wag-overlay.wag-open .wag-divider{
    transform-origin:center;
    animation:wag-divider-grow .8s cubic-bezier(.2,.8,.2,1) .85s both;
  }

  /* Left column  staggered fade-ups */
  .wag-overlay.wag-open .wag-seal-caption{ animation:wag-fade-up .7s cubic-bezier(.2,.8,.2,1) .7s both; }
  .wag-overlay.wag-open .wag-stats .wag-stat:nth-child(1){ animation:wag-fade-up .7s cubic-bezier(.2,.8,.2,1) 1.0s both; }
  .wag-overlay.wag-open .wag-stats .wag-stat:nth-child(2){ animation:wag-fade-up .7s cubic-bezier(.2,.8,.2,1) 1.15s both; }
  .wag-overlay.wag-open .wag-quote{ animation:wag-fade-up .8s cubic-bezier(.2,.8,.2,1) 1.35s both; }

  /* Right column  staggered fade-ups */
  .wag-overlay.wag-open .wag-eyebrow{ animation:wag-fade-up .7s cubic-bezier(.2,.8,.2,1) .4s both; }
  .wag-overlay.wag-open .wag-headline{ animation:wag-fade-up .7s cubic-bezier(.2,.8,.2,1) .55s both; }
  .wag-overlay.wag-open .wag-headline-mark{ animation:wag-mark-stamp .85s cubic-bezier(.2,.85,.2,1) .68s both; }
  .wag-overlay.wag-open .wag-process .wag-step:nth-child(1){ animation:wag-fade-up .55s cubic-bezier(.2,.8,.2,1) .85s both; }
  .wag-overlay.wag-open .wag-process .wag-step:nth-child(2){ animation:wag-fade-up .55s cubic-bezier(.2,.8,.2,1) .97s both; }
  .wag-overlay.wag-open .wag-process .wag-step:nth-child(3){ animation:wag-fade-up .55s cubic-bezier(.2,.8,.2,1) 1.09s both; }
  .wag-overlay.wag-open .wag-form > .wag-row{ animation:wag-fade-up .65s cubic-bezier(.2,.8,.2,1) 1.2s both; }
  .wag-overlay.wag-open .wag-form > .wag-field:has(input[type="tel"]){ animation:wag-fade-up .6s cubic-bezier(.2,.8,.2,1) 1.32s both; }
  .wag-overlay.wag-open .wag-form > .wag-tile-hint{ animation:wag-fade-up .5s cubic-bezier(.2,.8,.2,1) 1.4s both; }
  .wag-overlay.wag-open .wag-form > .wag-tiles{ animation:wag-fade-up .55s cubic-bezier(.2,.8,.2,1) 1.46s both; }
  .wag-overlay.wag-open .wag-form > .wag-field:has(textarea){ animation:wag-fade-up .6s cubic-bezier(.2,.8,.2,1) 1.58s both; }
  .wag-overlay.wag-open .wag-form > .wag-cta{ animation:wag-fade-up .65s cubic-bezier(.2,.8,.2,1) 1.66s both; }
  .wag-overlay.wag-open .wag-footnote{ animation:wag-fade-up .5s cubic-bezier(.2,.8,.2,1) 1.8s both; }

  /* Placements strip  label rules grow outward, logos cascade in */
  .wag-overlay.wag-open .wag-placements-label{ animation:wag-fade-in .5s ease 1.85s both; }
  .wag-overlay.wag-open .wag-placements-label::before{ transform-origin:right; animation:wag-rule-grow .6s cubic-bezier(.2,.8,.2,1) 1.95s both; }
  .wag-overlay.wag-open .wag-placements-label::after{ transform-origin:left; animation:wag-rule-grow .6s cubic-bezier(.2,.8,.2,1) 1.95s both; }
  .wag-logos img{ opacity:0; }
  .wag-overlay.wag-open .wag-logos img{ animation:wag-fade-up .55s cubic-bezier(.2,.8,.2,1) both; }
  .wag-overlay.wag-open .wag-logos img:nth-child(1){ animation-delay:2.05s; }
  .wag-overlay.wag-open .wag-logos img:nth-child(2){ animation-delay:2.12s; }
  .wag-overlay.wag-open .wag-logos img:nth-child(3){ animation-delay:2.19s; }
  .wag-overlay.wag-open .wag-logos img:nth-child(4){ animation-delay:2.26s; }
  .wag-overlay.wag-open .wag-logos img:nth-child(5){ animation-delay:2.33s; }
  .wag-overlay.wag-open .wag-logos img:nth-child(6){ animation-delay:2.40s; }
  .wag-overlay.wag-open .wag-logos img:nth-child(7){ animation-delay:2.47s; }
  .wag-overlay.wag-open .wag-logos img:nth-child(8){ animation-delay:2.54s; }

  /* Input focus  brass hairline grows from center */
  .wag-field{ position:relative; }
  .wag-field::after{
    content:'';position:absolute;
    bottom:0;left:50%;width:0;height:1px;
    background:#c9a961;
    transition:left .42s cubic-bezier(.2,.8,.2,1),width .42s cubic-bezier(.2,.8,.2,1);
    pointer-events:none;
  }
  .wag-field:focus-within::after{ left:0;width:100%; }

  /* Tile selection  soft pop + brass ring */
  .wag-tile input:checked + .wag-tile-label{
    animation:wag-tile-select .6s cubic-bezier(.2,.85,.2,1);
  }

  /* Respect users who prefer reduced motion */
  @media (prefers-reduced-motion:reduce){
    .wag-overlay *,.wag-overlay *::before,.wag-overlay *::after{
      animation-duration:0.01ms !important;
      animation-delay:0ms !important;
      transition-duration:0.01ms !important;
    }
  }
  /* -------- /v2.1 ANIMATIONS -------- */

  /* Mobile */
  @media (max-width:760px){
    .wag-popup{max-height:94vh;overflow-y:auto;}
    .wag-body{grid-template-columns:1fr;}
    .wag-left{padding:36px 28px 28px;border-right:none;border-bottom:1px solid rgba(201,169,97,.18);gap:22px;}
    .wag-seal{width:110px;height:110px;}
    .wag-stat-num{font-size:32px;min-width:64px;}
    .wag-quote{display:none;}
    .wag-right{padding:32px 26px 24px;}
    .wag-right::before{display:none;}
    .wag-headline{font-size:26px;}
    .wag-headline em{font-size:30px;}
    .wag-headline-mark{font-size:46px;left:-16px;}
    .wag-row{grid-template-columns:1fr;gap:6px;}
    .wag-tiles{grid-template-columns:repeat(3,1fr);}
    .wag-placements{padding:18px 22px;}
    .wag-logos{gap:18px;}
    .wag-logos img{height:18px;}
    .wag-logos img.tall{height:24px;}
    .wag-popup::after{inset:8px;}
  }

  @media (min-width:761px) and (max-height:820px){
    .wag-overlay{padding:14px;}
    .wag-popup{max-height:calc(100vh - 28px);}
    .wag-left{padding:34px 34px 28px;gap:18px;}
    .wag-right{padding:34px 36px 28px;}
    .wag-seal{width:104px;height:104px;}
    .wag-seal-caption{margin-top:12px;}
    .wag-stats{gap:14px;}
    .wag-stat-num{font-size:32px;min-width:64px;}
    .wag-quote{font-size:13px;line-height:1.45;padding-top:14px;}
    .wag-headline{font-size:30px;margin-bottom:12px;}
    .wag-headline em{font-size:34px;}
    .wag-process{margin:12px 0 14px;padding:10px 0 11px;gap:6px;}
    .wag-input,.wag-textarea{padding:9px 0;}
    .wag-tiles{margin:10px 0 2px;}
    .wag-tile-label{padding:8px 2px;}
    .wag-cta{margin-top:14px;padding:14px 24px;}
    .wag-placements{padding:16px 42px 18px;}
    .wag-placements-label{margin-bottom:10px;}
    .wag-logos img{height:19px;}
    .wag-logos img.tall{height:27px;}
  }

/* ============================================================
   Thank-you page (thank-you.php) -- .ty-* card layout.
   Ported from the original thank-you.html's own <style> block, which
   was never captured by the Task 2 extraction (that only pulled
   index.html's shared <style> block). Every other rule in thank-you.
   html's <style> block duplicated design tokens/selectors already
   present above; only these 11 selectors are unique to this page.
   Uses only existing :root tokens -- no new colors introduced.
   ============================================================ */
.ty-section {
  min-height: calc(100vh - 200px);
  display: flex; align-items: center; justify-content: center;
  padding: 80px var(--rail);
}
.ty-card {
  max-width: 680px; width: 100%; text-align: center;
}
.ty-icon {
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--accent-soft); border: 1px solid var(--accent);
  display: grid; place-items: center; margin: 0 auto 36px;
}
.ty-icon svg { width: 32px; height: 32px; }
.ty-label {
  font-family:var(--mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--accent); margin-bottom:20px;
  display: flex; align-items:center; justify-content:center; gap:8px;
}
.ty-label::before { content:''; display:block; width:28px; height:1px; background:var(--accent); }
.ty-label::after  { content:''; display:block; width:28px; height:1px; background:var(--accent); }
.ty-heading {
  font-family:var(--serif); font-size:clamp(40px,5vw,72px); font-weight:400;
  color:var(--paper); line-height:1.05; letter-spacing:-0.01em; margin:0 0 24px;
}
.ty-sub {
  font-size:17px; color:var(--ink-300); line-height:1.6; max-width:52ch; margin:0 auto 40px;
}
.ty-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.ty-divider {
  margin: 64px auto 0; padding-top: 40px; border-top: 1px solid var(--ink-700);
  display: grid; grid-template-columns: 1fr 1fr; gap: 32px; text-align: left;
  max-width: 600px;
}
.ty-contact-item { }
.ty-contact-label {
  font-family:var(--mono); font-size:10px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-400); margin-bottom:8px;
}
.ty-contact-val {
  font-family:var(--mono); font-size:14px; color:var(--paper); letter-spacing:.04em;
  transition:color .2s;
}
.ty-contact-val:hover { color:var(--accent); }
@media (max-width:900px) {
  .ty-divider { grid-template-columns:1fr; }
}
