/* ═══════════════════════════════════════════════════
   TheVouch Landing — Opus
   Cormorant Unicase (editorial serif, primary) +
   Cormorant Garamond Italic (italic accents only) +
   Inter (sans body)
   Quiet luxury · Monochrome · Defiant elegance
   ═══════════════════════════════════════════════════ */

/* ─── Tokens ─── */
/* The gold is the app's own, read off TheVouch/Core/Theme/Theme.swift:
   an accent PAIR rather than one hex, and the 14-stop accentGradient
   for anything that is a filled shape — the shield, the mark, the two
   panel beams. Nothing else about this page moved. */
:root,html[data-theme="light"]{
  --accent-rgb:138,101,0;
  --m1:#8A6500;
  --m2:#96711A;
  --m3:#A4802E;
  --m4:#BC9848;
  --m5:#D6BC6C;
  --m6:#EADB92;
  --m7:#F2E6A6;
  --m8:#E6D48E;
  --m9:#D2B46C;
  --m10:#C0A052;
  --m11:#B08E3E;
  --m12:#A88536;
  --m13:#B08E3E;
  --m14:#BC9A48;
  --metal:linear-gradient(135deg,#8A6500 0%,#96711A 8%,#A4802E 16%,#BC9848 23%,#D6BC6C 29%,#EADB92 33%,#F2E6A6 36%,#E6D48E 40%,#D2B46C 46%,#C0A052 54%,#B08E3E 64%,#A88536 76%,#B08E3E 88%,#BC9A48 100%);

  --bg:transparent;
  --bg2:transparent;
  --card:rgba(255,255,255,.45);
  --t1:#141413;
  --t2:#5A5955;
  --t3:#9E9D98;
  --bdr:rgba(var(--accent-rgb),.20);
  --sep:rgba(var(--accent-rgb),.18);
  --nav:rgba(250,249,245,.85);
  --inv:#141413;
  --inv-t:#FAF9F5;
  --hover:rgba(var(--accent-rgb),.12);
  --glow:rgba(var(--accent-rgb),.08);
  --accent:#8A6500;

  /* Top bar and bottom bar are the same object at opposite ends of the
     page, so they read one height from one token instead of each
     arriving at its own by padding. */
  --bar:64px;

  /* Separation is padding, never a line — the app's rule (Theme.swift:
     "There are no divider/hairline primitives"). Cards are held apart by
     this gap; the gold rule that used to draw the grid is gone. */
  --gap:16px;
}
html[data-theme="dark"]{
  --accent-rgb:210,172,71;
  --m1:#9C7A26;
  --m2:#A98436;
  --m3:#B99148;
  --m4:#CDA95E;
  --m5:#E2C77A;
  --m6:#F2E49C;
  --m7:#F9F2AC;
  --m8:#F0E198;
  --m9:#E0C478;
  --m10:#D0AE5A;
  --m11:#C29E48;
  --m12:#B8933E;
  --m13:#C29D46;
  --m14:#CFAC52;
  --metal:linear-gradient(135deg,#9C7A26 0%,#A98436 8%,#B99148 16%,#CDA95E 23%,#E2C77A 29%,#F2E49C 33%,#F9F2AC 36%,#F0E198 40%,#E0C478 46%,#D0AE5A 54%,#C29E48 64%,#B8933E 76%,#C29D46 88%,#CFAC52 100%);
  --bg:transparent;
  --bg2:transparent;
  --card:rgba(255,255,255,.03);
  --t1:#EDEBE6;
  --t2:#B0AFAB;
  --t3:#858582;
  --bdr:rgba(var(--accent-rgb),.14);
  --sep:rgba(var(--accent-rgb),.12);
  --nav:rgba(30,30,28,.65);   /* the canvas colour, thinned — a bar
                                 that is a DIFFERENT grey reads as a
                                 band laid over the page rather than
                                 the page seen through glass. */
  --inv:#EDEBE6;
  --inv-t:#111111;
  --hover:rgba(var(--accent-rgb),.20);
  --glow:rgba(var(--accent-rgb),.06);
  --accent:#D2AC47;
}
@media(prefers-color-scheme:dark){html:not([data-theme]){
  --accent-rgb:210,172,71; --m1:#9C7A26; --m2:#A98436; --m3:#B99148; --m4:#CDA95E; --m5:#E2C77A; --m6:#F2E49C; --m7:#F9F2AC; --m8:#F0E198; --m9:#E0C478; --m10:#D0AE5A; --m11:#C29E48; --m12:#B8933E; --m13:#C29D46; --m14:#CFAC52;
  --metal:linear-gradient(135deg,#9C7A26 0%,#A98436 8%,#B99148 16%,#CDA95E 23%,#E2C77A 29%,#F2E49C 33%,#F9F2AC 36%,#F0E198 40%,#E0C478 46%,#D0AE5A 54%,#C29E48 64%,#B8933E 76%,#C29D46 88%,#CFAC52 100%);
  --bg:transparent;--bg2:transparent;--card:rgba(255,255,255,.03);
  --t1:#EDEBE6;--t2:#B0AFAB;--t3:#858582;
  --bdr:rgba(var(--accent-rgb),.14);--sep:rgba(var(--accent-rgb),.12);
  --nav:rgba(30,30,28,.65);
  --inv:#EDEBE6;--inv-t:#1e1e1c;
  --hover:rgba(var(--accent-rgb),.20);--glow:rgba(var(--accent-rgb),.06);--accent:#D2AC47;
}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:url(#vouchMetal);
  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(var(--accent-rgb),.35) 0%,rgba(var(--accent-rgb),.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(var(--accent-rgb),.08) 0%,rgba(var(--accent-rgb),.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(30,30,28,.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::before{background:radial-gradient(ellipse at 50% 42%,rgba(var(--accent-rgb),.40) 0%,rgba(var(--accent-rgb),.15) 35%,transparent 60%)}
html:not([data-theme="dark"]) .shield-bg::after{background:radial-gradient(circle at 50% 45%,rgba(var(--accent-rgb),.12) 0%,rgba(var(--accent-rgb),.04) 35%,transparent 55%)}
html:not([data-theme="dark"]) .particle{background:rgba(var(--accent-rgb),.22)}

/* Particles */
.particles{position:fixed;inset:0;z-index:0;pointer-events:none}
.particle{
  position:absolute;
  width:1.5px;height:1.5px;
  background:rgba(var(--accent-rgb),.25);
  border-radius:50%;
  will-change:transform;
  animation:particleFloat linear infinite;
}
html:not([data-theme="dark"]) .particle{background:rgba(var(--accent-rgb),.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:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;background:#1e1e1c;color:var(--t1);line-height:1.7;font-size:18px;transition:background .4s,color .4s}
html[data-theme="light"] body{background:#FAF9F5}
::selection{background:rgba(var(--accent-rgb),.30);color:var(--t1)}
a{color:inherit;text-decoration:none}
ul{list-style:none}
strong{font-weight:700;color:var(--t1)}
em{font-style:italic;font-family:'Cormorant Garamond',Georgia,serif}

/* ─── Layout ─── */
.wrap{max-width:1440px;margin:0 auto;padding:0 64px}
.wrap-wide{max-width:1440px;margin:0 auto;padding:0 64px}
.section{padding:120px 0;position:relative;z-index:1}
.section-alt{background:transparent;transition:background .4s}
html[data-theme="dark"] .section-alt{background:transparent}

/* ─── Typography ─── */
h2{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:clamp(36px,5vw,52px);line-height:1.15;color:var(--t1);margin-bottom:24px;letter-spacing:-.025em;transition:color .4s}
.label{display:inline-block;font-size:16px;font-weight:700;letter-spacing:.04em;color:var(--t3);margin-bottom:18px;transition:color .4s}
html[data-theme="dark"] .label{color:var(--accent)}
.sub{font-size:20px;font-weight:700;color:var(--t1);line-height:1.75;max-width:900px;margin-bottom:36px;transition:color .4s;opacity:.8}

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

/* ─── Buttons ─── */
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.01em;padding:14px 32px;border-radius:0;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:#141413;color:#FAF9F5}
html[data-theme="dark"] .btn-cta{background:#EDEBE6;color:#111111}
@media(prefers-color-scheme:dark){html:not([data-theme]) .btn-cta{background:#EDEBE6;color:#111111}}
.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::after,.footer::before{
  content:'';position:absolute;left:0;right:0;height:1px;pointer-events:none;
  background:var(--metal);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);
  transition:opacity .3s;
}
.nav::after{bottom:0}
.footer::before{top:0}
.nav{position:fixed;top:0;left:0;right:0;z-index:300;background:var(--nav);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transition:background .2s ease,backdrop-filter .2s ease,-webkit-backdrop-filter .2s ease}
/* The beam is the panel's edge now, so the flat rule stays off. */
/* The brand stands in the CENTRE at every width; the menu is a hamburger
   that opens the full-screen overlay and closes as an X in the same spot. */
.nav .wrap-wide{position:relative;display:flex;align-items:center;justify-content:flex-end;height:var(--bar)}
.nav .brand{position:absolute;left:50%;transform:translateX(-50%)}
/* Desktop inline links (like app: Following | Explore | Channels) */
.nav-links{display:none}
.nav-links a{font-size:16px;font-weight:700;color:var(--t3);transition:color .2s}
.nav-links a:hover{color:var(--t2)}
.nav-links a.active{color:var(--t1)}
/* Mobile hamburger toggle */
.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:34px;height:26.5px;background:none;border:none;cursor:pointer;padding:6px;-webkit-tap-highlight-color:transparent}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--t2);transition:background .3s,transform .35s cubic-bezier(.4,0,.2,1),opacity .2s ease}
.nav-toggle:hover span{background:var(--t1)}
/* Bars are 1.5px tall with a 5px gap — 6.5px between centres, which is
   exactly how far each outer bar travels to close the cross. */
.nav-toggle.is-open span{background:var(--t1)}
.nav-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
/* The overlay carries the same surface as the bar, so the bar hands its
   own surface over rather than dropping it. `backdrop-filter:none` was
   not an animatable value — the blur vanished on the first frame while
   the overlay was still at opacity 0, and for that third of a second
   the page read straight through the bar. blur(0px) interpolates, and
   the two surfaces now cross-fade: their combined alpha never falls
   below the bar's own. */
body.menu-open .nav{
  background:transparent;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);
  /* Held for 200ms, then handed over in 150ms — by the time the bar
     starts thinning the overlay is already most of the way in, so the
     two surfaces never sum to less than the bar alone. Closing takes
     the base 200ms with no delay: the bar is back before the overlay
     has finished leaving. */
  transition:background .15s ease .2s,backdrop-filter .15s ease .2s,-webkit-backdrop-filter .15s ease .2s;
}
body.menu-open .nav::after{opacity:0;transition:opacity .15s ease .2s}
/* Fullscreen mobile overlay — animate */
.nav-overlay{position:fixed;inset:0;z-index:200;background:var(--nav);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;overflow:hidden;touch-action:none}
.nav-overlay.open{opacity:1;visibility:visible}
body.menu-open{overflow:hidden}
.nav-overlay a{font-size:24px;font-weight:700;color:var(--t2);transition:color .2s;transform:translateY(10px);opacity:0;transition:color .2s,transform .4s ease,opacity .4s ease}
.nav-overlay.open a{transform:translateY(0);opacity:1}
.nav-overlay a:nth-child(1){transition-delay:.04s}
.nav-overlay a:nth-child(2){transition-delay:.09s}
.nav-overlay a:nth-child(3){transition-delay:.14s}
.nav-overlay a:nth-child(4){transition-delay:.19s}
.nav-overlay a:nth-child(5){transition-delay:.24s}
.nav-overlay a:hover{color:var(--t1)}

/* ─── 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 Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-style:italic;font-size:20px;color:var(--t3);margin-bottom:28px;letter-spacing:.02em;transition:color .4s}
.hero h1{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:clamp(44px,7vw,80px);line-height:1.06;color:var(--t1);margin-bottom:32px;letter-spacing:-.035em;transition:color .4s}
.hero-sub{font-size:22px;font-weight:700;color:var(--t1);line-height:1.8;max-width:900px;margin-bottom:0;transition:color .4s;opacity:.8}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}

/* ─── Manifesto ─── */
.manifesto{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);background:transparent;margin-top:48px}
.m-row,.m-row-full{display:contents}
.m-item{padding:40px 36px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .4s ease}
.m-item:hover{background:var(--hover)}

.m-item h3{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:26px;line-height:1.3;color:var(--t1);margin-bottom:16px;letter-spacing:-.01em;transition:color .3s}
.m-item p{font-size:19px;font-weight:700;color:var(--t1);line-height:1.8;transition:color .3s;opacity:.8}
.m-item p em{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:22px;font-weight:700;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(5,1fr);gap:32px;text-align:center}
.stat{display:flex;flex-direction:column;gap:8px}
.stat-n{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(28px,4vw,40px);letter-spacing:-.03em;line-height:1}
.stat-l{font-size:16px;font-weight:700;color:var(--t1);line-height:1.6;opacity:.8}

/* ─── Grid ─── */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);background:transparent;margin-top:48px}
.cell{padding:40px 36px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .4s ease}
.cell:hover{background:var(--hover)}

.cell-full{grid-column:1 / -1}
.cell h3{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:23px;line-height:1.3;color:var(--t1);margin-bottom:14px;letter-spacing:-.01em;transition:color .3s}
.cell p{font-size:18px;font-weight:700;color:var(--t1);line-height:1.8;transition:color .3s;opacity:.8}

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

/* ─── Steps ─── */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);background:transparent;margin-top:48px}
.step{padding:40px 36px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .4s ease}
.step:hover{background:var(--hover)}
.step-n{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:36px;color:var(--t3);display:block;margin-bottom:16px;letter-spacing:-.02em;transition:color .3s}
.step h3{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:26px;color:var(--t1);margin-bottom:12px;transition:color .3s}
.step p{font-size:18px;font-weight:700;color:var(--t1);line-height:1.8;transition:color .3s;opacity:.8}

/* ─── Pricing ─── */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);background:transparent;margin-top:48px;align-items:stretch}
.prices-2{grid-template-columns:repeat(2,1fr)}

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

.p-tier{display:block;font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:18px;color:var(--t1);margin-bottom:6px;transition:color .3s;opacity:.7}
.p-price{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-size:32px;font-weight:700;color:var(--t1);letter-spacing:-.02em;margin-bottom:28px;transition:color .3s}
.p-price .per{font-size:14px;font-weight:700;color:var(--t1);opacity:.5}
/* The country picker sits inside the pricing note; it borrows the note's
   own type so it reads as part of the sentence, not as a form control. */
.price-note select{font:inherit;color:var(--t1);background:transparent;border:0;border-bottom:1px solid rgba(196,155,48,.55);padding:0 2px;cursor:pointer;max-width:16em}
.price-note select:focus{outline:none;border-bottom-color:#C49B30}
.p-annual{font-size:14px;font-weight:700;color:var(--t1);opacity:.5;margin-top:-20px;margin-bottom:28px}

.price-card ul{flex:1;margin-bottom:28px}
.price-card li{font-size:18px;font-weight:700;color:var(--t1);padding:10px 0;transition:color .3s;opacity:.8}
.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:16px;font-weight:700;letter-spacing:.04em;margin-bottom:18px;color:var(--accent)}
.cta h2{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:clamp(32px,5vw,48px);line-height:1.2;margin-bottom:24px;letter-spacing:-.02em;color:inherit}
.cta p{font-size:20px;font-weight:700;color:var(--t1);margin-bottom:0;opacity:.8}
.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(var(--accent-rgb),.07)}

/* ─── Footer ─── */
.footer{padding:0;position:relative;z-index:1;transition:border-color .4s}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:var(--bar)}
.foot-brand{display:flex;flex-direction:column;gap:10px}
.brand-name{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--t1);transition:color .3s}
.foot-divider{width:6px;height:16px;background:transparent}
.foot-tagline{font-size:13px;font-weight:700;color:var(--t3);letter-spacing:.02em}
.foot-links{display:flex;gap:28px;align-items:center}
.foot-links a{font-size:13px;font-weight:700;color:var(--t3);transition:color .2s}
.foot-links a:hover{color:var(--accent)}
.footer-grid .foot-brand{justify-self:center;align-items:center}
.footer-grid .foot-copy{justify-self:start}
.footer-grid .foot-links{justify-self:end}
.foot-copy{font-size:12px;font-weight:700;color:var(--t3);transition:color .3s}

/* ─── Responsive ─── */
@media(max-width:768px){
  .section{padding:80px 0}
  .manifesto,.grid{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{grid-template-columns:1fr;justify-items:center;gap:20px;text-align:center;height:auto;padding:32px 0}
  .footer-grid .foot-copy,.footer-grid .foot-links{justify-self:center}
  .foot-links{flex-wrap:wrap;gap:20px}
  .hero{padding:120px 24px 80px}
  .wrap,.wrap-wide{padding:0 20px}
}
@media(max-width:1024px) and (min-width:769px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .prices{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr 1fr}
}


/* ─── Legal Pages ─── */
.legal{padding:160px 0 120px}
.legal h1{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;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:700;color:var(--t3);margin-bottom:48px;letter-spacing:.01em;transition:color .4s}
.legal-disclaimer{padding:20px 24px;margin-bottom:40px;background:var(--card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:0;font-size:13px;font-weight:700;color:var(--accent);line-height:1.6}
.legal h2{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;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;transition:color .4s}
.legal h3{font-family:'Cormorant Unicase','Cormorant Garamond',Georgia,serif;font-weight:700;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:700;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:700;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:700;color:var(--t1)}
@media(max-width:768px){.legal{padding:120px 0 80px}}
