[hidden] { display:none !important; }
:focus-visible { outline:3px solid #e2ad51; outline-offset:5px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; top:-80px; left:16px; z-index:100; padding:12px 20px; background:#fff; border:2px solid var(--navy); }
.skip-link:focus { top:12px; }
.lead-hero { padding:76px 0 82px; text-align:left; overflow:hidden; background:radial-gradient(ellipse at 85% 25%,#263368 0%,transparent 60%),linear-gradient(120deg,#151820,#1e2b63); }
.hero-layout { display:grid; grid-template-columns:1.2fr 1fr; gap:24px; align-items:center; }
.lead-hero h1 { margin:0 0 25px; font-size:clamp(2.6rem,4.4vw,3.7rem); letter-spacing:-.045em; line-height:1.08; }
.lead-hero .kicker { margin-bottom:22px; letter-spacing:.16em; font-size:.7rem; }
.lead-hero p.lead { margin:0 0 30px; font-size:1.04rem; line-height:1.75; max-width:550px; color:#d4daeb; }
.lead-hero .actions { justify-content:flex-start; gap:12px; }
.lead-hero .btn { padding:13px 21px; font-size:.83rem; }
.lead-hero .btn span { margin-left:7px; }
.hero-email { display:inline-block; color:#bac8f2; font-size:.82rem; margin-top:20px; text-underline-offset:4px; }
.hero-visual { position:relative; max-width:470px; margin-left:auto; width:100%; padding:18px 16px 20px; background:#293986; border:1px solid #44599c; border-radius:28px; transform:rotate(2deg); }
.visual-caption { display:flex; align-items:center; gap:10px; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:#c3cff2; padding:0 10px; }
.mini-star { color:#f5d39a; font-size:24px; }
.hero-visual img { margin:-14px 0 -26px; width:100%; }
.visual-note { display:flex; gap:13px; border-top:1px solid #5365a3; padding:18px 10px 0; align-items:flex-start; }
.visual-note>span { color:#c1ccec; font-size:.78rem; }
.visual-note p { margin:0; font-size:.76rem; color:#c8d3f2; line-height:1.7; }
.visual-note strong { font-size:.9rem; color:#fff; }
.offer-strip { padding:28px 0; background:#e9edf8; border-top:1px solid #dbe1f1; border-bottom:1px solid #dbe1f1; }
.strip-layout { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.strip-intro { display:flex; align-items:center; gap:17px; }
.strip-spark { color:#445eaa; font-size:42px; line-height:1; }
.strip-intro p { margin:0; font-size:.81rem; color:#5b6682; }
.strip-intro strong { color:#202c51; font-size:1rem; }
.strip-links { display:flex; gap:24px; }
.strip-links a { text-underline-offset:4px; font-weight:600; font-size:.79rem; }
.strip-links span { margin-left:9px; }
.lead-capture { background:#f1f3f9; border-top:1px solid #e2e6f0; }
.lead-capture .section-head { max-width:760px; margin-bottom:34px; }
.lead-capture .section-head h2 { font-size:clamp(1.8rem,3.3vw,2.45rem); letter-spacing:-.03em; }
.lead-capture .section-head p { font-size:.95rem; }
.offer-switch { display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:650px; margin:0 auto 24px; }
.offer-switch button { position:relative; cursor:pointer; border:1px solid #d8dfed; border-radius:14px; background:#fff; padding:15px 22px 15px 59px; text-align:left; font:inherit; color:#5b6682; }
.offer-switch button>span { position:absolute; left:20px; top:20px; color:#8292b6; font-size:.8rem; }
.offer-switch strong { display:block; color:#293554; font-size:.9rem; }
.offer-switch small { display:block; font-size:.72rem; }
.offer-switch [aria-pressed="true"] { border-color:#293986; box-shadow:inset 0 0 0 1px #293986; background:#e9edf8; }
.offer-panel { display:grid; grid-template-columns:.95fr 1.05fr; border:1px solid #dce2ed; border-radius:24px; overflow:hidden; background:#fff; box-shadow:0 12px 36px #1c2b6010; }
.offer-story { position:relative; padding:43px 40px 28px; background:#293986; color:#d3dcf4; }
.offer-label { display:block; font-size:.66rem; font-weight:600; letter-spacing:.12em; margin-bottom:19px; color:#bdcbf4; }
.offer-story h3 { color:#fff; font-size:2.3rem; letter-spacing:-.04em; }
.offer-story p { font-size:.92rem; line-height:1.8; }
.offer-story strong { color:#fff; }
.offer-story img { width:100%; max-width:360px; margin:-7px auto -18px; }
.offer-story .offer-footnote { font-size:.71rem; color:#c2cef0; margin-bottom:0; }
.email-story { background:#e9eef8; color:#4e5c79; }
.email-story h3 { color:#24345e; }
.email-story .offer-label { color:#536c9e; }
.email-story .offer-footnote { color:#5b6a87; }
.offer-form-area { padding:42px 42px 31px; scroll-margin-top:95px; }
.offer-form-area>.kicker { font-size:.65rem; margin-bottom:12px; }
.offer-form-area h3 { font-size:1.85rem; letter-spacing:-.035em; margin-bottom:21px; color:#1e2948; }
.publication-state { display:flex; align-items:flex-start; gap:10px; background:#f3f5fa; border:1px solid #e2e6ef; padding:13px; border-radius:10px; margin-bottom:19px; }
.state-dot { width:7px; height:7px; flex:none; border-radius:50%; background:#8d96ad; margin-top:7px; }
.publication-state strong { display:block; font-size:.74rem; line-height:1.5; color:#3d4862; }
.publication-state p { font-size:.68rem; line-height:1.65; color:#616e86; margin:3px 0 0; }
.availability-note { color:#697187; font-size:.72rem; margin:0 0 15px; }
.offer-form-area fieldset { border:0; padding:0; margin:0; min-width:0; }
.offer-form-area label:not(.consent) { display:block; font-size:.8rem; color:#283752; font-weight:600; margin-bottom:7px; }
.offer-form-area input:not([type="checkbox"]) { width:100%; padding:14px 15px; border:1px solid #bac5da; border-radius:9px; color:#1d2944; font:inherit; font-size:.9rem; background:#fff; }
.offer-form-area input::placeholder { color:#7d879c; }
.offer-form-area input[aria-invalid="true"] { border:2px solid #ad3543; }
.input-help { font-size:.68rem; color:#65718a; line-height:1.6; margin:7px 0 17px; }
.consent { display:flex; gap:10px; align-items:flex-start; cursor:pointer; font-size:.7rem; color:#4f5e78; line-height:1.65; margin:12px 0 20px; }
.consent input { width:18px; height:18px; accent-color:#293986; margin:2px 0 0; flex:none; }
.form-submit { width:100%; border:0; cursor:pointer; font:inherit; font-size:.82rem; border-radius:10px; }
.form-submit span { margin-left:13px; }
.reset-link { display:block; border:0; background:none; color:#516486; text-decoration:underline; text-underline-offset:3px; font:inherit; font-size:.71rem; cursor:pointer; margin:13px auto 0; padding:5px; }
.setup-note { border-top:1px solid #e5e9f1; color:#6d768b; padding-top:14px; margin:17px 0 0; font-size:.66rem; line-height:1.7; }
.sample-benefits { list-style:none; margin:0 0 24px; padding:0; }
.sample-benefits li { font-size:.8rem; color:#53647e; margin-bottom:11px; padding-left:24px; position:relative; }
.sample-benefits li::before { content:'✓'; position:absolute; left:0; color:#4b67a5; font-weight:700; }
.lead-risk { text-align:center; font-size:.67rem; line-height:1.7; color:#727b8f; max-width:760px; margin:22px auto 0; }
.no-script { padding:18px; background:#fff6df; }
@media(max-width:1000px) {
  .hero-layout { grid-template-columns:1.2fr .9fr; gap:24px; }
  .lead-hero h1 { font-size:2.9rem; }
  .strip-links { flex-direction:column; gap:7px; }
  .offer-form-area { padding:34px 28px; }
  .offer-story { padding:34px 28px; }
  .offer-story h3 { font-size:2rem; }
}
@media(max-width:720px) {
  .lead-hero { padding:55px 0 50px; }
  .hero-layout { grid-template-columns:1fr; gap:36px; }
  .lead-hero h1 { font-size:2.7rem; line-height:1.08; }
  .lead-hero .kicker { font-size:.6rem; }
  .lead-hero p.lead { font-size:.94rem; }
  .lead-hero .actions { flex-direction:column; align-items:stretch; }
  .lead-hero .btn { text-align:center; font-size:.82rem; padding:14px; }
  .hero-email { font-size:.75rem; text-align:center; display:block; }
  .hero-visual { max-width:370px; margin:0 auto; transform:rotate(1deg); }
  .hero-visual img { max-height:285px; }
  .strip-layout { flex-direction:column; align-items:flex-start; gap:19px; }
  .strip-links { padding-left:54px; gap:14px; }
  .strip-links a { font-size:.76rem; }
  .offer-switch { gap:8px; }
  .offer-switch button { padding:14px 10px; text-align:center; }
  .offer-switch button>span { display:none; }
  .offer-switch strong { font-size:.79rem; }
  .offer-switch small { font-size:.61rem; }
  .offer-panel { grid-template-columns:1fr; border-radius:19px; }
  .offer-story { padding:28px 25px 25px; }
  .offer-story h3 { font-size:2rem; }
  .offer-story p { font-size:.86rem; }
  .offer-story img { max-height:230px; margin:-7px auto -9px; }
  .offer-form-area { padding:28px 23px; }
  .offer-form-area h3 { font-size:1.7rem; }
  .lead-capture .section-head p { font-size:.85rem; }
  .lead-capture .section-head { margin-bottom:26px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn { transition:none; } }

#membership .plans { grid-template-columns:repeat(3,minmax(0,1fr)); }
#membership .plan { display:flex; flex-direction:column; padding:34px 24px; }
#membership .plan ul { flex:1; }
#membership .plan-billing { color:#596780; font-size:.76rem; line-height:1.6; margin:12px 0 0; }
#membership .plan-term-note { color:#6f6c64; background:#f5f1e8; border-radius:7px; padding:8px; font-size:.67rem; line-height:1.5; margin:10px 0 0; }
@media(max-width:900px) { #membership .plans { grid-template-columns:minmax(0,500px); } }
.checkout-disabled { font:inherit; border:0; cursor:not-allowed; font-size:.9rem; opacity:.65; }
.checkout-disabled:hover { transform:none; background:var(--navy); }
.course-offers { background:#f5f6fa; border-top:1px solid #e6e8ee; }
.course-plans { grid-template-columns:repeat(2,minmax(0,430px)); justify-content:center; }
.course-plans .card { display:flex; flex-direction:column; gap:10px; }
.course-plans .card p { font-size:.9rem; }
.course-plans .btn { margin-top:15px; }
.course-plans .bundle-pending { font-size:.75rem; color:#6f6c64; background:#f5f1e8; padding:10px; border-radius:7px; }
@media(max-width:720px) { .course-plans { grid-template-columns:1fr; } }

.lead-hero .btn-light { padding:15px 30px; font-size:.95rem; }
.lead-hero .hero-email { margin-top:18px; }
.lead-capture { padding:64px 0; }
.lead-capture>.wrap { max-width:1000px; }
.lead-capture .section-head { margin-bottom:26px; }
.lead-capture .section-head h2 { font-size:2rem; }
.lead-capture .offer-panel { grid-template-columns:.8fr 1.2fr; }
.lead-capture .offer-story { display:flex; flex-direction:column; padding:32px 30px; }
.lead-capture .offer-story h3 { font-size:1.8rem; }
.lead-capture .offer-story .offer-footnote { margin-top:auto; padding-top:32px; }
.lead-capture .offer-form-area { padding:32px; }
@media(max-width:720px) {
 .lead-capture .offer-panel { grid-template-columns:1fr; }
 .lead-capture .offer-story { padding:24px; }
 .lead-capture .offer-story h3 { font-size:1.6rem; }
 .lead-capture .offer-story .offer-footnote { padding-top:8px; }
 .lead-capture .offer-form-area { padding:26px 23px; }
}


.hero-visual .visual-offer-heading { color:#fff; font-size:1.55rem; line-height:1.2; letter-spacing:-.025em; margin:6px 10px 10px; }
@media(max-width:720px) { .hero-visual .visual-offer-heading { font-size:1.4rem; } }
#open-trial { font-family:var(--body); cursor:pointer; }
#trial-offer { width:min(560px,calc(100% - 28px)); max-height:calc(100vh - 30px); overflow:auto; border:1px solid #d7dfef; border-radius:22px; padding:38px; color:#35415a; background:#fff; box-shadow:0 30px 90px #111b4f66; }
#trial-offer::backdrop { background:#101932ba; backdrop-filter:blur(3px); }
#trial-offer h2 { font-size:1.8rem; letter-spacing:-.03em; padding-right:12px; }
#trial-offer>.kicker { font-size:.64rem; }
.trial-close { position:absolute; top:10px; right:13px; background:#f1f3f9; color:#34446a; border:0; width:34px; height:34px; border-radius:50%; font-size:24px; cursor:pointer; }
.trial-price { font-size:2.8rem; font-weight:700; color:#293986; line-height:1.2; margin:24px 0 18px; }
.trial-price span { display:block; font-size:.92rem; font-weight:500; color:#66718a; margin-top:5px; }
#trial-summary { font-size:.98rem; line-height:1.6; }
.trial-cancel-note { font-size:.75rem; line-height:1.7; color:#66718a; }
#trial-offer .checkout-disabled { width:100%; }
.trial-availability-note { font-size:.68rem; line-height:1.7; color:#69758e; text-align:center; margin:14px 0 0; }
@media(max-width:720px) { #trial-offer { padding:31px 23px 25px; } #trial-offer h2 { font-size:1.55rem; } }
#open-trial { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.6); }
#open-trial:hover { background:rgba(255,255,255,.08); }

.offer-form-area input:disabled { background:#f3f5fa; cursor:not-allowed; }
.form-submit:disabled { opacity:.65; cursor:not-allowed; transform:none; }
.form-submit:disabled:hover { background:var(--navy); }
