:root{--ink:#201d1a;--muted:#716a62;--paper:#f8f5ef;--white:#fffefa;--gold:#ae8d59;--gold-dark:#7c5d30;--gold-pale:#e8dcc7;--line:rgba(70,54,35,.15);--dark:#20201e;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans);overflow-x:hidden}body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:radial-gradient(rgba(137,104,60,.1) .55px,transparent .7px);background-size:7px 7px;opacity:.27}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip-link{position:fixed;z-index:100;top:-60px;left:18px;background:var(--dark);padding:9px 13px;color:#fff}.skip-link:focus{top:18px}.announcement{display:none}.site-header{height:88px;display:flex;align-items:center;gap:34px;padding:0 clamp(21px,5vw,92px);position:sticky;top:0;z-index:20;border-bottom:1px solid transparent;transition:.3s background,.3s border,.3s height;background:rgba(248,245,239,.78);backdrop-filter:blur(16px)}.site-header.is-scrolled{height:72px;background:rgba(255,254,250,.93);border-color:var(--line);box-shadow:0 10px 35px rgba(38,29,17,.05)}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}.brand svg{width:30px;height:33px;fill:none;stroke:var(--gold);stroke-width:1.3}.brand strong{font:600 18px/1 var(--serif);letter-spacing:3.4px}.brand small{display:block;font-size:6.5px;font-weight:700;letter-spacing:1.8px;color:#776f66;margin-top:4px}.main-nav{display:flex;align-items:center;gap:27px;margin-left:auto}.main-nav a,.phone-link{position:relative;color:#544d46;font-size:11px;font-weight:600}.main-nav a::after{content:"";height:1px;width:0;position:absolute;left:0;bottom:-7px;background:var(--gold);transition:width .25s}.main-nav a:hover::after{width:100%}.header-actions{display:flex;gap:20px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--gold);border-radius:0;padding:14px 19px;box-shadow:inset 0 0 0 0 var(--dark);background:var(--gold);color:#fff;font-size:11px;font-weight:700;letter-spacing:.15px;cursor:pointer;transition:.3s color,.3s box-shadow,.3s transform}.button:hover{color:#fff;box-shadow:inset 300px 0 0 var(--dark);transform:translateY(-3px)}.button-small{padding:11px 17px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:calc(100vh - 88px);max-width:1660px;margin:0 auto;padding:clamp(22px,3vw,52px) clamp(20px,4vw,75px) clamp(34px,4vw,65px);gap:clamp(30px,5vw,90px)}.hero::before{content:"";position:absolute;width:46vw;height:46vw;border-radius:50%;top:-34vw;left:-15vw;background:var(--gold-pale);opacity:.33;z-index:-1}.hero-copy{align-self:center;position:relative;padding:30px 0 20px}.eyebrow{margin:0 0 15px;color:var(--gold-dark);font-size:9px;font-weight:700;letter-spacing:2.25px}.hero h1,h2{margin:0;font:600 clamp(47px,5vw,84px)/.95 var(--serif);letter-spacing:-3.8px}.hero h1 em,h2 em{color:var(--gold);font-weight:500}.hero-lede{max-width:455px;margin:27px 0;color:var(--muted);font-size:14px;line-height:1.75}.hero-actions{display:flex;gap:25px;align-items:center}.text-link,.link-button{position:relative;background:none;border:0;padding:7px 0;color:#453e37;font-size:11px;font-weight:600;cursor:pointer}.text-link::after,.link-button::after{content:"";position:absolute;height:1px;left:0;bottom:2px;width:100%;background:var(--gold);transform-origin:left;transition:transform .3s}.text-link:hover::after,.link-button:hover::after{transform:scaleX(.38)}.text-link span,.link-button span{font-size:17px;margin-left:7px;color:var(--gold-dark)}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);max-width:440px;margin:52px 0 0;padding:19px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.hero-metrics li{display:flex;gap:8px;align-items:center;border-right:1px solid var(--line);padding-left:11px}.hero-metrics li:first-child{padding-left:0}.hero-metrics li:last-child{border:0}.hero-metrics strong{font:500 27px var(--serif);color:var(--gold-dark)}.hero-metrics span{font-size:9px;line-height:1.25;color:var(--muted)}.hero-visual{position:relative;min-height:570px;align-self:stretch}.hero-visual::before{content:"";position:absolute;inset:8% 2% 3% 14%;border:1px solid var(--gold);transform:translate(17px,-17px);opacity:.7}.hero-image{position:absolute;inset:0 8% 8% 8%;overflow:hidden;background:var(--gold-pale);clip-path:polygon(12% 0,100% 0,100% 83%,86% 100%,0 100%,0 13%);animation:imageBreath 8s ease-in-out infinite alternate}.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(174,141,89,.26),transparent 42%);mix-blend-mode:multiply}.hero-orbit{position:absolute;border:1px solid var(--gold);border-radius:50%;z-index:2;pointer-events:none}.hero-orbit-one{width:95px;height:95px;top:11%;left:0;animation:orbit 8s linear infinite}.hero-orbit-two{width:42px;height:42px;right:1%;bottom:13%;border-color:#fff;background:var(--gold);animation:orbit 6s linear infinite reverse}.hero-serial{position:absolute;right:-10px;top:10%;z-index:2;color:var(--gold-dark);font:600 10px var(--sans);letter-spacing:3px;writing-mode:vertical-rl}.doctor-card{position:absolute;z-index:3;right:0;bottom:0;display:flex;align-items:center;gap:11px;width:min(390px,80%);padding:14px 15px;background:rgba(255,254,250,.93);border-left:3px solid var(--gold);box-shadow:0 16px 33px rgba(30,22,12,.13);backdrop-filter:blur(7px)}.avatar{display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px;border-radius:50%;border:1px solid var(--gold);color:var(--gold-dark);font:600 10px var(--serif)}.doctor-card p{margin:0;line-height:1.2}.doctor-card strong{font:600 12px var(--serif)}.doctor-card small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.verified{display:grid;place-items:center;margin-left:auto;width:17px;height:17px;border-radius:50%;background:var(--gold);color:#fff;font-size:10px}.hero-side-label{position:absolute;bottom:2px;left:-10px;color:#70685f;font-size:8px;font-weight:700;letter-spacing:2px;line-height:1.7;writing-mode:vertical-rl;transform:rotate(180deg)}.section{max-width:1660px;margin:auto;padding:clamp(82px,10vw,150px) clamp(21px,5.5vw,92px)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section h2{font-size:clamp(39px,4.4vw,66px)}.section-heading>div>p:not(.eyebrow){max-width:490px;color:var(--muted);font-size:13px;margin:12px 0 0}.section-note{position:relative;margin:0;color:var(--gold-dark);font:500 15px/1.4 var(--serif);text-align:right}.section-note::before{content:"";display:block;width:43px;height:1px;margin:0 0 9px auto;background:var(--gold)}.service-grid{counter-reset:service;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:12px}.service-card{counter-increment:service;position:relative;display:flex;flex-direction:column;justify-content:flex-end;grid-column:span 4;padding:20px;border:1px solid var(--line);background:rgba(255,254,250,.55);overflow:hidden;isolation:isolate;transition:.35s transform,.35s background,.35s color,.35s border}.service-card::before{content:"0" counter(service);position:absolute;right:15px;top:13px;z-index:-1;color:var(--gold);font:500 42px/.9 var(--serif);opacity:.25;transition:.35s color,.35s opacity}.service-card::after{content:"";position:absolute;inset:auto -10% -90% auto;width:160px;height:160px;border-radius:50%;background:var(--gold);z-index:-2;transition:.45s bottom,.45s right}.service-card:nth-child(2),.service-card:nth-child(5){grid-column:span 5}.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(6){grid-column:span 3}.service-card:hover{border-color:var(--gold);color:#fff;transform:translateY(-6px)}.service-card:hover::before{color:white;opacity:.3}.service-card:hover::after{right:-40px;bottom:-40px}.service-icon{display:none}.service-card h3{margin:0 0 4px;font:600 17px var(--serif)}.service-card p{max-width:250px;margin:0;color:var(--muted);font-size:11px;line-height:1.45;transition:color .3s}.service-card:hover p{color:#f5ecdf}.service-cta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:12px;padding:23px 27px;overflow:hidden;color:#fff;background:var(--dark)}.service-cta::after{content:"D";position:absolute;right:28px;top:-38px;color:var(--gold);font:500 130px var(--serif);opacity:.24}.service-cta .eyebrow{color:#e9d7b8;margin:0 0 4px}.service-cta h3{margin:0;font:500 17px var(--serif)}.service-cta .link-button{z-index:1;color:#fff}.service-cta .link-button::after{background:#fff}.service-cta .link-button span{color:#dfbd85}.section-tint{max-width:none;position:relative;background:#eee8dc}.section-tint::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 40%,rgba(255,255,255,.68),transparent 22%),radial-gradient(circle at 6% 90%,rgba(174,141,89,.22),transparent 17%);pointer-events:none}.specialists,.reviews{padding-left:max(21px,calc((100vw - 1476px)/2));padding-right:max(21px,calc((100vw - 1476px)/2))}.section-tint .section-heading,.team-grid,.reviews-intro,.review-grid{position:relative;z-index:1}.team-control{display:flex;align-items:center;gap:10px;color:var(--gold-dark);font-size:10px}.team-control i{height:1px;width:85px;background:var(--gold-dark)}.team-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px}.doctor-profile{background:var(--white);border-top:2px solid var(--gold);box-shadow:0 20px 45px rgba(40,30,18,.06)}.doctor-featured{display:grid;grid-template-columns:35% 1fr}.profile-photo{position:relative;min-height:440px;display:flex;align-items:flex-end;padding:23px;overflow:hidden;color:#fff;background:var(--dark)}.profile-photo::after{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.55);pointer-events:none}.profile-photo span{z-index:1;font:500 11px/1.45 var(--serif);letter-spacing:2px}.profile-copy{padding:35px}.badge{display:inline-block;margin:0 0 13px;padding:4px 10px;background:var(--gold-pale);color:var(--gold-dark);font-size:9px}.doctor-profile h3{margin:0 0 13px;font:600 clamp(25px,2.5vw,37px)/1.03 var(--serif);letter-spacing:-1.2px}.doctor-profile>p:not(.badge),.profile-copy>p:not(.badge){max-width:445px;margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.6}.doctor-secondary{align-self:start;margin-top:58px;padding:31px}.doctor-secondary::after{content:"DENTIA";display:block;margin-top:32px;color:var(--gold);font:500 11px var(--serif);letter-spacing:4px}dl{margin:0}dl div{padding:11px 0;border-top:1px solid var(--line)}dt{margin-bottom:4px;color:var(--gold-dark);font-size:8px;font-weight:700;letter-spacing:1.7px;text-transform:uppercase}dd{margin:0;color:#575049;font-size:10px;line-height:1.5}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:13px;height:440px}.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:var(--dark)}.gallery-grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(17,14,10,.75));transition:.3s}.gallery-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) sepia(.1);transition:.6s transform,.4s filter}.gallery-grid figure:hover img{transform:scale(1.06);filter:saturate(1) sepia(0)}.gallery-grid figcaption{position:absolute;z-index:1;bottom:0;left:0;right:0;display:flex;align-items:baseline;gap:13px;padding:19px;color:#fff;font:500 17px var(--serif)}.gallery-grid figcaption span{font:600 9px var(--sans);letter-spacing:1px;color:#ead5b5}.reviews{text-align:center}.reviews-intro h2{font-size:clamp(37px,4vw,60px)}.rating{display:flex;align-items:center;justify-content:center;gap:12px;margin:23px 0 37px}.rating strong{font:500 32px var(--serif)}.rating span{color:#c18d29;letter-spacing:2px;font-size:13px;line-height:1}.rating small{display:block;margin-top:6px;color:var(--muted);font-size:9px;letter-spacing:0}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;text-align:left}.review{position:relative;min-height:218px;padding:25px;background:var(--white);border:1px solid rgba(89,72,48,.1);transition:.3s transform,.3s box-shadow}.review:hover{transform:translateY(-6px);box-shadow:0 19px 35px rgba(67,47,21,.08)}.quote{position:absolute;right:19px;top:20px;margin:0;color:var(--gold-pale);font:600 72px/.5 var(--serif)}.review>p:not(.quote){position:relative;z-index:1;max-width:300px;margin:11px 0;color:#58514a;font-size:12px;line-height:1.65}.review footer{position:absolute;left:25px;bottom:22px}.review footer strong,.review footer span{display:block}.review footer strong{font:600 12px var(--serif)}.review footer span{color:var(--muted);font-size:9px;margin-top:3px}.contact{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:clamp(30px,6vw,95px)}.contact h2{font-size:clamp(40px,4.7vw,70px)}.contact-copy>p:not(.eyebrow){max-width:415px;margin:14px 0 25px;color:var(--muted);font-size:13px;line-height:1.7}.contact-list{display:grid;gap:8px;margin-bottom:23px}.contact-list a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-bottom:1px solid var(--line);transition:.25s background,.25s padding}.contact-list a:hover{padding-left:18px;background:rgba(255,254,250,.65)}.contact-list>a>span{width:21px;color:var(--gold-dark);font-size:19px;text-align:center}.contact-list small,.contact-list strong{display:block}.contact-list small{color:var(--gold-dark);font-size:8px;font-weight:700;letter-spacing:1.6px}.contact-list strong{color:#4e4740;font-size:11px;margin-top:2px}.map-panel{position:relative;height:480px;overflow:hidden;box-shadow:20px 20px 0 var(--gold-pale)}.map-panel::before{content:"";position:absolute;z-index:2;inset:17px;border:1px solid rgba(255,255,255,.75);pointer-events:none}.map-panel iframe{width:100%;height:100%;border:0;filter:grayscale(.25) sepia(.18) contrast(.9)}.map-tag{position:absolute;z-index:3;left:21px;bottom:21px;padding:10px 12px;background:#fffefa;color:#4e4740;font-size:10px;box-shadow:0 5px 15px rgba(0,0,0,.12)}.site-footer{padding:65px clamp(21px,5.5vw,92px) 19px;background:var(--dark);color:#ebe4d9}.footer-top{display:grid;grid-template-columns:1.45fr 1.2fr 1fr 1fr;gap:38px;padding-bottom:53px}.footer-brand svg{stroke:#d9ba83}.footer-brand strong{color:#e5ca97;font-size:24px}.footer-brand small{color:#cfc4b4}.footer-top>p{margin:0;font:500 18px/1.35 var(--serif)}.footer-top .eyebrow{color:#cda974}.footer-top>div p:not(.eyebrow){margin:0;color:#c4b9aa;font-size:10px;line-height:1.8}.footer-top a{display:block;color:#d6cbbb;font-size:10px;line-height:2}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #514b43;padding-top:17px;color:#a49d93;font-size:9px}.whatsapp-float{position:fixed;z-index:15;right:25px;bottom:22px;display:grid;place-items:center;width:53px;height:53px;border-radius:50%;background:#25d366;color:white;font-size:28px;box-shadow:0 9px 27px rgba(0,0,0,.28);transition:.3s transform}.whatsapp-float:hover{transform:rotate(12deg) scale(1.08)}.booking-dialog{width:min(540px,calc(100% - 32px));padding:39px;border:0;border-top:4px solid var(--gold);background:var(--white);box-shadow:0 30px 80px rgba(0,0,0,.35)}.booking-dialog::backdrop{background:rgba(30,25,19,.64);backdrop-filter:blur(6px)}.close-dialog{position:absolute;right:13px;top:9px;border:0;background:transparent;color:var(--muted);font-size:29px;cursor:pointer}.dialog-intro h2{font-size:44px}.dialog-intro>p:last-child{margin:11px 0 23px;color:var(--muted);font-size:13px;line-height:1.65}.booking-dialog form{display:grid;gap:12px}.booking-dialog label{display:grid;gap:6px;color:#554e46;font-size:11px;font-weight:700}.booking-dialog input,.booking-dialog select{width:100%;border:1px solid #d8d0c4;border-radius:0;padding:12px;background:#fff;color:var(--ink);font-size:13px}.booking-dialog input:focus,.booking-dialog select:focus{outline:2px solid #d8bf94;border-color:var(--gold)}.booking-dialog .button{margin-top:5px}.form-message{min-height:18px;margin:0;color:var(--gold-dark);font-size:12px}.no-scroll{overflow:hidden}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.65,.2,1),transform .8s cubic-bezier(.2,.65,.2,1)}.hero-visual.reveal{transform:translate(18px,22px)}.reveal.is-visible{opacity:1;transform:translate(0)}@keyframes imageBreath{from{background-size:100%}to{background-size:107%}}@keyframes orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}@media (max-width:960px){.hero{grid-template-columns:1fr;min-height:0;gap:15px}.hero-copy{padding-top:55px}.hero-visual{min-height:500px;max-width:620px;width:100%;justify-self:end}.team-grid{grid-template-columns:1fr}.doctor-secondary{margin:0}.contact{grid-template-columns:1fr;gap:52px}.contact-copy{max-width:650px}.gallery-grid{height:350px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>p{display:none}}@media (max-width:700px){.announcement{display:flex;justify-content:space-between;padding:8px 19px;background:var(--dark);color:#f1eadd;font-size:9px}.announcement a{color:#e1c392}.site-header{height:68px;padding:0 20px}.site-header.is-scrolled{height:62px}.brand strong{font-size:16px}.main-nav{position:fixed;z-index:-1;top:100px;left:0;right:0;display:flex;flex-direction:column;gap:0;padding:8px 20px 20px;background:rgba(255,254,250,.98);border-bottom:1px solid var(--line);transform:translateY(-135%);opacity:0;pointer-events:none;transition:.3s transform,.3s opacity}.main-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.main-nav a{padding:12px 0;border-bottom:1px solid var(--line)}.menu-toggle{display:grid;gap:5px;margin-left:auto;padding:8px;border:0;background:none}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink)}.header-actions{display:none}.hero{padding:0 20px 27px;gap:35px}.hero-copy{padding:48px 8px 0}.hero h1{font-size:51px}.hero-lede{font-size:13px;margin:23px 0}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-metrics{margin-top:39px}.hero-visual{min-height:420px}.hero-image{inset:0 4% 8% 8%}.hero-visual::before{inset:8% 1% 3% 14%}.hero-side-label{display:none}.hero-serial{right:0;top:5%}.hero-orbit-one{width:66px;height:66px}.section{padding:80px 20px}.section-heading{display:block;margin-bottom:30px}.section h2{font-size:43px;letter-spacing:-2.4px}.section-note{display:none}.service-grid{grid-template-columns:1fr 1fr;grid-auto-rows:162px;gap:8px}.service-card,.service-card:nth-child(2),.service-card:nth-child(3),.service-card:nth-child(4),.service-card:nth-child(5),.service-card:nth-child(6){grid-column:span 1;padding:16px}.service-card h3{font-size:15px}.service-card p{font-size:10px}.service-cta{align-items:flex-start;flex-direction:column;padding:20px}.doctor-featured{grid-template-columns:1fr}.profile-photo{min-height:275px}.profile-copy{padding:24px}.doctor-secondary{padding:24px}.gallery-grid{height:360px;grid-template-columns:1fr 1fr;gap:8px}.gallery-main{grid-row:span 2}.review-grid{grid-template-columns:1fr}.review{min-height:190px}.contact{padding-bottom:70px}.map-panel{height:330px;box-shadow:10px 10px 0 var(--gold-pale)}.footer-top{grid-template-columns:1fr 1fr;gap:30px 18px}.footer-bottom{display:block;line-height:2}.footer-bottom span{display:block}.whatsapp-float{width:48px;height:48px;right:17px;bottom:16px}.booking-dialog{padding:30px 22px}.dialog-intro h2{font-size:38px}}@media (max-width:390px){.hero h1{font-size:46px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(n){grid-column:span 1}.hero-metrics strong{font-size:23px}.hero-metrics span{font-size:8px}.footer-top{grid-template-columns:1fr}.footer-top>div{padding-top:16px;border-top:1px solid #514b43}}
.hero-image{animation:none;background-repeat:no-repeat;background-size:cover}
.site-header::after{content:"";position:absolute;bottom:-1px;left:0;height:2px;width:var(--scroll-progress,0%);background:var(--gold);transition:width .08s linear}.main-nav a[aria-current]{color:var(--gold-dark)}.main-nav a[aria-current]::after{width:100%}.statement-band{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);color:var(--gold-dark);white-space:nowrap}.statement-band>div{display:flex;align-items:center;gap:25px;width:max-content;padding:15px 0;animation:marquee 28s linear infinite}.statement-band span{font-size:9px;font-weight:700;letter-spacing:2.4px}.statement-band i{font-style:normal;color:var(--gold);font-size:14px}.service-card.reveal,.doctor-profile.reveal,.gallery-grid figure.reveal,.review.reveal{transform:translateY(16px);transition-delay:var(--reveal-delay,0ms)}.service-card:nth-child(2),.gallery-grid figure:nth-child(2),.review:nth-child(2){--reveal-delay:80ms}.service-card:nth-child(3),.gallery-grid figure:nth-child(3),.review:nth-child(3){--reveal-delay:160ms}.service-card:nth-child(4){--reveal-delay:60ms}.service-card:nth-child(5){--reveal-delay:140ms}.service-card:nth-child(6){--reveal-delay:220ms}.service-card::selection,.review::selection{background:var(--gold);color:#fff}::selection{background:var(--gold-pale);color:var(--dark)}.site-footer{position:relative;overflow:hidden}.site-footer::after{content:"D";position:absolute;right:-16px;bottom:-67px;color:#fff;font:500 230px/1 var(--serif);opacity:.025;pointer-events:none}.whatsapp-float::before{content:"";position:absolute;inset:-6px;border:1px solid #25d366;border-radius:50%;animation:pulse 2.4s ease-out infinite}.booking-dialog[open]{animation:dialogIn .35s cubic-bezier(.2,.8,.2,1)}@keyframes marquee{to{transform:translateX(-33.333%)}}@keyframes pulse{0%{opacity:.8;transform:scale(.8)}70%,100%{opacity:0;transform:scale(1.35)}}@keyframes dialogIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.statement-band>div,.whatsapp-float::before,.booking-dialog[open]{animation:none}}

/* Official Dentia photographs. Original files are preserved in imagenes/. */
.brand { gap: 11px; }
.brand .brand-symbol { width: 31px; height: 32px; flex-shrink: 0; stroke: none; mix-blend-mode: multiply; }
.brand .brand-wordmark { width: 135px; height: 43px; stroke: none; mix-blend-mode: multiply; }
.site-footer .footer-brand { display: inline-flex; align-self: start; justify-self: start; padding: 14px; background: var(--white); }
.hero-image { animation: none; background-image: none; }
.hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 48% center; }
.hero-image::after { background: linear-gradient(180deg, transparent 68%, rgba(32,29,26,.16)); mix-blend-mode: normal; }
.profile-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 66% center; }
.profile-photo::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(0deg,rgba(20,17,13,.8),transparent 55%); pointer-events: none; }
.profile-photo::after { z-index: 2; }
.profile-photo span { position: relative; z-index: 2; }
.gallery-grid { grid-template-columns: 1.15fr .8fr 1fr; grid-template-rows: repeat(2, 235px); height: auto; }
.gallery-grid figure { min-width: 0; min-height: 0; }
.gallery-main { grid-column: 1; grid-row: 1 / 3; }
.gallery-waiting { grid-column: 2; grid-row: 1 / 3; }
.gallery-treatment { grid-column: 3; grid-row: 1; }
.gallery-hallway { grid-column: 3; grid-row: 2; }
.gallery-grid img, .gallery-grid figure:hover img { display: block; filter: none; }
.gallery-main img { object-position: 52% center; }
.gallery-waiting img { object-position: center; }
.gallery-hallway img { object-position: center 48%; }
.gallery-grid figcaption { font-size: 16px; }
.contact-visual { min-width: 0; display: grid; gap: 13px; }
.location-photo { margin: 0; background: var(--gold-pale); }
.location-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1600 / 756; object-fit: cover; }
.contact-visual .map-panel { height: 280px; }
@media (max-width: 960px) {
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 320px 270px; }
  .gallery-main { grid-area: 1 / 1; }
  .gallery-waiting { grid-area: 1 / 2; }
  .gallery-treatment { grid-area: 2 / 1; }
  .gallery-hallway { grid-area: 2 / 2; }
  .contact-visual { grid-template-columns: 1fr 1fr; align-items: stretch; }
  .location-photo img { height: 100%; object-position: center; }
}
@media (max-width: 700px) {
  .brand .brand-wordmark { width: 122px; height: 39px; }
  .hero-visual { min-height: 450px; }
  .hero-image img { object-position: 48% center; }
  .profile-photo { min-height: 390px; }
  .profile-photo img { object-position: 63% 62%; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 255px 280px 220px; }
  .gallery-main { grid-area: 1 / 1 / 2 / 3; }
  .gallery-waiting { grid-area: 2 / 1; }
  .gallery-hallway { grid-area: 2 / 2; }
  .gallery-treatment { grid-area: 3 / 1 / 4 / 3; }
  .gallery-grid figcaption { padding: 15px 12px; gap: 8px; font-size: 14px; }
  .contact-visual { grid-template-columns: 1fr; }
  .location-photo img { height: auto; }
}

/* Comfortable reading scale, with room for the larger content. */
body { font-size: 17px; line-height: 1.65; }
html { scroll-padding-top: 100px; }
.site-header { height: 98px; gap: 26px; padding-inline: clamp(24px, 3.5vw, 64px); }
.site-header.is-scrolled { height: 84px; }
.brand .brand-symbol { width: 36px; height: 38px; }
.brand .brand-wordmark { width: 152px; height: 49px; }
.main-nav { gap: clamp(16px, 1.7vw, 28px); }
.main-nav a, .phone-link { font-size: 14px; white-space: nowrap; }
.header-actions { gap: 18px; }
.button { min-height: 56px; padding: 16px 24px; font-size: 15px; line-height: 1.4; }
.button-small { min-height: 48px; padding: 13px 19px; font-size: 14px; white-space: nowrap; }
.eyebrow { font-size: 12px; line-height: 1.6; letter-spacing: 1.9px; }
.hero { min-height: calc(100svh - 98px); gap: clamp(28px, 3.5vw, 64px); }
.hero-copy { min-width: 0; }
.hero h1 { font-size: clamp(56px, 5.35vw, 88px); line-height: 1.04; letter-spacing: -3px; }
.hero-lede { max-width: 550px; font-size: 18px; line-height: 1.7; }
.hero-actions { flex-wrap: wrap; gap: 18px 24px; }
.text-link, .link-button { font-size: 15px; min-height: 44px; display: inline-flex; align-items: center; }
.text-link span, .link-button span { font-size: 22px; }
.hero-metrics { max-width: 565px; padding-block: 24px; margin-top: 42px; }
.hero-metrics li { gap: 10px; padding-inline: 14px; }
.hero-metrics li:last-child { padding-right: 0; }
.hero-metrics strong { font-size: 36px; }
.hero-metrics span { font-size: 13px; line-height: 1.45; }
.hero-visual { min-height: 630px; }
.doctor-card { right: 44px; width: min(450px, calc(100% - 44px)); padding: 18px; gap: 13px; }
.doctor-card strong { font-size: 17px; line-height: 1.3; }
.doctor-card small { font-size: 13px; line-height: 1.5; margin-top: 4px; }
.avatar { flex-basis: 42px; width: 42px; height: 42px; font-size: 13px; }
.verified { flex-shrink: 0; width: 22px; height: 22px; font-size: 13px; }
.hero-side-label { font-size: 10px; }
.hero-serial { font-size: 12px; }
.statement-band span { font-size: 12px; }
.statement-band > div { padding-block: 20px; }
.section { padding-block: clamp(84px, 8vw, 128px); }
.section h2 { font-size: clamp(46px, 4.7vw, 74px); line-height: 1.06; letter-spacing: -2.5px; }
.section-heading > div > p:not(.eyebrow) { max-width: 650px; font-size: 17px; margin-top: 18px; }
.section-note { font-size: 20px; }
.service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(230px, auto); gap: 18px; }
.service-card, .service-card:nth-child(n) { grid-column: auto; padding: 30px; }
.service-card::before { font-size: 56px; top: 20px; right: 24px; }
.service-card h3 { font-size: 25px; line-height: 1.3; margin-bottom: 10px; }
.service-card p { max-width: 340px; font-size: 16px; line-height: 1.65; }
.service-card:hover { background: var(--gold-dark); }
.service-card:hover::after { opacity: .15; }
.service-cta { margin-top: 18px; padding: 30px; }
.service-cta h3 { font-size: 25px; }
.team-grid { gap: 22px; }
.team-control { font-size: 13px; }
.doctor-profile h3 { font-size: clamp(30px, 2.6vw, 40px); line-height: 1.15; }
.doctor-profile > p:not(.badge), .profile-copy > p:not(.badge) { font-size: 16px; line-height: 1.7; }
.badge { font-size: 12px; padding: 6px 12px; }
dt { font-size: 11px; }
dd { font-size: 15px; line-height: 1.6; }
dl div { padding-block: 14px; }
.profile-photo span { font-size: 14px; }
.gallery-grid { gap: 18px; grid-template-rows: repeat(2, 270px); }
.gallery-grid figcaption { font-size: 21px; padding: 22px; line-height: 1.35; }
.gallery-grid figcaption span { font-size: 12px; }
.rating { gap: 18px; margin-block: 30px 42px; }
.rating strong { font-size: 46px; }
.rating span { font-size: 19px; }
.rating small { font-size: 13px; line-height: 1.5; }
.review-grid { gap: 18px; }
.review { display: flex; flex-direction: column; min-height: 285px; padding: 30px; }
.review > p:not(.quote) { font-size: 17px; max-width: none; line-height: 1.75; margin: 8px 0 25px; }
.review footer { position: static; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
.review footer strong { font-size: 18px; line-height: 1.4; }
.review footer span { font-size: 13px; }
.contact { grid-template-columns: .9fr 1.1fr; }
.contact-copy > p:not(.eyebrow) { max-width: 550px; font-size: 17px; }
.contact-list a { padding: 16px 14px; gap: 18px; }
.contact-list small { font-size: 11px; }
.contact-list strong { font-size: 16px; line-height: 1.5; }
.contact-list > a > span { width: 28px; font-size: 25px; flex-shrink: 0; }
.map-tag { font-size: 14px; padding: 12px 16px; }
.contact-visual .map-panel { height: 330px; }
.footer-top > p { font-size: 24px; }
.footer-top > div p:not(.eyebrow), .footer-top a { font-size: 14px; }
.footer-bottom { font-size: 12px; gap: 24px; padding-bottom: 64px; }
.booking-dialog { width: min(600px, calc(100% - 32px)); max-height: calc(100svh - 32px); overflow-y: auto; }
.dialog-intro h2 { font-size: 48px; line-height: 1.1; letter-spacing: -2px; }
.dialog-intro > p:last-child { font-size: 16px; }
.booking-dialog form { gap: 18px; }
.booking-dialog label { font-size: 15px; }
.booking-dialog input, .booking-dialog select { font-size: 16px; padding: 14px; }
.form-message { font-size: 14px; }
.close-dialog { width: 44px; height: 44px; }

/* Recognizable WhatsApp mark with a larger, keyboard-accessible target. */
.whatsapp-float {
  width: 80px; height: 80px;
  right: max(28px, env(safe-area-inset-right));
  bottom: max(28px, env(safe-area-inset-bottom));
  border: 3px solid rgba(255,255,255,.95);
  background: #25d366; color: #fff;
  box-shadow: 0 8px 28px rgba(18,140,70,.28), 0 3px 10px rgba(0,0,0,.12);
  isolation: isolate;
}
.whatsapp-float svg { display: block; width: 42px; height: 42px; animation: whatsapp-nudge 6s ease-in-out infinite; }
.whatsapp-float::before, .whatsapp-float::after {
  content: ""; position: absolute; inset: -7px; z-index: -1;
  border: 2px solid rgba(37,211,102,.6); border-radius: 50%; pointer-events: none;
  animation: whatsapp-ripple 3s ease-out infinite;
}
.whatsapp-float::after { animation-delay: 1.5s; }
.whatsapp-float:hover { transform: translateY(-4px) scale(1.05); background: #20c661; }
.whatsapp-float:focus-visible { outline: 3px solid var(--ink); outline-offset: 6px; }
@keyframes whatsapp-ripple {
  0% { opacity: .65; transform: scale(.9); }
  75%, 100% { opacity: 0; transform: scale(1.36); }
}
@keyframes whatsapp-nudge {
  0%, 78%, 100% { transform: rotate(0); }
  83% { transform: rotate(-9deg); }
  88% { transform: rotate(9deg); }
  93% { transform: rotate(-4deg); }
}
@media (max-width: 1150px) {
  .site-header { gap: 18px; }
  .phone-link { display: none; }
  .main-nav { gap: 18px; }
  .main-nav a { font-size: 13px; }
  .hero-metrics li { gap: 8px; padding-inline: 8px; }
  .hero-metrics span { font-size: 12px; }
  .service-card, .service-card:nth-child(n) { padding: 24px; }
}
@media (max-width: 960px) {
  .site-header, .site-header.is-scrolled { height: 80px; padding-inline: 24px; }
  .menu-toggle { display: grid; place-content: center; gap: 6px; width: 48px; height: 48px; margin-left: auto; border: 0; background: none; }
  .menu-toggle span { display: block; width: 26px; height: 2px; background: var(--ink); }
  .header-actions { display: none; }
  .main-nav { position: absolute; z-index: 1; top: 100%; left: 0; right: 0; display: flex; align-items: stretch; flex-direction: column; gap: 0; padding: 10px 24px 24px; background: var(--white); border-bottom: 1px solid var(--line); visibility: hidden; opacity: 0; transform: translateY(-10px); pointer-events: none; transition: opacity .25s, transform .25s, visibility .25s; }
  .main-nav.open { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
  .main-nav a { font-size: 17px; padding: 13px 0; border-bottom: 1px solid var(--line); }
  .main-nav a::after { display: none; }
  .hero { min-height: 0; }
  .hero h1 { max-width: 800px; font-size: clamp(56px, 7.5vw, 76px); }
  .hero-visual { min-height: 580px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-grid { grid-template-rows: 360px 300px; }
  .contact { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .announcement { font-size: 10px; }
  .brand .brand-symbol { width: 32px; height: 34px; }
  .brand .brand-wordmark { width: 135px; height: 43px; }
  .hero h1 { font-size: clamp(48px, 11.8vw, 65px); line-height: 1.05; letter-spacing: -2.4px; }
  .hero-lede { font-size: 17px; }
  .hero-metrics { padding-block: 20px; }
  .hero-metrics li { flex-direction: column; align-items: flex-start; gap: 4px; padding-left: 12px; }
  .hero-metrics strong { font-size: 32px; }
  .hero-metrics span { font-size: 12px; }
  .hero-visual { min-height: 470px; }
  .doctor-card { right: 0; width: 92%; padding: 15px 12px; gap: 10px; }
  .doctor-card strong { font-size: 16px; }
  .doctor-card small { font-size: 12px; }
  .avatar { flex-basis: 35px; width: 35px; height: 35px; }
  .doctor-card .verified { display: none; }
  .eyebrow { font-size: 11px; letter-spacing: 1.6px; }
  .section h2 { font-size: clamp(42px, 10.5vw, 56px); line-height: 1.08; letter-spacing: -1.8px; }
  .section-heading > div > p:not(.eyebrow) { font-size: 16px; }
  .service-grid { grid-template-columns: 1fr; grid-auto-rows: minmax(215px, auto); gap: 14px; }
  .service-card, .service-card:nth-child(n) { padding: 27px; }
  .service-card h3 { font-size: 26px; }
  .service-card p { font-size: 17px; }
  .service-cta { padding: 25px; gap: 18px; }
  .service-cta h3 { font-size: 25px; }
  .team-grid { gap: 20px; }
  .gallery-grid { grid-template-rows: 280px 320px 250px; gap: 12px; }
  .gallery-grid figcaption { font-size: 18px; padding: 18px 12px; gap: 7px; }
  .review { min-height: 265px; padding: 26px; }
  .contact-list strong { font-size: 16px; }
  .contact-visual .map-panel { height: 320px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { padding-bottom: 84px; }
  .dialog-intro h2 { font-size: 40px; }
  .whatsapp-float { width: 68px; height: 68px; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); }
  .whatsapp-float svg { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-float svg, .whatsapp-float::before, .whatsapp-float::after { animation: none; }
  .whatsapp-float::before, .whatsapp-float::after { opacity: 0; }
}

/* Keep the full hero composition visible on a standard desktop screen. */
@media (min-width: 961px) {
  .hero {
    min-height: 0;
    align-items: center;
    padding-top: clamp(20px, 2.2vw, 34px);
    padding-bottom: clamp(22px, 2.5vw, 38px);
  }

  .hero-copy { padding-block: 12px; }

  .hero-visual {
    min-height: clamp(470px, 39vw, 540px);
    max-height: 540px;
  }
}

@media (min-width: 701px) and (max-width: 960px) {
  .hero-visual { min-height: 520px; }
}

/* A duplicated track keeps the announcement moving continuously, with no empty gap. */
.statement-band { display: flex; overflow: hidden; }
.statement-band > .statement-track {
  display: flex;
  flex: none;
  gap: 0;
  width: max-content;
  padding: 0;
  animation: statement-loop 34s linear infinite;
  will-change: transform;
}
.statement-group {
  display: flex;
  flex: none;
  align-items: center;
  gap: 25px;
  padding: 20px 25px 20px 0;
}
.statement-band .statement-group span { font-size: 12px; }
@keyframes statement-loop { to { transform: translateX(-50%); } }

/* Service layout based on the approved PDF composition. */
.services .section-heading { align-items: flex-start; margin-bottom: 34px; }
.services .section-heading h2 { font-size: clamp(62px, 6.1vw, 96px); line-height: .9; }
.services .section-heading > div > p:not(.eyebrow) { margin-top: 14px; }
.services .section-note { margin-top: 8px; }
.services .service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(164px, auto);
  gap: 14px;
}
.services .service-card,
.services .service-card:nth-child(n) {
  display: grid;
  grid-column: auto;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: center;
  gap: 19px;
  min-height: 164px;
  padding: 23px 22px;
  color: var(--ink);
  background: rgba(255, 254, 250, .7);
  border: 1px solid var(--line);
  box-shadow: 0 9px 24px rgba(64, 45, 23, .025);
}
.services .service-card::before,
.services .service-card::after { display: none; }
.services .service-card:hover {
  color: var(--ink);
  background: var(--white);
  border-color: rgba(174, 141, 89, .7);
  box-shadow: 0 15px 30px rgba(64, 45, 23, .08);
  transform: translateY(-4px);
}
.services .service-icon {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border-radius: 50%;
  color: var(--gold-dark);
  background: #f4efe6;
}
.services .service-icon svg {
  width: 49px;
  height: 49px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.65;
}
.services .service-card h3 { margin: 0 0 6px; font-size: clamp(20px, 1.65vw, 25px); line-height: 1.12; }
.services .service-card p { max-width: none; margin: 0; color: #747984; font-size: 15px; line-height: 1.46; }
.services .service-card:hover p { color: #747984; }
.services .service-cta {
  position: relative;
  grid-column: span 2;
  display: grid;
  min-height: 164px;
  margin: 0;
  padding: 24px 30px;
  overflow: hidden;
  color: var(--ink);
  background: linear-gradient(90deg, rgba(202, 177, 133, .95) 0%, rgba(210, 186, 144, .82) 45%, rgba(255, 253, 248, .18) 100%), url("assets/dentia/recepcion.webp") right center / 59% auto no-repeat, #d1b07d;
}
.services .service-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(74, 52, 24, .1), transparent 70%);
  pointer-events: none;
}
.services .service-cta::after { display: none; }
.services .service-cta-copy { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; }
.services .service-cta-icon { display: grid; place-items: center; flex: 0 0 54px; width: 54px; height: 54px; border-radius: 50%; background: rgba(255, 254, 250, .88); color: var(--gold-dark); font: 500 31px/1 var(--serif); }
.services .service-cta h3 { margin: 0; max-width: 285px; color: var(--ink); font: 600 clamp(21px, 1.85vw, 28px)/.98 var(--serif); letter-spacing: -.7px; }
.services .service-cta p { margin: 6px 0 8px; color: #554b3e; font-size: 15px; }
.services .service-cta .link-button { padding: 8px 14px; color: #fff; background: var(--dark); font-size: 13px; }
.services .service-cta .link-button::after { display: none; }
.services .service-cta .link-button:hover { background: #4a4034; }
.services .service-cta .link-button span { color: #e3c58f; }

@media (max-width: 960px) {
  .services .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services .service-cta { grid-column: span 2; }
}

@media (max-width: 700px) {
  .statement-group { gap: 18px; padding-block: 16px; }
  .statement-band .statement-group span { font-size: 10px; }
  .services .section-heading h2 { font-size: clamp(58px, 18vw, 78px); }
  .services .service-grid { grid-template-columns: 1fr; grid-auto-rows: auto; gap: 12px; }
  .services .service-card,
  .services .service-card:nth-child(n) { grid-template-columns: 68px minmax(0, 1fr); gap: 15px; min-height: 142px; padding: 18px; }
  .services .service-icon { width: 62px; height: 62px; }
  .services .service-icon svg { width: 42px; height: 42px; }
  .services .service-card h3 { font-size: 21px; }
  .services .service-card p { font-size: 14px; }
  .services .service-cta { grid-column: 1; min-height: 242px; padding: 25px 20px; background-size: auto 100%; background-position: 135% center; }
  .services .service-cta h3 { font-size: 24px; }
  .services .service-cta p { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .statement-band > .statement-track { animation: none; }
}

/* Editorial specialist profiles: brighter photography and stronger hierarchy. */
.specialists.section-tint {
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 18%, rgba(205, 174, 121, .26), transparent 23%),
    linear-gradient(118deg, #eee7da 0%, #faf7f0 49%, #e9dfce 100%);
}
.specialists.section-tint::before {
  opacity: .9;
  background:
    linear-gradient(116deg, transparent 0 13%, rgba(174, 141, 89, .08) 13.1% 17%, transparent 17.1% 72%, rgba(255, 255, 255, .65) 72.1% 77%, transparent 77.1%),
    radial-gradient(circle at 8% 100%, rgba(174, 141, 89, .25), transparent 22%);
}
.specialists .section-heading { align-items: end; margin-bottom: 42px; }
.specialists .section-heading h2 { font-size: clamp(58px, 6vw, 94px); }
.specialists .section-heading > div > p:not(.eyebrow) { max-width: 800px; color: #606e8e; }
.specialists .team-control { padding: 10px 0; color: var(--gold-dark); }
.specialists .team-control i { width: 110px; }
.specialists .team-grid { grid-template-columns: minmax(0, 1.56fr) minmax(300px, .74fr); gap: 22px; align-items: stretch; }
.specialists .doctor-profile {
  position: relative;
  overflow: hidden;
  min-height: 550px;
  border: 1px solid rgba(174, 141, 89, .18);
  border-top: 3px solid var(--gold);
  box-shadow: 0 24px 60px rgba(65, 43, 16, .11);
}
.specialists .doctor-featured { display: grid; grid-template-columns: minmax(290px, 37%) minmax(0, 1fr); background: rgba(255, 254, 250, .93); }
.specialists .profile-photo { min-height: 100%; padding: 0; background: #2d2923; }
.specialists .profile-photo img {
  object-position: 61% center;
  filter: saturate(1.34) contrast(1.07) brightness(1.04);
  transform: scale(1.01);
  transition: transform .8s ease, filter .5s ease;
}
.specialists .doctor-featured:hover .profile-photo img { filter: saturate(1.48) contrast(1.08) brightness(1.07); transform: scale(1.055); }
.specialists .profile-photo::before {
  z-index: 1;
  background: linear-gradient(0deg, rgba(18, 15, 11, .8) 0%, rgba(18, 15, 11, .2) 45%, transparent 70%), linear-gradient(135deg, rgba(182, 130, 48, .2), transparent 40%);
}
.specialists .profile-photo::after { inset: 15px; border-color: rgba(255, 244, 221, .72); }
.specialists .photo-index { position: absolute; z-index: 3; top: 30px; left: 29px; padding: 6px 9px; color: #fff9ed; background: rgba(31, 25, 18, .5); font: 700 10px var(--sans); letter-spacing: 2px; }
.specialists .photo-caption { position: absolute; z-index: 3; right: 27px; bottom: 28px; left: 27px; display: grid; gap: 5px; color: #fff; }
.specialists .photo-caption::after { content: ""; width: 54px; height: 2px; margin-top: 7px; background: #e4c179; }
.specialists .photo-caption span { position: static; color: #f1d59e; font: 700 10px var(--sans); letter-spacing: 3px; }
.specialists .photo-caption strong { max-width: 215px; font: 500 18px/1.15 var(--serif); letter-spacing: 1.3px; }
.specialists .profile-copy { position: relative; display: flex; flex-direction: column; padding: clamp(31px, 3.2vw, 54px); background: linear-gradient(135deg, #fffefa, #f8f1e5); isolation: isolate; }
.specialists .profile-copy::after { content: "01"; position: absolute; z-index: -1; right: 19px; bottom: -26px; color: var(--gold); font: 500 190px/.8 var(--serif); opacity: .08; }
.specialists .profile-meta,
.specialists .secondary-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.specialists .profile-meta > span,
.specialists .secondary-header > span { color: var(--gold); font: 500 27px var(--serif); }
.specialists .badge { margin: 0 0 16px; padding: 7px 13px; border: 1px solid rgba(174, 141, 89, .19); border-radius: 30px; background: #f5ead7; color: var(--gold-dark); font-size: 11px; letter-spacing: .2px; }
.specialists .doctor-profile h3 { max-width: 550px; margin: 0 0 15px; font: 600 clamp(31px, 3vw, 49px)/.99 var(--serif); letter-spacing: -2px; }
.specialists .profile-copy > p:not(.badge) { max-width: 565px; margin: 0 0 24px; color: #596b91; font-size: 17px; line-height: 1.55; }
.specialists .doctor-profile dl { margin-top: auto; }
.specialists .doctor-profile dl div { padding: 15px 0; border-top-color: rgba(174, 141, 89, .26); }
.specialists .doctor-profile dt { margin-bottom: 5px; color: var(--gold-dark); font-size: 11px; letter-spacing: 3px; }
.specialists .doctor-profile dd { color: #556789; font-size: 16px; line-height: 1.45; }
.specialists .doctor-profile dd .specialty-school { display: block; margin-top: 5px; color: var(--gold-dark); font-size: 11px; font-weight: 600; line-height: 1.35; }
.specialists .doctor-secondary {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: clamp(30px, 3vw, 48px);
  color: #f9f1e5;
  background: linear-gradient(150deg, #433b31 0%, #24201c 69%, #181613 100%);
  isolation: isolate;
}
.specialists .doctor-secondary::before { content: ""; position: absolute; z-index: -1; right: -75px; bottom: -90px; width: 315px; height: 315px; border: 1px solid rgba(229, 194, 127, .35); border-radius: 50%; box-shadow: 0 0 0 35px rgba(229, 194, 127, .045), 0 0 0 72px rgba(229, 194, 127, .035); }
.specialists .doctor-secondary::after { content: "SF"; position: absolute; z-index: -1; right: 18px; bottom: -36px; margin: 0; color: #e2bb75; font: 500 165px/.8 var(--serif); letter-spacing: -13px; opacity: .11; }
.specialists .doctor-secondary .badge { color: #f7d798; background: rgba(224, 187, 117, .12); border-color: rgba(224, 187, 117, .25); }
.specialists .doctor-secondary .secondary-header > span { color: #f1d29a; }
.specialists .doctor-secondary h3 { font-size: clamp(31px, 2.85vw, 47px); color: #fffaf1; }
.specialists .doctor-secondary > p:not(.badge) { max-width: none; margin: 0 0 29px; color: #dfd2c0; font-size: 17px; line-height: 1.58; }
.specialists .doctor-secondary dl div { border-top-color: rgba(230, 205, 166, .22); }
.specialists .doctor-secondary dt { color: #e9c68c; }
.specialists .doctor-secondary dd { color: #faf4e8; }
.specialists .doctor-secondary dd span { display: block; margin-top: 8px; color: #d9c9b3; font-size: 14px; line-height: 1.45; }
.specialists .secondary-signature { margin-top: auto !important; margin-bottom: 0 !important; padding-top: 22px; border-top: 1px solid rgba(230, 205, 166, .22); color: #e6c98f !important; font: italic 20px var(--serif) !important; }

@media (max-width: 960px) {
  .specialists .team-grid { grid-template-columns: 1fr; }
  .specialists .doctor-profile { min-height: 0; }
  .specialists .doctor-featured { min-height: 510px; }
  .specialists .doctor-secondary { min-height: 505px; }
}

@media (max-width: 700px) {
  .specialists .section-heading { margin-bottom: 30px; }
  .specialists .section-heading h2 { font-size: clamp(52px, 16vw, 72px); }
  .specialists .doctor-featured { grid-template-columns: 1fr; }
  .specialists .profile-photo { min-height: 380px; }
  .specialists .profile-photo img { object-position: 61% 56%; }
  .specialists .profile-copy,
  .specialists .doctor-secondary { padding: 28px 23px; }
  .specialists .doctor-profile h3 { font-size: 33px; }
  .specialists .profile-copy > p:not(.badge),
  .specialists .doctor-secondary > p:not(.badge),
  .specialists .doctor-profile dd { font-size: 15px; }
  .specialists .doctor-secondary { min-height: 570px; }
  .specialists .photo-caption { right: 24px; bottom: 24px; left: 24px; }
}

/* Reviews become a warm editorial trust block instead of three plain cards. */
.reviews.section-tint {
  isolation: isolate;
  overflow: hidden;
  color: #fff9ee;
  background:
    radial-gradient(circle at 84% 8%, rgba(199, 154, 79, .32), transparent 18%),
    radial-gradient(circle at 5% 96%, rgba(195, 149, 74, .22), transparent 24%),
    linear-gradient(125deg, #2b2722, #191815 62%, #2b261f);
}
.reviews.section-tint::before {
  z-index: -1;
  opacity: 1;
  background:
    linear-gradient(118deg, transparent 0 13%, rgba(235, 205, 153, .05) 13.1% 17%, transparent 17.1% 76%, rgba(235, 205, 153, .035) 76.1% 80%, transparent 80.1%),
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, .03), transparent 30%);
}
.reviews::after { content: "“"; position: absolute; z-index: -1; top: -155px; right: 5%; color: #efd19a; font: 500 520px/.8 var(--serif); opacity: .055; pointer-events: none; }
.reviews .reviews-intro { display: flex; align-items: end; justify-content: space-between; gap: 38px; text-align: left; }
.reviews .reviews-intro h2 { max-width: 780px; color: #fffaf1; font-size: clamp(48px, 5.25vw, 84px); line-height: .96; }
.reviews .reviews-intro h2 em { color: #e2bb75; }
.reviews .reviews-intro .eyebrow { color: #e6c281; }
.reviews .rating {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 12px;
  width: 265px;
  margin: 0 0 7px;
  padding: 18px 18px 18px 21px;
  border: 1px solid rgba(232, 198, 139, .46);
  background: rgba(255, 249, 238, .075);
  box-shadow: inset 0 0 0 7px rgba(255, 249, 238, .025);
}
.reviews .rating::before { content: "GOOGLE"; grid-column: 1 / -1; margin-bottom: 6px; color: #e5c17d; font-size: 9px; font-weight: 700; letter-spacing: 3px; }
.reviews .rating strong { grid-row: 2 / span 2; color: #fffaf1; font: 500 52px/.9 var(--serif); }
.reviews .rating > span { color: #e1ad51; font-size: 15px; letter-spacing: 2px; line-height: 1; }
.reviews .rating small { display: block; margin: 0; color: #ded3c2; font-size: 11px; line-height: 1.35; letter-spacing: 0; }
.reviews .reviews-strap { display: flex; align-items: center; gap: 18px; width: max-content; max-width: 100%; margin: 47px auto 29px; color: #ebd2a6; font-size: 10px; font-weight: 700; letter-spacing: 2.65px; white-space: nowrap; }
.reviews .reviews-strap::before,
.reviews .reviews-strap::after { content: ""; width: clamp(28px, 6vw, 100px); height: 1px; background: rgba(233, 202, 147, .56); }
.reviews .reviews-strap i { color: #d7a553; font-size: 14px; font-style: normal; }
.reviews .review-grid { gap: 18px; align-items: stretch; }
.reviews .review {
  display: flex;
  flex-direction: column;
  min-height: 342px;
  padding: 25px 29px 29px;
  overflow: hidden;
  border: 1px solid rgba(226, 193, 139, .18);
  background: #fffdf8;
  box-shadow: 0 24px 42px rgba(0, 0, 0, .2);
  transition: transform .35s ease, box-shadow .35s ease;
}
.reviews .review::before { content: ""; position: absolute; top: -66px; right: -52px; width: 164px; height: 164px; border: 1px solid rgba(179, 140, 82, .25); border-radius: 50%; box-shadow: 0 0 0 14px rgba(179, 140, 82, .055); }
.reviews .review:nth-child(1) { transform: translateY(-10px); }
.reviews .review:nth-child(2) { transform: translateY(21px); color: #fff9ee; background: linear-gradient(145deg, #b88e4e, #8b6738); border-color: rgba(255, 237, 201, .35); }
.reviews .review:nth-child(3) { transform: translateY(-1px); background: #f1e7d7; }
.reviews .review:hover { transform: translateY(-17px); box-shadow: 0 31px 55px rgba(0, 0, 0, .28); }
.reviews .review:nth-child(2):hover { transform: translateY(8px); }
.reviews .review-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.reviews .review-top > span { color: var(--gold-dark); font: 600 13px var(--serif); letter-spacing: 1px; }
.reviews .review-top i { color: #d29a37; font-size: 11px; font-style: normal; letter-spacing: 1.5px; }
.reviews .review .quote { position: relative; z-index: 1; right: auto; top: auto; align-self: flex-end; height: 30px; margin: 12px 0 -1px; color: #e6d7bf; font: 600 74px/.55 var(--serif); }
.reviews .review > p:not(.quote) { position: relative; z-index: 1; max-width: none; margin: 3px 0 28px; color: #4f4942; font-size: 17px; line-height: 1.68; }
.reviews .review footer { position: relative; left: auto; bottom: auto; z-index: 1; display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(116, 92, 55, .2); }
.reviews .review-avatar { display: grid; place-items: center; flex: 0 0 39px; width: 39px; height: 39px; border: 1px solid rgba(174, 141, 89, .65); border-radius: 50%; color: var(--gold-dark); font: 600 11px var(--serif); }
.reviews .review footer strong { color: #302a25; font-size: 17px; line-height: 1.2; }
.reviews .review footer span:not(.review-avatar) { margin-top: 4px; color: #81776c; font-size: 12px; }
.reviews .review:nth-child(2)::before { border-color: rgba(255, 246, 224, .36); box-shadow: 0 0 0 14px rgba(255, 246, 224, .07); }
.reviews .review:nth-child(2) .review-top > span,
.reviews .review:nth-child(2) .review-top i { color: #fff2d3; }
.reviews .review:nth-child(2) .quote { color: rgba(255, 247, 228, .56); }
.reviews .review:nth-child(2) > p:not(.quote) { color: #fff9ee; }
.reviews .review:nth-child(2) footer { border-top-color: rgba(255, 240, 211, .34); }
.reviews .review:nth-child(2) .review-avatar { border-color: #f6d99f; color: #fff7e6; }
.reviews .review:nth-child(2) footer strong { color: #fffaf1; }
.reviews .review:nth-child(2) footer span:not(.review-avatar) { color: #f1e0bf; }

@media (max-width: 700px) {
  .reviews .reviews-intro { display: block; }
  .reviews .reviews-intro h2 { font-size: clamp(45px, 13.5vw, 62px); }
  .reviews .rating { width: min(100%, 286px); margin-top: 28px; }
  .reviews .reviews-strap { width: 100%; gap: 10px; margin: 33px 0 20px; overflow: hidden; font-size: 8px; letter-spacing: 1.7px; }
  .reviews .reviews-strap span:nth-of-type(n+2),
  .reviews .reviews-strap i:nth-of-type(n+2) { display: none; }
  .reviews .review-grid { gap: 16px; }
  .reviews .review,
  .reviews .review:nth-child(n) { min-height: 295px; transform: none; }
  .reviews .review:hover,
  .reviews .review:nth-child(2):hover { transform: translateY(-6px); }
  .reviews .review > p:not(.quote) { font-size: 16px; }
}

/* Keep the new testimonial composition while returning to Dentia's original light palette. */
.reviews.section-tint {
  color: var(--ink);
  background:
    radial-gradient(circle at 84% 8%, rgba(205, 174, 121, .2), transparent 18%),
    radial-gradient(circle at 5% 96%, rgba(174, 141, 89, .18), transparent 24%),
    linear-gradient(125deg, #eee8dc, #faf7f0 58%, #e8dcc7);
}
.reviews.section-tint::before {
  background:
    linear-gradient(118deg, transparent 0 13%, rgba(174, 141, 89, .075) 13.1% 17%, transparent 17.1% 76%, rgba(255, 255, 255, .5) 76.1% 80%, transparent 80.1%),
    radial-gradient(circle at 50% 45%, rgba(255, 255, 255, .34), transparent 30%);
}
.reviews::after { color: var(--gold-dark); opacity: .055; }
.reviews .reviews-intro h2 { color: var(--ink); }
.reviews .reviews-intro h2 em { color: var(--gold); }
.reviews .reviews-intro .eyebrow { color: var(--gold-dark); }
.reviews .rating { border-color: rgba(174, 141, 89, .55); background: rgba(255, 254, 250, .63); box-shadow: inset 0 0 0 7px rgba(174, 141, 89, .04), 0 12px 25px rgba(65, 43, 16, .045); }
.reviews .rating::before { color: var(--gold-dark); }
.reviews .rating strong { color: var(--ink); }
.reviews .rating > span { color: #c28a22; }
.reviews .rating small { color: var(--muted); }
.reviews .reviews-strap { color: var(--gold-dark); }
.reviews .reviews-strap::before,
.reviews .reviews-strap::after { background: rgba(124, 93, 48, .52); }
.reviews .reviews-strap i { color: var(--gold); }
.reviews .review { border-color: rgba(89, 72, 48, .12); background: rgba(255, 254, 250, .9); box-shadow: 0 24px 42px rgba(67, 47, 21, .095); }
.reviews .review::before { border-color: rgba(174, 141, 89, .25); box-shadow: 0 0 0 14px rgba(174, 141, 89, .055); }
.reviews .review:nth-child(2) { color: var(--ink); background: linear-gradient(145deg, #f4ead8, #e9d9bd); border-color: rgba(174, 141, 89, .34); }
.reviews .review:nth-child(3) { background: #fffefa; }
.reviews .review:hover { box-shadow: 0 31px 55px rgba(67, 47, 21, .15); }
.reviews .review:nth-child(2)::before { border-color: rgba(124, 93, 48, .25); box-shadow: 0 0 0 14px rgba(124, 93, 48, .055); }
.reviews .review:nth-child(2) .review-top > span { color: var(--gold-dark); }
.reviews .review:nth-child(2) .review-top i { color: #c28a22; }
.reviews .review:nth-child(2) .quote { color: rgba(124, 93, 48, .25); }
.reviews .review:nth-child(2) > p:not(.quote) { color: #4f4942; }
.reviews .review:nth-child(2) footer { border-top-color: rgba(116, 92, 55, .2); }
.reviews .review:nth-child(2) .review-avatar { border-color: rgba(124, 93, 48, .7); color: var(--gold-dark); }
.reviews .review:nth-child(2) footer strong { color: #302a25; }
.reviews .review:nth-child(2) footer span:not(.review-avatar) { color: #81776c; }

/* Appointment area follows the PDF's clear contact-card hierarchy and adds a richer map treatment. */
.contact { position: relative; grid-template-columns: minmax(410px, .86fr) minmax(0, 1.14fr); align-items: start; gap: clamp(40px, 6vw, 110px); }
.contact::before { content: ""; position: absolute; z-index: -1; top: 6%; left: -9%; width: 360px; height: 360px; border: 1px solid rgba(174, 141, 89, .2); border-radius: 50%; box-shadow: 0 0 0 52px rgba(174, 141, 89, .04); pointer-events: none; }
.contact .contact-copy { position: relative; }
.contact .contact-copy .eyebrow { margin-bottom: 12px; }
.contact h2 { font-size: clamp(58px, 5.45vw, 86px); line-height: .93; }
.contact .contact-lede { max-width: 520px; margin: 16px 0 28px; color: #68738b; font-size: 19px; line-height: 1.45; }
.contact .contact-list { gap: 10px; margin: 0; }
.contact .contact-card {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) 21px;
  align-items: center;
  gap: 15px;
  min-height: 86px;
  padding: 11px 16px 11px 13px;
  border: 1px solid rgba(112, 86, 50, .16);
  border-radius: 12px;
  background: rgba(255, 254, 250, .82);
  box-shadow: 0 9px 20px rgba(67, 47, 21, .025);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.contact a.contact-card:hover { padding-left: 13px; background: #fffefa; border-color: rgba(174, 141, 89, .58); box-shadow: 0 15px 27px rgba(67, 47, 21, .09); transform: translateX(5px); }
.contact .contact-card > .contact-icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; color: var(--gold-dark); background: #f6efe3; }
.contact .contact-icon svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.contact .contact-card:first-child .contact-icon svg,
.contact .contact-whatsapp svg { fill: currentColor; stroke: none; }
.contact .contact-card > span:not(.contact-icon) { display: block; width: auto; color: inherit; font-size: inherit; text-align: left; }
.contact .contact-card small { display: block; margin-bottom: 2px; color: var(--gold-dark); font-size: 10px; font-weight: 700; letter-spacing: 3px; }
.contact .contact-card strong { display: block; color: #52617d; font-size: 17px; font-weight: 500; line-height: 1.37; }
.contact .contact-card > i { color: var(--gold); font-size: 20px; font-style: normal; opacity: .85; transition: transform .25s ease; }
.contact a.contact-card:hover > i { transform: translate(2px, -2px); }
.contact .contact-hours { grid-template-columns: 64px minmax(0, 1fr); }
.contact .contact-hours strong { font-size: 15px; }
.contact .contact-actions { display: flex; align-items: center; gap: 20px; margin-top: 21px; }
.contact .contact-whatsapp { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 59px; padding: 14px 20px; border-radius: 11px; color: #fff; background: linear-gradient(115deg, #a98047, #c09c62); box-shadow: 0 12px 22px rgba(113, 78, 31, .2); font-size: 15px; font-weight: 700; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.contact .contact-whatsapp svg { width: 29px; height: 29px; }
.contact .contact-whatsapp i { margin-left: 4px; color: #fff4dc; font-size: 23px; font-style: normal; }
.contact .contact-whatsapp:hover { background: linear-gradient(115deg, #8e6936, #ad8549); box-shadow: 0 17px 30px rgba(113, 78, 31, .28); transform: translateY(-3px); }
.contact .contact-call { display: inline-flex; align-items: center; gap: 10px; padding: 9px 0 9px 21px; border-left: 1px solid rgba(174, 141, 89, .48); color: var(--gold-dark); font-size: 15px; font-weight: 700; transition: color .25s ease, transform .25s ease; }
.contact .contact-call span { color: var(--gold); font-size: 22px; }
.contact .contact-call:hover { color: var(--ink); transform: translateX(3px); }
.contact .contact-visual { position: relative; gap: 18px; padding: 18px 0 0 18px; }
.contact .contact-visual::before { content: "DENTIA · VILLAHERMOSA"; position: absolute; z-index: 4; top: -4px; left: 0; padding: 8px 12px; color: #fff; background: var(--dark); font-size: 10px; font-weight: 700; letter-spacing: 2.4px; }
.contact .location-photo { position: relative; overflow: hidden; box-shadow: -14px 14px 0 var(--gold-pale); }
.contact .location-photo::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.7); pointer-events: none; }
.contact .location-photo img { filter: saturate(1.18) contrast(1.04); transition: transform .7s ease, filter .5s ease; }
.contact .location-photo:hover img { filter: saturate(1.32) contrast(1.05); transform: scale(1.035); }
.contact .contact-visual .map-panel { height: 300px; box-shadow: 15px 15px 0 rgba(232, 220, 199, .9); }
.contact .map-panel::before { inset: 14px; }
.contact .map-tag { left: 17px; bottom: 17px; padding: 10px 13px; border-left: 2px solid var(--gold); font-size: 12px; }

@media (max-width: 960px) {
  .contact { grid-template-columns: 1fr; }
  .contact .contact-copy { max-width: 720px; }
  .contact .contact-visual { grid-template-columns: 1fr 1fr; }
  .contact .location-photo img { height: 100%; }
}

@media (max-width: 700px) {
  .contact { gap: 45px; }
  .contact h2 { font-size: clamp(54px, 16vw, 70px); }
  .contact .contact-lede { margin-top: 13px; font-size: 17px; }
  .contact .contact-card { grid-template-columns: 54px minmax(0, 1fr) 18px; min-height: 79px; gap: 12px; padding: 10px; border-radius: 10px; }
  .contact .contact-card > .contact-icon { width: 50px; height: 50px; }
  .contact .contact-icon svg { width: 24px; height: 24px; }
  .contact .contact-card small { font-size: 9px; letter-spacing: 2.1px; }
  .contact .contact-card strong,
  .contact .contact-hours strong { font-size: 14px; }
  .contact .contact-actions { align-items: stretch; flex-direction: column; gap: 12px; }
  .contact .contact-whatsapp { width: 100%; font-size: 14px; }
  .contact .contact-call { justify-content: center; padding: 9px 0; border-top: 1px solid rgba(174, 141, 89, .48); border-left: 0; }
  .contact .contact-visual { display: grid; grid-template-columns: 1fr; padding: 16px 0 0 10px; }
  .contact .location-photo img { height: auto; }
  .contact .contact-visual .map-panel { height: 285px; }
}

/* Expanded footer: navigation, contact and map echo the PDF while keeping Dentia's own tone. */
.site-footer {
  position: relative;
  overflow: hidden;
  padding: 0 clamp(22px, 5.5vw, 92px) 22px;
  color: #ebe3d6;
  background:
    radial-gradient(circle at 88% 20%, rgba(184, 142, 71, .17), transparent 21%),
    radial-gradient(circle at 4% 88%, rgba(184, 142, 71, .12), transparent 23%),
    linear-gradient(125deg, #211f1b, #151411 65%, #242019);
}
.site-footer::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 0 24%, rgba(240, 215, 165, .045) 24.1% 27%, transparent 27.1% 73%, rgba(240, 215, 165, .035) 73.1% 76%, transparent 76.1%); }
.site-footer::after { content: "D"; right: -22px; bottom: -86px; color: #e2bc77; font-size: 290px; opacity: .035; }
.site-footer .footer-top { position: relative; z-index: 1; display: grid; grid-template-columns: 1.07fr .72fr 1.18fr 1.19fr; gap: clamp(26px, 3.4vw, 58px); padding: 68px 0 42px; }
.site-footer .footer-intro { min-width: 0; padding-right: clamp(20px, 3vw, 48px); border-right: 1px solid rgba(232, 207, 163, .35); }
.site-footer .footer-brand { display: flex; align-items: center; gap: 14px; min-width: 0; }
.site-footer .footer-brand .brand-symbol { width: 58px; height: 60px; }
.site-footer .footer-brand .brand-wordmark { width: 180px; height: 63px; }
.site-footer .footer-intro > p { margin: 32px 0 22px; color: #f0e7d9; font: 500 23px/1.28 var(--serif); }
.site-footer .footer-seals { display: flex; gap: 11px; }
.site-footer .footer-seals span { display: grid; place-items: center; width: 39px; height: 39px; border: 1px solid #c7a266; border-radius: 50%; color: #e3c27e; font-size: 17px; }
.site-footer .footer-top .eyebrow { margin: 4px 0 20px; color: #e2ba73; font-size: 10px; letter-spacing: 3.5px; }
.site-footer .footer-nav,
.site-footer .footer-contact,
.site-footer .footer-hours { min-width: 0; }
.site-footer .footer-nav a { display: block; width: fit-content; margin: 0 0 9px; color: #d5ccc0; font-size: 14px; line-height: 1.35; transition: color .2s ease, transform .2s ease; }
.site-footer .footer-nav a:hover { color: #f1cf8e; transform: translateX(4px); }
.site-footer .footer-contact > a { display: flex; align-items: flex-start; gap: 11px; margin: 0 0 13px; color: #d9d1c7; font-size: 14px; line-height: 1.45; transition: color .2s ease; }
.site-footer .footer-contact > a:hover { color: #f4d49a; }
.site-footer .footer-contact > a > span { display: grid; place-items: center; flex: 0 0 22px; width: 22px; color: #e4c077; font-size: 20px; }
.site-footer .footer-contact .footer-address { margin-top: 17px; }
.site-footer .footer-directions { align-items: center !important; width: fit-content; margin-top: 20px !important; padding: 9px 14px; border: 1px solid rgba(229, 195, 125, .65); border-radius: 30px; color: #f0d6a4 !important; font-weight: 700; }
.site-footer .footer-directions > span { font-size: 18px; }
.site-footer .footer-directions i { margin-left: 8px; color: #f0d6a4; font-size: 21px; font-style: normal; transition: transform .2s ease; }
.site-footer .footer-directions:hover i { transform: translateX(4px); }
.site-footer .hours-copy { display: flex; align-items: flex-start; gap: 13px; }
.site-footer .hours-copy > span { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; margin-top: 1px; border: 1px solid #d4ae69; border-radius: 50%; color: #e6c47e; font-size: 16px; }
.site-footer .hours-copy p { margin: 0; color: #d8d0c5; font-size: 13px; line-height: 1.33; }
.site-footer .hours-copy strong { color: #f0e8db; font-weight: 500; }
.site-footer .footer-map { position: relative; height: 146px; margin-top: 25px; overflow: hidden; border: 1px solid rgba(240, 221, 185, .45); border-radius: 8px; background: linear-gradient(135deg, #cfc4b5, #f0e6d4); box-shadow: 0 12px 24px rgba(0, 0, 0, .22); }
.site-footer .footer-map::after { content: ""; position: absolute; inset: 9px; border: 1px solid rgba(255,255,255,.6); pointer-events: none; }
.site-footer .footer-map iframe { width: 100%; height: 100%; border: 0; filter: grayscale(.55) sepia(.22) contrast(.95); }
.site-footer .footer-map > span { position: absolute; z-index: 2; top: 17px; right: 13px; padding: 7px 9px; color: #332c23; background: rgba(255, 254, 250, .9); border-left: 2px solid var(--gold); font: 700 10px/1.15 var(--sans); box-shadow: 0 5px 12px rgba(30, 22, 12, .12); }
.site-footer .footer-map > span small { display: block; margin-top: 2px; color: #716453; font-size: 8px; font-weight: 600; }
.site-footer .footer-bottom { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 24px; padding-top: 21px; border-top: 1px solid rgba(232, 207, 163, .32); color: #bcb3a8; font-size: 11px; }
.site-footer .footer-bottom > div { display: flex; align-items: center; gap: 19px; }
.site-footer .footer-bottom i { display: block; width: 1px; height: 17px; background: rgba(232, 207, 163, .34); }

@media (max-width: 1120px) {
  .site-footer .footer-top { grid-template-columns: 1fr 1fr; gap: 46px 38px; }
  .site-footer .footer-intro { border-right: 0; }
  .site-footer .footer-map { max-width: 380px; }
}

@media (max-width: 700px) {
  .site-footer { padding: 0 22px 22px; }
  .site-footer .footer-top { grid-template-columns: 1fr; gap: 32px; padding: 54px 0 33px; }
  .site-footer .footer-intro { padding-right: 0; padding-bottom: 29px; border-right: 0; border-bottom: 1px solid rgba(232, 207, 163, .32); }
  .site-footer .footer-brand .brand-symbol { width: 50px; height: 53px; }
  .site-footer .footer-brand .brand-wordmark { width: 160px; height: 57px; }
  .site-footer .footer-intro > p { margin: 24px 0 18px; font-size: 21px; }
  .site-footer .footer-nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
  .site-footer .footer-nav .eyebrow { grid-column: 1 / -1; }
  .site-footer .footer-contact { padding-top: 3px; }
  .site-footer .footer-map { max-width: none; height: 178px; }
  .site-footer .footer-bottom { display: block; font-size: 10px; line-height: 1.5; }
  .site-footer .footer-bottom > div { flex-wrap: wrap; gap: 8px 12px; margin-top: 12px; }
  .site-footer .footer-bottom i { height: 13px; }
}

/* Footer wordmark is rendered directly so it stays gold on the dark background. */
.site-footer .footer-brand { gap: 13px; padding: 0; background: transparent; }
.site-footer .footer-tooth { flex: 0 0 54px; width: 54px; height: 58px; filter: brightness(1.18) saturate(1.08); }
.site-footer .footer-brand-type { color: #e4bd76; font: 500 35px/.88 var(--serif); letter-spacing: 6px; }
.site-footer .footer-brand-type small { display: block; margin-top: 8px; color: #d8b474; font: 700 8px/1.55 var(--sans); letter-spacing: 3.4px; text-align: center; }
.site-footer .footer-map {
  background-color: #ddd4c5;
  background-image:
    linear-gradient(31deg, transparent 41%, rgba(255,255,255,.85) 41.5% 46%, transparent 46.5%),
    linear-gradient(112deg, transparent 35%, rgba(249,246,238,.9) 35.5% 41%, transparent 41.5%),
    linear-gradient(2deg, transparent 54%, rgba(248,244,234,.88) 54.5% 58%, transparent 58.5%),
    repeating-linear-gradient(90deg, rgba(115,108,97,.09) 0 1px, transparent 1px 35px),
    repeating-linear-gradient(0deg, rgba(115,108,97,.07) 0 1px, transparent 1px 28px);
}
.site-footer .footer-map::before { content: "Av. Gregorio Méndez"; position: absolute; z-index: 1; bottom: 29px; left: 19px; color: rgba(78, 70, 59, .72); font: 600 8px var(--sans); letter-spacing: .15px; transform: rotate(-28deg); }
.site-footer .footer-map > span::before { content: ""; position: absolute; top: 19px; left: -56px; width: 19px; height: 19px; border: 4px solid #c74735; border-radius: 50% 50% 50% 0; background: #dd5b44; box-shadow: 0 2px 6px rgba(76, 37, 23, .35); transform: rotate(-45deg); }
@media (max-width: 700px) {
  .site-footer .footer-tooth { flex-basis: 48px; width: 48px; height: 52px; }
  .site-footer .footer-brand-type { font-size: 31px; letter-spacing: 5px; }
}

/* Polished footer controls: consistent vector icons and an interactive official-location card. */
.site-footer .footer-location-note { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; color: #cfa96b; font-size: 9px; font-weight: 700; letter-spacing: 2.2px; }
.site-footer .footer-location-note::before { content: ""; width: 23px; height: 1px; background: #cfa96b; }
.site-footer .footer-contact > a { position: relative; align-items: center; min-height: 34px; margin: 0 0 8px; padding: 4px 0; transition: color .2s ease, transform .2s ease; }
.site-footer .footer-contact > a::before { content: ""; position: absolute; top: 50%; left: -13px; width: 2px; height: 0; background: #d9af69; transition: height .2s ease, transform .2s ease; }
.site-footer .footer-contact > a:hover { transform: translateX(5px); }
.site-footer .footer-contact > a:hover::before { height: 21px; transform: translateY(-50%); }
.site-footer .footer-contact > a > .footer-icon,
.site-footer .hours-copy > .footer-icon { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; color: #e4c077; }
.site-footer .footer-contact > a > .footer-icon svg,
.site-footer .hours-copy > .footer-icon svg,
.site-footer .footer-location-card svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; }
.site-footer .footer-contact > a > span:not(.footer-icon) { display: block; flex: 1 1 auto; width: auto; min-width: 0; color: inherit; font-size: inherit; }
.site-footer .footer-contact .footer-address { align-items: flex-start; margin-top: 13px; }
.site-footer .footer-contact .footer-address > .footer-icon { margin-top: 3px; }
.site-footer .footer-directions { gap: 8px !important; min-height: 45px !important; margin-top: 18px !important; padding: 8px 15px !important; }
.site-footer .footer-directions > .footer-icon { flex-basis: 20px; width: 20px; height: 20px; }
.site-footer .footer-directions > .footer-icon svg { width: 18px; height: 18px; }
.site-footer .hours-copy { gap: 12px; }
.site-footer .hours-copy > .footer-icon { margin-top: 0; border: 1px solid #d4ae69; border-radius: 50%; }
.site-footer .footer-location-card { position: relative; display: block; height: 151px; margin-top: 26px; overflow: hidden; border: 1px solid rgba(240, 221, 185, .5); border-radius: 9px; background: #756b5d; box-shadow: 0 13px 27px rgba(0, 0, 0, .25); transition: transform .35s ease, box-shadow .35s ease; }
.site-footer .footer-location-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(19,16,12,.04) 20%, rgba(19,16,12,.78) 100%); transition: background .35s ease; }
.site-footer .footer-location-card img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) contrast(1.03); transition: transform .65s ease, filter .35s ease; }
.site-footer .footer-location-card:hover { box-shadow: 0 20px 34px rgba(0, 0, 0, .35); transform: translateY(-5px); }
.site-footer .footer-location-card:hover img { filter: saturate(1.15) contrast(1.05); transform: scale(1.08); }
.site-footer .footer-location-card:hover::after { background: linear-gradient(180deg, rgba(19,16,12,.02) 12%, rgba(19,16,12,.9) 100%); }
.site-footer .location-card-place { position: absolute; z-index: 2; top: 11px; left: 11px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; color: #fffaf0; background: rgba(27, 23, 18, .64); backdrop-filter: blur(6px); font-size: 9px; font-weight: 700; letter-spacing: 1px; }
.site-footer .location-card-place svg { width: 15px; height: 15px; color: #edc274; }
.site-footer .location-card-action { position: absolute; z-index: 2; right: 13px; bottom: 11px; left: 13px; display: flex; align-items: center; justify-content: space-between; color: #fffaf0; font-size: 13px; font-weight: 700; }
.site-footer .location-card-action i { color: #f2cd88; font-size: 22px; font-style: normal; transition: transform .25s ease; }
.site-footer .footer-location-card:hover .location-card-action i { transform: translateX(5px); }
.site-footer .footer-credit { display: inline-flex; align-items: center; gap: 7px; color: #e1d5c3; }
.site-footer .footer-credit b { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #d9b46f; border-radius: 50%; color: #e9c680; font: 700 8px var(--sans); letter-spacing: -.4px; }
.site-footer .footer-credit strong { color: #f0cc88; font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
  .site-footer .footer-location-card,
  .site-footer .footer-location-card img,
  .site-footer .footer-contact > a,
  .site-footer .footer-contact > a::before { transition: none; }
}

@media (max-width: 700px) {
  .site-footer .footer-location-card { height: 186px; }
  .site-footer .footer-location-note { margin-top: 8px; }
}

/* Keep the key contact details spacious and clear on desktop-sized footers. */
@media (min-width: 1121px) {
  .site-footer .footer-top {
    grid-template-columns: minmax(220px, .9fr) minmax(145px, .6fr) minmax(275px, 1.25fr) minmax(280px, 1.1fr);
    gap: clamp(20px, 2.5vw, 42px);
  }
  .site-footer .footer-contact { min-width: 275px; }
  .site-footer .footer-contact > a > span:not(.footer-icon) { white-space: nowrap; }
  .site-footer .footer-contact .footer-address > span:not(.footer-icon) { white-space: normal; }
  .site-footer .footer-bottom { padding-right: 94px; }
}

/* New clinic-led proposal: keeps Dentia's palette while giving the requested sections a distinct composition. */
.hero.hero-clinic {
  grid-template-columns: minmax(0, .9fr) minmax(470px, 1.1fr);
  min-height: min(790px, calc(100svh - 88px));
  gap: clamp(34px, 4vw, 78px);
}
.hero-clinic .hero-copy { z-index: 2; }
.hero-clinic .hero-visual { min-height: clamp(520px, 43vw, 660px); }
.hero-clinic .hero-visual::before { inset: 7% 0 4% 8%; border-color: rgba(174, 141, 89, .78); transform: translate(15px, -15px); }
.hero-clinic .hero-image { inset: 0 0 6% 5%; clip-path: none; border-radius: 3px 3px 74px 3px; box-shadow: 0 28px 52px rgba(59, 40, 18, .15); }
.hero-clinic .hero-image::after { background: linear-gradient(110deg, rgba(52, 37, 21, .23), transparent 42%, rgba(174, 141, 89, .1)); }
.hero-clinic .hero-image::after { z-index: 1; }
.hero-clinic .hero-image > img:first-child { position: relative; z-index: 0; object-position: 76% center; filter: saturate(1.08) contrast(1.025); }
.hero-clinic .hero-image .hero-doctor {
  position: absolute;
  z-index: 2;
  bottom: -2%;
  left: 13%;
  width: min(58%, 405px);
  height: auto;
  max-height: 98%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(14px 18px 16px rgba(55, 39, 23, .22)) saturate(.96) brightness(1.02);
  transform: translateZ(0);
  pointer-events: none;
}
.hero-clinic .hero-orbit-one { top: 6%; left: -4%; width: 104px; height: 104px; border-color: rgba(174, 141, 89, .72); }
.hero-clinic .hero-orbit-two { right: -1%; bottom: 9%; }
.hero-clinic .hero-serial { top: 12%; right: -21px; }
.hero-clinic .hero-side-label { bottom: 10%; left: -24px; color: var(--gold-dark); }
.hero-place-card {
  position: absolute;
  z-index: 3;
  right: 7%;
  bottom: 0;
  display: grid;
  gap: 4px;
  min-width: 225px;
  padding: 15px 18px;
  border-left: 3px solid var(--gold);
  background: rgba(255, 254, 250, .93);
  box-shadow: 0 16px 33px rgba(30, 22, 12, .13);
  backdrop-filter: blur(9px);
}
.hero-place-card span { color: var(--gold-dark); font-size: 9px; font-weight: 700; letter-spacing: 2px; }
.hero-place-card strong { color: var(--ink); font: 600 14px var(--serif); }
.hero-clinic .hero-metrics { max-width: 590px; padding-block: 17px; }
.hero-clinic .hero-metrics li { min-height: 55px; gap: 10px; padding-left: 15px; }
.hero-clinic .hero-metrics li:first-child { padding-left: 0; }
.hero-clinic .hero-metrics .metric-icon { display: grid; place-items: center; flex: 0 0 31px; width: 31px; height: 31px; color: var(--gold-dark); }
.hero-clinic .metric-icon svg { width: 29px; height: 29px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.25; }
.hero-clinic .hero-metrics li > span:last-child { display: grid; align-content: center; gap: 0; }
.hero-clinic .hero-metrics strong { display: block; color: var(--gold-dark); font-size: 34px; line-height: .9; }
.hero-clinic .hero-metrics small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.25; }

/* The two doctor profiles now share an equally considered visual presentation. */
.specialists .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.specialists .doctor-profile,
.specialists .doctor-featured,
.specialists .doctor-secondary {
  display: grid;
  grid-template-columns: minmax(210px, .78fr) minmax(0, 1.22fr);
  min-height: 610px;
  margin: 0;
  padding: 0;
  color: var(--ink);
  background: rgba(255, 254, 250, .94);
}
.specialists .doctor-secondary { background: linear-gradient(135deg, #fffefa, #f3e8d5); }
.specialists .doctor-secondary::before { content: none; }
.specialists .doctor-secondary::after { content: none; }
.specialists .doctor-profile .profile-photo { min-height: 100%; }
.specialists .doctor-featured .profile-photo img { object-position: 51% center; }
.specialists .doctor-secondary .profile-photo img { object-position: 52% center; }
.specialists .doctor-secondary .profile-photo::before { background: linear-gradient(0deg, rgba(28, 19, 16, .78), rgba(28, 19, 16, .06) 67%); }
.specialists .doctor-secondary .profile-copy { color: var(--ink); background: transparent; }
.specialists .doctor-secondary .profile-copy::after { content: "02"; }
.specialists .doctor-secondary .badge { color: var(--gold-dark); background: #f5ead7; border-color: rgba(174, 141, 89, .19); }
.specialists .doctor-secondary .profile-meta > span { color: var(--gold); }
.specialists .doctor-secondary h3 { color: var(--ink); font-size: clamp(31px, 2.7vw, 45px); }
.specialists .doctor-secondary .profile-copy > p:not(.badge) { color: #596b91; }
.specialists .doctor-secondary dl div { border-top-color: rgba(174, 141, 89, .26); }
.specialists .doctor-secondary dt { color: var(--gold-dark); }
.specialists .doctor-secondary dd { color: #556789; }
.specialists .doctor-secondary dd span { color: #6a7894; }
.specialists .doctor-profile:hover .profile-photo img { filter: saturate(1.35) contrast(1.08) brightness(1.06); transform: scale(1.055); }

/* Scroll-snap gallery with keyboard-focusable controls. */
.gallery-carousel { position: relative; isolation: isolate; padding: 24px; background: linear-gradient(130deg, #29241f, #171513); box-shadow: 0 28px 55px rgba(50, 36, 18, .12); }
.gallery-carousel::before { content: ""; position: absolute; z-index: -1; inset: 10px; border: 1px solid rgba(236, 204, 148, .26); pointer-events: none; }
.gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 19px; color: #fff9ee; }
.gallery-controls p { display: flex; align-items: baseline; gap: 15px; margin: 0; }
.gallery-controls p span { color: #e3bf7e; font-size: 10px; font-weight: 700; letter-spacing: 2.6px; }
.gallery-controls p strong { color: #fffaf0; font: 500 20px var(--serif); }
.gallery-controls p b { color: #e4bc75; font-weight: 500; }
.gallery-controls > div { display: flex; gap: 8px; }
.gallery-arrow { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(235, 201, 142, .67); border-radius: 50%; color: #f7dfb0; background: transparent; font-size: 20px; cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.gallery-arrow:hover, .gallery-arrow:focus-visible { color: #2a241d; background: #e5bd79; outline: none; transform: translateY(-2px); }
.gallery-viewport { overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; scroll-snap-type: x mandatory; }
.gallery-viewport::-webkit-scrollbar { display: none; }
.gallery-track { display: grid; grid-auto-columns: minmax(350px, 54%); grid-auto-flow: column; gap: 15px; padding-bottom: 3px; }
.gallery-slide { position: relative; min-height: 448px; margin: 0; overflow: hidden; scroll-snap-align: start; background: #464039; }
.gallery-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(16, 13, 10, .82)); pointer-events: none; }
.gallery-slide img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.93) contrast(1.03); transition: transform .7s ease, filter .4s ease; }
.gallery-slide:hover img { filter: saturate(1.18) contrast(1.05); transform: scale(1.045); }
.gallery-slide:nth-child(1) img { object-position: 52% center; }
.gallery-slide:nth-child(2) img { object-position: center; }
.gallery-slide:nth-child(4) img { object-position: center 42%; }
.gallery-slide figcaption { position: absolute; z-index: 1; right: 24px; bottom: 21px; left: 24px; display: grid; gap: 2px; color: #fffaf1; }
.gallery-slide figcaption span { color: #edcb8c; font-size: 10px; font-weight: 700; letter-spacing: 2px; }
.gallery-slide figcaption strong { font: 500 29px/1.05 var(--serif); }
.gallery-slide figcaption small { margin-top: 5px; color: #eee4d5; font-size: 12px; }
.gallery-dots { display: flex; gap: 7px; margin: 19px 0 1px; }
.gallery-dots button { width: 29px; height: 3px; padding: 0; border: 0; background: rgba(243, 220, 179, .3); cursor: pointer; transition: width .25s ease, background .25s ease; }
.gallery-dots button[aria-selected="true"] { width: 51px; background: #e5bd79; }
.gallery-dots button:focus-visible { outline: 2px solid #fffaf1; outline-offset: 4px; }

/* Google-style cards retain the original reviews, reviewer photos, rating and timestamps. */
.reviews .rating { grid-template-columns: auto 1fr; width: 275px; }
.reviews .rating a { grid-column: 1 / -1; width: fit-content; margin-top: 9px; color: var(--gold-dark); font-size: 10px; font-weight: 700; letter-spacing: .2px; }
.reviews .rating a i { margin-left: 3px; font-size: 13px; font-style: normal; }
.reviews .rating a:hover { color: #4d3820; }
.reviews .google-review-rail { display: grid; grid-auto-columns: minmax(306px, 1fr); grid-auto-flow: column; grid-template-columns: none; gap: 16px; overflow-x: auto; padding: 12px 6px 19px; scroll-snap-type: x proximity; scrollbar-color: rgba(174, 141, 89, .55) transparent; }
.review-carousel-controls { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: -8px 6px 0; color: var(--gold-dark); }
.review-carousel-controls p { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 10px; font-weight: 700; letter-spacing: .5px; }
.review-carousel-controls p span { color: var(--gold); font-size: 17px; line-height: 1; }
.review-carousel-controls > div { display: flex; gap: 8px; }
.review-arrow { display: grid; place-items: center; width: 37px; height: 37px; padding: 0; border: 1px solid rgba(151, 113, 56, .56); border-radius: 50%; color: #755021; background: rgba(255, 253, 247, .68); font-size: 19px; line-height: 1; cursor: pointer; transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease; }
.review-arrow:hover, .review-arrow:focus-visible { border-color: var(--gold-dark); color: #fffaf1; background: var(--gold-dark); outline: none; transform: translateY(-2px); }
.reviews .google-review-rail { cursor: grab; overscroll-behavior-x: contain; scroll-behavior: smooth; }
.reviews .google-review-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.reviews .google-review-rail .google-review,
.reviews .google-review-rail .google-review:nth-child(n) { min-height: 334px; padding: 22px; color: var(--ink); background: rgba(255, 254, 250, .95); border-color: rgba(89, 72, 48, .14); box-shadow: 0 15px 28px rgba(67, 47, 21, .08); transform: none; scroll-snap-align: start; }
.reviews .google-review-rail .google-review:hover { transform: translateY(-5px); box-shadow: 0 24px 38px rgba(67, 47, 21, .14); }
.reviews .google-review::before { display: none; }
.google-review header { position: relative; z-index: 1; display: flex; align-items: center; gap: 11px; }
.google-review .review-avatar { display: block; flex: 0 0 44px; width: 44px; height: 44px; overflow: hidden; border: 1px solid rgba(87, 76, 62, .13); border-radius: 50%; object-fit: cover; }
.google-review header > div { min-width: 0; }
.google-review header strong, .google-review header span { display: block; }
.google-review header strong { overflow: hidden; color: #2f2d29; font: 600 14px/1.25 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.google-review header span { margin-top: 2px; color: #77736e; font-size: 10px; }
.google-review .google-g { display: grid; place-items: center; width: 23px; height: 23px; margin-left: auto; border-radius: 50%; color: #fff; background: conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 48%, #fbbc05 0 71%, #ea4335 0 86%, #4285f4 0); font: 700 12px/1 var(--sans); }
.reviews .google-review .google-stars { margin: 16px 0 7px; color: #e29b21; font-size: 15px; letter-spacing: 1px; line-height: 1; }
.reviews .google-review > p:not(.google-stars) { flex: 1; max-width: none; margin: 0 0 15px; color: #4f4b46; font-size: 13px; line-height: 1.6; }
.google-review > a { position: relative; z-index: 1; width: fit-content; color: #6e5939; font-size: 10px; font-weight: 700; }
.google-review > a span { margin-left: 4px; color: var(--gold-dark); font-size: 14px; }
.google-review > a:hover { color: #3d79d3; }

/* The footer uses the official supplied mark instead of a recreated text logo. */
.site-footer .footer-official-brand { display: inline-flex; align-items: center; gap: 10px; width: fit-content; line-height: 0; }
.site-footer .footer-logo-symbol { flex: 0 0 55px; width: 55px; height: 59px; }
.site-footer .footer-logo-wordmark { width: 173px; height: 55px; }
.site-footer .footer-official-brand image { filter: brightness(1.18) saturate(1.06); }
.site-footer .footer-official-brand:hover { opacity: .85; }

@media (max-width: 1100px) {
  .hero.hero-clinic { grid-template-columns: minmax(0, .94fr) minmax(410px, 1.06fr); }
  .hero-clinic .hero-visual { min-height: 535px; }
  .specialists .team-grid { grid-template-columns: 1fr; }
  .specialists .doctor-profile,
  .specialists .doctor-featured,
  .specialists .doctor-secondary { min-height: 510px; }
  .gallery-track { grid-auto-columns: minmax(340px, 62%); }
}

@media (max-width: 800px) {
  .hero.hero-clinic { grid-template-columns: 1fr; min-height: 0; }
  .hero-clinic .hero-copy { padding-top: 48px; }
  .hero-clinic .hero-visual { width: min(100%, 650px); min-height: 475px; justify-self: end; }
  .hero-clinic .hero-image { inset: 0 0 8% 5%; border-radius: 3px 3px 54px 3px; }
  .hero-clinic .hero-image > img:first-child { object-position: 74% center; }
  .hero-clinic .hero-image .hero-doctor { left: 10%; width: min(62%, 400px); }
  .hero-clinic .hero-side-label { display: none; }
  .hero-place-card { right: 5%; padding: 13px 15px; }
  .specialists .doctor-profile,
  .specialists .doctor-featured,
  .specialists .doctor-secondary { grid-template-columns: minmax(190px, .64fr) minmax(0, 1.36fr); }
  .gallery-slide { min-height: 390px; }
  .gallery-track { grid-auto-columns: minmax(320px, 76%); }
}

@media (max-width: 620px) {
  .hero-clinic .hero-copy > * { max-width: 100%; }
  .hero-clinic .eyebrow { max-width: 305px; overflow-wrap: anywhere; }
  .hero-clinic h1 { font-size: clamp(42px, 11vw, 48px); letter-spacing: -2.7px; overflow-wrap: anywhere; }
  .hero-clinic h1 em { display: block; }
  .hero-clinic .hero-lede { max-width: 100%; }
  .hero-clinic .hero-metrics { margin-top: 32px; }
  .hero-clinic .hero-metrics li { min-height: 66px; align-items: flex-start; gap: 6px; padding-left: 9px; }
  .hero-clinic .hero-metrics .metric-icon { flex-basis: 26px; width: 26px; height: 26px; }
  .hero-clinic .metric-icon svg { width: 25px; height: 25px; }
  .hero-clinic .hero-metrics strong { font-size: 28px; }
  .hero-clinic .hero-metrics small { font-size: 9px; }
  .hero-clinic .hero-visual { min-height: 380px; }
  .hero-clinic .hero-image .hero-doctor { bottom: -1%; left: 6%; width: 67%; }
  .hero-clinic .hero-orbit-one { width: 63px; height: 63px; }
  .hero-place-card { min-width: 176px; }
  .hero-place-card span { font-size: 8px; letter-spacing: 1.55px; }
  .hero-place-card strong { font-size: 11px; }
  .specialists .doctor-profile,
  .specialists .doctor-featured,
  .specialists .doctor-secondary { grid-template-columns: 1fr; min-height: 0; }
  .specialists .doctor-profile .profile-photo { min-height: 370px; }
  .specialists .doctor-secondary .profile-photo { min-height: 420px; }
  .specialists .profile-copy { padding: 28px 23px; }
  .gallery-carousel { margin-inline: -4px; padding: 17px 16px 18px; }
  .gallery-controls { margin-bottom: 15px; }
  .gallery-controls p { gap: 9px; }
  .gallery-controls p span { font-size: 8px; letter-spacing: 1.7px; }
  .gallery-arrow { width: 36px; height: 36px; }
  .gallery-track { grid-auto-columns: 88%; gap: 11px; }
  .gallery-slide { min-height: 355px; }
  .gallery-slide figcaption { right: 17px; bottom: 18px; left: 17px; }
  .gallery-slide figcaption strong { font-size: 25px; }
  .reviews .reviews-intro { display: block; }
  .reviews .rating { width: min(100%, 275px); margin-top: 27px; }
  .reviews .google-review-rail { grid-auto-columns: 87%; padding-left: 2px; }
  .review-carousel-controls { gap: 12px; margin: -2px 2px 0; }
  .review-carousel-controls p { max-width: 230px; font-size: 9px; line-height: 1.3; }
  .review-arrow { width: 35px; height: 35px; }
  .reviews .google-review-rail .google-review,
  .reviews .google-review-rail .google-review:nth-child(n) { min-height: 318px; }
  .site-footer .footer-logo-symbol { flex-basis: 48px; width: 48px; height: 52px; }
  .site-footer .footer-logo-wordmark { width: 157px; height: 51px; }
}
