@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Franklin:ital,wght@0,700;0,800;1,700&display=swap');
:root{--ink:#17332e;--deep:#064a42;--teal:#08706d;--mint:#dceee8;--cream:#f5f0e6;--paper:#fffefa;--line:#cddbd5;--gold:#d99a28;--white:#fff;--shadow:0 24px 70px rgba(12,55,48,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:var(--paper)}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Libre Franklin',sans-serif;letter-spacing:-.045em;line-height:.98}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.72rem;color:var(--teal)}
.capture-shell{min-height:calc(100vh - 58px);display:grid;grid-template-columns:1.08fr .92fr;background:var(--cream)}
.brand-panel{position:relative;overflow:hidden;padding:42px clamp(36px,6vw,92px) 40px;background:linear-gradient(145deg,rgba(6,74,66,.97),rgba(8,112,109,.91)),url('/assets/clinic-welcome.webp') center/cover;color:white;display:flex;flex-direction:column}
.brand-panel:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-260px;top:-210px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.018)}
.brand-lockup{position:relative;z-index:1;width:min(310px,70%);padding:0;background:transparent}.brand-lockup img{width:100%;height:auto}.offer-copy{position:relative;z-index:1;margin:auto 0;max-width:700px;padding:70px 0}.offer-copy .eyebrow{color:#bbddd2}.offer-copy h1{font-size:clamp(3.25rem,6vw,6.6rem);margin:0 0 26px}.offer-copy h1 em{color:#f4b83e;font-style:normal}.offer-copy .lead{max-width:600px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.55;color:#e4f1ed}.offer-points{display:flex;gap:22px;list-style:none;padding:28px 0 0;margin:0;border-top:1px solid rgba(255,255,255,.22)}.offer-points li{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;font-size:.9rem}.offer-points span{color:#f4b83e;font-size:.72rem;font-weight:700}.location-note{position:relative;z-index:1;margin:0;color:#c9e1da;font-size:.8rem;line-height:1.5}
.form-panel{display:grid;place-items:center;padding:44px clamp(28px,6vw,88px);background:radial-gradient(circle at 90% 8%,#e1f0ea 0,transparent 32%),var(--paper)}.form-wrap{width:min(520px,100%)}.step-label{font-weight:700;color:var(--teal);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}.form-wrap h2{font-size:clamp(2.35rem,4vw,4rem);margin-bottom:18px}.form-wrap>p:not(.step-label){color:#56716a;line-height:1.6;margin-bottom:34px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;margin-bottom:16px}label span{display:block;font-size:.79rem;font-weight:700;margin:0 0 8px}input{width:100%;border:1px solid var(--line);background:#fff;padding:15px 16px;border-radius:3px;font:inherit;color:var(--ink);outline:none;transition:.2s}input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,112,109,.1)}button{width:100%;border:0;background:var(--deep);color:white;padding:17px 20px;font:700 1rem 'DM Sans';cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:.2s}button:hover{background:#033b35;transform:translateY(-1px)}button:disabled{opacity:.65;cursor:wait}.consent{font-size:.69rem;line-height:1.5;color:#6e817c;margin:14px 0 0}.privacy-note{margin-top:23px;padding-top:20px;border-top:1px solid var(--line);font-size:.78rem;color:#55716a}.privacy-note span{color:var(--teal);font-weight:700}.form-error{color:#a62828;font-size:.8rem;min-height:1.2em;margin:0 0 8px}.trap{position:absolute;left:-9999px}
footer{min-height:58px;padding:18px clamp(24px,5vw,70px);display:flex;gap:24px;justify-content:flex-end;align-items:center;font-size:.72rem;color:#60716d;background:#fff}footer span{margin-right:auto}
.site-header{height:92px;display:flex;justify-content:space-between;align-items:center;padding:12px clamp(24px,6vw,90px);border-bottom:1px solid var(--line);background:white}.header-logo{display:block;background:var(--deep);padding:9px 14px}.header-logo img{height:48px;width:auto}.phone-link{text-decoration:none;color:#61736f;font-size:.8rem}.phone-link strong{display:block;color:var(--deep);font-size:1rem}.education-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:660px;background:var(--cream)}.hero-copy{padding:clamp(70px,9vw,135px) clamp(30px,8vw,125px)}.hero-copy h1{font-size:clamp(3.1rem,5.8vw,6rem);margin:18px 0 28px}.hero-copy>p:not(.eyebrow){font-size:1.15rem;line-height:1.7;color:#526b65;max-width:650px}.text-cta{display:inline-flex;gap:14px;margin-top:24px;text-decoration:none;font-weight:700;color:var(--deep);border-bottom:2px solid var(--gold);padding-bottom:6px}.education-hero figure{margin:0;position:relative;min-height:520px}.education-hero figure img{width:100%;height:100%;object-fit:cover}.education-hero figcaption{position:absolute;left:28px;right:28px;bottom:28px;background:rgba(6,74,66,.94);color:white;padding:20px 24px;font-weight:600}
.visit-section,.includes-section{padding:110px clamp(24px,7vw,110px)}.section-heading{max-width:820px}.section-heading h2{font-size:clamp(2.7rem,5vw,5rem);margin:12px 0 52px}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.visit-grid article{background:var(--paper);padding:38px}.visit-grid article>span{font-size:.75rem;color:var(--teal);font-weight:700}.visit-grid h3{font-size:1.35rem;margin:32px 0 12px}.visit-grid p,.includes-grid p{color:#5b716c;line-height:1.65;margin:0}
.softwave-section{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:white}.softwave-copy{padding:clamp(64px,8vw,120px)}.softwave-copy .eyebrow{color:#a8d1c4}.softwave-copy h2{font-size:clamp(2.8rem,5vw,5.2rem);margin:16px 0 30px}.softwave-copy>p:not(.eyebrow){line-height:1.75;color:#d7e7e2;font-size:1.06rem}.softwave-section>img{width:100%;height:100%;object-fit:cover;min-height:620px}.notice{margin-top:35px;padding:22px;border-left:3px solid var(--gold);background:rgba(255,255,255,.07);color:#d7e7e2;font-size:.82rem;line-height:1.6}
.includes-section{background:var(--cream)}.includes-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #bfcec8}.includes-grid>div{padding:34px 30px 34px 0;border-bottom:1px solid #bfcec8}.includes-grid>div:nth-child(odd){border-right:1px solid #bfcec8}.includes-grid>div:nth-child(even){padding-left:34px}.includes-grid strong{display:block;font-family:'Libre Franklin';font-size:1.45rem;margin-bottom:12px}
.schedule-section{display:grid;grid-template-columns:.72fr 1.28fr;padding:110px clamp(24px,6vw,95px);gap:70px;align-items:start}.schedule-copy{position:sticky;top:30px}.schedule-copy h2{font-size:clamp(2.8rem,5vw,5rem);margin:15px 0 25px}.schedule-copy>p:not(.eyebrow){line-height:1.7;color:#5d716c}.clinic-card{margin-top:35px;padding:25px;background:var(--mint);display:grid;gap:10px;font-size:.86rem}.clinic-card span{line-height:1.6}.clinic-card a{font-weight:700;color:var(--deep)}.calendar-frame{min-height:790px;border:1px solid var(--line);box-shadow:var(--shadow);background:white}.calendar-frame iframe{border:0;width:100%;height:790px}
@media(max-width:900px){.capture-shell,.education-hero,.softwave-section,.schedule-section{grid-template-columns:1fr}.brand-panel{min-height:630px}.offer-points{flex-direction:column}.education-hero figure{min-height:430px}.visit-grid{grid-template-columns:1fr}.softwave-section>img{min-height:380px}.schedule-copy{position:static}.site-header{height:78px}.header-logo img{height:54px}}
@media(max-width:560px){.brand-panel{padding:26px 24px 32px;min-height:570px}.offer-copy{padding:55px 0}.offer-copy h1{font-size:3.15rem}.form-panel{padding:50px 22px}.field-row{grid-template-columns:1fr}.education-hero{min-height:auto}.hero-copy{padding:64px 24px}.hero-copy h1{font-size:3.2rem}.visit-section,.includes-section,.schedule-section{padding:72px 22px}.includes-grid{grid-template-columns:1fr}.includes-grid>div:nth-child(odd){border-right:0}.includes-grid>div:nth-child(even){padding-left:0}.softwave-copy{padding:72px 24px}.site-header{padding:10px 18px}.phone-link{font-size:0}.phone-link strong{font-size:.86rem}.calendar-frame,.calendar-frame iframe{min-height:720px;height:720px}footer{flex-wrap:wrap;justify-content:center}footer span{width:100%;margin:0;text-align:center}}

/* Form-first page: intentionally mirrors the approved Galbraith funnel structure. */
.capture-centered{background:#f9faf8;min-height:100vh}
.form-only-page{min-height:100vh;padding:42px 20px 72px}
.form-only-shell{width:min(540px,100%);margin:0 auto}
.form-only-heading{text-align:center;margin-bottom:34px}
.form-only-heading h1{font-size:clamp(2.55rem,5vw,3.25rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 25px;color:#132f2b}
.form-only-heading p{max-width:460px;margin:0 auto;color:#64736f;font-size:1rem;line-height:1.6}
.centered-form-card{background:#fff;padding:24px 20px 30px;border-radius:9px;box-shadow:0 3px 8px rgba(17,44,39,.16)}
.centered-form-card label:not(.contact-consent){margin-bottom:19px}
.centered-form-card label>span{font-size:.95rem;font-weight:500;color:#263b37;margin-bottom:9px}
.centered-form-card input{height:44px;border-radius:5px;border-color:#cbd2d0;padding:10px 12px}
.centered-form-card input::placeholder{color:#7e8986}
.centered-form-card .contact-consent{display:grid;grid-template-columns:20px 1fr;gap:14px;align-items:start;margin:5px 0 25px}
.centered-form-card .contact-consent input{width:18px;height:18px;margin:2px 0 0}
.centered-form-card .contact-consent span{font-size:.87rem;font-weight:400;line-height:1.35;color:#394d48;margin:0}
.voucher-button{display:block;text-align:center;border-radius:5px;background:#075f57;padding:14px;font-size:.93rem}
.voucher-button:hover{background:#044b45}
.form-links{display:flex;justify-content:center;gap:6px;margin:34px 0 0;font-size:.8rem;color:#1f2f2c}
.form-links a{text-decoration:underline}
.centered-form-card .form-error{margin-bottom:8px}
@media(max-width:560px){.form-only-page{padding:28px 16px 50px}.form-only-heading{margin-bottom:25px}.form-only-heading h1{font-size:2.45rem}.centered-form-card{padding:22px 17px 27px}}
