/* Spacious, photographic layouts. Shared with the native block editor. */
.header-inner{max-width:1536px;gap:20px}
.primary-menu{gap:19px}
.primary-menu a{font-size:.8rem;text-underline-offset:7px}
.primary-menu .menu-online>a{color:var(--brand)}
/* Full-width background with centered content; viewport units include classic scrollbars. */
.hero{width:100%;max-width:none;padding-inline:max(var(--container-gutter),calc((100% - 1360px)/2));padding-top:32px;padding-bottom:32px}
.hero:before{background:linear-gradient(180deg,var(--surface),var(--paper))}
.hero-grid{grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:44px;align-items:center}
.hero-copy{padding-block:36px}
.hero h1{font-size:clamp(3.5rem,5.6vw,5.35rem);line-height:1.04;letter-spacing:-.06em;margin-block:26px}
.hero-copy .eyebrow{max-width:330px;font-size:.72rem}
.hero-lead{max-width:410px;font-size:1.05rem;line-height:1.7}
.hero-photo{border:0;border-radius:24px;aspect-ratio:1.04;box-shadow:none}
.hero-photo img{object-position:52% 42%}
.hero-caption{left:22px;bottom:22px;background:#fffef9f5;border:0;box-shadow:0 6px 26px #252c3410;padding:17px 21px}
.hero-reassurance{max-width:360px;align-items:flex-start;line-height:1.6}
.hero-reassurance .icon{margin-top:2px;flex:none}
.hero-actions .wp-block-button__link{border-radius:999px;padding-inline:23px}
.quick-strip{margin-top:28px!important;border-radius:0;background:transparent;border:0;border-bottom:1px solid var(--line);box-shadow:none;padding:25px 0 32px}
.quick-item>.icon{background:transparent;border:1px solid var(--line);border-radius:50%;padding:11px}
.quick-item{border:0}
.section{padding-block:80px}
.section-header{margin-bottom:38px;align-items:flex-end}
.section-header h2{font-size:clamp(2.2rem,3.9vw,3.4rem);letter-spacing:-.05em;line-height:1.12}
.section-header>.text-link{flex-shrink:0;font-size:.83rem}
.content-card{border-radius:18px;box-shadow:none}
.page-card-image{aspect-ratio:1.6}
:is(.specialty-card,.service-card.has-card-image) .card-body{padding:26px;min-height:0}
:is(.specialty-card,.service-card.has-card-image) .card-body>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
:is(.specialty-card,.service-card.has-card-image) h3{font-size:1.4rem;line-height:1.3}
.has-card-image:is(.specialty-card,.service-card) .card-body{border-top:0;padding-top:20px}
.card-more{margin-top:auto}
.services-section{background:var(--surface);border:0}
.services-section .content-card{border:0}
.about-editorial{min-height:535px;border-radius:22px;background-position:60% center}
.about-copy h2{font-size:clamp(2.5rem,3.7vw,3.25rem);line-height:1.15}
.about-copy>p:not(.eyebrow){max-width:460px}
.portrait-link,.doctor-portrait,.doctor-placeholder img{aspect-ratio:4/4.2}
.doctor-portrait{object-position:50% 20%}
.doctors-card .card-body{padding:26px}
.doctors-card h3{font-size:1.45rem}
.doctor-placeholder{background:linear-gradient(145deg,var(--surface),var(--soft))}
.doctor-placeholder img{padding:28px 20px 0;object-position:center bottom}
.steps-section{background:var(--paper);border:0;padding-block:60px 75px}
.steps-grid>.wp-block-group{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:28px 0}
.step-number{background:transparent;place-items:start;width:auto;height:auto;font-size:.85rem;letter-spacing:.08em;margin-bottom:20px}
.steps-grid h3{font-size:1.4rem}
.steps-grid p:not(.step-number){max-width:310px}
.appointment-panel{border-radius:22px;padding:58px}
.appointment-panel h2{font-size:clamp(2.1rem,3.5vw,3rem)}
.page-heading{padding-top:38px;padding-bottom:54px}
.page-heading-visual{border:0;box-shadow:none;border-radius:20px}
.page-heading h1{line-height:1.08}
.consultation-section{padding-block:40px 68px}
.consultation-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center;background:linear-gradient(125deg,var(--brand-hover),var(--brand));color:#fff;padding:58px;border-radius:24px;position:relative;overflow:hidden}
.consultation-panel::before{content:"";position:absolute;width:480px;aspect-ratio:1;right:-220px;top:-280px;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04;pointer-events:none}
.consultation-panel>*{position:relative;min-width:0}
.consultation-panel .eyebrow{display:inline-flex;align-items:center;gap:9px;color:#fff;border:1px solid #ffffff50;border-radius:999px;padding:7px 13px;background:#ffffff0d}
.consultation-panel .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.consultation-panel h2{color:#fff;font-size:clamp(2.25rem,3.8vw,3.4rem);line-height:1.1;margin-bottom:22px}
.consultation-panel p:not(.eyebrow){color:var(--light-text);max-width:485px;font-size:.98rem;line-height:1.8}
.consultation-panel .button{margin-top:9px;background:#fff;border-color:#fff;color:var(--brand-hover);border-radius:999px}
.consultation-panel .button:hover{background:var(--soft);border-color:var(--soft)}
.consultation-panel .button:focus-visible{outline-color:#fff}
.consultation-flow{list-style:none;margin:0;padding:0;display:grid;gap:0}
.consultation-flow li{display:flex;gap:18px;align-items:center;padding:23px 0;border-bottom:1px solid #ffffff24;font-size:.9rem}
.consultation-flow li:last-child{border-bottom:0}
.consultation-flow .flow-number{display:grid;place-items:center;border:1px solid #ffffff50;background:#ffffff0d;border-radius:50%;width:42px;height:42px;flex:none;font-size:.8rem;font-weight:700;color:#fff}
.consultation-flow strong{display:block;color:#fff;font-size:1rem;font-weight:600}
.consultation-flow small{display:block;color:var(--light-text);margin-top:4px;font-size:.8rem}
.consultation-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.consultation-intro h2{font-size:clamp(2rem,3vw,2.6rem);margin-top:0}
.consultation-intro>p{color:var(--muted);max-width:500px}
.consultation-facts{display:flex;gap:22px;flex-wrap:wrap;margin:25px 0;padding:22px 0;border-block:1px solid var(--line)}
.consultation-facts div{display:grid;gap:4px}
.consultation-facts dt{font-size:.75rem;color:var(--muted)}
.consultation-facts dd{font-size:1.2rem;font-weight:650;margin:0}
.consultation-process{list-style:none;padding:0;margin:30px 0;counter-reset:consultation-step}
.consultation-process li{position:relative;padding:0 0 25px 50px;counter-increment:consultation-step}
.consultation-process li:before{content:counter(consultation-step,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--brand);font-size:.8rem;line-height:1.7;font-weight:700}
.consultation-process strong{display:block;font-size:1rem;line-height:1.4}
.consultation-process span{display:block;font-size:.9rem;color:var(--muted);margin-top:7px;line-height:1.75}
.consultation-layout .form-panel{padding:36px;border-radius:20px;background:#fff;border:1px solid var(--line);scroll-margin-top:120px}
.consultation-layout .form-panel h2{font-size:1.8rem}
.consultation-layout .form-panel>p{font-size:.92rem;color:var(--muted)}
.consultation-faq{max-width:860px;margin:70px auto 0}
.wp-block-post-content>.consultation-faq{margin-block-start:70px}
.consultation-faq>h2{font-size:2.15rem}
.consultation-contact{padding:22px;border-radius:14px;background:var(--surface);font-size:.9rem}
.consultation-contact a{display:inline-flex;gap:9px;align-items:center;font-weight:650;margin-top:9px}
.consultation-contact p{margin:0}
/* Keep the submit button still when validation clears as an input loses focus. */
.wpcf7-form-control-wrap:has(>.wpcf7-text,>.wpcf7-date,>.wpcf7-select){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(1.55em,auto)}
.wpcf7-form-control-wrap:has(>.wpcf7-text,>.wpcf7-date,>.wpcf7-select)::after{content:"";grid-row:2;grid-column:1;min-height:1.55em}
.wpcf7-form-control-wrap>.wpcf7-not-valid-tip{grid-row:2;grid-column:1;margin-top:0;font-weight:400;line-height:1.55}
.wpcf7 p:has(>label>.wpcf7-form-control-wrap){margin-bottom:5px}
@media(prefers-reduced-motion:no-preference){
 .is-reveal-pending{opacity:0;translate:0 20px}
}
@media print{.is-reveal-pending{opacity:1!important;translate:none!important}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .primary-menu a{transition:color .2s}
 .text-link .icon,.card-more .icon{transition:transform .25s ease}
 .text-link:hover .icon,.card-more:hover .icon{transform:translateX(4px)}
 .doctor-portrait,.article-image-link img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
 .portrait-link:hover .doctor-portrait,.article-image-link:hover img{transform:scale(1.035)}
}
@media(min-width:1100px) and (max-width:1240px){.header-inner{padding-inline:28px;gap:15px}.primary-menu{gap:14px}.primary-menu a{font-size:.73rem}.header-cta{padding-inline:13px;font-size:.75rem}.brand strong{font-size:1.55rem}.brand-mark{width:38px;height:38px}}
@media(max-width:1000px){
 .hero-grid{gap:28px;grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(2.8rem,5.5vw,4rem)}.hero-copy{padding-block:15px}.hero-photo{aspect-ratio:4/5}.hero-caption{left:14px;right:14px;bottom:14px;padding:14px;font-size:.8rem}.hero-caption .icon{width:27px;height:27px}
 .section{padding-block:58px}.about-editorial{min-height:460px}.section-header>.text-link{font-size:.78rem}
 .consultation-panel{padding:36px;gap:30px}.consultation-layout{gap:30px}.consultation-layout .form-panel{padding:26px}.appointment-panel{padding:40px}
}
@media(max-width:760px){
 .hero-grid{grid-template-columns:1fr;gap:24px}.hero-copy{max-width:560px;padding-block:6px}.hero h1{font-size:clamp(3.15rem,8vw,4.4rem);margin-block:20px}.hero-lead{max-width:490px;margin-bottom:24px}.hero-photo{aspect-ratio:1.25}.hero-photo img{object-position:center 38%}.hero-reassurance{margin-bottom:0}.hero-caption{left:18px;right:auto;bottom:18px}
 .consultation-panel,.consultation-layout{grid-template-columns:minmax(0,1fr);gap:32px}.consultation-panel{padding:34px}.consultation-flow li{padding:18px 0}.consultation-section{padding-block:25px 48px}
 .consultation-layout .form-panel{order:-1}.wp-block-post-content>.consultation-faq{margin-block-start:48px}.portrait-link,.doctor-portrait,.doctor-placeholder img{aspect-ratio:4/4.2}
}
@media(max-width:600px){
 .hero{padding-top:26px;padding-bottom:16px}.hero-copy .eyebrow{font-size:.65rem;max-width:none}.hero h1{font-size:clamp(2.85rem,10.4vw,3.7rem)}.hero-lead{font-size:.95rem}.hero-photo{border-radius:18px;aspect-ratio:1.05}.hero-caption{font-size:.76rem;padding:12px 15px;left:12px;bottom:12px;max-width:calc(100% - 24px)}.hero-caption small{font-size:.66rem}
 .hero-actions{gap:10px}.hero-actions .wp-block-button__link{font-size:.83rem;padding-inline:17px;min-height:47px}.hero-reassurance{font-size:.73rem}
 .quick-strip{margin-top:19px!important;padding:17px 0 22px}.quick-item{padding-left:12px;gap:8px}.quick-item>.icon{padding:7px;width:16px;height:16px}.quick-item h2{font-size:.68rem;line-height:1.4}.quick-item p{font-size:.63rem;line-height:1.5}
 .section{padding-block:43px}.section-header{margin-bottom:26px;gap:20px}.section-header h2{font-size:2.25rem}.section-header>.text-link{font-size:.78rem}:is(.specialty-card,.service-card.has-card-image) .card-body{padding:23px}:is(.specialty-card,.service-card.has-card-image) h3{font-size:1.3rem}
 .about-editorial{min-height:410px}.about-copy h2{font-size:2.3rem}.doctors-card .card-body{padding:24px}.doctors-card h3{font-size:1.35rem}.doctor-placeholder img{padding-top:18px}
 .steps-section{padding-block:30px 45px}.steps-grid>.wp-block-group{padding:23px 0 10px 48px;min-height:0}.step-number{position:absolute;left:0;top:25px;font-size:.8rem;width:auto;height:auto}.steps-grid p:not(.step-number){max-width:none}
 .consultation-panel{padding:29px 25px;border-radius:18px}.consultation-panel h2{font-size:2.35rem}.consultation-panel p:not(.eyebrow){font-size:.9rem}.consultation-flow li{gap:14px}.consultation-flow strong{font-size:.95rem}.consultation-flow small{font-size:.76rem}.consultation-panel .button{font-size:.84rem}
 .consultation-layout .wpcf7 input[type="submit"]{max-width:100%;padding-inline:12px;font-size:clamp(.8rem,3.5vw,.92rem)}
 .consultation-layout .form-panel{padding:25px 21px}.consultation-intro h2{font-size:2rem}.consultation-faq>h2{font-size:1.9rem}.appointment-panel{padding:34px 27px}.page-heading{padding-top:25px;padding-bottom:35px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .content-card:hover,.button:hover,.wp-block-button__link:hover,.has-card-image:hover .page-card-image img{transform:none}
}
