
:root{
  --space-xs:8px;
  --space-sm:12px;
  --space-text:16px;
  --space-content:24px;
  --space-group:32px;
  --space-layout:48px;
  --space-section:80px;
  --space-transition:40px;
  --space-card:28px;
}

.section,.journey-section .section,.cost-layout,.faq-layout,.registration-invite{padding-block:var(--space-section)}
.about{padding:0}
.about-layout{min-height:0}
.about-text,.about-photo{padding-block:var(--space-section);padding-inline:clamp(24px,5vw,72px)}
.procedures{padding-top:var(--space-section);padding-bottom:0}
.instagram-section{padding-block:var(--space-section) var(--space-transition)}
.instagram-section+.journey-section .section{padding-top:var(--space-transition)}
.registration-invite{padding-bottom:var(--space-transition)}
.site-footer{padding-top:var(--space-transition)}
.footer-location{margin-bottom:var(--space-layout)}

.hero .eyebrow,.about-text>.eyebrow,.procedures-intro .eyebrow,
.section-label,.cost-layout .eyebrow,.bmi-description .eyebrow,
.faq-intro .eyebrow,.signup-intro .eyebrow,.instagram-intro .eyebrow{margin-bottom:var(--space-text)}
.about h2,.procedures-intro h2,.bmi-description h2,.faq-intro h2,
.instagram-intro h2{margin-bottom:var(--space-content)}
.about h2:after{margin-top:var(--space-content)}
.about-text>p:not(.eyebrow){margin-bottom:var(--space-text)}
.about-text .button-secondary{margin-top:var(--space-xs)}
.about-note{margin-top:var(--space-content)}
.about-photo figcaption{margin-top:var(--space-text)}
.hero-intro{margin-top:var(--space-content)}
.hero-intro p{margin-bottom:var(--space-content)}
.hero-bottom{margin-top:var(--space-group)}
.section-heading{margin-bottom:var(--space-layout)}
.section-heading>p,.cost-lead{margin-top:var(--space-content)}
.procedures-intro{margin-bottom:var(--space-layout)}
.cost-layout,.bmi-section{gap:var(--space-layout)}
.cost-layout .button-secondary,.faq-intro .button-secondary,
.signup-intro .registration-primary{margin-top:var(--space-content)}
.bmi-description .small-copy{margin-top:var(--space-text)}
.faq-intro{margin-bottom:var(--space-group)}
.faq-list summary{padding-block:var(--space-content)}
.faq-list details>p{padding-bottom:var(--space-content)}
.cost-details>div{padding-block:var(--space-content);gap:var(--space-content)}
.cost-details h3{margin-bottom:var(--space-xs)}
.cost-details>div:first-child{padding-top:0}
.cost-details>div:last-child{padding-bottom:0}
.step-number{margin-bottom:var(--space-text)}
.journey li{padding-top:var(--space-content)}
.journey h3{margin-bottom:var(--space-sm)}
.journey a{margin-top:var(--space-text)}
.journey-foot{margin-top:var(--space-group);padding-top:var(--space-content)}

.procedure-panel{padding-block:var(--space-layout);min-height:0}
.procedure-panel-top{margin-bottom:0}
.procedure-panel h3{margin:var(--space-sm) 0 var(--space-content)}
.procedure-panel ul{gap:var(--space-text);margin-bottom:0}
.procedure-summary{padding:var(--space-content)}
.procedure-summary span{margin-top:var(--space-xs)}
.procedure-preview-actions{gap:var(--space-text);margin-top:var(--space-content)}
.procedures .section-footnote{padding-block:var(--space-content)}
.specialty-card-copy small{margin-top:var(--space-sm)}
.specialty-card-copy em{margin-top:var(--space-text)}
.instagram-intro{margin-bottom:var(--space-group)}

.registration-invite{gap:var(--space-layout)}
.registration-invite .signup-intro{padding:var(--space-group) 0}
.registration-invite h2,.registration-welcome h1{margin:0 0 var(--space-content)}
.registration-invite .signup-note{margin-top:var(--space-content);padding-top:var(--space-content)}
.registration-returning{margin-top:var(--space-content);padding-top:var(--space-content)}
.registration-returning .button-results{margin-top:var(--space-text)}
.registration-main{padding-top:calc(var(--header) + var(--space-group));padding-bottom:var(--space-transition)}
.registration-breadcrumb{margin-bottom:var(--space-content)}
.registration-layout{gap:var(--space-layout)}
.registration-welcome.signup-intro{padding-top:var(--space-text)}
.registration-photo-story{margin-top:var(--space-group);margin-bottom:0}
.registration-followup.signup-intro{margin-top:var(--space-layout)}
.registration-followup .registration-returning{margin-top:var(--space-content);padding-top:var(--space-content)}
.registration-page .demo-notice{padding:var(--space-content)}
.registration-page .form-progress{padding:var(--space-content)}
.registration-page #signup-form,.bmi-card{padding:var(--space-card)}
.form-step legend{margin-bottom:var(--space-sm)}
.step-helper{margin-bottom:var(--space-content)}
.registration-page .field{gap:var(--space-xs);margin-bottom:var(--space-content)}
.registration-page .field-grid{column-gap:var(--space-content);row-gap:0}
.registration-page .form-actions{margin-top:0;padding-top:var(--space-content);gap:var(--space-text)}
.bmi-fields{gap:var(--space-content)}
.bmi-fields .field{margin-bottom:0}
.bmi-action{margin-top:var(--space-content);gap:var(--space-text)}
.bmi-description>p+p{margin-top:var(--space-text)}
.bmi-description .bmi-guidance{padding:var(--space-text);border-radius:16px;background:#eef5ed}
.bmi-guidance strong{display:block;margin-bottom:var(--space-xs);color:var(--ink)}
.bmi-sources{max-width:440px;margin:var(--space-text) auto 0;text-align:left;font-size:13px;color:var(--muted)}
.bmi-sources summary{width:fit-content;margin-inline:auto;padding-block:var(--space-xs);cursor:pointer;color:var(--ink)}
.bmi-sources ul{margin-top:var(--space-xs);padding-left:20px;display:grid;gap:var(--space-xs)}
.bmi-sources a{text-decoration:underline;text-underline-offset:3px}
.bmi-card h3{margin:0 0 var(--space-xs);text-align:center;font-size:24px;color:var(--ink)}
.bmi-card #bmi-calculator-help{margin:0 0 var(--space-content);text-align:center;color:var(--muted);font-size:15px;line-height:1.6}
.bmi-card .bmi-privacy{margin-top:var(--space-content);text-align:center;color:var(--muted);font-size:12px;line-height:1.6}
.bmi-context{margin-top:var(--space-content);margin-bottom:0}
.bmi-context select{width:100%;min-width:0}
.bmi-context small{font-size:12px;color:var(--muted)}
.bmi-card .bmi-action{justify-content:center}
.bmi-card .bmi-action .button{padding-inline:24px}
.bmi-program-alert{margin-top:var(--space-content);padding:var(--space-content);border:1px solid #de9c9c;border-radius:18px;background:#fff1f0;color:#9e2626;text-align:center}
.bmi-program-alert svg{display:block;width:32px;height:32px;margin:0 auto var(--space-sm);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bmi-program-alert .bmi-alert-label{font-size:12px;font-weight:700;line-height:1.5}
.bmi-program-alert h4{margin:var(--space-xs) 0 var(--space-sm);font-size:21px;font-weight:750;line-height:1.35;color:#9e2626}
.bmi-program-alert #bmi-program-alert-message{font-size:15px;line-height:1.65}
.bmi-program-alert .bmi-alert-scope{margin-top:var(--space-text);padding-top:var(--space-text);border-top:1px solid #edc2bf;font-size:12px;line-height:1.6}
.bmi-feedback{margin-top:var(--space-content);padding:var(--space-content);background:#fffdf8;border:1px solid #d8dce6;border-radius:18px;text-align:center}
.bmi-result-intro{color:var(--muted);font-size:14px;line-height:1.6}
.bmi-feedback #bmi-result{display:flex;justify-content:center;align-items:baseline;gap:8px;margin:var(--space-text) 0 var(--space-xs)}
.bmi-feedback #bmi-result strong{font-size:42px;font-weight:750;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}
.bmi-feedback #bmi-result span{font-size:14px;color:var(--muted)}
.bmi-feedback h4{margin:0;font-size:21px;line-height:1.4;font-weight:750;color:var(--ink)}
.bmi-feedback .bmi-range{margin-top:4px;font-size:12px;color:var(--muted)}
.bmi-feedback #bmi-explanation{margin-top:var(--space-text);font-size:15px;line-height:1.65;color:var(--ink)}
.bmi-limits,.bmi-clinical-note{margin-top:var(--space-text);color:var(--muted);font-size:13px;line-height:1.65}
.bmi-clinical-note{padding-top:var(--space-text);border-top:1px solid #e3dbea}
.bmi-clinical-note strong{display:block;color:var(--ink);margin-bottom:var(--space-xs)}
.bmi-feedback #bmi-copy{width:100%;min-width:0;max-width:340px;margin-top:var(--space-content);padding:13px 16px;white-space:normal}
.bmi-copy-status:not(:empty){margin-top:var(--space-sm);font-size:13px;color:var(--ink)}
.bmi-feedback #bmi-copy-fallback{margin-top:var(--space-text);text-align:left}
.bmi-feedback textarea{width:100%;font-size:14px;resize:vertical}
@media(max-width:480px){.bmi-feedback{padding:var(--space-text)}.bmi-context select{font-size:14px}}

.guide-hero{padding-top:calc(var(--header) + var(--space-group));padding-bottom:var(--space-layout)}
.guide-breadcrumb{margin-bottom:var(--space-group)}
.guide-hero-grid,.procedure-reading-grid{gap:var(--space-layout)}
.guide-hero h1{margin:var(--space-text) 0 var(--space-content)}
.guide-hero .button{margin-top:var(--space-content)}
.guide-specialties{margin-top:var(--space-group);gap:var(--space-sm)}
.guide-context{padding-block:var(--space-content)}
.guide-index{padding-top:var(--space-layout);padding-bottom:0}
.guide-index h2{margin-bottom:var(--space-content)}
.guide-index-list{gap:var(--space-text)}
.guide-index-list a{padding:var(--space-content);gap:var(--space-text)}
.procedure-article{padding-block:var(--space-layout);scroll-margin-top:calc(var(--header) + 24px - var(--space-layout))}
.procedure-article-header{gap:var(--space-content);margin-bottom:var(--space-group)}
.procedure-copy h3,.explain-slide h3{margin-bottom:var(--space-sm)}
.procedure-copy p{margin-bottom:var(--space-content)}
.explain-slide figcaption{padding:var(--space-content) var(--space-content) var(--space-sm)}
.carousel-controls{padding:var(--space-text) var(--space-content) var(--space-content)}
.visual-note{margin-top:var(--space-text)}
.guide-disclosure summary{padding-block:var(--space-text)}
.procedure-end{margin-top:var(--space-content);gap:var(--space-text)}
.guide-final{padding-block:var(--space-layout) var(--space-transition)}
.guide-final h2,.guide-final p{margin-bottom:var(--space-content)}
.guide-final>.button+p{margin-top:var(--space-content);margin-bottom:0}
.guide-care{padding:var(--space-card);margin-block:var(--space-group)}
.guide-care p{margin:0}

.location-copy{padding:var(--space-group) var(--space-card)}
.location-symbol{margin-bottom:var(--space-text)}
.location-copy h2{margin:var(--space-sm) 0 var(--space-content)}
.location-copy .location-note{margin-top:var(--space-text)}
.location-copy .button-map{margin-top:var(--space-content)}
.footer-hub{padding-bottom:var(--space-content)}
.footer-tagline{margin-block:var(--space-sm) var(--space-text)}
.footer-nav{margin-bottom:var(--space-text)}
.footer-actions{margin-bottom:var(--space-content);gap:var(--space-sm)}

@media(max-width:1000px){
  :root{--space-layout:32px;--space-section:64px;--space-transition:32px;--space-card:24px}
}
@media(max-width:800px){
  .registration-invite .signup-intro{padding:var(--space-group) 0 0}
  .registration-welcome.signup-intro{padding-top:0}
  .registration-layout{gap:var(--space-group)}
}
@media(max-width:700px){
  :root{--space-section:56px;--space-transition:28px;--space-card:24px}
  .about-text,.about-photo{padding-inline:8%}
  .about-photo picture{max-width:400px;margin-inline:auto}
  .cost-details>div:first-child{padding-top:var(--space-content)}
  .procedure-visual{margin-bottom:var(--space-group)}
  .procedure-article-header{gap:var(--space-text)}
  .registration-page .demo-notice,.registration-page .form-progress{padding:var(--space-text)}
}
@media(max-width:480px){
  .registration-page #signup-form{padding-inline:20px}
  .bmi-fields{gap:var(--space-text)}
  .registration-page .form-actions{gap:var(--space-sm)}
}

.step-number,.procedure-number{color:#1f6894}
.location-map[data-map-src]{display:flex}
.map-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;background:radial-gradient(circle at 50% 38%,#f7faf4 0,#eaf1e7 72%)}
.map-consent p{max-width:36ch;margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.map-consent .map-consent-title{font-size:17px;font-weight:650;color:var(--ink)}
.map-consent-pin{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#fff;border:1px solid #d5e3d2}
.map-consent-pin svg{width:28px;height:28px;stroke:var(--green-text);stroke-width:1.7}
.map-consent .button{margin-top:8px}
.official-signup{display:flex;flex-direction:column;gap:28px;padding:clamp(26px,4vw,44px);outline:none}
.official-signup-head .eyebrow{margin:0 0 10px}
.official-signup-head h2{margin:0 0 10px;font-size:clamp(24px,2.2vw,28px);line-height:1.3;font-weight:650;letter-spacing:0;text-transform:none;color:var(--ink)}
.official-signup-head p:last-child{margin:0;font-size:16px;line-height:1.65;color:var(--muted)}
.official-steps{list-style:none;margin:0;padding:0;display:grid;gap:20px}
.official-steps li{display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:start}
.official-steps li>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e6f3fb;border:1px solid #bcdff5;color:#1f6894;font-size:14px;font-weight:600}
.official-steps h3{margin:6px 0 4px;font-size:17px;line-height:1.35;font-weight:650;letter-spacing:0;text-transform:none;color:var(--ink)}
.official-steps p{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}
.official-signup-actions{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:26px;border-top:1px solid var(--line);text-align:center}
.official-signup-actions p{margin:0;max-width:46ch;font-size:14px;line-height:1.6;color:var(--muted)}
.official-signup-actions .official-signup-privacy{font-size:13px}
.official-signup-actions a:not(.button){color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.legal-main{padding:calc(var(--header) + 56px) 0 88px}
.legal-wrap{width:min(760px,90%);margin:0 auto}
.legal-wrap .eyebrow{margin:0 0 12px}
.legal-wrap h1{margin:0 0 14px;font-size:clamp(34px,4vw,48px);line-height:1.15;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.legal-wrap h2{margin:44px 0 12px;font-size:22px;line-height:1.35;font-weight:650;letter-spacing:0;text-transform:none;color:var(--ink)}
.legal-wrap p,.legal-wrap li{font-size:16px;line-height:1.75;color:var(--muted)}
.legal-wrap p{margin:0 0 16px}
.legal-wrap ul{margin:0 0 16px}
.legal-wrap li+li{margin-top:6px}
.legal-wrap ul{padding-left:22px}
.legal-wrap a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.legal-wrap .legal-updated{margin-bottom:28px;font-size:14px}
.notfound{display:grid;place-items:center;min-height:68vh;padding:calc(var(--header) + 48px) 5% 80px;text-align:center}
.notfound .notfound-code{max-width:none;margin:0;font-size:clamp(72px,12vw,140px);line-height:1;font-weight:300;color:var(--blue-text)}
.notfound h1{margin:12px 0 12px;font-size:clamp(28px,3.4vw,40px);line-height:1.2;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.notfound p{max-width:44ch;margin:0 auto;font-size:16px;line-height:1.7;color:var(--muted)}
.notfound-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.notfound-hint{margin-top:26px!important;font-size:14px!important}
.notfound-hint a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.hp-field{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.consent-field{display:grid!important;grid-template-columns:22px 1fr;gap:6px 12px;align-items:start;margin-top:22px;padding:16px 18px;border:1px solid #ddd0e7;border-radius:14px;background:#faf7fc}
.consent-field input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--purple);cursor:pointer}
.consent-field label{margin:0;font-size:14px;line-height:1.55;font-weight:500;color:var(--ink);cursor:pointer}
.consent-field label a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.consent-field .field-error{grid-column:2}
.consent-field input[aria-invalid=true]{outline:2px solid #b3261e;outline-offset:2px}
.submit-error{margin:18px 0 0;padding:14px 16px;border-radius:12px;background:#fdecea;border:1px solid #f1b8b2;color:#8c1d18;font-size:14px;line-height:1.55}
.form-failure .demo-end-icon{background:#fdecea;color:#8c1d18}
.form-failure .failure-alt{margin-top:18px;font-size:13px}
.form-failure .failure-alt a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
#form-sent strong{color:var(--ink);letter-spacing:.04em}
.form-actions .button[disabled]{opacity:.65;cursor:progress}
.form-intro{margin:0 0 26px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.form-intro h2{margin:0 0 14px;font-size:clamp(22px,2.2vw,26px);line-height:1.3;font-weight:650;letter-spacing:.01em;text-transform:none;color:var(--ink)}
.form-intro p{margin:0 0 10px;font-size:14px;line-height:1.65;color:var(--muted)}
.form-intro a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.form-intro .required-note{margin:14px 0 0;font-size:13px;color:#a3261d}
.req,.field label .req{color:#a3261d;font-size:inherit;font-weight:700}
.question{margin:0 0 24px}
.question.field label,.choice-group legend{display:block;margin:0 0 8px;font-size:15px;line-height:1.5;font-weight:650;color:var(--ink)}
.question-help{display:block;margin:-2px 0 8px;font-size:13px;line-height:1.5;color:var(--muted)}
.choice-group{border:0;margin:0 0 24px;padding:0;min-width:0}
.choice-group legend{padding:0;float:left;width:100%}
.choice-group legend+*{clear:both}
.choices{display:grid;gap:8px}
.choice-grid .choices{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 14px;border:1px solid #d9cfe2;border-radius:12px;background:#fffdf9;font-size:14px;line-height:1.4;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.choice input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--purple);cursor:pointer}
.choice:has(input:checked){border-color:var(--purple);background:#f4eef9}
.choice:has(input:focus-visible){outline:2px solid var(--purple);outline-offset:2px}
.choice-group[aria-invalid=true] .choice{border-color:#c9473f}
.clear-choice{margin-top:8px;padding:6px 2px;border:0;background:none;color:var(--purple);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.form-card .consent-field{margin-top:8px}
.form-actions-single{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.form-actions-single .button{min-width:170px}
.form-actions-single .button-back{order:2;padding:8px 2px;font-size:13px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.choice-grid .choices{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions-single .button{width:100%}.form-actions-single{justify-content:center}}
