:root{--premium-ink:#183e45;--premium-teal:#0c777b;--premium-line:#d6e4e2}
body{color:var(--premium-ink)}
.header{background:rgba(255,255,255,.97);border-bottom:1px solid #e5eeec}
.header-inner{min-height:96px}
.header-phone{box-shadow:0 4px 0 rgba(11,104,108,.06);border-radius:9px}
.hero-premium{position:relative;padding:55px 0 0;background:linear-gradient(120deg,#f9fcfb 0%,#f9fcfb 55%,#edf6f3 100%);overflow:hidden}
.premium-grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(310px,.85fr);gap:90px;align-items:center}
.premium-copy{padding:10px 0 18px}
.premium-kicker{font-family:Montserrat,sans-serif;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:9px;margin:0 0 23px;color:#577777}
.premium-kicker>span{width:7px;height:7px;border-radius:50%;background:#168486;flex-shrink:0}
.hero-premium h1{font-family:Raleway,sans-serif;font-size:clamp(42px,4.1vw,60px);line-height:1.11;letter-spacing:-.04em;font-weight:600;color:#183e45;margin:0 0 25px}
.hero-premium h1>span{color:#0c777b;font-size:1em;font-weight:500}
.premium-intro{font-size:18px;line-height:1.65;color:#2c5159;margin:0 0 15px;max-width:570px}
.premium-description{font-size:15px;line-height:1.85;color:#617b80;margin:0;max-width:540px}
.premium-actions{display:flex;gap:25px;align-items:center;margin-top:27px}
.premium-actions .button{padding:18px 24px;font-size:13px;min-height:59px;box-shadow:0 5px 0 #075d61,0 12px 24px #0c777b18;transition:transform .18s,box-shadow .18s}
.premium-actions .button:hover{transform:translateY(-2px);box-shadow:0 7px 0 #075d61,0 15px 24px #0c777b20}
.premium-actions .button:active{transform:translateY(2px);box-shadow:0 2px 0 #075d61}
.premium-call{display:flex;flex-direction:column;gap:5px;white-space:nowrap;color:#0c646a}
.premium-call small{font-size:11px;font-weight:500;letter-spacing:.015em}
.premium-call strong{font-family:Montserrat,sans-serif;font-size:19px;letter-spacing:-.045em;line-height:1.4}
.premium-call:hover strong{text-decoration:underline;text-underline-offset:4px}
.premium-price{display:flex;align-items:center;justify-content:space-between;max-width:480px;margin-top:29px;padding:24px 0 21px;border-top:1px solid var(--premium-line);border-bottom:1px solid var(--premium-line);gap:20px}
.premium-price>div>span{font-size:12px;color:#617b80}
.premium-price p{display:flex;align-items:center;gap:13px;margin:7px 0 0}
.premium-price strong{font-family:Montserrat,sans-serif;font-weight:500;letter-spacing:-.05em;font-size:29px;line-height:1}
.premium-price del{font-family:Montserrat,sans-serif;font-size:13px;color:#73888b}
.premium-price em{font-family:Montserrat,sans-serif;font-style:normal;font-size:11px;font-weight:600;color:#0a7277;background:#e0f1eb;border-radius:4px;padding:5px 6px}
.premium-price .terms-link{font-size:11px;line-height:1.6;max-width:110px;text-align:left}
.premium-location{display:flex;gap:10px;align-items:center;margin-top:19px;color:#3f6269;font-size:13px;line-height:1.5}
.premium-location>span:first-child{font-size:28px;color:#0c777b}
.premium-location small{display:block;font-size:11px;color:#6a8287;margin-top:3px}
.doctor-scene{perspective:1200px;position:relative;padding:0 0 20px}
.doctor-scene::before{content:"";position:absolute;inset:11% -15% 12%;background:radial-gradient(ellipse,#bddcd033,transparent 68%);border-radius:50%;pointer-events:none}
.doctor-card{--rx:0deg;--ry:0deg;transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .32s ease;position:relative;background:linear-gradient(145deg,#fff,#fbfdfc);border:1px solid #fff;border-radius:17px;padding:24px 28px 23px;box-shadow:0 30px 55px -35px #315a5966,0 7px 0 -3px #dceae6,0 12px 0 -5px #eef5f2}
.doctor-card-top{display:flex;justify-content:space-between;align-items:center;color:#6b8386;font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.doctor-card-top img{width:48px;height:auto}
.doctor-photo-mat{display:flex;justify-content:center;padding:18px 0 20px}
.doctor-card .doctor-photo{width:280px;height:auto;aspect-ratio:1;max-width:100%;object-fit:contain;object-position:center;border-radius:7px;box-shadow:0 9px 24px #244f4612}
.doctor-card-name{font-size:20px;line-height:1.45;margin:0;color:#34575d;text-align:center}
.doctor-card-name strong{font-size:32px;letter-spacing:-.035em;font-weight:600;color:#153c43}
.doctor-card-role{font-size:12px;line-height:1.8;text-align:center;color:#698084;margin:10px 0 21px}
.doctor-card-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #dce8e4;padding-top:20px;text-align:center}
.doctor-card-facts>div+div{border-left:1px solid #dce8e4}
.doctor-card-facts strong{display:block;font-family:Montserrat,sans-serif;font-size:17px;font-weight:500;color:#19535a}
.doctor-card-facts span{display:block;font-size:11px;color:#71858a;margin-top:6px}
.scene-note{display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#66827f;letter-spacing:.015em;margin-top:24px}
.scene-note>span{width:5px;height:5px;background:#328579;border-radius:50%}
.premium-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:45px;padding-top:25px;padding-bottom:27px;border-top:1px solid #dbe7e2}
.premium-trust>div+div{border-left:1px solid #dbe7e2;padding-left:32px}
.premium-trust span{font-size:13px;font-weight:600;color:#284e55}
.premium-trust p{font-size:12px;line-height:1.7;color:#708589;margin:6px 0 0}
.section{padding-top:88px;padding-bottom:88px}
.section-heading h2,.doctor-section h2,.appointment-v2 h2{font-weight:500;letter-spacing:-.035em}
.topic-nav a{border-radius:5px;background:#fff;border-color:#dbe6e3;font-size:12px}
.visual-topic{border:1px solid #e2ebe8;border-radius:13px;overflow:hidden;box-shadow:0 9px 22px -19px #183e454d}
.visual-topic img{height:230px}
.visual-topic-content{padding:30px 32px}
.visual-topic h3{font-weight:500;letter-spacing:-.03em}
.visual-topic p{color:#617b80}
.doctor-section{background:#183f44}
.doctor-section .doctor-seal{opacity:.8}
.doctor-tenure strong{font-weight:500}
.education>div{border-color:#ffffff24}
.steps article{background:transparent;border-top:1px solid #dbe5e2;border-radius:0;box-shadow:none;padding:25px 0 0}
.step-number{font-family:Montserrat,sans-serif;font-size:15px;color:#54988f;background:transparent;padding:0;width:auto;height:auto;display:block;border:none;border-radius:0}
.steps h3{font-weight:500;font-size:23px;letter-spacing:-.025em;margin-top:22px}
.reputation-section{padding-top:0;padding-bottom:80px}
.reputation-inner{border-radius:12px;box-shadow:none;background:#f4f8f7;border:1px solid #e1eae6}
.reputation-copy h2{font-weight:500}
.reputation-copy p{font-size:14px}
.reputation-inner .button{font-size:11px;padding-inline:16px}
.appointment-section{background:#eff6f3}
.booking-card{border-radius:15px;border-color:#e1ebe7;box-shadow:0 23px 50px -28px #416f6866,0 5px 0 -1px #d8e7e1}
.booking-card h3{font-weight:500;letter-spacing:-.035em}
.booking-card .button-primary{box-shadow:0 4px 0 #075d61;transition:transform .18s,box-shadow .18s}
.booking-card .button-primary:active{transform:translateY(2px);box-shadow:0 2px 0 #075d61}
.large-offer{background:#ffffff80;border-radius:9px;border:1px solid #dde8e3}
.large-offer strong{font-weight:500}
.appointment-phone{font-family:Montserrat,sans-serif;font-weight:600;font-size:27px;color:#0b7077}
.faq-list details{border-color:#dde8e3}
.faq-list summary{font-weight:500}
.contact-phone{color:#086f75!important;font-family:Montserrat,sans-serif;font-weight:600}
@media(min-width:1450px){.premium-grid{gap:115px}}
@media(max-width:1150px){.premium-grid{gap:55px;grid-template-columns:minmax(0,1.2fr) minmax(290px,.9fr)}.hero-premium h1{font-size:48px}.premium-actions{align-items:flex-start;flex-direction:column;gap:20px}.premium-call{flex-direction:row;align-items:center;gap:17px}.premium-call small{max-width:90px;line-height:1.5;white-space:normal}.premium-call strong{font-size:20px}.doctor-card{padding:22px}.premium-trust{gap:20px}.premium-trust>div+div{padding-left:20px}.header-inner{min-height:88px}.section{padding-top:70px;padding-bottom:70px}}
@media(max-width:900px){.premium-grid{gap:32px;grid-template-columns:minmax(0,1.15fr) minmax(265px,.9fr)}.hero-premium{padding-top:35px}.hero-premium h1{font-size:41px}.premium-intro{font-size:16px}.premium-description{font-size:14px}.premium-kicker{font-size:10px;letter-spacing:.055em}.premium-price{gap:12px}.premium-price .terms-link{max-width:81px;font-size:10px}.premium-location{font-size:12px}.premium-location small{font-size:10px}.doctor-card{padding:20px}.doctor-card .doctor-photo{width:250px;height:auto}.doctor-card-name{font-size:17px}.doctor-card-name strong{font-size:28px}.scene-note{font-size:9px}.premium-trust span{font-size:12px}.premium-trust p{font-size:11px}}
@media(max-width:680px){.hero-premium{padding-top:25px}.premium-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}.premium-copy{padding:0}.hero-premium h1{font-size:43px;line-height:1.1;margin-bottom:22px}.premium-kicker{font-size:9px;margin-bottom:20px;letter-spacing:.06em}.premium-intro{font-size:16px;line-height:1.7}.premium-description{font-size:14px;line-height:1.8}.premium-actions{gap:19px;margin-top:25px}.premium-actions .button{width:100%;justify-content:space-between;font-size:13px;min-height:58px}.premium-call{justify-content:space-between;width:100%;padding:8px 0}.premium-call small{font-size:11px;max-width:100px}.premium-call strong{font-size:22px}.premium-price{margin-top:20px;padding:21px 0;max-width:none}.premium-price strong{font-size:31px}.premium-price .terms-link{max-width:95px;font-size:11px}.premium-price>div>span{font-size:11px}.premium-location{font-size:12px;margin-top:18px}.premium-location small{font-size:10px}.doctor-scene{width:100%;max-width:365px;margin:0 auto;padding:0}.doctor-card{padding:21px 25px}.doctor-card .doctor-photo{width:250px;height:auto}.doctor-card-top{font-size:10px}.doctor-card-name{font-size:19px}.doctor-card-name strong{font-size:30px}.doctor-card-facts strong{font-size:17px}.scene-note{font-size:10px;margin-top:20px}.premium-trust{grid-template-columns:1fr;gap:17px;margin-top:27px;padding:23px 0}.premium-trust>div+div{border-left:0;padding-left:0}.premium-trust>div{display:grid;grid-template-columns:1fr 1.2fr;gap:15px;align-items:start}.premium-trust span{font-size:12px;line-height:1.6}.premium-trust p{font-size:11px;margin:0;line-height:1.7}.section{padding-top:56px;padding-bottom:56px}.visual-topic-content{padding:24px}.reputation-section{padding-bottom:55px}.appointment-phone{font-size:24px}.header-inner{min-height:80px}.hero-premium h1>span{font-size:1em}.reputation-inner{gap:20px}}
@media(max-width:370px){.hero-premium h1{font-size:37px}.premium-call strong{font-size:19px}.premium-intro{font-size:15px}.premium-description{font-size:13px}.premium-actions .button{font-size:12px}.premium-kicker{font-size:8px}.doctor-card{padding:20px}.premium-price strong{font-size:28px}.premium-price del{font-size:12px}.premium-price p{gap:10px}.premium-trust>div{grid-template-columns:1fr 1.1fr}.premium-trust span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.doctor-card,.premium-actions .button,.booking-card .button-primary{transition:none!important;transform:none!important}.doctor-card *{transform:none!important}}
@media(hover:none){.doctor-card{transform:none!important}}

/* A visitor who selects booking should reach the form in the first screen. */
.funnel-read-link{display:inline-flex;align-items:center;gap:10px;margin-top:13px;color:var(--premium-teal);font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}
.funnel-read-link:focus-visible{outline:2px solid var(--premium-teal);outline-offset:5px}
#booking-request{scroll-margin-top:110px}
@media(max-width:680px){
 .appointment-grid>.booking-card{order:-1}
 .appointment-grid>.appointment-copy{order:0;padding-top:5px}
 .appointment-section{padding-top:25px}
 #booking-request{scroll-margin-top:100px}
}

/* Desired appointment details are a request, not a confirmed available slot. */
.booking-datetime{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:20px}
.booking-datetime>div{min-width:0}
.booking-datetime label{font-size:13px}
.booking-datetime input{display:block;width:100%;min-width:0;min-height:52px;box-sizing:border-box}
.booking-datetime-note{font-size:12px;line-height:1.6;color:#617b80;margin:10px 0 18px}
@media(max-width:370px){.booking-datetime{grid-template-columns:1fr;gap:12px}}
