/* Shared link feedback, including dynamically rendered screens. */
:where(a[href]){cursor:pointer;transition:color .22s ease,background-color .22s ease,box-shadow .22s ease;text-decoration-thickness:1px;text-underline-offset:5px}
a[href]:focus-visible{outline:2px solid #8b1b43;outline-offset:5px;border-radius:4px}
@media(hover:hover) and (pointer:fine){
 :where(a[href]:hover){color:#a12550}
 /* Generic link feedback must not override image zoom. */
 a[href] .logo-mark{transition:filter .25s ease}
 a.catalog-card:hover h3,a.direction:hover h3,a.case-card:hover h3,a.doctor-card:hover h3{color:#a12550}
 .legal-links button:hover,[data-cookie-info]:hover{color:#a12550}
}
@media(prefers-reduced-motion:reduce){a[href],a[href]>img,a[href] .logo-mark{transition:none}}

/* MAXITOP credit: quiet copy and brand gradient on the name. */
.developer-credit > a[href],.developer-credit > a[href]:hover,.developer-credit > a[href]:focus-visible{text-decoration:none!important;color:#887d84}
.developer-credit > a[href] strong{background:linear-gradient(90deg,#285ee8 0%,#d82e46 100%);background-clip:text;-webkit-background-clip:text;color:var(--wine);transition:color .3s ease}
.developer-credit > a[href]:hover strong,.developer-credit > a[href]:focus-visible strong{color:transparent}
.developer-credit > a[href] small,.developer-credit > a[href] .developer-arrow{text-decoration:none!important}
@media(prefers-reduced-motion:reduce){.developer-credit > a[href] strong{transition:none}}
@media(forced-colors:active){.developer-credit > a[href]:hover strong,.developer-credit > a[href]:focus-visible strong{color:LinkText;background:none}}

/* One shared footer row and one divider. */
#site-footer .developer-credit{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px 30px;padding:24px 0 64px;margin-top:12px}
#site-footer .developer-credit .legal-links{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px 26px;margin-left:auto;padding:0;border:0}
@media(max-width:850px){#site-footer .developer-credit{align-items:flex-start;gap:20px}#site-footer .developer-credit .legal-links{justify-content:flex-start;margin-left:0;width:100%;gap:12px 20px}}

#site-footer .developer-credit > a small{font-family:Onest,Arial,sans-serif;font-size:13px;font-weight:400;line-height:inherit;letter-spacing:normal}

/* A ruled link needs only its existing line, never a second underline. */
a.has-link-rule,a.has-link-rule *,a.text-link,a.text-link *,a.contact-messenger-links,a.contact-messenger-links *, .contact-messenger-links>a,.contact-messenger-links>a *{text-decoration:none!important}
.motion-link-arrow{display:inline-block;white-space:nowrap;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){a:hover .motion-link-arrow{transform:translate(3px,-3px)}}
a:focus-visible .motion-link-arrow{transform:translate(3px,-3px)}
.form-heading > span[aria-hidden="true"]{display:none}
@media(prefers-reduced-motion:reduce){.motion-link-arrow{transition:none}a:hover .motion-link-arrow,a:focus-visible .motion-link-arrow{transform:none}}

.contact-messengers>p{font-size:14px;line-height:1.6;color:#82777e;margin:12px 0 18px}.contact-messenger-links{display:flex;flex-wrap:wrap;gap:16px 30px}.contact-item .contact-messenger-links>a{display:inline-flex;align-items:center;gap:14px;font-size:19px;color:var(--wine);border-bottom:1px solid #d5c3cc;padding-bottom:7px}.contact-messenger-links>a>span{font-size:17px}

/* Soft route card and custom travel-mode menu. */
.contact-layout .contact-route{border:1px solid #e9edf180;border-radius:28px;background:linear-gradient(140deg,#fff,#f2f6f9);box-shadow:0 16px 50px -28px #51677938,inset 0 1px 0 #fff}
.contact-route input{border:0!important;border-bottom:1px solid #d8dfe6!important;border-radius:0!important;background:transparent!important;padding:13px 0!important;transition:border-color .2s}
.contact-route input:focus{outline:none;border-bottom-color:var(--wine)!important;box-shadow:0 1px 0 var(--wine)}
.route-picker{position:relative;margin-bottom:18px}
.route-picker-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:14px 16px;border:1px solid #e4e9ee;border-radius:14px;background:#ffffffb3;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background .2s,box-shadow .2s}
.route-picker-toggle:hover{background:#fff;box-shadow:0 5px 18px #57657b0b}
.route-picker-toggle:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.route-picker-toggle svg{width:16px;height:16px;color:var(--wine);transition:transform .25s}.route-picker-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
.route-picker-menu{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;padding:7px;border:1px solid #edf0f3;border-radius:18px;background:#fff;box-shadow:0 15px 45px -12px #40536838}
.route-picker-menu[hidden]{display:none}.route-picker-option{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:11px;background:transparent;padding:13px 12px;text-align:left;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.route-picker-option:hover,.route-picker-option:focus-visible{background:#f3f6f8;outline:none}.route-picker-option[aria-selected=true]{color:var(--wine);background:#f8f1f4}.route-picker-option[aria-selected=true]::after{content:'✓'}

/* Contact intro follows the same columns and text inset as the route card. */
@media(min-width:751px){.page-intro:has(+ .contact-layout){grid-template-columns:1fr 1fr;gap:70px}.page-intro:has(+ .contact-layout)>p{max-width:none;padding-inline:33px}}

/* Touch-friendly service navigation and visible mobile implant callouts. */
.service-menu-groups summary{min-height:44px;align-items:center;-webkit-tap-highlight-color:transparent}.service-menu-groups summary>span{display:grid;place-items:center;min-width:44px;min-height:44px;flex-shrink:0}.services button.service{font:inherit;text-align:left;background:transparent}.close:focus{outline:none}.close:focus-visible{outline:2px solid #8996a3;outline-offset:4px}
@media(max-width:850px){.hero-shell .implant-label{display:block;font-size:12px;line-height:1.3;z-index:2}.hero-shell .label-aesthetic{left:auto!important;right:0;top:24%}.hero-shell .label-precision{left:0!important;right:auto;top:71%;text-align:left}}

/* Blend the complete chair layer with the hero backdrop across transformed mobile containers. */
.hero.chair-variant .visual{mix-blend-mode:multiply}.hero.chair-variant .visual .chair-assembly{mix-blend-mode:normal}

/* Balanced treatment rows, including incomplete final rows. */
.catalog-steps{--step-columns:3;display:flex;flex-wrap:wrap;gap:24px 32px}.catalog-steps>article{flex:1 1 calc((100% - (var(--step-columns) - 1)*32px)/var(--step-columns));min-width:0;box-sizing:border-box}.catalog-steps[data-step-count="4"]{--step-columns:2}@media(min-width:1200px){.catalog-steps[data-step-count="4"],.catalog-steps[data-step-count="7"]{--step-columns:4}}@media(max-width:900px){.catalog-steps{--step-columns:2}}@media(max-width:600px){.catalog-steps,.catalog-steps[data-step-count="4"]{--step-columns:1;gap:8px}}

/* Editorial graphics and quiet surfaces for service detail pages. */
.care-illustration{max-width:250px;margin-top:28px;color:var(--wine)}.care-illustration svg{display:block;width:100%;height:auto}
.catalog-editorial .catalog-details{padding:28px 30px;margin-top:30px;border:1px solid #e9dfe4;border-radius:22px;background:linear-gradient(135deg,#faf5f7,#fff)}.catalog-details h3{margin-top:0}.catalog-details ul{list-style:none;padding:0;margin:18px 0 0}.catalog-details li{position:relative;padding-left:23px;margin:14px 0;line-height:1.7}.catalog-details li::before{content:'';position:absolute;left:1px;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--wine);box-shadow:0 0 0 5px #7d173708}
.catalog-steps>article{padding:26px;border:1px solid #e2e9ee;border-radius:22px;background:linear-gradient(145deg,#fff,#f3f7fa);box-shadow:0 10px 28px -24px #435e7550}.step-graphic{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.catalog-steps .step-graphic .index{font:300 48px/1 Geologica,Arial,sans-serif;letter-spacing:-2px;color:#9c6279}.step-trail{display:flex;align-items:center;gap:7px}.step-trail i{display:block;width:5px;height:5px;border-radius:50%;background:#7d1737;opacity:.18}.step-trail i:nth-child(2){opacity:.38}.step-trail i:last-child{width:8px;height:8px;opacity:.7}.catalog-steps h3{margin-top:0}.catalog-steps p{margin-bottom:0}
@media(max-width:600px){.care-illustration{max-width:175px;margin-top:15px}.catalog-editorial .catalog-details{padding:23px}.catalog-steps>article{padding:24px}.catalog-steps{gap:16px}.catalog-steps .step-graphic .index{font-size:40px}.step-graphic{margin-bottom:22px}}

/* Ceramic illustration on a mirror surface. */
.care-illustration{max-width:300px;margin-top:10px;mix-blend-mode:multiply}.care-illustration img{display:block;width:100%;height:auto;filter:none;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 73%)}
@media(max-width:600px){.care-illustration{max-width:210px;margin-top:0}}

.faq-illustration{width:min(100%,340px);margin-top:20px;mix-blend-mode:multiply}.faq-illustration img{display:block;width:100%;height:auto;filter:none;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 75%)}
@media(max-width:600px){.faq-illustration{width:230px;margin-top:12px}}

/* Preserve intended type sizes in mobile Safari while allowing browser zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:600px){
 body{font-size:16px}
 .catalog-editorial p,.catalog-editorial li,.procedure-faq p,.catalog-hero p,.doctor-detail p,.doctor-profile-section p,.clinic-feature p,.service-copy p,.service-copy li{font-size:16px;line-height:1.65}
 .catalog-details li{margin:12px 0}
 .catalog-section h2,.doctor-profile-section h2,.clinic-feature h2,.section-heading h2,.contact-home h2,.about-home h2{font-size:28px;line-height:1.22;letter-spacing:-.7px}
 .catalog-details h3,.catalog-steps h3,.doctor-profile-section h3,.doctor-case-grid h3{font-size:21px;line-height:1.35;letter-spacing:-.3px}
 .catalog-hero h1,.page-intro h1,.doctor-detail h1,.doctor-profile-hero h1{font-size:32px;line-height:1.18;letter-spacing:-.8px}
 .catalog-steps p,.catalog-seo p,.doctor-case-grid p{font-size:15px;line-height:1.65}
 .procedure-faq summary{font-size:16px;line-height:1.45;gap:18px}
 .eyeline{font-size:11px;line-height:1.5;letter-spacing:1.4px}
 .catalog-editorial>*,.catalog-hero>*,.catalog-seo>*{min-width:0}
 .contact-item p{font-size:18px;line-height:1.6}
 .contact-route h2{font-size:30px;letter-spacing:-.7px}
 .price-group summary{font-size:20px;line-height:1.35}
 .case-summary h2{font-size:28px;line-height:1.25}
 .designed-form input,.designed-form select,.designed-form textarea,.contact-route input,.contact-route select{font-size:16px}
}
@media(max-width:360px){
 .catalog-hero h1,.page-intro h1,.doctor-detail h1,.doctor-profile-hero h1{font-size:29px}
 .catalog-section h2,.doctor-profile-section h2,.clinic-feature h2,.section-heading h2,.contact-home h2,.about-home h2{font-size:26px}
}

@media(max-width:600px){.about-home .about-lead,.about-home p{font-size:16px;line-height:1.65}#site-footer{grid-template-columns:minmax(0,1fr)}#site-footer>*{min-width:0}}
@media(max-width:360px){#site-footer .developer-credit>a{flex-wrap:wrap;white-space:normal;max-width:100%;row-gap:10px}#site-footer .developer-credit>a small{flex-basis:100%;white-space:normal}}

/* Blend the original studio white into the hero; avoid a rectangular backing layer. */
.hero.chair-variant .visual{background:transparent;box-shadow:none;mix-blend-mode:multiply}
.hero.chair-variant .visual .chair-assembly{background:transparent;mix-blend-mode:normal;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.hero.chair-variant .visual .chair-assembly{filter:contrast(1.035) brightness(1.015)}


/* Compact artwork in home service cards. */
#home-sections .directions-grid .direction{min-height:330px;padding-bottom:162px;overflow:hidden;isolation:isolate}
#home-sections .direction-art{position:absolute;left:12px;right:35px;bottom:10px;height:150px;pointer-events:none;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 83%,transparent)}
#home-sections .direction-art img{display:block;width:100%;height:100%;object-fit:contain;filter:none;transition:transform .5s ease;mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
#home-sections .direction .card-arrow{z-index:1}
@media(hover:hover) and (pointer:fine){#home-sections .direction:hover .direction-art img{transform:translateY(-4px) scale(1.03);filter:none}}
@media(max-width:600px){#home-sections .directions-grid .direction{min-height:300px;padding-bottom:125px}#home-sections .direction-art{left:3px;right:16px;bottom:13px;height:112px}#home-sections .direction .card-arrow{right:16px;bottom:18px}}
@media(prefers-reduced-motion:reduce){#home-sections .direction-art img{transition:none}#home-sections .direction:hover .direction-art img{transform:none}}

/* One backdrop across the entire first screen, including its footer. */
.hero-shell{position:relative;isolation:isolate;background:radial-gradient(ellipse at 4% 35%,#eef4f9,transparent 45%),radial-gradient(ellipse at 96% 55%,#f0f4f7,transparent 46%),#fff}
.hero-shell .hero{isolation:auto;background:none}
.hero-shell .hero::before{content:none;background:none}
.hero-shell .foot{background:none}
.hero-shell .hero.chair-variant .visual{background:none;box-shadow:none;mix-blend-mode:multiply;isolation:auto}
.hero-shell .hero.chair-variant .visual .chair-assembly{background:none;mix-blend-mode:normal;filter:contrast(1.035) brightness(1.015)}

/* RGBA cutout: no blending or rectangular fade layer required. */
.hero-shell .hero.chair-variant .visual{mix-blend-mode:normal;background:transparent}
.hero-shell .hero.chair-variant .visual .chair-assembly{mix-blend-mode:normal;background:transparent;mask-image:none;-webkit-mask-image:none;filter:drop-shadow(0 10px 9px #68717b12)}
.hero-shell .hero.chair-variant .visual img{mix-blend-mode:normal}

/* Client-approved offers and price notice. */
.clinic-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.clinic-offer{display:flex;flex-direction:column;min-width:0;padding:36px;border:1px solid #dfe6ec;border-radius:24px;background:linear-gradient(145deg,#fff,#f5f8fa)}
.clinic-offer h3{font:300 clamp(24px,2.3vw,34px)/1.25 Geologica;margin:24px 0;letter-spacing:-.6px}.clinic-offer h3>span{color:var(--wine);font-size:.65em;vertical-align:super;margin-left:4px}
.offer-services{margin:0}.offer-services>div{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #dfe6ec}.offer-services dt{font-size:16px;line-height:1.5}.offer-services dd{margin:0;white-space:nowrap;font:300 23px/1.3 Geologica;color:var(--wine)}
.offer-highlight{padding:18px 20px;border-radius:14px;background:#f7eff3;color:var(--wine);font-size:16px;line-height:1.6;margin:24px 0}
.offer-gift{padding:18px 0;border-bottom:1px solid #dfe6ec}.offer-gift strong{font:400 20px/1.4 Geologica;color:var(--wine)}.offer-gift p,.offer-condition{font-size:16px;line-height:1.6;color:#756e75}.offer-gift p{margin:10px 0 0}.offer-condition{margin:24px 0}
.offer-action{margin-top:auto;padding-top:14px}.offer-action .cta{font-size:16px;max-width:100%}
.offer-medical-note{font-size:14px;line-height:1.6;color:#756e75;margin:24px 0 0;padding-top:18px;border-top:1px solid #dfe6ec}
.price-disclaimer{font-size:15px;line-height:1.7;color:#756e75;padding:22px 26px;background:#f7f4f6;border-radius:16px;margin:0 0 32px}
@media(max-width:800px){.clinic-offers{grid-template-columns:1fr}.clinic-offer{padding:26px}.clinic-offer h3{font-size:27px}.offer-services dd{font-size:21px}}
@media(max-width:400px){.clinic-offer{padding:22px}.offer-services>div{gap:12px}.offer-services dt{font-size:15px}.offer-services dd{font-size:19px}.offer-gift strong{font-size:19px}.offer-action .cta{font-size:14px}.price-disclaimer{padding:20px}}

/* Footer and form pickers 110 */
#site-footer .developer-credit .legal-links{justify-content:flex-start;margin-left:0;margin-right:auto}
#site-footer .developer-credit>a{margin-left:auto}
.design-field>label{display:block;font-size:13px;color:var(--wine);margin-bottom:16px}.design-field>label small{margin-right:12px;color:#a7909c}
.design-field .route-picker{margin:0}.design-field .route-picker-toggle{font-size:16px;line-height:1.5}.route-picker-menu{max-height:260px;overflow-y:auto;overscroll-behavior:contain}.route-picker-menu .route-picker-option{min-height:44px;white-space:normal;line-height:1.45}.design-field select[hidden]{display:none!important}
.booking-promotion{padding:20px 22px;background:#f8f1f4;border:1px solid #ecdfe5;border-radius:18px;margin:8px 0 24px}.booking-promotion p{font-size:16px;line-height:1.6;margin:10px 0 0;color:var(--ink)}
@media(max-width:850px){#site-footer .developer-credit>a{margin-left:0}.design-field .route-picker-menu{position:relative;top:auto;margin-top:8px}}
.designed-form .route-picker-menu{position:relative;top:auto;margin-top:8px}