:root{--teal:#087e83;--ink:#102f34;--paper:#f8f5ef;--peach:#f1e3d7;--rose:#c97978;--line:#ded8d0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Manrope,Arial,sans-serif;background:var(--paper);line-height:1.7;overflow-x:hidden}a{color:inherit}.topbar{background:#0d292d;color:#eaf7f6;padding:9px 5vw;font-size:11px;letter-spacing:.05em;display:flex;justify-content:space-between}.topbar a{text-decoration:none;color:#c0e5e1;font-weight:700}.topbar a:hover{color:#fff}header{height:84px;background:#fffc;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:5;border-bottom:1px solid #143c3f12}.logo-link img{display:block;width:185px;height:66px;object-fit:contain}.footer-logo img{width:175px;max-width:100%;height:auto}nav{display:flex;align-items:center;gap:28px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.13em}nav a{text-decoration:none;transition:color .25s}nav a:hover{color:var(--teal)}.book-mini,.button{background:var(--teal);color:#fff!important;padding:14px 20px;border:0;text-decoration:none;display:inline-block;font:700 11px Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.book-mini:hover,.button:hover{background:#075f64;transform:translateY(-2px);box-shadow:0 12px 24px #087e8336}.menu{display:none;border:0;background:none;font-size:25px}.hero{min-height:680px;background:linear-gradient(90deg,#0b2529e8,#123f408c 46%,#143c3f26),url('images/hero.jpg') center/cover fixed;display:flex;align-items:center;padding:60px 12%;color:#fff;position:relative;isolation:isolate;overflow:hidden}.hero-content{max-width:640px;z-index:1}.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);z-index:-1;opacity:.34;animation:float 7s ease-in-out infinite}.orb-one{width:360px;height:360px;background:#75c7bd;right:-100px;top:80px}.orb-two{width:190px;height:190px;background:#e9b8a8;left:43%;bottom:-65px;animation-delay:-3s}.eyebrow{font-size:10px;letter-spacing:.23em;text-transform:uppercase;font-weight:700;color:var(--teal);margin:0 0 14px}.hero .eyebrow,.specials .eyebrow{color:#b7e3df}.hero h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.08;margin:0}.hero h1{font-size:clamp(52px,7vw,86px);letter-spacing:-.045em}.hero h1 em{color:#bdece6;font-weight:500}.hero-copy{font-size:17px;max-width:500px;margin:24px 0 30px}.actions{display:flex;align-items:center;gap:26px}.text-link{font-size:12px;font-weight:700;letter-spacing:.08em}.intro,.section,.hours{padding:120px max(7vw,25px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#fff}.intro h2,.section h2,.hours h2{font-size:clamp(40px,5vw,64px);letter-spacing:-.04em}.intro>p{font-size:17px;margin:20px 0}.section{text-align:center}.services{background:#f1ece4}.service-grid{margin:52px auto 0;max-width:1200px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}.service-card{background:#fff;padding:30px;border:1px solid #fff;position:relative;transition:transform .3s,box-shadow .3s}.service-card:before{content:"";position:absolute;left:30px;right:30px;top:0;height:3px;background:var(--teal);transform:scaleX(.25);transform-origin:left;transition:transform .3s}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 34px #19363816}.service-card:hover:before{transform:scaleX(1)}.service-card h3,.special h3{font-family:'Playfair Display',serif;font-size:25px;font-weight:500;margin:0 0 14px}.service-card ul{list-style:none;padding:0;margin:0}.service-card li{padding:7px 0;border-bottom:1px solid #edf0ee;font-size:13px}.note{font-size:11px;margin-top:30px}.specials{background:#123b3f;color:#fff}.special-grid{max-width:1200px;margin:52px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:left}.special{background:#fff;color:var(--ink);border-top:3px solid #b7e3df;transition:transform .3s}.special:hover{transform:translateY(-6px)}.special div{padding:27px}.special h3{font-size:30px}.special p{font-size:13px;line-height:1.8;min-height:110px}.special a{color:var(--teal);font-size:10px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.12em}.hours{background:var(--peach);display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:80px}.hours>div>p:not(.eyebrow){max-width:450px;margin-bottom:26px}.hours dl{margin:0;background:#fff;padding:22px 30px;box-shadow:0 20px 40px #624a3010}.hours dl div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #e8e2dc}.hours dl div:last-child{border:0}.hours dt{font-weight:700}.hours dd{margin:0;color:var(--teal);font-weight:700}footer{background:#0e2d31;color:#fff;padding:65px 7vw;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}footer h3{font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin:0 0 10px}footer p{font-size:13px;margin:0;color:#d5e5e3}.copyright{background:#092125;color:#bad4d1;padding:14px 7vw;font-size:10px;letter-spacing:.06em}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.special-popup{position:fixed;inset:0;background:#082326a3;z-index:20;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.3s}.special-popup.is-open{opacity:1;visibility:visible}.popup-card{width:min(470px,100%);background:#fff;padding:46px 38px 38px;position:relative;text-align:center;box-shadow:0 30px 90px #061b1e80;transform:translateY(18px) scale(.98);transition:.35s}.special-popup.is-open .popup-card{transform:none}.popup-card:before{content:"";position:absolute;inset:12px;border:1px solid #c9a57e;pointer-events:none}.popup-card h2{font-family:'Playfair Display',serif;font-size:43px;letter-spacing:-.04em;color:var(--ink)}.popup-details{position:relative;white-space:pre-line;font-size:14px;line-height:1.85;margin:22px 0 27px}.popup-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:29px;color:var(--ink);cursor:pointer;z-index:1}@keyframes float{50%{transform:translateY(25px) translateX(-12px) scale(1.08)}}@media(max-width:800px){header{height:70px}.logo-link img{width:145px;height:58px}nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;padding:25px;flex-direction:column;align-items:flex-start;box-shadow:0 8px 15px #0002}nav.open{display:flex}.menu{display:block}.topbar span{display:none}.topbar{justify-content:center}.hero{min-height:590px;padding:50px 8%;background-attachment:scroll}.intro,.hours{grid-template-columns:1fr;gap:30px;padding:80px 7%}.service-grid{grid-template-columns:1fr 1fr}.special-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}.section{padding:80px 7%}}@media(max-width:480px){.service-grid,.special-grid{grid-template-columns:1fr}.actions{align-items:flex-start;flex-direction:column;gap:15px}.hero h1{font-size:51px}footer{grid-template-columns:1fr}.topbar{font-size:11px}.hours dl div{display:block}.hours dd{margin-top:3px}.popup-card{padding:42px 25px 30px}}
/* Always-visible bilingual switcher */
.topbar-actions{display:flex;align-items:center;gap:18px}.language-link{border-left:1px solid #ffffff40;padding-left:18px;text-transform:uppercase;letter-spacing:.12em;color:#fff!important}
