/* CHARM signature: curved photography, midnight blue and warm colour accents. */
:root{--ink:#24253a;--navy:#202136;--accent:#a84426;--sans:'Manrope',sans-serif}
body{background:#fff;color:var(--ink)}
h1,h2,h3{font-weight:700}h2 em{color:#a84426;font-weight:700}
.eyebrow{color:#a84426;font-size:11px;letter-spacing:2px}.wrap{max-width:1240px}
.topline{background:#25263a;color:#fff}.topline a{color:#fff}
.header{background:#fff;border-bottom:0}.header .nav-inner{min-height:86px}.header nav a{color:#292a40;font-weight:600}.header .emblem-brand{width:78px}
.button,.button.gold,.header .header-cta,.premium-footer .footer-book{background:linear-gradient(110deg,#c55231,#efad56);color:#201a1d;border:0;border-radius:7px;font-weight:700;box-shadow:0 8px 22px #c5523117;min-height:52px}.button:hover,.button.gold:hover,.premium-footer .footer-book:hover{background:linear-gradient(110deg,#e9754c,#f5bd70);color:#201a1d}.text-link{color:#a84426}
.photo-hero{position:relative;isolation:isolate;overflow:hidden;background:#202136;color:#fff;min-height:660px}
.photo-hero:before{content:'';position:absolute;z-index:-1;left:-7%;top:-16%;width:64%;height:132%;border-radius:0 52% 52% 0;background:linear-gradient(160deg,#efad56 12%,#d16143 65%,#72bbc7);transform:rotate(-7deg)}
.photo-hero .hero-media{position:absolute;inset:0 auto 0 0;width:51%;height:100%;object-fit:cover;object-position:65% center;border-radius:0 48% 43% 0;z-index:0}
.photo-hero .hero-shade{display:none}.photo-hero-inner{display:flex;align-items:center;justify-content:flex-end;min-height:660px;padding-top:64px;padding-bottom:64px;position:relative;z-index:1}
.photo-hero-copy{width:43%;max-width:550px}.photo-hero .eyebrow{display:inline-block;color:#e2e6fa;background:#3b3e56;border-radius:5px;padding:8px 12px;font-size:9px;letter-spacing:1.4px;margin-bottom:24px}
.photo-hero h1,html[lang=it] .photo-hero h1{font-size:clamp(60px,6.7vw,94px);line-height:1;font-weight:700;letter-spacing:-4px;color:#fff;margin:0;text-wrap:nowrap}.photo-hero h1>span{color:#eea552}.photo-hero h1 small{display:block;font-size:clamp(11px,1.2vw,16px);font-weight:500;letter-spacing:4px;margin-top:16px;line-height:1.5}
.hero-promise{font-size:clamp(21px,2vw,29px);font-weight:600;line-height:1.4;margin:27px 0 16px;color:#fff;letter-spacing:-.5px}.photo-intro{font-size:14px;line-height:1.85;color:#d3d5e2;max-width:460px;margin:0 0 28px}.photo-hero .actions{gap:20px;flex-wrap:wrap}.photo-hero .text-link{color:#fff;font-size:11px;border-color:#ffffff60}.photo-hero .button{font-size:12px;padding:15px 23px}
.care-strip{background:#27283f;color:#fff;border:0}.care-strip>.wrap{padding-top:6px;padding-bottom:6px}.care-strip a{border-color:#ffffff25}.care-strip span{color:#e3b884}.care-strip strong{color:#fff;font-size:12px}
.statement.statement-text{padding:95px 0 65px}.statement-text .statement-copy{gap:0 80px}.statement h2,.photo-treatments h2,.services-copy h2,.booking h2,.contact h2{font-size:clamp(33px,3.6vw,48px);font-weight:700;line-height:1.2;letter-spacing:-1.8px}.statement-bottom p{font-size:15px;line-height:1.9;color:#66697b}
.clinic-gallery{padding-bottom:90px}.clinic-gallery .section-heading h2{font-weight:700;font-size:36px}.clinic-photos{gap:28px}.clinic-photos figure{position:relative;border-radius:14px;overflow:hidden;background:#24253a;margin:0}.clinic-photos img{height:390px;border-radius:0;display:block;transition:transform .4s}.clinic-photos a:hover img{transform:scale(1.025)}.clinic-photos figcaption{padding:18px 24px;color:white;font-size:16px;font-weight:600}.photo-source{color:#686b79}
.photo-treatments{background:#f3f5f9;padding:88px 0 95px}.photo-treatments .section-heading{display:block;text-align:center;max-width:700px;margin:0 auto 42px}.photo-treatments .section-heading>.text-link{display:inline-block;margin-top:20px}.photo-treatments .eyebrow{color:#a84426}.treatments-grid{gap:25px}.treatment-card{border:0;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px #24253a09}.treatment-image,.aesthetic-panel{height:255px}.treatment-image>span{background:#efa352;color:#272539;border-radius:12px 0 0 0}.treatment-copy{padding:27px}.treatment-copy h3{font-size:23px;font-weight:700;color:#25263c}.treatment-copy p{color:#66697b;font-size:13px}.treatment-link{color:#a84426;border-color:#e7e7ee;font-weight:600}.aesthetic-panel{background:linear-gradient(130deg,#292b47,#474760);color:#fff}.aesthetic-panel>span{color:#edbe85}.aesthetic-panel>strong{font-weight:600}.aesthetic-panel:after{border-color:#eeaa5e65}.aesthetic-panel>i{color:#edbe85}
.brand-signature{background:#23243b}.signature-inner{padding-top:45px;padding-bottom:45px;min-height:420px}.signature-inner h2{font-weight:700}.signature-inner .eyebrow,.signature-inner .text-link{color:#f1ba7b}.signature-inner>div>p:not(.eyebrow){color:#d1d3df;font-size:14px}
.general-services{background:#fff;padding:90px 0}.services-layout.services-text{max-width:1100px}.services-text .services-copy{gap:0 35px}.services-text .services-copy>.eyebrow,.services-text .services-copy>h2,.services-text .services-intro{text-align:center}.services-text .services-intro{margin:25px auto 36px;max-width:700px}.services-copy h2 em{color:#a84426}.services-copy article{background:#f3f5f9;border:1px solid #e8eaf1;border-radius:12px;padding:30px}.services-copy article h3{font-weight:700}.services-text .button{justify-self:center;margin-top:32px}
.general-journey{padding-top:70px;padding-bottom:85px;border-top:1px solid #e5e6ed}.general-journey h2{font-weight:700}.general-journey .journey-grid{gap:24px}.general-journey .journey-grid article{padding:27px;border:1px solid #e5e6ed;border-radius:12px;border-top:4px solid #dd8750}.journey-grid h3{font-weight:700;font-size:21px}.journey-grid p{color:#66697b}
.reviews-section{background:#f3f5f9;padding:85px 0}.reviews-section h2{font-weight:700;max-width:650px}.review-card{border-radius:12px;border:1px solid #e8eaf1;box-shadow:none}.review-card blockquote{font-size:18px}.review-stars{color:#a75e19}.rating-summary strong{color:#25263a}.rating-summary>span{color:#68697b}
.booking{padding-top:95px;padding-bottom:95px;gap:80px}.booking-form{background:#f3f5f9;border:1px solid #e3e6ef;border-radius:16px;box-shadow:0 18px 45px #25263a09}.booking-form h3{font-weight:700}.booking-form input,.booking-form select{background:white;border:1px solid #d4d8e4;border-radius:6px;min-height:52px;padding:12px}.booking-form input:focus,.booking-form select:focus{outline:2px solid #ac5432;outline-offset:2px}.form-top .eyebrow{color:#a84426}.direct-call strong{color:#25263a}.faq-section{padding-top:45px;padding-bottom:90px}.faq-section h2{font-weight:700}.faq-list details{border-color:#e3e5ed}.faq-list summary{font-size:15px;font-weight:600}.faq-list details[open]{background:#f6f7fa}
.contact{background:#292a43}.contact h2 em{color:#eab77c}.location-panel{background:#ffffff05;border:1px solid #ffffff22;border-radius:14px}.contact .eyebrow{color:#edba7e}.contact .text-link{color:#fff}.premium-footer{background:#202136;border-color:#ffffff20}.premium-footer .footer-intro{padding:52px 0 42px}.premium-footer .footer-intro h2{font-weight:700}.premium-footer .footer-col h3,.premium-footer .footer-col .footer-phone{color:#efbd82}.premium-footer .footer-identity>p,.premium-footer .footer-col p{color:#c8cad8}.premium-footer .footer-columns{padding-top:42px;padding-bottom:42px}.premium-footer .footer-book{padding:15px 24px}.premium-footer .footer-brand>span{font-family:var(--sans);font-weight:700;font-size:32px}.footer-bottom{border-color:#ffffff20}.mobile-contact{background:#202136}.mobile-contact a{color:white}.mobile-contact a:last-child{background:#e6a05c;color:#242033}
@media(min-width:761px) and (max-width:1050px){.photo-hero-copy{width:45%}.photo-hero .hero-media{width:48%}.photo-hero:before{width:60%}.photo-hero h1,html[lang=it] .photo-hero h1{font-size:64px}.photo-hero-inner,.photo-hero{min-height:620px}.booking{gap:35px}.treatment-copy{padding:22px}.treatment-copy h3{font-size:20px}}
@media(max-width:760px){.header .nav-inner{min-height:75px}.header .emblem-brand{width:62px}.header nav{background:#fff}.photo-hero{display:flex;min-height:0;flex-direction:column;background:#202136}.photo-hero:before{display:none}.photo-hero .hero-media{position:relative;width:100%;height:320px;inset:auto;border-radius:0 0 40% 0;object-position:65% center;border-bottom:7px solid #e99b57;order:0}.photo-hero-inner{min-height:0;padding-top:35px;padding-bottom:42px;order:1}.photo-hero-copy{width:100%;max-width:none}.photo-hero h1,html[lang=it] .photo-hero h1{font-size:clamp(63px,17vw,90px);letter-spacing:-3px}.photo-hero h1 small{font-size:12px;letter-spacing:3px;margin-top:12px}.photo-hero .eyebrow{font-size:8px;margin-bottom:20px}.hero-promise{font-size:23px;margin-top:23px}.photo-intro{font-size:14px}.care-strip a,.care-strip a:first-child,.care-strip a:last-child{border-color:#ffffff20}.statement.statement-text{padding:55px 0 38px}.statement h2,.photo-treatments h2,.services-copy h2,.booking h2,.contact h2{font-size:33px;letter-spacing:-1.2px}.statement-bottom p{font-size:14px}.clinic-gallery{padding-bottom:55px}.clinic-gallery .section-heading h2{font-size:30px}.clinic-photos img{height:360px;max-height:none}.clinic-photos{gap:22px}.photo-treatments{padding:55px 0}.photo-treatments .section-heading{margin-bottom:28px}.treatment-image,.aesthetic-panel{height:265px}.treatment-copy{padding:25px}.signature-inner{padding-top:42px;padding-bottom:12px;min-height:0}.general-services{padding:55px 0}.services-copy article{padding:25px!important;margin-bottom:18px}.services-text .services-copy .button{margin-top:10px}.general-journey{padding:50px 0}.general-journey .journey-grid article{padding:25px;border:1px solid #e5e6ed;border-top:4px solid #dd8750}.general-journey .journey-grid article:last-child{border:1px solid #e5e6ed;border-top:4px solid #dd8750;padding-bottom:25px}.reviews-section{padding:55px 0}.booking{padding:55px 0;gap:35px}.booking-form{padding:27px 22px}.faq-section{padding-top:10px;padding-bottom:55px}.premium-footer .footer-intro{padding:36px 0 30px}.premium-footer .footer-columns{padding:30px 0}.premium-footer .footer-brand>span{font-size:30px}}
@media(prefers-reduced-motion:reduce){.clinic-photos img{transition:none}.clinic-photos a:hover img{transform:none}}

/* Three-language switch, including compact mobile headers. */
.language-switch{flex-shrink:0;white-space:nowrap}.header .language-switch a{min-width:34px}.header .language-switch{gap:2px}@media(min-width:1025px) and (max-width:1180px){.header nav{gap:17px}.header .nav-inner{gap:16px}.header .header-cta{padding:12px 15px}}

/* Fictional smile comparisons, with a shared visible disclosure. */
.smile-gallery{padding:85px 0;background:#f3f5f9}.smile-heading{text-align:center;max-width:760px;margin:0 auto 38px}.smile-heading h2{font-size:clamp(30px,3.5vw,44px);line-height:1.2;letter-spacing:-1.4px}.smile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.smile-card{margin:0;background:#fff;border:1px solid #e1e4ec;border-radius:14px;overflow:hidden;box-shadow:0 8px 26px #24253a07}.smile-card img{display:block;width:100%;height:auto;aspect-ratio:3/2}.smile-card figcaption{display:grid;grid-template-columns:1fr 1fr;padding:14px 0;text-align:center;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#292a43}.smile-card figcaption span+span{border-left:1px solid #e0e3ea;color:#9a4326}.smile-note{font-size:12px;text-align:center;color:#606578;margin:22px 0 0}@media(max-width:760px){.smile-gallery{padding:52px 0}.smile-grid{grid-template-columns:1fr;gap:22px}.smile-heading{margin-bottom:28px}.smile-heading h2{font-size:31px}.smile-card figcaption{padding:12px 0}}

/* Interactive before/after comparison from the two halves of each original. */
.smile-compare{position:relative;aspect-ratio:3/4;isolation:isolate;overflow:hidden;background:#d6d7da}.smile-layer{position:absolute;inset:0;background-image:var(--comparison-image);background-size:200% 100%;background-repeat:no-repeat}.smile-after{background-position:right center}.smile-before{background-position:left center;clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}.smile-tags{position:absolute;inset:18px 18px auto;display:flex;justify-content:space-between;pointer-events:none}.smile-tags span{background:#24253adb;color:#fff;font-size:11px;font-weight:700;letter-spacing:1.5px;padding:7px 12px;border-radius:5px;text-transform:uppercase}.smile-divider{position:absolute;left:var(--reveal);top:0;bottom:0;width:3px;background:#fff;transform:translateX(-50%);pointer-events:none;box-shadow:0 0 8px #0002}.smile-divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:white;color:#292a43;font-size:27px;box-shadow:0 3px 16px #0003}.smile-range{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0;cursor:ew-resize;margin:0!important;padding:0!important;touch-action:pan-y}.smile-compare:focus-within{outline:3px solid #a84426;outline-offset:-3px}.smile-compare:focus-within .smile-divider span{outline:3px solid #a84426;outline-offset:3px}.smile-card figcaption{display:block;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;padding:14px;color:#606578}.smile-grid{max-width:1000px;margin-inline:auto}@media(max-width:760px){.smile-grid{max-width:460px}.smile-tags{inset:12px 12px auto}.smile-tags span{font-size:10px}.smile-divider span{width:44px;height:44px}}
