/* ═══════════════════════════════════════════════════
   TheVouch Landing — Opus
   Cormorant Garamond (editorial serif) + Inter (sans)
   Quiet luxury · Monochrome · Defiant elegance
   ═══════════════════════════════════════════════════ */

/* ─── Tokens ─── */
:root,html[data-theme="light"]{
  --bg:transparent;
  --bg2:transparent;
  --card:rgba(255,255,255,.45);
  --t1:#141413;
  --t2:#5A5955;
  --t3:#9E9D98;
  --bdr:rgba(163,126,44,.20);
  --sep:rgba(163,126,44,.18);
  --nav:rgba(250,249,245,.92);
  --inv:#141413;
  --inv-t:#FAF9F5;
  --hover:rgba(163,126,44,.12);
  --glow:rgba(163,126,44,.08);
  --accent:#A37E2C;
}
html[data-theme="dark"]{
  --bg:transparent;
  --bg2:transparent;
  --card:rgba(255,255,255,.03);
  --t1:#EDEBE6;
  --t2:#B0AFAB;
  --t3:#858582;
  --bdr:rgba(163,126,44,.14);
  --sep:rgba(163,126,44,.12);
  --nav:rgba(17,17,17,.92);
  --inv:#EDEBE6;
  --inv-t:#111111;
  --hover:rgba(163,126,44,.20);
  --glow:rgba(163,126,44,.06);
  --accent:#A37E2C;
}
@media(prefers-color-scheme:dark){html:not([data-theme]){
  --bg:transparent;--bg2:transparent;--card:rgba(255,255,255,.03);
  --t1:#EDEBE6;--t2:#B0AFAB;--t3:#858582;
  --bdr:rgba(163,126,44,.14);--sep:rgba(163,126,44,.12);
  --nav:rgba(17,17,17,.92);
  --inv:#EDEBE6;--inv-t:#111111;
  --hover:rgba(163,126,44,.20);--glow:rgba(163,126,44,.06);--accent:#A37E2C;
}html:not([data-theme]) .ic-moon{display:none}html:not([data-theme]) .ic-sun{display:block}}

/* ─── Shield Background ─── */
.shield-canvas{
  position:fixed;inset:0;z-index:0;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;
}
.shield-bg{
  position:relative;
  width:min(55vw,440px);
  aspect-ratio:24/30;
  will-change:transform;
}
.shield-bg .shield-form{
  position:absolute;inset:0;
  width:100%;height:100%;
  fill:rgba(163,126,44,.35);
  filter:blur(6px);
  will-change:opacity,transform;
  animation:shieldBreath 9s ease-in-out infinite;
}
.shield-bg::before{
  content:'';
  position:absolute;inset:-15%;
  background:radial-gradient(ellipse at 50% 42%,rgba(163,126,44,.35) 0%,rgba(163,126,44,.12) 35%,transparent 60%);
  filter:blur(50px);
  will-change:opacity,transform;
  animation:shieldCore 9s ease-in-out infinite;
}
.shield-bg::after{
  content:'';
  position:absolute;inset:-70%;
  background:radial-gradient(circle at 50% 45%,rgba(163,126,44,.08) 0%,rgba(163,126,44,.025) 35%,transparent 55%);
  filter:blur(60px);
  will-change:opacity,transform;
  animation:shieldHalo 9s ease-in-out infinite;
}
.shield-frost{
  position:fixed;inset:0;z-index:0;
  background:rgba(17,17,17,.32);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  pointer-events:none;
  transition:background .4s;
}
html:not([data-theme="dark"]) .shield-frost{background:rgba(250,249,245,.30);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
html:not([data-theme="dark"]) .shield-bg .shield-form{fill:rgba(163,126,44,.45)}
html:not([data-theme="dark"]) .shield-bg::before{background:radial-gradient(ellipse at 50% 42%,rgba(163,126,44,.40) 0%,rgba(163,126,44,.15) 35%,transparent 60%)}
html:not([data-theme="dark"]) .shield-bg::after{background:radial-gradient(circle at 50% 45%,rgba(163,126,44,.12) 0%,rgba(163,126,44,.04) 35%,transparent 55%)}
html:not([data-theme="dark"]) .particle{background:rgba(163,126,44,.22)}

/* Particles */
.particles{position:fixed;inset:0;z-index:0;pointer-events:none}
.particle{
  position:absolute;
  width:1.5px;height:1.5px;
  background:rgba(163,126,44,.25);
  border-radius:50%;
  will-change:transform;
  animation:particleFloat linear infinite;
}
html:not([data-theme="dark"]) .particle{background:rgba(163,126,44,.15)}
.particle:nth-child(1){left:15%;top:20%;animation-duration:20s;opacity:.3}
.particle:nth-child(2){left:75%;top:60%;animation-duration:24s;animation-delay:-6s;opacity:.2}
.particle:nth-child(3){left:40%;top:80%;animation-duration:22s;animation-delay:-10s;width:1px;height:1px;opacity:.35}
.particle:nth-child(4){left:85%;top:30%;animation-duration:26s;animation-delay:-4s;opacity:.2}

@keyframes shieldBreath{
  0%,100%{opacity:.35;transform:scale(1)}
  50%{opacity:.65;transform:scale(1.01)}
}
@keyframes shieldCore{
  0%,100%{opacity:.4;transform:scale(.97)}
  50%{opacity:.9;transform:scale(1.01)}
}
@keyframes shieldHalo{
  0%,100%{opacity:.3;transform:scale(.92)}
  50%{opacity:.7;transform:scale(1.06)}
}
@keyframes particleFloat{
  0%{transform:translateY(0) translateX(0);opacity:0}
  10%{opacity:1}
  90%{opacity:1}
  100%{transform:translateY(-100vh) translateX(20px);opacity:0}
}

/* ─── Reset ─── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:#111111;color:var(--t1);line-height:1.7;font-size:16px;transition:background .4s,color .4s}
html[data-theme="light"] body{background:#FAF9F5}
::selection{background:var(--t1);color:var(--bg)}
a{color:inherit;text-decoration:none}
ul{list-style:none}
strong{font-weight:500;color:var(--t1)}
em{font-style:italic;font-family:'Cormorant Garamond',Georgia,serif}

/* ─── Layout ─── */
.wrap{max-width:960px;margin:0 auto;padding:0 32px}
.wrap-wide{max-width:1120px;margin:0 auto;padding:0 32px}
.section{padding:120px 0;position:relative;z-index:1}
html[data-theme="dark"] .section::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(163,126,44,.15),transparent);
}
.section-alt{background:transparent;transition:background .4s}
html[data-theme="dark"] .section-alt{background:transparent}

/* ─── Typography ─── */
h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(30px,4.5vw,42px);line-height:1.18;color:var(--t1);margin-bottom:20px;letter-spacing:-.025em;transition:color .4s}
.label{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:16px;transition:color .4s}
html[data-theme="dark"] .label{color:var(--accent)}
.sub{font-size:17px;font-weight:300;color:var(--t2);line-height:1.75;max-width:580px;margin-bottom:32px;transition:color .4s}

/* ─── Brand (shield only) ─── */
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--accent);transition:color .3s}

/* ─── Buttons ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:14px;font-weight:500;letter-spacing:.01em;padding:14px 32px;border-radius:6px;border:none;cursor:pointer;transition:all .25s ease}
.btn-hero{min-width:240px}
.btn-primary{background:var(--t1);color:var(--bg)}
.btn-primary:hover{opacity:.85}
.btn-ghost{background:transparent;color:var(--t2);border:1px solid var(--bdr)}
.btn-ghost:hover{color:var(--t1);border-color:var(--t1)}
.btn-outline{background:transparent;color:var(--t1);border:1px solid var(--bdr);width:100%}
.btn-outline:hover{border-color:var(--t1)}
.btn-cta,.btn-cta-ghost{padding:16px 40px;font-size:15px;min-width:264px;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.btn-cta{background:var(--inv-t);color:var(--inv)}
.btn-cta:hover{opacity:.85}
.btn-cta-ghost{background:transparent;color:var(--inv-t);border:1px solid rgba(255,255,255,.2)}
.btn-cta-ghost:hover{border-color:var(--inv-t)}
html[data-theme="light"] .btn-cta-ghost{border-color:rgba(255,255,255,.3);color:var(--inv-t)}
.btn-cta.disabled,.btn-cta-ghost.disabled{opacity:.45;pointer-events:none;cursor:not-allowed}
.btn-cta svg,.btn-cta-ghost svg{flex-shrink:0}

/* ─── Nav ─── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid transparent;transition:border-color .3s,background .4s}
.nav.scrolled{border-bottom-color:var(--sep)}
.nav .wrap-wide{display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:18px}
.nav-r{display:flex;align-items:center;gap:28px}
.nav-r a{font-size:13px;font-weight:400;color:var(--t3);letter-spacing:.02em;transition:color .2s}
.nav-r a:hover{color:var(--accent)}
.theme-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--bdr);background:transparent;color:var(--t3);cursor:pointer;transition:all .25s}
.theme-btn:hover{color:var(--accent);border-color:var(--accent)}
html:not([data-theme="dark"]) .ic-moon,html[data-theme="dark"] .ic-sun{display:none}

/* ─── Hamburger ─── */
.hamburger{display:none;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--t3);cursor:pointer;transition:color .25s;padding:0}
.hamburger:hover{color:var(--accent)}
.hamburger svg{width:20px;height:20px}
.mobile-menu{position:fixed;inset:0;z-index:101;flex-direction:column;align-items:center;justify-content:center;gap:40px;display:flex;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
html[data-theme="dark"] .mobile-menu,html:not([data-theme]) .mobile-menu{background:#111111}
html[data-theme="light"] .mobile-menu{background:#FAF9F5}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu a{opacity:0;transform:translateY(16px);transition:opacity .3s ease,transform .3s ease}
.mobile-menu.open a:nth-child(2){transition-delay:.08s}
.mobile-menu.open a:nth-child(3){transition-delay:.16s}
.mobile-menu.open a:nth-child(4){transition-delay:.24s}
.mobile-menu.open a{opacity:1;transform:translateY(0)}
.mobile-menu a{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:400;color:var(--t1);letter-spacing:-.01em;transition:color .2s}
.mobile-menu a:hover{color:var(--accent)}
.mobile-menu .theme-btn-mobile{display:flex;align-items:center;justify-content:center;gap:10px;border:none;background:transparent;color:var(--t1);cursor:pointer;padding:0;margin:0}
.mobile-menu .close-menu{position:absolute;top:18px;right:24px;width:32px;height:32px;border:none;background:transparent;color:var(--t3);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.mobile-menu .close-menu:hover{color:var(--accent)}

/* ─── Hero ─── */
.hero{min-height:100vh;display:flex;align-items:center;padding:140px 32px 100px;position:relative;z-index:1}
.hero .wrap{width:100%}
.hero-brand{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-style:italic;font-size:20px;color:var(--t3);margin-bottom:28px;letter-spacing:.02em;transition:color .4s}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(38px,6.5vw,68px);line-height:1.08;color:var(--t1);margin-bottom:28px;letter-spacing:-.035em;transition:color .4s}
.hero-sub{font-size:18px;font-weight:300;color:var(--t2);line-height:1.85;max-width:620px;margin-bottom:0;transition:color .4s}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}

/* ─── Manifesto ─── */
.manifesto{display:grid;grid-template-columns:1fr 1fr;gap:0;background:transparent;border-top:1px solid var(--sep);border-left:1px solid var(--sep);margin-top:48px;transition:border-color .4s}
.m-row,.m-row-full{display:contents}
.m-item{padding:40px 36px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--sep);border-bottom:1px solid var(--sep);transition:background .4s ease}
.m-item:hover{background:var(--hover)}
.m-row-full .m-item{grid-column:1 / -1}
.m-item h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:22px;color:var(--t1);margin-bottom:14px;letter-spacing:-.01em;transition:color .3s}
.m-item p{font-size:15px;font-weight:300;color:var(--t2);line-height:1.8;transition:color .3s}
.m-item p em{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:18px;font-weight:500;color:var(--t1);transition:color .3s}

/* ─── Stats Band ─── */
.stats-band{padding:64px 32px;background:rgba(255,255,255,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--t1);position:relative;z-index:1;transition:background .4s,color .4s}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
.stat{display:flex;flex-direction:column;gap:8px}
.stat-n{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(28px,4vw,40px);letter-spacing:-.03em;line-height:1}
.stat-l{font-size:13px;font-weight:300;color:var(--t2);line-height:1.6}

/* ─── Grid ─── */
.grid{display:grid;gap:0;background:transparent;border-top:1px solid var(--sep);border-left:1px solid var(--sep);margin-top:48px;transition:border-color .4s}
.grid-3{grid-template-columns:1fr 1fr 1fr}
.cell{padding:40px 36px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--sep);border-bottom:1px solid var(--sep);transition:background .4s ease}
.cell:hover{background:var(--hover)}
.cell h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:21px;color:var(--t1);margin-bottom:12px;letter-spacing:-.01em;transition:color .3s}
.cell p{font-size:15px;font-weight:300;color:var(--t2);line-height:1.8;transition:color .3s}

/* ─── (safety callout moved into manifesto grid) ─── */

/* ─── Steps ─── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:transparent;border-top:1px solid var(--sep);border-left:1px solid var(--sep);margin-top:48px;transition:border-color .4s}
.step{padding:40px 36px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--sep);border-bottom:1px solid var(--sep);transition:background .4s ease}
.step:hover{background:var(--hover)}
.step-n{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:36px;color:var(--t3);display:block;margin-bottom:16px;letter-spacing:-.02em;transition:color .3s}
.step h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:21px;color:var(--t1);margin-bottom:10px;transition:color .3s}
.step p{font-size:15px;font-weight:300;color:var(--t2);line-height:1.8;transition:color .3s}

/* ─── Pricing ─── */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:transparent;border-top:1px solid var(--sep);border-left:1px solid var(--sep);margin-top:48px;align-items:stretch;transition:border-color .4s}
.prices-2{grid-template-columns:repeat(2,1fr)}

.price-card{padding:40px 36px 36px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--sep);border-bottom:1px solid var(--sep);display:flex;flex-direction:column;position:relative;transition:background .4s ease}
.price-card:hover{background:var(--hover)}

.p-tier{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:18px;color:var(--t2);margin-bottom:6px;transition:color .3s}
.p-price{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:500;color:var(--t1);letter-spacing:-.02em;margin-bottom:28px;transition:color .3s}
.p-price span{font-size:14px;font-weight:300;color:var(--t3)}

.price-card ul{flex:1;margin-bottom:28px}
.price-card li{font-size:15px;font-weight:300;color:var(--t2);padding:10px 0;transition:color .3s}
.price-card .btn{margin-top:auto}

/* ─── (waitlist removed) ─── */

/* ─── CTA ─── */
.cta{text-align:center;padding:120px 32px;background:rgba(255,255,255,.05);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--t1);position:relative;z-index:1;transition:background .4s,color .4s}
.cta-label{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;color:var(--accent)}
.cta h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(28px,4.5vw,42px);line-height:1.2;margin-bottom:20px;letter-spacing:-.02em;color:inherit}
.cta p{font-size:17px;font-weight:300;color:var(--t2);margin-bottom:0}
.cta-buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ─── Light mode: stats-band & cta accent bg ─── */
html:not([data-theme="dark"]) .stats-band,
html:not([data-theme="dark"]) .cta{background:rgba(163,126,44,.07)}

/* ─── Footer ─── */
.footer{padding:64px 0 40px;border-top:1px solid var(--sep);position:relative;z-index:1;transition:border-color .4s}
.footer-grid{display:flex;align-items:center;justify-content:space-between;position:relative}
.foot-brand{display:flex;flex-direction:column;gap:10px}
.brand-name{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:18px;letter-spacing:-.01em;color:var(--t1);transition:color .3s}
.foot-divider{width:1px;height:16px;background:var(--sep)}
.foot-tagline{font-size:13px;font-weight:300;color:var(--t3);letter-spacing:.02em}
.foot-links{display:flex;gap:28px;align-items:center}
.foot-links a{font-size:13px;font-weight:300;color:var(--t3);transition:color .2s}
.foot-links a:hover{color:var(--accent)}
.footer-grid .foot-copy{position:absolute;left:50%;transform:translateX(-50%)}
.foot-copy{font-size:12px;font-weight:300;color:var(--t3);transition:color .3s}

/* ─── Responsive ─── */
@media(max-width:768px){
  .section{padding:80px 0}
  .m-row{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:24px}
  .prices,.prices-2{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto}
  .hero-cta,.cta-buttons{flex-direction:column;align-items:stretch}
  .btn-hero,.btn-cta,.btn-cta-ghost{min-width:unset;width:100%}
  .hero h1 br,.hero-sub br,h2 br,.cta h2 br{display:none}
  .cta{padding:80px 24px}
  .footer-grid{flex-direction:column;gap:24px;align-items:flex-start}
  .footer-grid .foot-copy{position:static;transform:none}
  .foot-links{flex-wrap:wrap;gap:20px}
  .nav-r a{display:none}
  .nav-r .theme-btn{display:none}
  .hamburger{display:flex}
  .hero{padding:120px 24px 80px}
  .wrap,.wrap-wide{padding:0 24px}
}
@media(max-width:1024px) and (min-width:769px){
  .prices{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
}


/* ─── Legal Pages ─── */
.legal{padding:160px 0 120px}
.legal h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(34px,5vw,52px);line-height:1.15;color:var(--t1);margin-bottom:8px;letter-spacing:-.03em;transition:color .4s}
.legal-updated{font-size:13px;font-weight:400;color:var(--t3);margin-bottom:48px;letter-spacing:.01em;transition:color .4s}
.legal-disclaimer{padding:16px 20px;margin-bottom:40px;border:1px solid var(--sep);border-radius:6px;font-size:13px;font-weight:400;color:var(--accent);line-height:1.6;background:transparent}
.legal h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(22px,3vw,28px);line-height:1.25;color:var(--t1);margin-top:56px;margin-bottom:16px;letter-spacing:-.02em;padding-bottom:10px;border-bottom:1px solid var(--sep);transition:color .4s,border-color .4s}
.legal h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:19px;color:var(--t1);margin-top:32px;margin-bottom:10px;letter-spacing:-.01em;transition:color .4s}
.legal p{font-size:15px;font-weight:300;color:var(--t2);line-height:1.85;margin-bottom:16px;transition:color .4s}
.legal ul{margin:12px 0 20px 24px;list-style:disc}
.legal li{font-size:15px;font-weight:300;color:var(--t2);line-height:1.85;margin-bottom:6px;transition:color .4s}
.legal a{color:var(--t1);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--t3);transition:text-decoration-color .2s}
.legal a:hover{text-decoration-color:var(--t1)}
.legal strong{font-weight:500;color:var(--t1)}
@media(max-width:768px){.legal{padding:120px 0 80px}}
