/* New Patients clarity: content-led refinements to the existing light template.
   Scoped to this page. No changes to form fields, submission code, or other pages. */
html body.clean-template #main.np-clarity .np-hero{padding:1.2rem 0 2.6rem}
html body.clean-template #main.np-clarity .np-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:center}
html body.clean-template #main.np-clarity .np-hero-copy h1{font-size:clamp(2.8rem,4.45vw,4.3rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 1.35rem}
html body #main.np-clarity .np-subtitle{font-size:1.35rem;line-height:1.5;margin-bottom:1.05rem;max-width:33rem}
html body #main.np-clarity .np-lead{font-size:1.1875rem;line-height:1.75;max-width:34rem;margin-bottom:1.55rem}
html body #main.np-clarity .np-eyebrow{letter-spacing:.025em;line-height:1.55;margin-bottom:1rem}
html body #main.np-clarity :is(.np-hero-actions,.np-panel-action,.np-last-actions){display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
html body #main.np-clarity :is(.np-hero-actions,.np-panel-action,.np-last-actions) .btn{font-size:1.125rem;min-height:3.5rem;padding:.85rem 1.15rem;line-height:1.45;max-width:100%;white-space:normal}
html body #main.np-clarity .np-reassurance{max-width:34rem;margin:1.2rem 0 0;font-size:1rem;line-height:1.65}
html body #main.np-clarity .np-welcome-stage{min-height:0;padding:1.5rem 1.5rem 0;box-shadow:none}
html body #main.np-clarity .np-stage-caption{margin:0 .2rem 1.15rem .5rem;min-height:3rem}
html body #main.np-clarity .np-stage-caption>.np-label{max-width:19rem;font-size:1rem;line-height:1.55}
html body #main.np-clarity .np-smile-seal{width:3.3rem;height:3.3rem}
html body #main.np-clarity .np-smile-seal .icon{width:2rem;height:2rem}
html body #main.np-clarity .np-roadmap-card{padding:1.8rem 1.7rem 1.4rem;margin:0 0 1rem;border:1px solid #dceaf0;box-shadow:0 12px 28px #194b5708}
html body #main.np-clarity .np-roadmap-card h2{font-size:clamp(1.85rem,2.6vw,2.35rem);line-height:1.18;margin-bottom:1rem}
html body #main.np-clarity .np-roadmap-card li{padding-block:.75rem;gap:.8rem;font-size:1.125rem;flex-wrap:nowrap}
html body #main.np-clarity .np-roadmap-card li>strong{flex:1;min-width:0;font-weight:650}
html body #main.np-clarity .np-roadmap-card li>span{width:2rem;height:2rem;flex-shrink:0}
html body #main.np-clarity .np-roadmap-card>p{font-size:1rem;line-height:1.65;margin:.8rem 0 0}
html body #main.np-clarity .np-clipboard-cap{display:none}
html body #main.np-clarity .np-tooth{width:9rem;height:10rem;top:1.5rem;right:-2rem;opacity:.6}
html body #main.np-clarity .np-doctor-chip{margin:0;padding:1rem;border-radius:1rem}
html body #main.np-clarity .np-doctor-chip>span{min-width:0;flex:1}
html body #main.np-clarity .np-doctor-chip strong{font-size:1.125rem;line-height:1.5}
/* Lightweight section navigation, not another task for the patient. */
.np-clarity .npc-onpage{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.1rem;flex-wrap:wrap;border-block:1px solid #d8e6eb;padding:.75rem 0;margin:0}
.np-clarity .npc-onpage-label{font-size:1rem;line-height:1.6;color:#546c77}
.np-clarity .npc-onpage a{display:inline-flex;align-items:center;gap:.65rem;min-height:2.75rem;padding:.45rem .15rem;font-size:1.0625rem;line-height:1.5;font-weight:650;color:#16434f}
.np-clarity .npc-onpage a .icon{width:1.05rem;height:1.05rem;flex-shrink:0;color:#b91c68}
.np-clarity .npc-onpage a:hover{text-decoration:underline;text-underline-offset:.25em;color:#a0175b}
html body.clean-template #main.np-clarity .np-section{padding-block:3.75rem}
html body #main.np-clarity .np-section-heading{grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);gap:2.5rem;align-items:end;margin-bottom:2rem}
html body #main.np-clarity :is(.np-section-heading h2,.np-faq-grid h2){font-size:clamp(2.05rem,3.3vw,3rem);line-height:1.17;letter-spacing:-.035em}
html body #main.np-clarity .np-section-heading>p{font-size:1.125rem;line-height:1.75;margin:0;max-width:32rem}
html body #main.np-clarity .np-journey{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);border-radius:1.35rem}
html body #main.np-clarity .np-journey-menu{padding:1.8rem}
html body #main.np-clarity .np-step-tab{min-height:3.5rem;padding:1rem;gap:.75rem}
html body #main.np-clarity .np-step-tab>span:nth-child(2){font-size:1.125rem;line-height:1.5;min-width:0;flex:1}
html body #main.np-clarity .np-step-panel{padding:2rem 2.25rem;min-height:0}
html body #main.np-clarity .np-step-panel h3{font-size:clamp(1.7rem,2.45vw,2.25rem);line-height:1.22;margin-bottom:1rem}
html body #main.np-clarity .np-step-panel>p{font-size:1.1875rem;line-height:1.75;margin:0 0 1.2rem}
html body #main.np-clarity .np-panel-top{margin-bottom:1.3rem}
html body #main.np-clarity .np-points{gap:.8rem;margin:0 0 1.3rem}
html body #main.np-clarity .np-question{padding:1.15rem 1.35rem;margin-top:1.2rem}
html body #main.np-clarity .np-question>p{font-size:1.125rem;line-height:1.65}
html body #main.np-clarity .np-panel-action .text-link{font-size:1.0625rem;line-height:1.5;min-height:2.75rem}
html body #main.np-clarity .np-visit-help-grid{border-radius:1.35rem;box-shadow:none}
html body #main.np-clarity :is(.np-arrival-card,.np-visit-assistance){padding:2rem}
html body #main.np-clarity .np-arrival-card h3{font-size:2rem;line-height:1.2;margin-bottom:1rem}
html body #main.np-clarity .np-visit-assistance>h3{font-size:1.7rem;line-height:1.3;margin-bottom:1.2rem}
html body #main.np-clarity .np-help-topic h4{font-size:1.1875rem;line-height:1.45}
html body #main.np-clarity .np-help-topic p{font-size:1.125rem;line-height:1.7}
html body #main.np-clarity .np-payment-card{padding:1.6rem;border-radius:1.2rem}
html body #main.np-clarity .np-payment-card h3{font-size:1.55rem;line-height:1.3;margin-bottom:.85rem}
html body #main.np-clarity .np-payment-card>.np-icon{margin-bottom:1.2rem}
html body #main.np-clarity .np-payment-card p{font-size:1.125rem;line-height:1.7;margin-bottom:1rem}
html body #main.np-clarity .np-comfort-panel{padding:2.2rem;grid-template-columns:3.3rem minmax(0,1.2fr) minmax(0,.85fr);gap:1.3rem 2rem;border-radius:1.35rem}
html body #main.np-clarity .np-comfort-panel h2{font-size:2rem;line-height:1.22}
html body #main.np-clarity .np-comfort-aside>p{font-size:1.25rem;line-height:1.65;margin:.7rem 0 1.25rem}
html body #main.np-clarity .np-comfort-aside .btn{font-size:1.125rem;max-width:100%;white-space:normal}
html body #main.np-clarity .np-faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:3.5rem}
html body #main.np-clarity .np-faq-grid>div>p{margin-block:1.25rem;font-size:1.125rem;line-height:1.75}
html body #main.np-clarity .np-faq-list summary{font-size:1.1875rem;line-height:1.55;padding-block:1.15rem}
html body #main.np-clarity .np-faq-list .faq-answer{font-size:1.125rem;line-height:1.75;padding-right:.5rem}
html body #main.np-clarity .np-last{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:2.25rem 2.5rem;gap:1.8rem 2.5rem;border-radius:1.35rem}
html body #main.np-clarity .np-last h2{font-size:clamp(2.05rem,3.2vw,2.9rem);line-height:1.16}
html body #main.np-clarity .np-last p{font-size:1.1875rem;line-height:1.7;margin-bottom:0}
html body #main.np-clarity .np-last-actions>.np-small{flex-basis:100%;font-size:1rem;line-height:1.6}
html body #main.np-clarity .np-last .gdc-banner-save{grid-column:1/-1;margin:0;padding-top:1rem;border-top:1px solid #d4c36e;justify-content:flex-start}
html body #main.np-clarity .np-last-section{padding-bottom:3.5rem}
html body #main.np-clarity .request-section{padding-block:3.7rem;background:linear-gradient(130deg,#f2f9fc,#fff 62%,#fffaf0)}
html body #main.np-clarity .request-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3rem}
html body #main.np-clarity .request-kicker{font-size:1rem;letter-spacing:.025em;line-height:1.55}
html body #main.np-clarity #request-title{font-size:clamp(2rem,3vw,2.85rem);line-height:1.18}
html body #main.np-clarity .request-intro>p{font-size:1.1875rem;line-height:1.7}
html body #main.np-clarity .request-steps li{font-size:1.0625rem;line-height:1.6}
html body #main.np-clarity .request-panel{border-radius:1.4rem}
html body #main.np-clarity .gdc-save-content h3{font-size:1.25rem;line-height:1.4}
html body #main.np-clarity .gdc-save-content p{font-size:1rem;line-height:1.6}
@media(max-width:1100px){html body #main.np-clarity .np-hero-grid{gap:2rem}html body #main.np-clarity .np-section-heading{grid-template-columns:minmax(0,1fr);gap:1rem}html body #main.np-clarity .np-section-heading>p{max-width:43rem}html body #main.np-clarity .np-step-panel{padding:1.7rem}html body #main.np-clarity .np-step-tab>.icon{display:none}}
@media(max-width:1000px){html body.clean-template #main.np-clarity .np-hero-grid{grid-template-columns:1fr}html body #main.np-clarity .np-welcome-stage{max-width:39rem;width:100%;justify-self:center}html body #main.np-clarity .np-comfort-panel{grid-template-columns:3rem minmax(0,1fr)}html body #main.np-clarity .np-comfort-aside{grid-column:2;border-left:0;border-top:1px solid #cbe1e244;padding:1.3rem 0 0}html body #main.np-clarity .request-layout{grid-template-columns:1fr;gap:1.8rem}html body #main.np-clarity .np-faq-grid{grid-template-columns:1fr;gap:1.8rem}html body #main.np-clarity .np-last{grid-template-columns:1fr;padding:2rem}html body #main.np-clarity .request-intro{max-width:none}html body #main.np-clarity .request-steps{grid-template-columns:repeat(3,minmax(0,1fr))}html body #main.np-clarity .gdc-save-card{max-width:39rem}}
@media(max-width:800px){html body #main.np-clarity .np-journey{grid-template-columns:1fr}html body #main.np-clarity .np-step-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}html body #main.np-clarity .np-journey-menu{border-right:0;border-bottom:1px solid #d2e2e7;padding:1.4rem}html body #main.np-clarity .np-payment-grid{grid-template-columns:1fr}html body #main.np-clarity .np-step-panel{padding:1.6rem}html body #main.np-clarity .np-panel-action .btn{width:auto}.np-clarity .npc-onpage-label{flex-basis:100%}}
@media(max-width:600px){
 html body.clean-template #main.np-clarity .np-hero{padding:.8rem 0 1.8rem}
 html body.clean-template #main.np-clarity .np-hero-copy h1{font-size:clamp(2.5rem,10vw,3.3rem);line-height:1.1;letter-spacing:-.04em}
 html body #main.np-clarity .np-subtitle{font-size:1.25rem}
 html body #main.np-clarity .np-lead{font-size:1.125rem}
 html body #main.np-clarity .np-hero-actions{display:grid;grid-template-columns:1fr;gap:.7rem}
 html body #main.np-clarity .np-hero-actions .btn{width:100%}
 html body #main.np-clarity .np-welcome-stage{padding:1.2rem 1rem 0}
 html body #main.np-clarity .np-stage-caption{margin:0 .2rem 1rem}
 html body #main.np-clarity .np-stage-caption>.np-label{max-width:14rem}
 html body #main.np-clarity .np-roadmap-card{padding:1.5rem 1.2rem}
 html body #main.np-clarity .np-roadmap-card h2{font-size:1.85rem}
 html body #main.np-clarity .np-roadmap-card li{font-size:1.0625rem}
 html body #main.np-clarity .np-tooth{width:8rem;top:2.3rem}
 .np-clarity .npc-onpage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem .9rem}
 .np-clarity .npc-onpage-label{grid-column:1/-1}
 .np-clarity .npc-onpage a{font-size:1rem;align-items:flex-start;max-width:100%;overflow-wrap:normal}
 .np-clarity .npc-onpage a .icon{display:none}
 html body.clean-template #main.np-clarity .np-section{padding-block:3rem}
 html body #main.np-clarity .np-section-heading{gap:.9rem;margin-bottom:1.5rem}
 html body #main.np-clarity .np-step-tab{padding:.85rem;gap:.55rem}
 html body #main.np-clarity .np-step-tab>span:nth-child(2){font-size:1.0625rem}
 html body #main.np-clarity .np-step-panel{padding:1.35rem}
 html body #main.np-clarity .np-step-panel>p{font-size:1.125rem}
 html body #main.np-clarity .np-question{padding:1rem 1.1rem}
 html body #main.np-clarity .np-panel-action{align-items:stretch;flex-direction:column}
 html body #main.np-clarity .np-panel-action .btn{width:100%}
 html body #main.np-clarity .np-panel-action .text-link{align-self:flex-start}
 html body #main.np-clarity :is(.np-arrival-card,.np-visit-assistance){padding:1.5rem}
 html body #main.np-clarity .np-comfort-panel{grid-template-columns:1fr;padding:1.6rem;gap:1rem}
 html body #main.np-clarity .np-comfort-aside{grid-column:auto;padding-top:1.3rem}
 html body #main.np-clarity .np-comfort-aside .btn{align-self:stretch}
 html body #main.np-clarity .np-last{padding:1.65rem;gap:1.35rem}
 html body #main.np-clarity .np-last-actions{align-items:stretch;flex-direction:column;gap:.75rem}
 html body #main.np-clarity .np-last-actions .btn{width:100%}
 html body #main.np-clarity .np-last-actions .text-link{align-self:flex-start}
 html body #main.np-clarity .request-section{padding-block:3rem}
 html body #main.np-clarity .request-steps{grid-template-columns:1fr;gap:1rem}
 html body #main.np-clarity .request-intro>p{font-size:1.125rem}
 body.new-patients-refreshed .mobile-action-bar{display:grid;grid-template-columns:.8fr 1.4fr .7fr;gap:.45rem;padding:.65rem .8rem max(.65rem,env(safe-area-inset-bottom))}
 body.new-patients-refreshed .mobile-action-bar a{font-size:1rem;line-height:1.3;padding:.7rem .35rem;min-height:3rem;gap:.35rem;overflow-wrap:normal;word-break:normal;flex-wrap:nowrap}
 body.new-patients-refreshed .mobile-action-bar a .icon{width:1rem;height:1rem}
}
@media(max-width:370px){html body #main.np-clarity .np-step-tabs{grid-template-columns:1fr}html body #main.np-clarity .np-stage-caption>.np-label{max-width:100%}html body #main.np-clarity .np-roadmap-card li>.icon{display:none}html body #main.np-clarity :is(.np-arrival-card,.np-visit-assistance){padding:1.2rem}html body #main.np-clarity .np-help-topic{flex-direction:column}html body #main.np-clarity .np-comfort-aside .btn{padding-inline:.75rem}body.new-patients-refreshed .mobile-action-bar .icon{display:none}}
/* Browser text enlargement must not create fixed-height reading regions. */
.np-clarity :is(.np-hero-copy,.np-roadmap-card,.np-step-panel,.np-payment-card,.np-last,.request-intro){min-width:0;max-width:100%}
.np-clarity :is(.btn,.text-link){overflow-wrap:anywhere}
body.new-patients-refreshed>.skip-link:not(:focus){transform:translateY(-200%)}
@media(prefers-reduced-motion:reduce){.np-clarity *,.np-clarity *::before,.np-clarity *::after{animation:none!important;transition:none!important}}
@media print{.np-clarity .npc-onpage{display:none}html body #main.np-clarity :is(.np-journey,.np-last,.request-layout){display:block}html body #main.np-clarity .np-step-panel[hidden]{display:block!important}}
@media(max-width:600px){.np-clarity .npc-onpage{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr))}.np-clarity .npc-onpage a{overflow-wrap:anywhere}}
/* The shared page scroll padding already clears the sticky header. */
html body #main.np-clarity #appointment-request{scroll-margin-top:1.5rem}
