/* ============================================================
   THE 1% LAWYER — Promotion Code site · shared stylesheet
   ============================================================ */

:root {
  --navy:   #0A0F2C;
  --navy2:  #0D1538;
  --navy3:  #111840;
  --gold:   #D4A843;
  --gold2:  #F0C96A;
  --white:  #FFFFFF;
  --muted:  #9AA1BD;
  --soft:   #C9CEDD;
  --green:  #1E8449;
  --green-text: #4FBF84;
  --red:    #C0392B;
  --red-text: #FF8272;
  --cream:  #F6F4EE;
  --ink:    #1B2033;
  --silver: #C9CEDD;
  --diamond:#8FD3F4;
  --wa:     #25D366;
  --border: rgba(212,168,67,0.22);
  --border-strong: rgba(212,168,67,0.5);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  background:var(--navy); color:var(--white);
  font-family:'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-weight:300; line-height:1.75; overflow-x:hidden;
}
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(212,168,67,0.03) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(212,168,67,0.03) 40px);
}
img, video { max-width:100%; }
a { color:inherit; }
h1, h2, h3 { font-family:'Lora', Georgia, serif; font-weight:600; }
em { font-style:italic; color:var(--gold2); }
:focus-visible { outline:2px solid var(--gold2); outline-offset:3px; }

.gold-bar { position:fixed; top:0; left:0; width:5px; height:100vh; background:linear-gradient(180deg,var(--gold),var(--navy2)); z-index:80; }
.inner { max-width:1100px; margin:0 auto; padding:0 32px; position:relative; z-index:1; }
.inner.narrow { max-width:820px; }
.section { padding:96px 0; position:relative; }
.alt { background:var(--navy2); }
.eyebrow { color:var(--gold); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; display:block; }
.h2 { font-size:34px; line-height:1.25; margin-top:10px; }
.lead { font-size:16px; color:var(--muted); max-width:640px; margin-top:14px; }
.center { text-align:center; }
.center .lead { margin-left:auto; margin-right:auto; }

/* ---------- NAV ---------- */
nav.top {
  position:fixed; top:0; left:5px; right:0; z-index:70; display:flex; align-items:center; justify-content:space-between;
  padding:16px 40px; background:rgba(10,15,44,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);
}
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-badge { width:34px; height:34px; border:1.5px solid var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Lora',serif; font-weight:700; color:var(--gold); font-size:14px; flex-shrink:0; }
.logo-text { font-family:'Lora',serif; font-weight:700; font-size:16px; line-height:1.1; }
.logo-text span { display:block; font-family:'Inter',sans-serif; font-weight:400; font-size:9px; letter-spacing:2px; color:var(--muted); }
.nav-right { display:flex; align-items:center; gap:14px; }
.nav-tab {
  font-size:13px; font-weight:600; color:var(--gold2); text-decoration:none; letter-spacing:.3px;
  padding:9px 18px; border:1px solid var(--border-strong); border-radius:2px; transition:background .2s, border-color .2s;
}
.nav-tab:hover, .nav-tab[aria-current="page"] { background:rgba(212,168,67,0.12); border-color:var(--gold); }
.nav-cta { background:var(--gold); color:var(--navy); font-weight:700; font-size:13px; padding:10px 22px; border-radius:2px; text-decoration:none; transition:background .2s; white-space:nowrap; }
.nav-cta:hover { background:var(--gold2); }

/* ---------- BUTTONS ---------- */
.cta-btn {
  display:inline-block; background:var(--gold); color:var(--navy); font-weight:700; font-size:15px; font-family:'Inter',sans-serif;
  padding:16px 34px; border-radius:2px; text-decoration:none; border:0; cursor:pointer; transition:transform .2s, background .2s;
}
.cta-btn:hover { transform:translateY(-2px); background:var(--gold2); }
.cta-btn.block { display:block; width:100%; text-align:center; }
.ghost-btn {
  display:inline-block; border:1px solid var(--gold); color:var(--gold2); font-weight:600; font-size:14px; padding:14px 28px;
  border-radius:2px; text-decoration:none; transition:background .2s;
}
.ghost-btn:hover { background:rgba(212,168,67,0.12); }
.cta-note { font-size:12px; color:var(--muted); margin-top:12px; }

/* ---------- SESSION STRIP + COUNTDOWN ---------- */
.session-strip {
  display:inline-flex; align-items:center; gap:6px 22px; flex-wrap:wrap; border:1px solid var(--border); background:rgba(212,168,67,0.06);
  padding:12px 18px; border-radius:2px; font-size:13.5px; color:var(--gold2); font-weight:600; white-space:nowrap;
}
.session-strip .sep { display:none; }
.countdown { display:flex; gap:14px; margin-top:22px; }
.countdown .unit { border:1px solid var(--border); background:var(--navy2); padding:14px 10px; min-width:70px; text-align:center; border-radius:2px; }
.countdown .num { font-family:'Lora',serif; font-size:30px; font-weight:700; color:var(--gold2); line-height:1; }
.countdown .lbl { font-size:10px; letter-spacing:1.5px; color:var(--muted); margin-top:6px; text-transform:uppercase; }
.countdown-msg { margin-top:22px; border:1px solid var(--gold); background:rgba(212,168,67,0.08); padding:14px 22px; color:var(--gold2); font-weight:600; font-size:15px; display:inline-block; }

/* ---------- HERO ---------- */
.hero {
  min-height:100vh; display:flex; align-items:center; padding:120px 0 70px;
  background: radial-gradient(circle at 75% 20%, rgba(212,168,67,0.13) 0%, rgba(10,15,44,0) 55%), var(--navy);
}
.hero-grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:52px; align-items:center; max-width:1180px; margin:0 auto; padding:0 32px; position:relative; z-index:1; width:100%; }
.badge { display:inline-block; border:1px solid var(--gold); color:var(--gold2); font-size:12px; font-weight:600; letter-spacing:1px; padding:8px 16px; border-radius:20px; margin-bottom:22px; }
.hero h1 { font-size:46px; line-height:1.15; color:var(--white); margin-bottom:20px; }
.hero-sub { font-size:16.5px; color:var(--soft); opacity:.85; max-width:540px; margin-bottom:26px; }
.hero-actions { margin-top:28px; }

.vsl { position:relative; aspect-ratio:16/9; border:1.5px solid var(--gold); background:var(--navy2); box-shadow:0 30px 80px rgba(0,0,0,.45); }
.vsl::before { content:''; position:absolute; top:14px; left:14px; right:-14px; bottom:-14px; border:1px solid var(--border); z-index:-1; }
.vsl video { width:100%; height:100%; display:block; object-fit:cover; background:#000; }
.vsl-cover {
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; cursor:pointer; border:0; width:100%;
  background:radial-gradient(circle at 50% 40%, rgba(212,168,67,0.18), rgba(10,15,44,0) 60%), linear-gradient(160deg, #111840, #0A0F2C);
  color:var(--white); font-family:'Inter',sans-serif;
}
.vsl-play { width:78px; height:78px; border-radius:50%; border:2px solid var(--gold); display:flex; align-items:center; justify-content:center; background:rgba(212,168,67,0.12); transition:transform .2s, background .2s; }
.vsl-cover:hover .vsl-play { transform:scale(1.07); background:rgba(212,168,67,0.25); }
.vsl-play svg { margin-left:5px; }
.vsl-label { font-family:'Lora',serif; font-size:19px; font-weight:600; }
.vsl-sub { font-size:12.5px; color:var(--muted); letter-spacing:.5px; margin-top:-8px; }
.vsl-caption { font-size:12.5px; color:var(--muted); margin-top:22px; text-align:center; }

/* ---------- MIRROR / CARDS ---------- */
.mirror-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 40px; margin-top:44px; }
.quote-card { border-left:2px solid var(--gold); padding:6px 0 6px 20px; font-size:15.5px; font-style:italic; color:var(--white); opacity:0.94; }
.cause-box { margin-top:44px; border:1px solid var(--border-strong); background:rgba(212,168,67,0.06); padding:30px 34px; }
.cause-box p { font-size:16.5px; color:var(--white); font-family:'Lora',serif; line-height:1.6; }
.cause-box p em { color:var(--gold2); }

.covers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:48px; }
.cover-card { border:1px solid var(--border); background:var(--navy2); padding:34px 28px; }
.alt .cover-card { background:var(--navy); }
.cover-num { font-family:'Lora',serif; font-size:30px; font-weight:700; color:var(--gold); margin-bottom:14px; display:block; line-height:1; }
.cover-card h3 { font-size:19px; color:var(--white); margin-bottom:12px; }
.cover-card p { font-size:14px; color:var(--muted); }

.walk-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 36px; margin-top:44px; }
.walk-item { display:flex; gap:14px; align-items:flex-start; font-size:14.5px; }
.walk-num { font-family:'Lora',serif; font-weight:700; color:var(--gold); font-size:15px; flex-shrink:0; }
.walk-item b { color:var(--white); font-weight:600; }
.walk-item .txt { color:var(--muted); }

.bonus-box { border:1px solid var(--gold); background:rgba(212,168,67,0.06); padding:36px 40px; margin-top:44px; display:flex; gap:26px; align-items:center; }
.bonus-icon { font-size:32px; }
.bonus-box h3 { font-size:21px; margin-bottom:8px; }
.bonus-box p { font-size:14px; color:var(--muted); }
.bonus-flag { margin-top:22px; text-align:center; font-size:13px; color:var(--gold2); font-weight:600; }

/* ---------- ABOUT ---------- */
.about-grid { display:grid; grid-template-columns:320px 1fr; gap:48px; align-items:stretch; margin-top:44px; }
.about-photo { width:100%; height:100%; min-height:380px; object-fit:cover; object-position:top center; border:1px solid var(--gold); display:block; }
.about-cred-list { list-style:none; margin:14px 0 18px; padding:0; }
.about-cred-list li { font-size:14.5px; color:var(--white); opacity:0.92; padding:7px 0; border-bottom:1px solid rgba(212,168,67,0.12); }
.about-line { font-size:15px; color:var(--gold2); font-style:italic; border-left:2px solid var(--gold); padding-left:16px; margin-top:16px; }

/* ---------- TESTIMONIALS / GALLERY ---------- */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
.testi-video { aspect-ratio:9/16; border:1px solid var(--border); background:var(--navy); width:100%; display:block; object-fit:cover; }
.testi-label { text-align:center; margin-top:10px; font-size:12.5px; color:var(--gold2); }
.testi-label .sub { display:block; color:var(--muted); font-size:11px; margin-top:2px; }
.written-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:36px; }
.written-card { border:1px solid var(--border); background:var(--navy); padding:28px 30px; }
.alt .written-card { background:var(--navy); }
.written-card p { font-family:'Lora',serif; font-style:italic; font-size:16.5px; line-height:1.6; color:var(--white); }
.written-card .who { margin-top:14px; font-size:12.5px; color:var(--gold2); font-weight:600; font-style:normal; letter-spacing:.3px; }

.photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px; }
.photo-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border:1px solid var(--border); display:block; }
.cred-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
.cred-grid img { width:100%; aspect-ratio:1/1; object-fit:cover; border:1px solid var(--border); display:block; }

/* ---------- FOR / NOT FOR + FAQ ---------- */
.fy-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:44px; }
.fy-head { font-size:12px; letter-spacing:2px; text-transform:uppercase; font-weight:600; margin-bottom:18px; }
.fy-head.yes { color:var(--green-text); } .fy-head.no { color:var(--red-text); }
.fy-item { display:flex; gap:12px; align-items:flex-start; font-size:14.5px; margin-bottom:16px; }
.dot-green { color:var(--green-text); } .dot-red { color:var(--red-text); }

.faq-item { border-bottom:1px solid var(--border); padding:22px 0; }
.faq-item h3 { font-size:16px; color:var(--white); margin-bottom:8px; }
.faq-item p { font-size:14px; color:var(--muted); }

.final-bg { text-align:center; background:radial-gradient(circle at 50% 0%, rgba(212,168,67,0.14) 0%, rgba(10,15,44,0) 55%), var(--navy2); }
.final-bg .countdown { justify-content:center; }
.final-bg .session-strip { margin:22px auto 0; }

footer.site { padding:40px 0 90px; text-align:center; border-top:1px solid var(--border); position:relative; z-index:1; }
.footer-brand { font-family:'Lora',serif; font-weight:700; color:var(--gold); letter-spacing:2px; margin-bottom:6px; }
.footer-links { margin:10px 0; font-size:13px; }
.footer-links a { color:var(--soft); text-decoration:none; margin:0 12px; }
.footer-links a:hover { color:var(--gold2); }
.footer-copy { font-size:12px; color:var(--muted); }

.sticky-bar {
  position:fixed; bottom:0; left:5px; right:0; z-index:60; background:var(--navy); border-top:1px solid var(--gold);
  padding:12px 32px; display:flex; align-items:center; justify-content:space-between; transform:translateY(100%); transition:transform .3s ease; gap:12px;
}
.sticky-bar.visible { transform:translateY(0); }
.sticky-text { font-size:13px; }
.sticky-text strong { color:var(--gold2); }

/* ============================================================
   MEMBERSHIPS
   ============================================================ */
.page-hero { padding:150px 0 70px; text-align:center; background:radial-gradient(circle at 50% 0%, rgba(212,168,67,0.14) 0%, rgba(10,15,44,0) 60%), var(--navy); }
.page-hero h1 { font-size:46px; line-height:1.15; margin:18px auto 18px; max-width:760px; }
.page-hero .lead { margin-left:auto; margin-right:auto; }

.tier-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:stretch; margin-top:48px; }
.tier-card { position:relative; border:1px solid var(--border); background:var(--navy2); padding:38px 30px 32px; display:flex; flex-direction:column; border-top:4px solid var(--tier, var(--gold)); }
.tier-card.silver { --tier:var(--silver); }
.tier-card.gold { --tier:var(--gold); border-color:var(--border-strong); background:linear-gradient(180deg, rgba(212,168,67,0.09), var(--navy2) 38%); transform:translateY(-14px); box-shadow:0 24px 60px rgba(0,0,0,.4); }
.tier-card.diamond { --tier:var(--diamond); }
.tier-flag { position:absolute; top:-15px; left:50%; transform:translateX(-50%); background:var(--gold); color:var(--navy); font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; padding:5px 14px; white-space:nowrap; }
.tier-name { font-size:12px; font-weight:700; letter-spacing:2.2px; text-transform:uppercase; color:var(--tier); }
.tier-title { font-size:24px; line-height:1.25; margin:10px 0 6px; }
.tier-line { font-size:14px; color:var(--soft); opacity:.85; margin-bottom:20px; min-height:48px; }
.tier-price { font-family:'Lora',serif; font-size:30px; font-weight:700; color:var(--white); line-height:1.1; }
.tier-price small { display:block; font-family:'Inter',sans-serif; font-size:12px; font-weight:400; color:var(--muted); margin-top:4px; }
.tier-list { list-style:none; margin:24px 0 28px; padding:0; flex:1; }
.tier-list li { font-size:14px; padding:8px 0 8px 26px; position:relative; color:var(--soft); border-bottom:1px solid rgba(212,168,67,0.1); }
.tier-list li::before { content:'✓'; position:absolute; left:0; top:8px; color:var(--tier); font-weight:700; }
.tier-list li.dim { color:var(--muted); }
.tier-list li.dim::before { content:'–'; color:var(--muted); }
.tier-for { font-size:13px; color:var(--muted); margin-bottom:18px; }
.tier-for b { color:var(--white); font-weight:600; }
.tier-btn { display:block; text-align:center; padding:15px 20px; font-weight:700; font-size:14.5px; text-decoration:none; border-radius:2px; border:1px solid var(--tier); color:var(--tier); transition:background .2s, color .2s; }
.tier-btn:hover { background:var(--tier); color:var(--navy); }
.tier-card.gold .tier-btn { background:var(--gold); color:var(--navy); }
.tier-card.gold .tier-btn:hover { background:var(--gold2); border-color:var(--gold2); }

.detail { display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start; }
.detail h2 { font-size:32px; line-height:1.2; margin:10px 0 14px; }
.detail .tier-name { display:block; }
.detail p.copy { font-size:15.5px; color:var(--soft); opacity:.88; margin-bottom:14px; }
.steps { list-style:none; counter-reset:s; }
.steps li { counter-increment:s; display:flex; gap:18px; padding:16px 0; border-bottom:1px solid var(--border); }
.steps li::before { content:counter(s, decimal-leading-zero); font-family:'Lora',serif; font-weight:700; color:var(--tier, var(--gold)); font-size:16px; flex-shrink:0; width:30px; }
.steps b { display:block; font-family:'Lora',serif; font-weight:600; font-size:16.5px; color:var(--white); }
.steps span { font-size:13.5px; color:var(--muted); }
.dtier { --tier:var(--gold); } .dtier.silver { --tier:var(--silver); } .dtier.diamond { --tier:var(--diamond); }
.includes-note { margin-top:18px; font-size:13.5px; color:var(--gold2); border-left:2px solid var(--tier, var(--gold)); padding-left:14px; }

.compare-wrap { overflow-x:auto; margin-top:44px; border:1px solid var(--border); }
table.compare { width:100%; border-collapse:collapse; min-width:680px; font-size:14px; }
.compare th, .compare td { padding:16px 18px; text-align:center; border-bottom:1px solid var(--border); }
.compare th:first-child, .compare td:first-child { text-align:left; color:var(--soft); font-weight:400; position:sticky; left:0; background:var(--navy); z-index:2; min-width:210px; }
.compare thead th { font-family:'Lora',serif; font-size:16px; border-top:3px solid var(--tier, var(--gold)); background:var(--navy2); }
.compare thead th:first-child { background:var(--navy2); border-top:3px solid transparent; }
.compare th.silver { --tier:var(--silver); color:var(--silver); } .compare th.gold { --tier:var(--gold); color:var(--gold2); } .compare th.diamond { --tier:var(--diamond); color:var(--diamond); }
.compare .yes { color:var(--green-text); font-weight:700; } .compare .no { color:var(--muted); }
.compare tbody tr:last-child td { border-bottom:0; }

.choose-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.choose-card { border:1px solid var(--border); padding:26px 26px 24px; background:var(--navy2); border-left:3px solid var(--tier, var(--gold)); }
.choose-card .tier-name { font-size:11px; }
.choose-card p { font-size:15px; color:var(--white); margin-top:8px; font-family:'Lora',serif; line-height:1.55; }

.clarity { background:var(--cream); color:var(--ink); padding:84px 0; position:relative; z-index:1; }
.clarity .eyebrow { color:#8A6A22; }
.clarity-grid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; }
.clarity h2 { font-size:34px; line-height:1.2; margin:10px 0 14px; color:var(--navy); }
.clarity p { font-size:16px; color:#3b4256; }
.clarity-card { background:var(--navy); color:var(--white); padding:34px 32px; border-top:4px solid var(--gold); box-shadow:0 20px 50px rgba(10,15,44,.25); }
.clarity-card h3 { font-size:20px; margin-bottom:6px; }
.clarity-card ul { list-style:none; margin:16px 0 24px; }
.clarity-card li { font-size:14px; color:var(--soft); padding:7px 0 7px 24px; position:relative; }
.clarity-card li::before { content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }

/* ============================================================
   REGISTRATION + THANK YOU
   ============================================================ */
.reg-wrap { padding:130px 0 80px; min-height:100vh; background:radial-gradient(circle at 80% 10%, rgba(212,168,67,0.12) 0%, rgba(10,15,44,0) 55%), var(--navy); }
.reg-grid { display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:start; }
.reg-side h1 { font-size:36px; line-height:1.2; margin:16px 0 18px; }
.event-card { border:1px solid var(--border-strong); background:rgba(212,168,67,0.06); padding:22px 24px; margin:22px 0; }
.event-row { display:flex; gap:14px; align-items:center; font-size:14.5px; padding:6px 0; color:var(--white); }
.event-row .k { color:var(--muted); width:74px; font-size:12px; letter-spacing:1px; text-transform:uppercase; flex-shrink:0; }
.event-row b { font-weight:600; color:var(--gold2); }
.seat-pill { display:inline-block; background:var(--gold); color:var(--navy); font-weight:700; font-size:12px; letter-spacing:1px; padding:5px 12px; border-radius:20px; text-transform:uppercase; }
.reg-points { list-style:none; margin-top:12px; }
.reg-points li { font-size:14.5px; color:var(--soft); padding:7px 0 7px 26px; position:relative; }
.reg-points li::before { content:'✓'; position:absolute; left:0; color:var(--gold); font-weight:700; }

.form-card { border:1px solid var(--border-strong); background:var(--navy2); padding:40px 38px; border-top:4px solid var(--gold); box-shadow:0 30px 70px rgba(0,0,0,.4); }
.form-card h2 { font-size:24px; margin-bottom:6px; }
.form-card .sub { font-size:14px; color:var(--muted); margin-bottom:26px; }
.field { margin-bottom:20px; }
.field label, .field .legend { display:block; font-size:13px; font-weight:600; color:var(--soft); margin-bottom:8px; letter-spacing:.2px; }
.field input[type=text], .field input[type=email], .field input[type=tel], .field select {
  width:100%; background:var(--navy); border:1px solid rgba(212,168,67,0.3); color:var(--white); font-family:'Inter',sans-serif; font-size:15px; font-weight:400;
  padding:14px 16px; border-radius:2px; transition:border-color .2s, box-shadow .2s; -webkit-appearance:none; appearance:none;
}
.field select { background-image:linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%); background-position:calc(100% - 20px) 55%, calc(100% - 14px) 55%; background-size:6px 6px, 6px 6px; background-repeat:no-repeat; padding-right:40px; }
.field select option { background:var(--navy); color:var(--white); }
.field input:focus, .field select:focus { border-color:var(--gold2); box-shadow:0 0 0 3px rgba(212,168,67,0.18); outline:none; }
.field.invalid input, .field.invalid select { border-color:var(--red-text); }
.err { display:none; color:var(--red-text); font-size:12.5px; margin-top:6px; font-weight:400; }
.field.invalid .err { display:block; }
.phone-row { display:grid; grid-template-columns:140px 1fr; gap:10px; }
.chips { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.chip { position:relative; }
.chip input { position:absolute; opacity:0; inset:0; cursor:pointer; }
.chip span { display:block; border:1px solid rgba(212,168,67,0.3); background:var(--navy); padding:12px 14px; font-size:13.5px; font-weight:400; color:var(--soft); border-radius:2px; transition:all .2s; line-height:1.4; }
.chip:hover span { border-color:var(--gold); }
.chip input:checked + span { border-color:var(--gold); background:rgba(212,168,67,0.14); color:var(--white); font-weight:600; }
.chip input:focus-visible + span { outline:2px solid var(--gold2); outline-offset:2px; }
.consent { display:flex; gap:12px; align-items:flex-start; font-size:13px; color:var(--muted); line-height:1.55; margin:6px 0 4px; }
.consent input { margin-top:4px; accent-color:var(--gold); width:17px; height:17px; flex-shrink:0; }
.hp { position:absolute; left:-9999px; opacity:0; height:0; overflow:hidden; }
.form-error { display:none; border:1px solid var(--red-text); color:var(--red-text); background:rgba(192,57,43,0.1); padding:12px 16px; font-size:13.5px; margin-bottom:18px; }
.form-error.show { display:block; }
.form-foot { font-size:12px; color:var(--muted); margin-top:14px; text-align:center; }
.btn-loading { opacity:.7; pointer-events:none; }

.ty-wrap { padding:130px 0 80px; min-height:100vh; text-align:center; background:radial-gradient(circle at 50% 0%, rgba(30,132,73,0.16) 0%, rgba(10,15,44,0) 55%), var(--navy); }
.ty-check { width:84px; height:84px; border-radius:50%; background:rgba(30,132,73,0.16); border:2px solid var(--green); display:flex; align-items:center; justify-content:center; margin:0 auto 26px; }
.ty-wrap h1 { font-size:42px; line-height:1.2; margin-bottom:14px; }
.ty-card { max-width:620px; margin:34px auto 0; text-align:left; border:1px solid var(--border-strong); background:var(--navy2); padding:30px 34px; border-top:4px solid var(--green); }
.ty-card h3 { font-size:15px; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:12px; font-family:'Inter',sans-serif; font-weight:600; }
.ty-steps { list-style:none; counter-reset:t; margin-top:6px; }
.ty-steps li { counter-increment:t; display:flex; gap:16px; padding:14px 0; border-bottom:1px solid var(--border); font-size:15px; color:var(--soft); }
.ty-steps li:last-child { border-bottom:0; }
.ty-steps li::before { content:counter(t); width:28px; height:28px; border:1px solid var(--gold); color:var(--gold2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex-shrink:0; }
.ty-steps b { color:var(--white); font-weight:600; }
.wa-btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; background:var(--wa); color:#06260f; font-weight:700; font-size:16px; padding:17px 34px; border-radius:2px; text-decoration:none; margin-top:30px; transition:transform .2s, filter .2s; }
.wa-btn:hover { transform:translateY(-2px); filter:brightness(1.06); }
.cal-row { margin-top:22px; font-size:13.5px; color:var(--muted); }
.cal-row a { color:var(--gold2); margin:0 10px; }

/* dev aid — unfilled placeholders are obvious until replaced */
.todo { background:rgba(255,130,114,0.16); outline:1px dashed var(--red-text); outline-offset:2px; }

/* reveal on scroll */
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity:1; transform:none; transition:none; } html { scroll-behavior:auto; } .cta-btn:hover { transform:none; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .hero-grid, .detail, .clarity-grid, .reg-grid { grid-template-columns:1fr; gap:40px; }
  .hero { padding-top:110px; min-height:auto; }
  .hero h1, .page-hero h1 { font-size:36px; }
  .tier-grid { grid-template-columns:1fr; gap:34px; }
  .tier-card.gold { transform:none; }
  .choose-grid { grid-template-columns:1fr; }
  .tier-line { min-height:0; }
  .vsl::before { display:none; }
}
@media (max-width: 860px) {
  .mirror-grid, .covers-grid, .walk-grid, .about-grid, .testi-grid, .fy-grid, .written-grid { grid-template-columns:1fr; }
  .photo-grid, .cred-grid { grid-template-columns:repeat(2,1fr); }
  .about-photo { min-height:0; aspect-ratio:4/5; height:auto; }
  .section { padding:72px 0; }
  .h2, .detail h2, .clarity h2 { font-size:28px; }
  .bonus-box { flex-direction:column; align-items:flex-start; padding:28px 24px; }
  .testi-grid { max-width:340px; margin-left:auto; margin-right:auto; }
}
@media (max-width: 640px) {
  nav.top { padding:12px 16px; }
  .nav-right { gap:8px; }
  .nav-tab { padding:8px 12px; font-size:12.5px; }
  .nav-cta { padding:9px 14px; font-size:12.5px; }
  .logo-text { display:none; }
  .inner, .hero-grid { padding:0 20px; }
  .hero h1, .page-hero h1 { font-size:31px; }
  .reg-side h1 { font-size:30px; }
  .ty-wrap h1 { font-size:32px; }
  .countdown { gap:8px; }
  .countdown .unit { min-width:0; flex:1; padding:10px 4px; }
  .countdown .num { font-size:24px; }
  .session-strip { font-size:13px; gap:4px 16px; padding:10px 14px; white-space:normal; }
  .form-card { padding:28px 20px; }
  .phone-row { grid-template-columns:120px 1fr; }
  .chips { grid-template-columns:1fr; }
  .sticky-bar { padding:10px 16px; }
  .sticky-text { font-size:12px; }
  .event-row .k { width:62px; }
  .ty-card { padding:24px 20px; }
}

/* ---------- HERO v2: VSL as the main event ---------- */
.hero { min-height:auto; padding:118px 0 70px; }
.hero-wrap { max-width:1040px; margin:0 auto; padding:0 32px; text-align:center; position:relative; z-index:1; width:100%; }
.hero-wrap h1 { font-size:50px; max-width:820px; margin:0 auto 18px; }
.hero-wrap .hero-sub { margin:0 auto 30px; max-width:640px; }
.watch-first { font-size:12.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold2); margin-bottom:16px; }
.vsl-big { width:100%; max-width:980px; margin:0 auto 38px; box-shadow:0 40px 110px rgba(0,0,0,.6), 0 0 0 1px rgba(212,168,67,.25); }
.vsl-big video { object-fit:contain; }
.vsl-cover { background-size:cover; background-position:center; }
.vsl-big .vsl-play { width:104px; height:104px; background:rgba(10,15,44,.55); box-shadow:0 0 0 10px rgba(212,168,67,.15); }
.vsl-big .vsl-sub { color:var(--white); font-weight:700; letter-spacing:2px; margin-top:0; text-shadow:0 1px 8px rgba(0,0,0,.7); }
.hero-wrap .session-strip { margin:0 auto; }
.hero-wrap .countdown { justify-content:center; margin:24px auto 0; }
.hero-wrap .hero-actions { margin-top:30px; }
@media (max-width:960px) { .hero-wrap h1 { font-size:36px; } }
@media (max-width:640px) {
  .hero-wrap { padding:0 16px; } .hero-wrap h1 { font-size:30px; }
  .vsl-big .vsl-play { width:76px; height:76px; } .vsl-big { margin-bottom:28px; }
}

/* ---------- LIGHT (cream) sections: used sparingly to break up the navy ---------- */
.light { background:var(--cream); color:var(--ink); }
.light .h2, .light h2, .light h3 { color:var(--navy); }
.light em { color:#8A6A22; }
.light .eyebrow { color:#8A6A22; }
.light p, .light .lead { color:#3b4256; }
.light .about-photo { border-color:#C9A24A; }
.light .about-cred-list li { color:var(--ink); opacity:1; border-bottom-color:rgba(10,15,44,.12); }
.light .about-line { color:#6b5116; border-left-color:#C9A24A; }
.light .faq-item { border-bottom-color:rgba(10,15,44,.14); }
.light .faq-item h3 { color:var(--navy); }
.light .faq-item p { color:#3b4256; }
.light .compare-wrap { border-color:rgba(10,15,44,.18); background:#fff; }
.light .compare th, .light .compare td { border-bottom-color:rgba(10,15,44,.1); color:var(--ink); }
.light .compare th:first-child, .light .compare td:first-child { background:#fff; color:var(--ink); }
.light .compare thead th, .light .compare thead th:first-child { background:#fff; }
.light .compare th.silver { color:#6b7280; } .light .compare th.gold { color:#8A6A22; } .light .compare th.diamond { color:#2a7ba3; }
.light .compare .yes { color:var(--green); } .light .compare .no { color:#9aa1b4; }
.light .compare thead th.silver { --tier:#9aa1b4; } .light .compare thead th.diamond { --tier:#5db8e6; }

/* ---------- membership cards v2 ---------- */
.tier-q { font-family:'Lora',serif; font-style:italic; font-size:15.5px; line-height:1.5; color:var(--gold2); margin:6px 0 4px; }
.tier-card .tier-list { margin:18px 0 20px; flex:none; }
.tier-isyou { font-size:13.5px; color:var(--soft); margin-bottom:16px; line-height:1.55; }
.tier-isyou b { color:var(--white); }
.tier-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:22px; }
.tier-tags span { font-size:11px; font-weight:600; letter-spacing:.4px; color:var(--tier); border:1px solid var(--tier); padding:4px 10px; border-radius:20px; opacity:.9; }
.tier-card .tier-price { margin-top:auto; }
.tier-card .tier-btn { margin-top:18px; }
.tier-bridge { margin-top:22px; padding-top:18px; border-top:1px dashed rgba(212,168,67,.28); font-size:13px; color:var(--muted); line-height:1.55; }
.tier-bridge b { display:block; color:var(--soft); font-family:'Lora',serif; font-size:14px; margin-bottom:4px; }

/* ---------- fixes: placeholder buttons stay readable, final CTA centred ---------- */
a.cta-btn.todo, a.wa-btn.todo { background:#7a2a22; color:#fff; outline:1px dashed var(--red-text); }
.final-bg .inner, .final-bg h2, .final-bg .lead, .final-bg .cta-note { text-align:center; }
.final-bg .lead { margin-left:auto; margin-right:auto; }
.tier-card .tier-price { min-height:66px; }
.tier-bridge { min-height:112px; }
.tier-card .tier-tags { min-height:68px; align-content:flex-start; }
@media (max-width:960px) { .tier-bridge, .tier-card .tier-tags, .tier-card .tier-price { min-height:0; } }
.light .about-grid p[style] { color:#8A6A22 !important; font-weight:600; }
.light .compare td { color:#4a5164; } .light .compare td:first-child { color:var(--ink); }
