@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Source+Serif+4:opsz,wght@8..60,600;8..60,700&display=swap");
@import "tailwindcss";

:root { --navy:#163f67; --navy-dark:#103453; --ink:#18344c; --warm:#fffdfa; --orange:#f39b52; --gold:#f5cf61; --coral:#f45843; --line:#d8e0e6; --soft-blue:#edf5f8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--warm); color:var(--ink); font-family:Manrope, Arial, sans-serif; }
button, input { font:inherit; }
button { cursor:pointer; }
a { color:inherit; }
.site-header { height:120px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:18px clamp(28px,4vw,70px); border-bottom:1px solid rgba(21,62,99,.1); background:rgba(255,253,248,.95); position:sticky; top:0; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; min-width:max-content; }
.brand img { width:64px; height:58px; object-fit:cover; }
.brand span { display:flex; flex-direction:column; line-height:1; }
.brand strong { color:var(--navy); font-size:18px; font-weight:800; letter-spacing:-.045em; text-transform:uppercase; }
.brand em { color:var(--navy); font-size:11px; font-weight:600; margin-top:6px; }
nav { display:flex; gap:38px; margin-left:auto; }
nav a { font-size:15px; font-weight:800; text-decoration:none; }
nav a:hover, .text-link:hover { color:var(--orange); }
.header-button { border:2px solid var(--navy); border-radius:8px; padding:13px 23px; color:var(--navy); background:transparent; font-weight:800; }
.header-button:hover { background:var(--navy); color:white; }
.hero { min-height:calc(100vh - 120px); display:grid; grid-template-columns:minmax(0,49%) minmax(0,51%); overflow:hidden; background:var(--navy); }
.hero-copy { padding:clamp(70px,10vw,140px) clamp(30px,4vw,82px) 80px; display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.eyebrow { color:var(--navy); font-weight:800; font-size:15px; letter-spacing:.1em; line-height:1.4; margin:0 0 24px; text-transform:uppercase; }
.eyebrow span { color:var(--orange); }
h1,h2,h3,p { margin-top:0; }
h1 { color:white; font-size:clamp(48px,5.2vw,80px); font-weight:800; letter-spacing:-.068em; line-height:.99; margin-bottom:31px; }
.hero .eyebrow { color:var(--gold); }.hero .eyebrow span { color:var(--orange); }
.hero-lead { color:#f6f9fb; font-size:clamp(21px,2vw,29px); font-weight:500; line-height:1.3; max-width:550px; margin-bottom:27px; }
.reassurance { color:#e1ecf2; display:flex; align-items:center; flex-wrap:wrap; gap:11px; font-size:14px; font-weight:800; margin-bottom:35px; }
.reassurance i, .date-picker i { color:var(--orange); font-style:normal; }
.hero-actions { display:flex; align-items:center; gap:34px; flex-wrap:wrap; }
.button { border:0; border-radius:13px; font-size:18px; font-weight:800; padding:20px 27px; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 12px 26px rgba(21,62,99,.18); }
.primary { background:var(--gold); color:var(--navy); box-shadow:0 8px 15px rgba(6,31,51,.25); }
.primary span { margin-left:8px; }
.text-link { font-size:16px; font-weight:800; text-underline-offset:6px; }.hero .text-link { color:white; }
.date-picker { width:min(100%,430px); margin-top:28px; display:flex; align-items:center; gap:16px; padding:21px 27px; border:0; border-radius:14px; background:var(--warm); box-shadow:0 8px 24px rgba(21,62,99,.12); text-align:left; color:var(--ink); }
.date-picker:hover { box-shadow:0 10px 28px rgba(21,62,99,.2); }
.calendar { color:var(--navy); font-size:29px; line-height:.5; }
.date-picker span:nth-child(2) { font-size:15px; flex:1; }
.date-picker b { color:var(--navy); font-size:24px; }
.hero-visual { background:var(--navy-dark); min-height:680px; position:relative; overflow:hidden; border-left:8px solid var(--gold); border-top-left-radius:220px; }
.hero-image-wrap { position:absolute; inset:28px 0 20px 18px; overflow:hidden; border-top-left-radius:250px; border-bottom-left-radius:92px; }
.hero-image-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; }
.roof-lines { position:absolute; left:-30px; bottom:-90px; width:150px; display:flex; gap:7px; transform:skew(-16deg); }
.roof-lines span { width:13px; height:390px; display:block; background:linear-gradient(var(--orange), var(--gold)); }
.roof-lines span:nth-child(2) { background:linear-gradient(var(--orange),var(--gold)); }.roof-lines span:nth-child(3) { background:linear-gradient(var(--gold),#ffe78b); }
.understood { display:grid; grid-template-columns:.95fr 1.05fr; gap:80px; padding:120px clamp(30px,9vw,160px); background:white; }
.section-intro h2,.section-heading h2,.dates-copy h2,.expect-section h2,.faq-section h2,.final-cta h2,.registration-modal h2 { color:var(--navy); font-family:"Proxima Nova", Manrope, Helvetica, Arial, sans-serif; font-size:clamp(36px,4vw,58px); font-weight:800; letter-spacing:-.055em; line-height:1.08; margin-bottom:0; }
.symptom-copy { max-width:630px; }.symptom-copy > p { font-size:19px; line-height:1.65; margin:0; }.symptom-copy strong { color:var(--navy); }.symptom-list { display:grid; gap:12px; margin:28px 0; }.symptom-list article { border-left:4px solid var(--gold); background:var(--soft-blue); display:grid; gap:4px; padding:16px 18px; }.symptom-list strong { font-size:15px; }.symptom-list span { color:#526472; font-size:15px; line-height:1.5; }.symptom-close { color:#3e5363; font-weight:600; }
.learn-section { position:relative; overflow:hidden; padding:115px clamp(30px,8vw,140px); background:var(--navy); }.learn-section::before { content:""; position:absolute; width:430px; height:430px; right:-220px; top:-270px; border:34px solid rgba(245,207,97,.16); border-radius:50%; }.learn-section .section-heading,.learn-section .learning-grid { position:relative; z-index:1; }.learn-section .eyebrow { color:var(--gold); }.learn-section h2 { color:white; }.learn-section .section-heading > p:last-child { color:#dceaf2; }
.section-heading { max-width:770px; }.section-heading > p:last-child,.dates-copy > p { font-size:18px; line-height:1.6; margin:24px 0 0; }
.learning-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:58px; }
.learning-grid article { min-height:270px; position:relative; overflow:hidden; padding:31px; background:white; border:0; border-radius:16px; box-shadow:0 16px 34px rgba(7,35,59,.18); }.learning-grid article::before { content:""; position:absolute; inset:0 0 auto; height:9px; background:var(--navy); }.learning-grid article:nth-child(2)::before { background:var(--gold); }.learning-grid article:nth-child(3)::before { background:var(--orange); }.learning-grid article:nth-child(4)::before { background:#527da2; }.learning-grid article span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--navy); color:white; font-size:15px; font-weight:800; }.learning-grid article:nth-child(2) span { background:var(--gold); color:var(--navy); }.learning-grid article:nth-child(3) span { background:var(--orange); color:white; }.learning-grid article:nth-child(4) span { background:#527da2; color:white; }.learning-grid h3 { color:var(--navy); font-family:"Proxima Nova", Manrope, Helvetica, Arial, sans-serif; font-size:21px; font-weight:800; margin:34px 0 12px; }.learning-grid p { color:#4c6175; font-size:15px; line-height:1.6; margin:0; }
.dates-section { display:grid; grid-template-columns:.82fr 1.18fr; align-items:start; gap:65px; padding:115px clamp(30px,8vw,140px); background:var(--navy); color:white; }.dates-section h2 { color:white; }.dates-section .eyebrow { color:#ffd367; }.dates-copy > p { color:#dfebf3; }
.date-list { display:grid; gap:15px; }.date-card { padding:29px 30px; border:1px solid rgba(255,255,255,.32); border-radius:15px; background:rgba(255,255,255,.05); }.date-card.selected { border-color:var(--gold); background:rgba(255,255,255,.1); }.date-card p { color:#ffcf66; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.date-card h3 { font-size:23px; margin-bottom:8px; }.date-card span { color:#d7e6f0; font-size:14px; }.date-card button { display:block; padding:0; margin-top:20px; border:0; background:none; color:white; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }.date-card button b { color:#ffcf66; margin-left:7px; text-decoration:none; }.date-card button:hover { color:#ffcf66; }
.expect-section { display:grid; grid-template-columns:1fr 1fr; gap:75px; padding:115px clamp(30px,9vw,160px); background:white; }.expect-section ul { list-style:none; padding:0; margin:0; }.expect-section li { padding:25px 0 25px 35px; border-bottom:1px solid var(--line); font-size:18px; line-height:1.5; position:relative; }.expect-section li::before { content:"✓"; color:var(--orange); font-weight:800; left:0; position:absolute; }
.faq-section { padding:115px max(30px,18vw); border-top:1px solid var(--line); background:white; }.faq-list { margin-top:42px; }.faq-list article { border-top:1px solid var(--line); padding:26px 0; }.faq-list article:last-child { border-bottom:1px solid var(--line); }.faq-list h3 { color:var(--navy); font-size:19px; margin:0 0 11px; }.faq-list p { max-width:760px; color:#536a80; font-size:16px; line-height:1.65; margin:0; }
.final-cta { padding:120px max(30px,20vw); background:linear-gradient(135deg,#123c61,#1c547d); color:white; text-align:center; }.final-cta .eyebrow { color:#ffd367; }.final-cta h2 { color:white; margin-bottom:34px; }.final-cta .primary { min-width:285px; }
footer { background:#102f4b; color:#dbe7ef; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:36px clamp(30px,7vw,120px); }footer p { font-size:12px; margin:0; }.footer-brand strong,.footer-brand em { color:white; }.footer-brand img { width:44px; height:40px; }
.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; overflow:auto; padding:28px; background:rgba(12,37,59,.72); }.registration-modal { width:min(100%,640px); position:relative; padding:42px; border-radius:20px; background:var(--warm); box-shadow:0 30px 100px rgba(0,0,0,.28); }.registration-modal h2 { font-size:42px; }.close-button { border:0; background:none; color:var(--navy); font-size:36px; line-height:1; position:absolute; top:18px; right:20px; }.selected-date-note { padding:15px 18px; margin:25px 0; border-left:4px solid var(--orange); background:var(--soft-blue); color:#3b556c; font-size:14px; line-height:1.5; }.registration-modal form { display:grid; gap:16px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.registration-modal label { display:grid; gap:7px; color:var(--navy); font-size:13px; font-weight:800; }.registration-modal input:not([type="checkbox"]) { width:100%; min-height:51px; border:1px solid #c7bba9; border-radius:7px; padding:10px 12px; background:#fff; }.registration-modal input:focus { outline:3px solid rgba(242,142,75,.35); border-color:var(--orange); }.check-label { grid-template-columns:18px 1fr; align-items:start; color:#486077 !important; font-size:12px !important; font-weight:500 !important; line-height:1.45; }.check-label input { margin:3px 0 0; accent-color:var(--orange); }.full-width { margin-top:8px; width:100%; }.button:disabled { opacity:.7; cursor:wait; transform:none; }.form-message { margin:0; color:var(--navy); font-weight:700; text-align:center; }
@media (max-width: 960px) { nav { display:none; }.hero { grid-template-columns:1fr; }.hero-copy { padding:80px clamp(28px,7vw,70px) 55px; }.hero-visual { min-height:480px; border-radius:130px 0 0; }.hero-image-wrap { inset:18px 0 0 12px; border-top-left-radius:150px; border-bottom-left-radius:65px; }.understood,.expect-section,.dates-section { grid-template-columns:1fr; gap:42px; }.learning-grid { grid-template-columns:repeat(2,1fr); }.faq-section { padding:90px clamp(30px,12vw,120px); } }
@media (max-width: 620px) { .site-header { height:82px; padding:10px 18px; }.brand img { width:42px; height:39px; }.brand strong { font-size:13px; }.brand em { display:none; }.header-button { padding:10px 12px; font-size:12px; }.hero { min-height:auto; }.hero-copy { padding:62px 24px 46px; }.eyebrow { font-size:11px; }.hero-lead { font-size:21px; }.reassurance { font-size:12px; }.hero-actions { gap:20px; }.button { width:100%; padding:17px 20px; font-size:16px; }.text-link { padding:3px 0; }.date-picker { padding:18px; }.hero-visual { min-height:330px; border-top-left-radius:100px; }.hero-image-wrap { border-top-left-radius:120px; border-bottom-left-radius:55px; }.roof-lines { bottom:-200px; }.learning-grid { grid-template-columns:1fr; }.learn-section,.dates-section,.expect-section,.understood { padding:72px 24px; }.learning-grid article { min-height:auto; }.learning-grid h3 { margin-top:26px; }.faq-section,.final-cta { padding:72px 24px; }.final-cta h2 { font-size:38px; }footer { align-items:flex-start; flex-direction:column; padding:30px 24px; }.registration-modal { padding:34px 23px 28px; }.registration-modal h2 { font-size:35px; padding-right:18px; }.form-row { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: no-preference) { .hero-copy > * { animation:rise .5s both; }.hero-copy > *:nth-child(2){animation-delay:.06s}.hero-copy > *:nth-child(3){animation-delay:.12s}.hero-visual{animation:appear .7s both;}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes appear{from{opacity:0}to{opacity:1}} }

/* Mia's feedback: one clear action above the fold, and yellow rather than orange for positive action. */
.site-header { height:98px; justify-content:flex-start; padding:15px clamp(28px,4vw,70px); }
.hero { min-height:calc(100vh - 98px); }
.button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.primary { background:var(--gold); color:var(--navy); box-shadow:0 8px 15px rgba(6,31,51,.25); }
.primary:hover { background:#ffe07a; }
.hero-note { color:#dbe9f1; font-size:14px; margin:18px 0 0; }
.hero-value { color:#e6f0f4; font-size:17px; font-weight:600; line-height:1.5; max-width:530px; margin:0 0 26px; }
.gift-highlight { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:7px; width:max-content; max-width:100%; margin:0 0 24px; padding:10px 14px; border-left:4px solid var(--gold); background:rgba(255,255,255,.1); color:#e7f0f4; font-size:15px; line-height:1.35; }.gift-highlight strong { color:var(--gold); font-size:17px; }
.date-card a { display:block; padding:0; margin-top:20px; color:white; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }.date-card a b { color:#ffcf66; margin-left:7px; text-decoration:none; }.date-card a:hover { color:#ffcf66; }

.registration-page { min-height:100vh; background:#f7f2e9; color:#29282a; }.registration-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:94px; padding:15px clamp(24px,4vw,70px); border-bottom:1px solid rgba(21,62,99,.12); background:white; }.back-link { color:var(--navy); font-size:14px; font-weight:800; text-decoration:none; }.back-link:hover { color:#d49336; }.registration-shell { width:min(100%,760px); margin:0 auto; padding:56px 28px 80px; }.registration-progress { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:48px; }.registration-progress span { display:block; height:5px; border-radius:4px; background:#d5d0c8; }.registration-progress .progress-active { background:var(--navy); }.registration-card { max-width:620px; margin:0 auto; }.step-number { display:grid; place-items:center; width:34px; height:34px; margin:0 0 22px; border-radius:7px; background:var(--navy); color:white; font-size:17px; font-weight:800; }.registration-kicker { color:var(--navy); font-size:14px; font-weight:800; letter-spacing:.08em; margin:0 0 14px; text-transform:uppercase; }.registration-card h1 { color:#29282a; font-family:"Proxima Nova", Manrope, Helvetica, Arial, sans-serif; font-size:clamp(38px,5vw,56px); letter-spacing:-.055em; line-height:1.07; margin-bottom:20px; }.registration-intro { color:#4e5254; font-size:19px; line-height:1.55; margin-bottom:34px; }.seminar-options { display:grid; gap:12px; }.seminar-option { display:grid; grid-template-columns:38px 1fr; align-items:center; gap:15px; min-height:92px; padding:17px 18px; border:2px solid #ded8ce; border-radius:13px; background:#ece7de; cursor:pointer; transition:border .18s ease, background .18s ease; }.seminar-option input { position:absolute; opacity:0; pointer-events:none; }.seminar-option.selected { border-color:#29282a; background:#fffdf9; }.option-letter { display:grid; place-items:center; width:34px; height:34px; border:1px solid #a7a198; border-radius:6px; color:#29282a; font-size:15px; font-weight:800; }.seminar-option.selected .option-letter { background:#29282a; border-color:#29282a; color:white; }.seminar-option strong,.seminar-option small { display:block; }.seminar-option strong { color:#29282a; font-size:19px; line-height:1.25; }.seminar-option small { color:#636668; font-size:14px; margin-top:5px; }.registration-actions { display:grid; gap:15px; margin-top:40px; }.registration-actions > p { color:#686a6b; font-size:14px; margin:0; text-align:center; }.registration-next { display:flex; align-items:center; justify-content:center; width:100%; min-height:62px; border:0; border-radius:12px; background:var(--navy); color:white; font-size:20px; font-weight:800; text-decoration:none; }.registration-next:hover { background:#0e3152; }.selected-option { padding:18px 20px; margin:0 0 28px; border-left:5px solid var(--gold); background:white; color:#484d51; font-size:16px; line-height:1.5; }.registration-form { display:grid; gap:18px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.registration-form label { display:grid; gap:8px; color:#29282a; font-size:14px; font-weight:800; }.registration-form input:not([type="checkbox"]) { width:100%; min-height:57px; border:0; border-bottom:2px solid #99978f; padding:8px 2px; border-radius:0; background:transparent; color:#29282a; font-size:18px; }.registration-form input:focus { outline:0; border-color:var(--navy); }.check-label { grid-template-columns:20px 1fr; align-items:start; color:#51565a !important; font-size:13px !important; font-weight:500 !important; line-height:1.45; }.check-label input { margin:3px 0 0; accent-color:var(--navy); }.split-actions { grid-template-columns:68px 1fr; align-items:stretch; }.split-actions .registration-next { margin:0; }.registration-back { border:0; border-radius:12px; background:#29282a; color:white; font-size:29px; }.registration-next:disabled { cursor:wait; opacity:.7; }.form-message { margin:0; color:var(--navy); font-weight:700; }.success-card { text-align:center; }.success-card .step-number { margin-left:auto; margin-right:auto; background:var(--navy); }.success-card .registration-next { margin-top:34px; }.success-card .registration-intro { max-width:540px; margin-left:auto; margin-right:auto; }
.qualification-note { display:grid; gap:7px; margin:-8px 0 24px; padding:17px 19px; border-left:5px solid var(--gold); background:white; color:#42474a; font-size:15px; line-height:1.45; }.qualification-note strong { color:var(--navy); font-size:17px; }.qualification-reminder { color:#4e5254; font-size:14px; font-weight:800; margin:-12px 0 22px; }

@media (max-width: 620px) { .site-header { height:82px; padding:10px 18px; }.hero { min-height:auto; }.registration-header { min-height:76px; padding:10px 18px; }.registration-header .brand img { width:42px; height:39px; }.registration-header .brand strong { font-size:13px; }.registration-header .brand em { display:none; }.back-link { font-size:12px; }.registration-shell { padding:34px 24px 54px; }.registration-progress { margin-bottom:34px; }.registration-card h1 { font-size:38px; }.registration-intro { font-size:18px; }.seminar-option { grid-template-columns:34px 1fr; min-height:84px; padding:15px; }.seminar-option strong { font-size:17px; }.registration-next { min-height:59px; font-size:19px; }.form-row { grid-template-columns:1fr; }.registration-form { gap:20px; } }

.questions-transition { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); align-items:center; gap:64px; padding:84px clamp(30px,12vw,210px); background:var(--navy); color:white; }.questions-transition .eyebrow { color:var(--gold); }.questions-transition h2 { max-width:770px; color:white; font-family:"Proxima Nova", Manrope, Helvetica, Arial, sans-serif; font-size:clamp(36px,4vw,54px); font-weight:800; letter-spacing:-.055em; line-height:1.08; margin:0 0 20px; }.questions-transition > div > p:last-child { max-width:760px; color:#dceaf2; font-size:18px; line-height:1.65; margin:0; }.gift-card-callout { padding:30px; border:1px solid rgba(245,207,97,.65); border-radius:18px; background:rgba(255,255,255,.08); }.gift-card-callout p { color:#dceaf2; font-size:14px; font-weight:800; letter-spacing:.08em; margin:0 0 9px; text-transform:uppercase; }.gift-card-callout strong { display:block; color:var(--gold); font-family:"Proxima Nova", Manrope, Helvetica, Arial, sans-serif; font-size:clamp(32px,3vw,43px); letter-spacing:-.045em; margin-bottom:14px; }.gift-card-callout span { color:white; font-size:15px; line-height:1.55; }.faq-section { border-top:0; }

@media (max-width: 960px) { .questions-transition { grid-template-columns:1fr; gap:42px; } }
@media (max-width: 620px) { .questions-transition { padding:72px 24px; } }

/* Mia's feedback: mirror the hero at the reservation moment and keep key headlines intentional. */
.dates-section { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:0; padding:0; align-items:stretch; background:var(--navy); }
.dates-visual { min-height:570px; position:relative; overflow:hidden; border-right:7px solid var(--gold); border-top-right-radius:220px; border-bottom-right-radius:84px; }
.dates-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,52,83,.1),rgba(16,52,83,0)); pointer-events:none; }
.dates-visual img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center; }
.dates-content { display:flex; flex-direction:column; justify-content:center; padding:clamp(70px,8vw,120px) clamp(30px,7vw,115px); }
.dates-copy { max-width:620px; }
.dates-copy h2 span,.questions-transition h2 span,.faq-section h2 span,.final-cta h2 span { display:block; }
.dates-copy h2 span + span { margin-top:.08em; }
.date-list { width:100%; max-width:650px; margin-top:42px; }
.date-card { box-shadow:0 18px 36px rgba(4,23,39,.18); }

.questions-transition { grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr); }
.questions-transition h2 { max-width:660px; }
.questions-transition h2 span + span { margin-top:.08em; }
.gift-card-callout { display:block; padding:0; overflow:hidden; border:1px solid rgba(245,207,97,.7); border-radius:18px; background:rgba(255,255,255,.08); color:white; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.gift-card-callout:hover { transform:translateY(-4px); background:rgba(255,255,255,.13); box-shadow:0 16px 35px rgba(4,23,39,.28); }
.gift-card-callout img { display:block; width:100%; aspect-ratio:1.72 / 1; object-fit:cover; object-position:center; }
.gift-card-qualification { display:block; padding:20px 24px 10px; color:#f1f6f8; font-size:15px; line-height:1.55; }
.gift-card-action { display:block; padding:0 24px 22px; color:var(--gold); font-size:15px; font-weight:800; }
.gift-card-action b { margin-left:6px; }

.faq-section { padding-left:clamp(30px,12vw,210px); padding-right:clamp(30px,12vw,210px); }
.faq-section h2 { max-width:830px; }
.faq-section h2 span + span { margin-top:.08em; }
.final-cta { padding-left:30px; padding-right:30px; }
.final-cta h2 { max-width:1040px; margin-left:auto; margin-right:auto; }
.final-cta h2 span + span { margin-top:.08em; }

@media (max-width: 960px) { .dates-section { grid-template-columns:1fr; }.dates-visual { min-height:420px; border-right:0; border-bottom:7px solid var(--gold); border-top-right-radius:0; border-bottom-right-radius:150px; }.dates-content { padding:74px clamp(30px,10vw,110px); }.date-list { max-width:100%; }.questions-transition { grid-template-columns:1fr; }.gift-card-callout { width:min(100%,520px); }.faq-section h2 span,.final-cta h2 span { display:inline; }.faq-section h2 span + span::before,.final-cta h2 span + span::before { content:" "; } }
@media (max-width: 620px) { .dates-visual { min-height:300px; border-bottom-right-radius:72px; }.dates-content { padding:64px 24px; }.dates-copy h2 span,.questions-transition h2 span,.faq-section h2 span,.final-cta h2 span { display:inline; }.dates-copy h2 span + span::before,.questions-transition h2 span + span::before,.faq-section h2 span + span::before,.final-cta h2 span + span::before { content:" "; }.dates-copy h2 span + span,.questions-transition h2 span + span,.faq-section h2 span + span,.final-cta h2 span + span { margin-top:0; }.date-list { margin-top:32px; }.gift-card-qualification { padding:18px 20px 10px; }.gift-card-action { padding:0 20px 20px; } }

/* One shared editorial grid for every left-aligned content section. */
:root { --page-inline:clamp(30px,12vw,210px); --content-inline:var(--page-inline); }
.site-header,.hero-copy,.understood,.learn-section,.expect-section,.questions-transition,.faq-section,footer { padding-left:var(--page-inline); padding-right:var(--page-inline); }
.expect-section { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(42px,6vw,90px); }
.expect-section > div { min-width:0; }
.expect-section h2 { max-width:680px; }

@media (max-width: 960px) {
  :root { --page-inline:clamp(28px,7vw,70px); }
  .expect-section { grid-template-columns:1fr; }
  .dates-content { padding-left:var(--page-inline); padding-right:var(--page-inline); }
}

@media (max-width: 620px) {
  :root { --page-inline:24px; }
  .site-header { padding-left:var(--page-inline); padding-right:var(--page-inline); }
  .hero-copy,.understood,.learn-section,.expect-section,.questions-transition,.faq-section,footer { padding-left:var(--page-inline); padding-right:var(--page-inline); }
}

/* Preserve the shared left edge while giving the hero title enough room for its two intentional lines. */
.hero-copy { padding-right:clamp(30px,4vw,82px); }
h1 { font-size:clamp(46px,3.7vw,70px); }

@media (max-width: 620px) {
  h1 { font-size:clamp(40px,10.5vw,46px); }
}

/* Let the FAQ answers use the full aligned content column. */
.faq-list p { max-width:none; }

/* Two clear registration routes: seminar attendance or a one-on-one office appointment. */
.path-options { display:grid; gap:14px; }
.path-option { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; width:100%; gap:15px; padding:20px; border:2px solid #ded8ce; border-radius:14px; background:#fffdf9; color:#29282a; cursor:pointer; text-align:left; transition:border .18s ease, box-shadow .18s ease, transform .18s ease; }
.path-option:hover { border-color:var(--navy); box-shadow:0 12px 26px rgba(17,52,83,.1); transform:translateY(-2px); }
.path-marker { display:grid; place-items:center; width:38px; height:38px; border:1px solid #9aa0a4; border-radius:7px; background:var(--navy); color:white; font-size:16px; font-weight:800; }
.path-option:nth-child(2) .path-marker { background:var(--gold); border-color:var(--gold); color:var(--navy); }
.path-option strong,.path-option small,.path-option em { display:block; }
.path-option strong { color:#29282a; font-size:20px; line-height:1.28; }
.path-option small { color:#596268; font-size:15px; line-height:1.5; margin-top:7px; }
.path-option em { color:var(--navy); font-size:14px; font-style:normal; font-weight:800; line-height:1.45; margin-top:10px; }
.registration-path-back { display:block; width:max-content; margin:24px auto 0; border:0; background:transparent; color:var(--navy); cursor:pointer; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.registration-path-back:hover { color:#0e3152; }
.field-label { color:#29282a; font-size:14px; font-weight:800; }
.field-optional { color:#6f7375; font-size:12px; font-weight:500; margin-left:5px; }

@media (max-width: 620px) {
  .path-option { grid-template-columns:36px minmax(0,1fr); gap:13px; padding:17px; }
  .path-marker { width:34px; height:34px; }
  .path-option strong { font-size:18px; }
}
