/* Compact presentation rhythm and consistent card insets. */
:root{--accent:#937652;--line:#d7cec0;--muted:#505968}
.hero{padding:24px 0 34px}
.hero-grid{gap:38px}
.hero-copy{padding:0}
.hero h1{font-size:clamp(44px,4.6vw,66px);margin-bottom:20px}
.lead{line-height:1.7;margin-bottom:24px}
.eyebrow{font-size:11px;letter-spacing:.11em;margin-bottom:14px;font-weight:700}
.hero-foot{margin-top:24px}
.hero-portrait{height:480px;max-width:490px}
.portrait-main{height:465px}
.portrait-secondary{height:355px;margin-bottom:26px}
.portrait-caption{padding:14px 17px;border:1px solid #ded5c8}
.hero-stamp{background:#1e2a44;color:#fff;padding:13px 18px}
.hero-stamp strong{color:#ead7b9;font-size:26px}
.hero-editorial{padding:32px 0 28px}
.editorial-heading{gap:40px}
.editorial-heading h1{font-size:58px}
.editorial-heading .lead{margin-bottom:20px}
.section,.section.compact,.booking-section{padding:38px 0}
.section h2,.h2{font-size:clamp(33px,3vw,43px);line-height:1.18;margin-bottom:16px}
.headrow{margin-bottom:24px;gap:28px}
.headrow h2{margin-bottom:0}
.headrow .sub{margin-top:12px}
.grid2,.grid3,.grid4,.case-grid{gap:20px}
.card{padding:26px;border-color:#d7cec0;border-radius:10px}
.card h3{font-weight:600}
.card .eyebrow{margin-bottom:12px}
.card p{line-height:1.7}
.num{margin-bottom:16px}
.split{gap:30px}
.split .quote{font-size:30px;line-height:1.35;margin-bottom:18px}
.bullet-list{margin-top:18px}
.bullet-list li{padding-top:10px;padding-bottom:10px}

/* Steps remain padded even when the surrounding grid is stretched. */
.section:has(.step){counter-reset:step}
.steps{gap:16px;align-content:start;align-items:stretch}
.card.step,.step{padding:23px 24px;min-height:0;border:1px solid #d7cec0;border-radius:10px;background:#fffdfa}
.step:before{display:inline-flex;align-items:center;justify-content:center;width:38px;height:30px;margin-bottom:16px;border-radius:4px;background:#ece1cf;color:#715636;font-size:12px;font-weight:700;line-height:1}
.step h3{font-size:19px;margin-bottom:10px;color:#1e2a44}
.step p{font-size:14px;line-height:1.65;color:#505968}
.treatment-plan{align-items:start;gap:28px}
.treatment-plan>.card{padding:28px;background:#ece6db!important;border-radius:10px}
.treatment-plan>.card .quote{font-size:29px}
.treatment-plan>.card .bullet-list{margin-top:16px}
.notice{padding:18px 22px;margin-top:20px;border-left:4px solid #937652;background:#ece4d6;line-height:1.7}

/* Visible service choices and prices. */
.direction-list{background:#fffdfa;border:1px solid #d7cec0;border-radius:10px;overflow:hidden}
.direction-row{padding:22px 24px;gap:20px}
.direction-row:last-child{border-bottom:0}
.direction-row h3{font-size:32px}
.problem-menu,.service-menu{gap:18px}
.problem-menu .card,.service-menu .card{background:#fffdfa!important;border:1px solid #d7cec0;border-radius:10px;padding:24px}
.problem-menu .card h3{font-size:19px}
.service-menu h3{font-size:26px;line-height:1.25}
.service-menu .card .more{padding-top:18px}
.service-menu .card.dark{background:#1e2a44!important;border-color:#1e2a44}
.problem-link:after{margin-top:16px}
.care-feature{gap:48px}
.care-photo{height:390px}
.care-feature p:not(.eyebrow){font-size:15px;margin-bottom:20px}
.photo-card{min-height:320px}
.implant-equipment{height:340px;min-height:0}
.implant-plan-card{padding:0;border:0;background:transparent!important}
.implant-plan-card .quote{font-size:31px}
.price-group{background:#fffdfa;border:1px solid #d7cec0;border-radius:10px;padding:4px 22px}
.price-row{padding:16px 0;gap:22px}
.price-row:first-child{border-top:0}
.price-row:last-child{border-bottom:0}
.price-row b{font-size:16px;font-weight:600}
.price-row span{font-size:25px;font-weight:500;padding:7px 15px;background:#ece2d2;border-radius:5px;color:#1e2a44}
.price-intro{gap:20px;margin-bottom:26px}
.price-intro h2{font-size:29px}
.price-intro .card{background:#ece6db}
.price-tabs{margin-bottom:18px}
.faq{max-width:1100px}
.faq details{background:#fffdfa;border:1px solid #d7cec0;border-radius:8px;margin-bottom:10px}
.faq details:last-child{margin-bottom:0}
.faq summary{padding:19px 54px 19px 23px;font-size:16px;font-weight:600}
.faq summary:after{right:23px;top:15px;color:#715636}
.faq p{padding:0 54px 21px 23px;max-width:960px}
.program-row{padding:24px 0;gap:24px}
.program-row h3{font-size:36px}
.program-row p:last-child{margin-bottom:0}
.spa-index{padding:26px 32px}
.spa-index a{padding:18px 0}
.spa-index b{font-size:35px}

/* Team cards and personal profiles. */
.doctor-grid{gap:26px 22px}
.doctor-photo{height:325px}
.compact-doctors .doctor-photo{height:285px}
.doctor-info{padding-top:18px}
.doctor-card h3{font-size:26px;margin-bottom:12px}
.doctor-info .small-label{min-height:0;margin-bottom:10px}
.doctor-card p:not(.small-label){margin-top:12px;font-size:14px}
.doctor-actions{margin-top:12px}
.chips span,.chip{background:#ece5d9;border-color:#e0d4c1;color:#594d3d}
.text-doctor{padding:25px;background:#ece6db;border:1px solid #d7cec0}
.doctor-profile .hero h1{font-size:clamp(38px,4.25vw,61px)}
.profile-chips{margin:18px 0 16px}
.compact-doctors:has(>.doctor-card:only-child){grid-template-columns:1fr}
.compact-doctors:has(>.doctor-card:nth-child(2)):not(:has(>.doctor-card:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}
.compact-doctors:not(:has(>.doctor-card:nth-child(3)))>.doctor-card{display:grid;grid-template-columns:38% minmax(0,1fr);gap:24px;padding:20px;border:1px solid #d7cec0;border-radius:12px;background:#fffdfa;align-items:start}
.compact-doctors:not(:has(>.doctor-card:nth-child(3))) .doctor-info{padding-top:4px}
.compact-doctors:not(:has(>.doctor-card:nth-child(3))) .doctor-photo{height:300px}
.compact-doctors:not(:has(>.doctor-card:nth-child(3))) .doctor-card h3{font-size:25px}
.compact-doctors>.doctor-card:only-child{grid-template-columns:280px minmax(0,1fr);gap:34px}
.compact-doctors>.doctor-card:only-child .doctor-info{max-width:720px}
.case-grid:has(>.case-card:only-child){grid-template-columns:1fr}
.profile-editorial{min-height:440px;padding:35px}
.profile-specialties{gap:14px;margin:16px 0 20px}
.profile-specialties span{font-size:37px}
.profile-editorial-note{font-size:15px;margin-bottom:0}
.profile-location{margin-top:26px}
.profile-scope-grid{gap:18px}
.profile-scope-item{padding:24px;background:#f1ece3;border:1px solid #d7cec0;border-radius:10px}
.profile-scope-item .num{font-size:13px;font-family:Manrope,Arial,sans-serif;margin-bottom:15px;color:#937652}
.profile-scope-item h3{font-size:27px;margin:0 0 12px}
.profile-scope-item p{font-size:14px;line-height:1.7;margin:0}
.profile-related{gap:40px;align-items:start}
.profile-related>div>p:not(.eyebrow){margin-bottom:18px}
.profile-related-link{padding:20px 22px;border:1px solid #d7cec0;border-radius:8px;background:#fffdfa;margin-bottom:12px}
.profile-related-link>span:first-child{font-size:25px}
.profile-related-link:last-child{margin-bottom:0}
.case-media{height:325px}
.case-body{padding:18px 0 0}
.case-body h3{font-size:27px}
.clinical-disclosure summary{padding:21px 23px}
.review{padding:22px 0}
.review small{margin-top:14px}
.clinic-equipment{padding:22px;min-height:320px}
.clinic-equipment img{height:285px}
.tech-row{padding:18px 0;gap:25px}
.contact-grid{gap:30px}
.address-panel{padding:34px;min-height:330px}
.address-panel h3{font-size:39px;margin-bottom:20px}
.booking-copy,.booking-online{padding:34px 38px}
.booking-copy h2{font-size:48px;margin-bottom:20px}
.booking-copy>p:not(.eyebrow){margin-bottom:0}
.booking-online h3{font-size:33px;margin-bottom:16px}
.booking-online .form-fallback{margin-top:20px}
.booking-online .privacy-note{margin-top:17px}
.booking-phone{margin:24px 0 18px}
.footer{padding:34px 0 22px}
.footer img{margin-bottom:18px}
.footer h4{margin-bottom:14px}
.footer a,.footer p{margin:7px 0}
.legal{margin-top:24px;padding-top:16px}
.legal p,.legal a{margin:6px 0}

@media(max-width:1020px){
 .hero h1{font-size:49px}.hero-grid{gap:28px}.hero-portrait{height:430px}.portrait-main{height:405px}.portrait-secondary{height:310px}
 .section h2{font-size:36px}.card.step,.step{padding:21px}.treatment-plan>.card{padding:24px}.split{gap:24px}
 .care-feature{gap:30px}.profile-scope-item{padding:20px}.profile-scope-item h3{font-size:23px}.profile-related{gap:25px}
 .doctor-profile .hero h1{font-size:49px}.booking-copy,.booking-online{padding:30px}.booking-copy h2{font-size:43px}
 .compact-doctors:not(:has(>.doctor-card:nth-child(3)))>.doctor-card{grid-template-columns:1fr;gap:15px}.compact-doctors>.doctor-card:only-child{grid-template-columns:240px minmax(0,1fr)}
}
@media(max-width:760px){
 .hero{padding:26px 0 28px}.hero-grid{gap:26px}.hero-portrait{height:450px}.portrait-main{height:410px}.portrait-secondary{height:320px}
 .hero h1,.editorial-heading h1{font-size:47px}.hero .lead{font-size:15px}.hero-foot{margin-top:20px}
 .section,.section.compact,.booking-section{padding:30px 0}.section h2{font-size:34px}.headrow{margin-bottom:22px}
 .headrow>.btn{margin-top:16px}.headrow .sub{margin-top:14px}.card{padding:23px}.card.step,.step{padding:23px}
 .treatment-plan{gap:20px}.treatment-plan>.card{padding:24px}.steps{gap:16px}.step h3{font-size:19px}.step p{font-size:14px}
 .direction-row{padding:21px 19px;gap:8px 14px}.direction-row h3{font-size:29px}.care-photo{height:380px}
 .care-feature{gap:25px}.service-menu .card,.problem-menu .card{padding:23px}.service-menu,.problem-menu{gap:16px}
 .implant-equipment{height:300px}.doctor-photo,.compact-doctors .doctor-photo{height:295px}.doctor-card h3{font-size:23px}
 .profile-related{gap:24px}.profile-editorial{min-height:340px;padding:30px}.profile-specialties span{font-size:33px}
 .price-intro{gap:18px}.price-row span{font-size:23px}.price-group{padding:3px 19px}.faq summary{font-size:15px;padding-left:20px}.faq p{padding-left:20px}
 .case-media{height:290px}.clinic-equipment img{height:255px}.address-panel{min-height:290px;padding:28px}
 .booking-copy,.booking-online{padding:29px}.booking-copy h2{font-size:43px}.footer{padding:30px 0 22px}
}
@media(max-width:460px){
 .hero h1,.editorial-heading h1,.page-doctor-turaev .hero h1{font-size:41px}.doctor-profile .hero h1{font-size:38px}
 .page-hygiene-whitening .hero h1{font-size:38px}.hero-portrait{height:390px}.portrait-main{height:330px}.portrait-secondary{height:265px;margin-bottom:18px}
 .hero-stamp strong{font-size:23px}.section h2{font-size:32px}.steps{grid-template-columns:1fr}.card.step,.step{padding:23px}
 .step:before{margin-bottom:14px}.direction-row{padding:20px 15px;grid-template-columns:25px 1fr 22px;gap:8px 10px}.direction-row h3{font-size:27px}
 .doctor-photo,.compact-doctors .doctor-photo{height:350px}.doctor-card h3{font-size:28px}.doctor-grid{gap:26px}
 .profile-scope-item{padding:23px}.profile-scope-item h3{font-size:27px}.profile-scope-grid{gap:15px}
 .profile-related-link{padding:18px}.profile-related-link>span:first-child{font-size:23px}.profile-related-link>span:last-child{font-size:10px}
 .price-row{gap:11px;padding:17px 0}.price-row span{justify-self:start;font-size:24px}.price-row b{font-size:14px}
 .faq summary{padding-right:45px}.faq p{padding-right:25px}.case-media{height:275px}.care-photo{height:340px}
 .booking-copy{padding:29px 25px}.booking-online{padding:27px 23px}.booking-copy h2{font-size:42px}.booking-online h3{font-size:30px}
 .compact-doctors:has(>.doctor-card:nth-child(2)):not(:has(>.doctor-card:nth-child(3))){grid-template-columns:1fr}.compact-doctors>.doctor-card:only-child{grid-template-columns:1fr;gap:15px}
 .compact-doctors:not(:has(>.doctor-card:nth-child(3))) .doctor-photo{height:350px}.compact-doctors:not(:has(>.doctor-card:nth-child(3))) .doctor-card h3{font-size:27px}
}
