
:root{--black:#0b0a09;--black2:#11100e;--gold:#d8b56a;--gold2:#f0d89b;--cream:#f6f0e5;--white:#fff;--muted:#aaa39a;--line:rgba(216,181,106,.26);--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--black);font-family:var(--sans);font-size:15px;line-height:1.7}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.announcement{height:34px;background:#070706;color:#c7c0b5;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;font-size:9px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid rgba(216,181,106,.18)}.announcement b{color:var(--gold);padding:0 5px}.site-header{height:86px;background:rgba(11,10,9,.96);color:white;display:flex;align-items:center;padding:0 4vw;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(216,181,106,.18);backdrop-filter:blur(16px)}.brand img{width:75px;height:75px;object-fit:contain}.desktop-nav{display:flex;gap:26px;margin-left:auto;margin-right:32px}.nav-link{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c8c1b7;position:relative;padding:9px 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:.3s}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:#fff}.header-actions{display:flex;align-items:center;gap:22px}.lang{font-size:10px;letter-spacing:.15em;color:#b8b1a7}.lang span{color:var(--gold)}.header-book,.mobile-book{border:1px solid var(--gold);padding:11px 18px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);transition:.25s}.header-book:hover,.btn-gold:hover{background:var(--gold);color:#111}.header-book span,.btn span,.text-link svg{display:inline-flex;width:16px;vertical-align:middle;margin-left:6px}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:23px}.mobile-menu{display:none;background:#0b0a09;color:#fff;padding:18px 7vw 28px;position:fixed;z-index:49;top:120px;left:0;right:0}.mobile-menu nav{display:grid}.mobile-menu .nav-link{padding:11px 0}.mobile-book{display:block;margin-top:12px;text-align:center}.hero{min-height:calc(100vh - 120px);position:relative;background:#090807;color:#fff;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;opacity:.53;filter:saturate(.82) contrast(1.08)}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,6,5,.97) 0%,rgba(7,6,5,.78) 42%,rgba(7,6,5,.24) 100%),linear-gradient(0deg,rgba(7,6,5,.75),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(650px,90vw);margin-left:9vw;padding:70px 0}.hero-logo{width:115px;height:115px;object-fit:contain;margin:14px 0 20px;border-radius:50%}.eyebrow{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#716b63;margin:0 0 12px}.gold{color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.96;margin:0}h1{font-size:clamp(60px,8vw,112px);letter-spacing:-.035em}h2{font-size:clamp(46px,6vw,76px);letter-spacing:-.025em}h3{font-size:32px}em{font-style:italic;color:var(--gold2)}.hero-lead{max-width:520px;color:#d2cbc1;font-size:16px;margin:24px 0 7px}.french-slogan{font-family:var(--serif);font-style:italic;color:#f1dfb4;font-size:21px}.hero-buttons{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:15px 22px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.12em;font-size:10px;transition:.25s}.btn svg{width:16px;height:16px;flex:0 0 16px;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.5;vertical-align:middle}.booking-form .btn.full{width:auto;padding:12px 18px}.mini-contact-form .btn{padding:12px 18px}.booking-page .header-book,.booking-page .mobile-book,.booking-page .booking-contact{display:none}
.btn-gold{background:var(--gold);color:#111}.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.hero-note{display:flex;align-items:center;gap:9px;margin-top:42px;color:#9e978e;font-size:11px}.hero-note svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1}.hero-scroll{position:absolute;bottom:25px;left:9vw;font-size:9px;letter-spacing:.2em;color:#9d968d;display:flex;align-items:center;gap:12px}.hero-scroll span{width:55px;height:1px;background:var(--gold)}.section{padding:105px 7vw}.section-label{font-size:9px;letter-spacing:.2em;color:#8a837a}.intro{background:var(--cream)}.intro-grid,.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;margin-top:28px}.intro-grid p:not(.eyebrow),.two-col p:not(.eyebrow){color:#645e56;max-width:520px}.text-link{display:inline-flex;align-items:center;margin-top:18px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid #aaa093;padding-bottom:6px}.text-link svg{height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.text-link.light{color:#e9dfd0;border-color:#5c564d}.section-dark,.section-black{background:var(--black);color:#f6f0e5}.section-black{background:#080706}.section-head,.split-heading,.gallery-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-head h2,.split-heading h2{margin-top:8px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{border:1px solid rgba(216,181,106,.18);background:#12110f;transition:.35s}.service-card:hover{transform:translateY(-5px);border-color:rgba(216,181,106,.55)}.service-image{height:310px;position:relative;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.service-card:hover .service-image img{transform:scale(1.05)}.service-no{position:absolute;top:14px;right:14px;color:var(--gold);font-size:9px;letter-spacing:.12em}.service-copy{padding:23px}.service-copy .eyebrow{color:var(--gold)}.service-copy h3{font-size:30px}.service-copy p:not(.eyebrow){color:#aaa39a;font-size:13px}.service-copy .text-link{color:#eee5d8;border-color:#4e4941}.before-after{background:#efe8db}.split-heading>p{max-width:420px;color:#6c655d}.ba-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px}.ba-card{height:390px;margin:0;position:relative;overflow:hidden;background:#ddd}.ba-card.large{height:470px}.ba-card img{width:100%;height:100%;object-fit:cover}.ba-card figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:15px 18px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;font-size:9px;letter-spacing:.18em}.editorial{display:grid;grid-template-columns:1fr 1fr;padding-left:0;padding-right:0}.editorial-image{min-height:680px}.editorial-image img{width:100%;height:100%;object-fit:cover}.editorial-copy{padding:100px 8vw;display:flex;flex-direction:column;justify-content:center}.editorial-copy>p:not(.eyebrow){color:#b4ada3;max-width:520px}.feature-list{margin:30px 0 38px}.feature-list div{display:grid;grid-template-columns:45px 1fr;column-gap:12px;border-top:1px solid #302d29;padding:15px 0}.feature-list span{grid-row:1/3;color:var(--gold);font-size:10px}.feature-list b{font-size:13px}.feature-list small{color:#777067}.quote{text-align:center;padding-top:120px;padding-bottom:120px}.quote-mark{font-family:var(--serif);font-size:90px;line-height:.5;color:var(--gold)}.quote h2{margin:18px 0}.quote p{font-size:9px;letter-spacing:.25em}.page-hero{min-height:560px;background:var(--black);color:#fff;display:grid;grid-template-columns:1fr .75fr;overflow:hidden}.page-hero>div{padding:100px 7vw;align-self:center}.page-hero>div>p:last-child{max-width:520px;color:#aaa39a}.page-hero>img{width:100%;height:100%;min-height:560px;object-fit:cover;opacity:.8}.page-hero.compact{min-height:470px}.page-hero.compact>img{min-height:470px}.page-hero h1{font-size:clamp(60px,7vw,95px)}.about-story .note{font-size:11px;border-left:2px solid var(--gold);padding-left:16px}.values{padding-top:90px;padding-bottom:110px}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid var(--line)}.value-grid>div{padding:28px 25px 10px;border-right:1px solid var(--line)}.value-grid>div:last-child{border:0}.value-grid span{color:var(--gold);font-size:10px}.value-grid h3{font-size:30px;margin:30px 0 12px}.value-grid p{color:#9d958b;font-size:13px}.image-band{display:grid;grid-template-columns:1fr 1fr;background:#11100e;color:#fff}.image-band>img{width:100%;height:600px;object-fit:cover}.image-band>div{padding:80px;align-self:center}.image-band h2{margin-bottom:20px}.services-page{background:#f0e9dd}.service-intro{max-width:700px;margin-bottom:55px}.service-intro>p:last-child{color:#6d665e}.service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 22px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid #cfc4b5;padding-top:20px}.detail-image{height:360px;position:relative;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-image span{position:absolute;top:12px;right:12px;color:#fff;font-size:10px}.service-detail>div:last-child{align-self:center}.service-detail h3{margin:6px 0 12px}.service-detail p:not(.eyebrow){font-size:13px;color:#6c655d}.booking-hero img{object-position:center}.booking-section{background:#eee6d8}.booking-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;max-width:1200px;margin:auto}.booking-side{position:sticky;top:135px;align-self:start}.booking-side>p:not(.eyebrow){color:#6c655d}.hours-card{border-top:1px solid #c9beaf;margin-top:30px}.hours-card>div{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #d4c9bb;font-size:12px}.hours-card>div span{color:#756e65}.hours-card>div b{text-align:right}.hours-card b{font-weight:600}.booking-contact{margin-top:35px;padding:22px;background:linear-gradient(135deg,#e7dece,#ddd1c0);border:1px solid rgba(126,100,57,.16)}.booking-contact p{margin:0 0 5px;font-size:12px}.booking-contact a{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7c5d25}.booking-form{background:#0d0c0b;color:#f5eee2;padding:42px;border:1px solid rgba(216,181,106,.24);box-shadow:0 24px 70px rgba(25,20,15,.12)}.form-title{display:flex;gap:16px;align-items:center;border-bottom:1px solid #37332e;padding-bottom:14px;margin:0 0 24px}.form-title span{width:30px;height:30px;border:1px solid rgba(216,181,106,.55);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:9px;flex:none}.form-title h3{font-size:28px}.booking-form label,.mini-contact-form label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#aaa299;margin-bottom:18px}.booking-form input,.booking-form select,.booking-form textarea,.mini-contact-form input,.mini-contact-form textarea{display:block;width:100%;margin-top:7px;background:#171614;border:1px solid #3b3731;color:#f8f0e2;padding:13px 14px;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,181,106,.08)}.booking-form option{background:#111}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-consent{display:flex!important;align-items:flex-start;gap:9px;text-transform:none!important;letter-spacing:0!important;font-size:10px!important}.form-consent input{width:auto;margin:3px 0 0}.form-consent label{margin:0!important;text-transform:none!important}.full{width:100%}.form-small{font-size:9px;color:#777067;text-align:center}.success-message{margin-top:18px;padding:18px;border:1px solid rgba(216,181,106,.5);display:flex;gap:15px;background:#171510}.success-message svg{width:25px;fill:none;stroke:var(--gold);stroke-width:1}.success-message strong{font-family:var(--serif);font-size:24px}.success-message p{font-size:11px;color:#aaa39a}.contact-section{background:#eee6d8}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:1100px;margin:auto}.contact-details h2{margin-bottom:40px}.contact-list>a,.contact-list>div{display:flex;gap:17px;padding:18px 0;border-top:1px solid #cfc4b5}.contact-list svg{width:22px;height:22px;fill:none;stroke:#9c7a35;stroke-width:1.3}.contact-list small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:8px;color:#8b8278}.contact-list b{font-size:13px;font-weight:600}.social-row{display:flex;gap:12px;margin-top:25px}.social-row a{display:inline-flex;align-items:center;gap:8px;border:1px solid #cfc4b5;padding:10px 13px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.social-row svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}.contact-panel{background:#0d0c0b;color:#fff;padding:40px}.contact-panel h3{margin-bottom:25px}.hours-card.dark{border-color:#36322d}.hours-card.dark>div{border-color:#36322d}.hours-card.dark span{color:#aaa39a}.contact-actions{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.btn-outline{border-color:#686057;color:#fff}.map-placeholder{min-height:430px;background:radial-gradient(circle at 50% 45%,#28231d 0 2px,transparent 3px),linear-gradient(#141210,#0b0a09);background-size:90px 90px,auto;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}.map-placeholder>div{max-width:480px}.map-placeholder svg{width:35px;fill:none;stroke:var(--gold);stroke-width:1.2}.mini-contact-form{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#f5eee3}.mini-contact-form form{max-width:600px}.mini-contact-form input,.mini-contact-form textarea{background:#fff;color:#222;border-color:#cfc4b5}.inline-success{margin-top:15px;color:#7b5c28;font-size:11px}.reviews-section{background:#eee6d8}.reviews-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:start}.review-intro{max-width:470px;color:#6b645b;font-size:13px;line-height:1.8}.review-form{background:#0d0c0b;color:#fff;padding:40px}.review-form label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:18px}.review-form input,.review-form textarea{display:block;width:100%;margin-top:7px;background:#171614;border:1px solid #3b3731;color:#f8f0e2;padding:13px 14px;outline:none}.review-form input:focus,.review-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,181,106,.08)}.rating-field{border:0;padding:0;margin:0 0 18px}.rating-field legend{font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.star-rating{display:flex;gap:4px}.star-rating label{margin:0;text-transform:none;letter-spacing:0;cursor:pointer}.star-rating input{position:absolute;opacity:0;pointer-events:none}.star-rating span{font-size:27px;color:#655d52;transition:.15s}.star-rating label:hover span,.star-rating label.selected span{color:var(--gold)}.review-form .btn{width:100%}.review-form .form-small{color:#8f877d;line-height:1.6}.reviews-section h2{margin-bottom:25px}.reviews-section h2 em{font-style:italic}.reviews-section .inline-success{color:var(--gold)}.faq-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;background:#f1e9dd}.faq-intro .text-link{color:#6d5b3d}.faq-list{border-top:1px solid #cfc4b5}.faq-list details{border-bottom:1px solid #cfc4b5}.faq-list summary{list-style:none;display:grid;grid-template-columns:45px 1fr 30px;align-items:center;padding:20px 0;cursor:pointer;font-family:var(--serif);font-size:25px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:var(--sans);font-size:9px;color:#a07a34}.faq-list summary b{font-family:var(--sans);font-weight:400;color:#a07a34;text-align:right}.faq-list details[open] summary b{transform:rotate(45deg)}.faq-list details div{padding:0 45px 22px}.faq-list details p{margin:0;color:#6b645b;font-size:13px}.gallery-section{background:#f0e8dc}.gallery-toolbar{align-items:start}.filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.filter{background:transparent;border:1px solid #c8bcae;padding:8px 11px;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.filter.active,.filter:hover{background:#171512;color:#fff;border-color:#171512}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.gallery-item{aspect-ratio:4/5;margin:0;position:relative;overflow:hidden;background:#ddd;border:1px solid rgba(126,100,57,.18);box-shadow:0 12px 30px rgba(30,24,18,.07)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.gallery-item:hover img{transform:scale(1.035);filter:saturate(1.04)}.gallery-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 16px 14px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.82));display:flex;justify-content:space-between;align-items:end}.gallery-item figcaption span{font-family:var(--serif);font-size:20px}.gallery-item figcaption small{font-size:7px;letter-spacing:.12em}.gallery-item.hide{display:none}.floating-wa{position:fixed;right:22px;bottom:22px;z-index:60;width:54px;height:54px;border-radius:50%;background:#1da851;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 35px rgba(0,0,0,.25);transition:.2s}.floating-wa:hover{transform:translateY(-3px)}.floating-wa svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4}.floating-wa span{position:absolute;right:62px;white-space:nowrap;background:#111;color:#fff;padding:6px 9px;font-size:9px;opacity:0;pointer-events:none;transition:.2s}.floating-wa:hover span{opacity:1}.site-footer{background:#090807;color:#ddd5ca;padding:65px 7vw 25px;border-top:1px solid rgba(216,181,106,.18)}.footer-main{display:grid;grid-template-columns:1.2fr .8fr 1.1fr .9fr;gap:45px;padding-bottom:50px}.footer-brand img{width:88px;height:88px;object-fit:contain}.footer-tag{font-size:9px;letter-spacing:.22em;color:var(--gold);margin:12px 0 3px}.site-footer h4{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}.site-footer>div a,.site-footer>div p{font-size:10px;color:#999188;display:block;margin:7px 0}.site-footer svg{width:13px;height:13px;fill:none;stroke:var(--gold);stroke-width:1.2;vertical-align:middle;margin-right:5px}.site-footer .socials{display:flex;gap:8px;margin-top:15px}.site-footer .socials a{border:1px solid #39342d;padding:9px}.site-footer .socials svg{margin:0}.footer-bottom{border-top:1px solid #27231f;padding-top:18px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#6f6961}.muted{color:#777067!important}
@media(max-width:1000px){.desktop-nav{gap:14px;margin-right:18px}.nav-link{font-size:9px}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:repeat(2,1fr)}.page-hero{grid-template-columns:1fr .8fr}.value-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.value-grid>div:nth-child(2){border-right:0}.value-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:720px){.reviews-grid{grid-template-columns:1fr;gap:35px}.review-form{padding:28px 20px}.star-rating span{font-size:25px}.announcement{font-size:7px;padding:0 5vw}.announcement span:nth-child(2){display:none}.site-header{height:72px;padding:0 5vw}.brand img{width:60px;height:60px}.desktop-nav,.header-actions{display:none}.menu-toggle{display:block}.mobile-menu.open{display:block}.hero{min-height:calc(100vh - 106px)}.hero-content{margin-left:7vw;padding:55px 0}.hero-logo{width:88px;height:88px}.hero-buttons{flex-direction:column;align-items:stretch;width:min(340px,90vw)}.hero-scroll{left:7vw}.section{padding:75px 6vw}.intro-grid,.two-col,.contact-grid,.mini-contact-form,.booking-layout,.faq-section{grid-template-columns:1fr;gap:45px}.section-head,.split-heading,.gallery-toolbar{display:block}.section-head .text-link,.gallery-toolbar .filters{margin-top:20px}.services-grid{grid-template-columns:1fr}.service-image{height:340px}.ba-grid{grid-template-columns:1fr}.ba-card,.ba-card.large{height:430px}.editorial{grid-template-columns:1fr}.editorial-image{min-height:430px}.editorial-copy{padding:70px 7vw}.page-hero,.page-hero.compact{grid-template-columns:1fr;min-height:auto}.page-hero>div{padding:75px 6vw}.page-hero>img,.page-hero.compact>img{min-height:420px;height:420px}.service-detail-grid{grid-template-columns:1fr}.service-detail{grid-template-columns:1fr}.detail-image{height:390px}.form-row{grid-template-columns:1fr}.booking-form{padding:25px 20px}.image-band{grid-template-columns:1fr}.image-band>img{height:430px}.image-band>div{padding:65px 7vw}.value-grid{grid-template-columns:1fr}.value-grid>div{border-right:0!important;border-bottom:1px solid var(--line)!important}.value-grid>div:last-child{border-bottom:0!important}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.floating-wa{right:15px;bottom:15px}.floating-wa span{display:none}.faq-list summary{font-size:22px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-item figcaption{display:block}.gallery-item figcaption small{display:block;margin-top:4px}.filters{justify-content:flex-start}.filter{padding:7px 9px}.contact-panel{padding:30px 22px}.booking-side{position:static}.booking-form{padding:28px 20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.language-preview{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:100;display:grid;place-items:center;padding:25px}.language-preview>div{max-width:440px;background:#f5eee3;color:#111;padding:32px;text-align:center;border:1px solid #d8b56a;box-shadow:0 25px 80px rgba(0,0,0,.4)}.language-preview strong{font-family:var(--serif);font-size:34px;font-weight:500}.language-preview p{font-size:12px;color:#655e55}.language-preview button{background:#111;color:#fff;border:0;padding:10px 18px;text-transform:uppercase;letter-spacing:.1em;font-size:9px}
.top-lang{display:flex;align-items:center;gap:5px}.top-lang button,.lang-switch button{border:0;background:none;color:#9f978c;padding:0;font-size:9px;letter-spacing:.12em;cursor:pointer}.top-lang button.active,.lang-switch button.active{color:#f0d89b}.lang-switch{display:flex;align-items:center;gap:6px}.lang-switch button{font-size:10px}.lang-switch span{color:#6e675f}.mobile-menu{max-height:calc(100vh - 106px);overflow:auto}

/* Expertise: clearly separate bookable services from orderable products */
.expertise-block + .expertise-block{margin-top:72px}
.expertise-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:0 0 28px;padding-bottom:18px;border-bottom:1px solid rgba(212,175,55,.24)}
.expertise-heading p{max-width:620px;margin:0;color:rgba(255,255,255,.68);font-size:.94rem;line-height:1.7}
.expertise-heading .eyebrow{margin:0}
.expertise-products .service-card{min-height:100%}
.order-link{color:#e8d39a}
@media(max-width:760px){.expertise-block + .expertise-block{margin-top:52px}.expertise-heading{display:block}.expertise-heading p{margin-top:12px}}

.ba-comparison{height:470px}.ba-comparison>img{display:block}.ba-comparison>figcaption{position:absolute;inset:0;padding:0;background:none;display:block;pointer-events:none}.ba-label{position:absolute;left:16px;padding:8px 12px;background:rgba(10,9,8,.82);border:1px solid rgba(216,181,106,.85);color:#f0d89b;font-size:9px;letter-spacing:.2em}.before-label{top:16px}.after-label{top:calc(50% + 8px)}
@media(max-width:720px){.ba-comparison{height:430px}.ba-label{left:10px;padding:7px 10px;font-size:8px}.before-label{top:10px}.after-label{top:calc(50% + 5px)}}

/* Mobile refinement: cleaner spacing and a more compact appointment experience */
@media(max-width:720px){
  html,body{width:100%;overflow-x:hidden}
  .announcement{height:30px;padding:0 5vw;font-size:7px}
  .site-header{height:68px;padding:0 5vw}
  .brand img{width:54px;height:54px}
  .menu-toggle{font-size:21px;padding:8px 0}
  .mobile-menu{top:98px;max-height:calc(100vh - 98px);padding:12px 7vw 20px;box-shadow:0 18px 35px rgba(0,0,0,.28);border-top:1px solid rgba(216,181,106,.16)}
  .mobile-menu nav{gap:0}
  .mobile-menu .nav-link{padding:8px 0;font-size:9px;letter-spacing:.1em}
  .mobile-book{padding:9px 14px;margin-top:9px}
  .section{padding:58px 6vw}
  .page-hero>div{padding:48px 6vw}
  .page-hero>img,.page-hero.compact>img{min-height:300px;height:300px}
  .page-hero h1{font-size:clamp(48px,15vw,68px)}
  .page-hero>div>p:last-child{font-size:13px;line-height:1.65}
  .booking-section{padding:48px 5vw}
  .booking-layout{gap:28px}
  .booking-side h2{font-size:clamp(38px,11vw,52px);line-height:.98}
  .booking-side>p:not(.eyebrow){font-size:12px;line-height:1.65}
  .hours-card{margin-top:20px}
  .hours-card>div{padding:8px 0;font-size:10px;gap:10px}
  .booking-form{padding:22px 16px;border-radius:0;box-shadow:none}
  .form-title{gap:10px;padding-bottom:11px;margin-bottom:18px}
  .form-title span{width:26px;height:26px;font-size:8px}
  .form-title h3{font-size:24px}
  .booking-form label{font-size:9px;margin-bottom:13px}
  .booking-form input,.booking-form select,.booking-form textarea{padding:11px 12px;margin-top:5px;font-size:13px}
  .booking-form textarea{min-height:105px}
  .booking-form .btn.full{width:100%;padding:12px 14px;font-size:9px}
  .form-consent{font-size:9px!important;line-height:1.45}
  .form-small{font-size:8px;line-height:1.5;margin:10px 4px 0}
  .success-message{padding:13px;gap:10px}
  .success-message strong{font-size:21px}
  .success-message p{font-size:10px;line-height:1.5}
  .floating-wa{width:50px;height:50px;right:14px;bottom:14px}
  .floating-wa svg{width:23px;height:23px}
  .site-footer{padding:48px 6vw 22px}
  .footer-main{gap:24px}
}

/* Mobile menu: the appointment page already has a dedicated appointment link, so the duplicate CTA is hidden. */
.mobile-menu .mobile-book{display:none!important}

/* PRECIOUS SMILE (Beauty Lounge) update: keep the full welcome portrait visible without stretching or cropping. */
.hero-image{background:#090807}
.hero-image img{object-fit:contain;object-position:center right;opacity:.64;filter:saturate(.88) contrast(1.04)}
.hero-vignette{background:linear-gradient(90deg,rgba(7,6,5,.98) 0%,rgba(7,6,5,.82) 38%,rgba(7,6,5,.18) 100%),linear-gradient(0deg,rgba(7,6,5,.72),transparent 45%)}
.offer-block + .offer-block{margin-top:72px}
.offer-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin:0 0 30px;padding:20px 0;border-top:1px solid #cfc4b5;border-bottom:1px solid #cfc4b5}
.offer-heading h3{font-size:34px;margin-top:6px}
.offer-heading>p{max-width:520px;color:#6c655d;margin:0}
.product-offer .offer-heading{border-color:rgba(126,100,57,.22)}
@media(max-width:720px){
  .hero-image img{object-fit:contain;object-position:center bottom;opacity:.58}
  .hero-vignette{background:linear-gradient(180deg,rgba(7,6,5,.96) 0%,rgba(7,6,5,.72) 44%,rgba(7,6,5,.2) 100%),linear-gradient(0deg,rgba(7,6,5,.86),transparent 55%)}
  .offer-block + .offer-block{margin-top:50px}
  .offer-heading{display:block;margin-bottom:22px;padding:15px 0}
  .offer-heading h3{font-size:30px}
  .offer-heading>p{margin-top:10px;font-size:12px}
  .gallery-toolbar .filters{display:flex;flex-wrap:wrap;gap:7px}
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .gallery-item{aspect-ratio:4/5}
}
.message-review-wrap{display:flex;flex-direction:column;gap:24px}.message-whatsapp{width:fit-content}.message-note{max-width:500px;color:#6b645b;font-size:13px;line-height:1.8}.review-preview-box{background:#0d0c0b;color:#fff;padding:28px 30px;border:1px solid rgba(216,181,106,.2);min-height:150px}.review-preview-box .eyebrow{margin-bottom:10px}.preview-stars{color:var(--gold);font-size:24px;letter-spacing:3px;line-height:1.2}.preview-text{color:#d4ccc1;font-family:var(--serif);font-size:20px;line-height:1.45;margin:12px 0 0}.price-list{margin:16px 0 8px;border-top:1px solid #d2c7b9}.price-list div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #d2c7b9;font-size:10px;line-height:1.4}.price-list span{color:#6b645b}.price-list b{color:#8b6a2e;white-space:nowrap;font-weight:700}.product-offer .price-list{display:none}@media(max-width:720px){.message-whatsapp{width:100%}.review-preview-box{padding:24px 20px}.price-list div{font-size:9px;gap:10px}.preview-text{font-size:18px}}


/* Final responsive image correction: never crop editorial/page portraits on phones. */
@media (max-width:720px){
  .page-hero>img,
  .page-hero.compact>img{
    width:100%;
    height:auto !important;
    min-height:0 !important;
    max-height:none;
    object-fit:contain !important;
    object-position:center center !important;
    background:#090807;
  }
  .page-hero{
    grid-template-columns:1fr;
  }
  .page-hero>div{padding-bottom:40px;}

  /* Gallery: preserve the complete source image rather than cutting faces/products. */
  .gallery-item{
    aspect-ratio:4/5;
    background:#11100e;
  }
  .gallery-item img{
    object-fit:contain !important;
    object-position:center center !important;
    background:#11100e;
  }
}

/* Gallery images stay intact on larger screens too. */
.gallery-item img{
  object-fit:contain;
  object-position:center center;
  background:#11100e;
}

/* Subtle, non-blocking language transition. */
body.language-changing{opacity:.96;transition:opacity .12s ease;}

/* =====================================================================
   UPDATE: GLASS HEADER · UNIFIED ICON SYSTEM · BOOKING FEEDBACK
   ===================================================================== */
:root{--header-h:86px;--ann-h:34px}
@media(max-width:720px){:root{--header-h:68px;--ann-h:30px}}

/* ---- 1. Transparent-glass header ------------------------------------
   Background colour (#0b0a09) at 70% opacity (30% transparent). Only the
   background is translucent: logo, links, icons and buttons stay 100% opaque.
   The header overlaps the hero so the blur reads as real glass. */
.site-header{
  background:rgba(11,10,9,.70);
  -webkit-backdrop-filter:blur(16px) saturate(1.35);
  backdrop-filter:blur(16px) saturate(1.35);
  border-bottom:1px solid rgba(216,181,106,.22);
  height:var(--header-h);
  margin-bottom:calc(var(--header-h) * -1);
}
.nav-link{color:#e2dbd0}
.nav-link.active{color:#fff}
.lang-switch button{color:#cfc7bb}
.lang-switch button.active{color:#f0d89b}
.mobile-menu{
  background:rgba(11,10,9,.92);
  -webkit-backdrop-filter:blur(16px) saturate(1.35);
  backdrop-filter:blur(16px) saturate(1.35);
}
/* Browsers without backdrop-filter: fall back to a more solid background for contrast */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .site-header{background:rgba(11,10,9,.90)}
}
/* Content now starts under the header: keep text clear of it */
.hero{min-height:calc(100vh - var(--ann-h))}
.hero-content{padding-top:calc(var(--header-h) + 44px)}
.page-hero>div{padding-top:calc(var(--header-h) + 28px)}
@media(max-width:720px){
  .hero-content{padding-top:calc(var(--header-h) + 36px)}
  .page-hero>div{padding-top:calc(var(--header-h) + 30px)}
  .mobile-menu{top:calc(var(--ann-h) + var(--header-h))}
}

/* ---- 2. Unified icon system (Lucide-style, 24px grid, 1.75 stroke) ---- */
body svg.icon{
  fill:none;stroke:currentColor;stroke-width:1.75;
  stroke-linecap:round;stroke-linejoin:round;
  flex:none;display:inline-block;vertical-align:middle;
  width:16px;height:16px;overflow:visible;
}
body svg.icon.icon-fill{fill:currentColor;stroke:none}
body svg.icon.icon-star{width:22px;height:22px;margin-right:3px;color:var(--gold)}
body .header-book span{display:inline-flex;align-items:center;width:auto;margin-left:8px}
body .header-book svg.icon{width:15px;height:15px}
body .btn svg.icon{width:16px;height:16px;flex:0 0 16px;stroke-width:1.75}
body .btn svg.icon.icon-fill{stroke:none;width:17px;height:17px;flex-basis:17px}
body .text-link svg.icon{width:16px;height:16px;margin-left:6px}
body .floating-wa svg.icon{width:26px;height:26px}
body .site-footer svg.icon{width:14px;height:14px;margin-right:7px;color:var(--gold);vertical-align:-2px}
body .site-footer .socials svg.icon{width:17px;height:17px;margin:0;vertical-align:middle}
body .site-footer .socials a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;transition:.25s}
body .site-footer .socials a:hover{border-color:var(--gold)}
body .site-footer .socials a:hover svg.icon{color:#fff}
body .contact-list svg.icon{width:22px;height:22px;color:#9c7a35;flex:none;margin-top:2px}
body .social-row svg.icon{width:16px;height:16px}
body .success-message svg.icon{width:26px;height:26px;color:var(--gold)}
body .success-message>span{display:flex;flex:none}
body .map-placeholder svg.icon{width:36px;height:36px;color:var(--gold)}
body .booking-form label svg.icon.icon-label{width:13px;height:13px;margin:-3px 6px 0 0;color:var(--gold)}

/* Menu toggle: Lucide menu / close icons instead of a text glyph */
.menu-toggle{align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px;padding:0;line-height:0}
.menu-toggle svg.icon{width:24px;height:24px;stroke-width:1.6}
.menu-toggle .icon-close{display:none}
.menu-toggle.is-open .icon-menu{display:none}
.menu-toggle.is-open .icon-close{display:block}
@media(max-width:720px){.menu-toggle{display:flex}}
.menu-toggle:focus-visible,.nav-link:focus-visible,.header-book:focus-visible,.floating-wa:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---- 3. Booking form feedback ---------------------------------------- */
.form-errors{margin:0 0 18px;padding:14px 16px;border:1px solid rgba(232,120,110,.55);background:rgba(120,30,25,.22);color:#ffd9d4;font-size:12px;line-height:1.55}
.form-errors[hidden]{display:none}
.form-errors p{margin:0}
.form-errors p+p{margin-top:5px}
.form-errors p:before{content:"";display:inline-block;width:5px;height:5px;margin:0 9px 2px 0;border-radius:50%;background:#ff9a90}
.booking-form .is-invalid{border-color:#e8786e!important;box-shadow:0 0 0 3px rgba(232,120,110,.14)!important}
.booking-form button[type=submit]:disabled{opacity:.65;cursor:progress}
.success-message[hidden]{display:none}
.success-message .text-link{color:var(--gold);border-color:rgba(216,181,106,.45)}
.success-message br{display:block;content:"";margin-top:4px}

/* Mobile: `overflow-x:hidden` on <body> turns it into a scroll container and silently disables
   position:sticky, so the header scrolled away on phones. `clip` still blocks sideways scroll. */
@media(max-width:720px){html,body{overflow-x:clip}}

/* ---- Premium mobile navigation and premises video ------------------- */
.premises-experience{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(280px,1.1fr);
  align-items:center;
  gap:clamp(32px,7vw,100px);
  background:#100f0d;
  color:#f7f0e5;
}
.premises-copy{max-width:540px}
.premises-copy h2{font-size:clamp(42px,5.3vw,70px);line-height:1.02;margin:8px 0 24px}
.premises-copy>p:last-child{max-width:470px;color:#c5bdb2;font-size:15px;line-height:1.9}
.premises-video-wrap{margin:0;min-width:0}
.premises-video{display:block;width:100%;height:auto;max-height:740px;aspect-ratio:478/850;object-fit:contain;object-position:center;background:#050505;border:1px solid rgba(216,181,106,.25);border-radius:5px;box-shadow:0 24px 65px rgba(0,0,0,.28)}
.premises-caption{margin-top:13px;color:#a9a095;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.mobile-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding-top:24px;border-top:1px solid rgba(216,181,106,.24)}
.mobile-lang{display:flex;align-items:center;gap:10px;color:#746d62}
.mobile-lang button{padding:10px 2px;background:transparent;border:0;color:#bdb4a7;font-size:11px;letter-spacing:.16em}
.mobile-lang button.active{color:#f0d89b}
.mobile-menu .mobile-book{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 18px;background:#d8b56a;color:#17130c;border:1px solid #d8b56a;font-size:10px;letter-spacing:.13em}
.mobile-menu .mobile-book:hover{background:#ead5a1}
.mobile-menu-open{overflow:hidden}
.menu-toggle[aria-expanded="true"]{color:#f0d89b}
@media(max-width:720px){
  .mobile-menu{
    display:flex;flex-direction:column;
    position:fixed;top:calc(var(--ann-h) + var(--header-h));right:0;bottom:0;left:0;
    width:100%;max-height:none;overflow-y:auto;overscroll-behavior:contain;
    padding:24px 7vw calc(28px + env(safe-area-inset-bottom));
    background:#0b0a09;color:#fff;
    border-top:1px solid rgba(216,181,106,.24);
    box-shadow:none;
    visibility:hidden;opacity:0;pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
  }
  .mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .mobile-menu nav{display:grid;gap:0}
  .mobile-menu .nav-link{display:block;padding:13px 0;border-bottom:1px solid rgba(216,181,106,.15);font-family:var(--serif);font-size:clamp(23px,6vw,31px);font-weight:500;letter-spacing:0;text-transform:none;color:#f2ece2}
  .mobile-menu .nav-link:after{display:none}
  .mobile-menu .nav-link.active{color:#e7c77f}
  .mobile-menu .mobile-book{display:inline-flex!important;margin:0;text-align:center;white-space:nowrap}
  .premises-experience{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:76px;padding-bottom:76px}
  .premises-copy h2{font-size:clamp(42px,10vw,62px)}
  .premises-video-wrap{width:min(100%,460px);margin-inline:auto}
  .premises-video{max-height:76svh}
}
@media(min-width:721px){
  .mobile-menu{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .mobile-menu,.mobile-menu .nav-link:after{transition:none!important}
  html{scroll-behavior:auto}
}

/* FINAL POLISH — one language selector in the header and a responsive editorial mobile menu. */
.top-lang{display:none!important}
.mobile-menu-footer,.mobile-lang{display:none!important}
@media(max-width:720px){
  :root{--header-h:72px}
  .announcement{height:30px;min-height:30px;justify-content:center;padding-inline:14px;letter-spacing:.14em}
  .announcement span:first-child{font-size:8px}
  .announcement span:nth-child(2){display:none}
  .site-header{height:var(--header-h);padding-inline:clamp(14px,4.5vw,24px);gap:clamp(8px,2.5vw,16px)}
  .brand{flex:0 0 auto}
  .brand img{width:56px;height:56px}
  .desktop-nav{display:none}
  .header-actions{display:flex;align-items:center;gap:0;margin-left:auto}
  .header-actions .header-book{display:none}
  .lang-switch{display:flex;align-items:center;gap:7px;padding:0 8px}
  .lang-switch button{min-width:30px;min-height:40px;padding:8px 3px;font-size:11px;letter-spacing:.08em}
  .lang-switch span{font-size:10px}
  .menu-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;margin:0;border:1px solid rgba(216,181,106,.38);border-radius:50%;background:rgba(255,255,255,.025)}
  .menu-toggle:focus-visible{outline-offset:4px}
  .mobile-menu{
    display:flex;flex-direction:column;justify-content:flex-start;
    position:fixed;inset:var(--header-h) 0 0;top:var(--header-h);right:0;bottom:0;left:0;
    width:100%;height:auto;max-height:none;overflow-y:auto;overflow-x:hidden;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
    padding:clamp(22px,5vh,44px) clamp(24px,8vw,54px) calc(28px + env(safe-area-inset-bottom));
    background:radial-gradient(ellipse at 90% 0%,rgba(216,181,106,.11),transparent 38%),#0b0a09;
    color:#f8f2e8;border-top:1px solid rgba(216,181,106,.28);
    box-shadow:0 28px 70px rgba(0,0,0,.38);
    visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
  }
  .mobile-menu::before{content:'PRECIOUS SMILE  /  METZ';display:block;margin:0 0 clamp(14px,3vh,26px);font-size:9px;font-weight:600;letter-spacing:.22em;color:var(--gold)}
  .mobile-menu::after{content:'BEAUTY  ·  DETAIL  ·  CONFIDENCE';display:block;margin-top:auto;padding-top:24px;font-size:8px;letter-spacing:.2em;color:#8d8579;text-align:center}
  .mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .mobile-menu nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;max-width:680px;margin:0 auto}
  .mobile-menu .nav-link{display:flex;align-items:center;min-height:clamp(49px,8.1vh,68px);padding:10px 0;border-bottom:1px solid rgba(216,181,106,.17);font-family:var(--serif);font-size:clamp(25px,6.2vw,35px);font-weight:500;line-height:1.1;letter-spacing:-.015em;text-transform:none;color:#f2ece2;overflow-wrap:anywhere}
  .mobile-menu .nav-link::before{content:'—';color:var(--gold);font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:0;margin-right:14px;opacity:.85}
  .mobile-menu .nav-link::after{display:none}
  .mobile-menu .nav-link.active{color:var(--gold2)}
  .mobile-menu .nav-link:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .mobile-menu-open{overflow:hidden;touch-action:none}
}
@media(max-width:360px){
  .site-header{padding-inline:12px;gap:5px}
  .brand img{width:50px;height:50px}
  .lang-switch{gap:3px;padding-inline:3px}
  .lang-switch button{min-width:27px;font-size:10px}
  .menu-toggle{width:42px;height:42px;flex-basis:42px}
  .mobile-menu{padding-inline:22px}
  .mobile-menu .nav-link{font-size:25px;min-height:48px}
}
@media(min-width:721px){
  .mobile-menu{display:none!important}
  .mobile-menu-open{overflow:auto}
}
@media(max-height:620px) and (max-width:720px){
  .mobile-menu{padding-top:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .mobile-menu::before{margin-bottom:10px}
  .mobile-menu .nav-link{min-height:42px;padding:7px 0;font-size:clamp(22px,4.6vh,28px)}
  .mobile-menu::after{padding-top:12px}
}
@media(prefers-reduced-motion:reduce){
  .mobile-menu{transition:none!important}
}
