:root{--black:#111;--charcoal:#1d1d1d;--cream:#f4efe6;--paper:#fffdf8;--red:#d8332e;--muted:#716d66;--line:#d9d2c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;width:100%}button{font:inherit}.site-header{height:92px;position:absolute;z-index:20;top:0;left:0;right:0;padding:0 clamp(1.25rem,5vw,5rem);display:grid;grid-template-columns:180px 1fr auto;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.brand{width:88px;align-self:start;background:var(--black);padding:.65rem}.brand img{aspect-ratio:1;object-fit:contain}.site-header nav{justify-self:center;display:flex;gap:clamp(1rem,2.4vw,2.4rem);font-size:.79rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.site-header nav a{opacity:.76;transition:.2s}.site-header nav a:hover{opacity:1;color:#ff6a61}.header-actions{display:flex;align-items:center;gap:1.2rem}.language{display:flex;gap:.25rem;font-size:.73rem;opacity:.8}.language button{border:0;background:transparent;color:#fff;padding:0;cursor:pointer}.language button.active{color:#ff6a61}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.25rem;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800}.header-cta,.button.primary{background:var(--red);color:#fff}.button.outline{border:1px solid currentColor}.menu-button{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.hero{min-height:790px;height:92svh;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.68) 45%,rgba(0,0,0,.12) 78%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 50%)}.hero-copy{position:relative;z-index:2;width:min(680px,88vw);margin-left:clamp(1.25rem,9vw,9rem);padding-top:5rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#f1b6b1}.eyebrow.red{color:var(--red)}h1,h2{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:.015em}h1{font-size:clamp(4.7rem,9vw,9.6rem);margin:.6rem 0 1.4rem}h2{font-size:clamp(3.2rem,6vw,6.3rem);margin:.7rem 0 1.2rem}.hero-copy>p:not(.eyebrow){max-width:580px;color:#ddd7ce;font-size:1.05rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.rating-card{position:absolute;z-index:3;right:clamp(1.25rem,5vw,5rem);bottom:2rem;background:#fff;color:#111;padding:1.15rem 1.3rem;display:flex;gap:.9rem;align-items:center;min-width:235px}.google-mark{width:42px;height:42px;border:3px solid #4285f4;color:#4285f4;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.35rem}.rating-card>span:last-child{display:grid;grid-template-columns:auto 1fr;column-gap:.5rem;align-items:center}.rating-card b{font-size:1.5rem}.rating-card i{font-style:normal;color:#f3a51b;font-size:.76rem;letter-spacing:.05em}.rating-card small{grid-column:1/-1;color:#666;font-size:.7rem}.quick-info{display:grid;grid-template-columns:repeat(3,1fr);background:var(--black);color:#fff;padding:1.45rem clamp(1.25rem,8vw,8rem)}.quick-info>div,.quick-info>a{padding:0 1.8rem;border-right:1px solid #3a3a3a;display:grid}.quick-info>*:last-child{border:0}.quick-info small,.visit-details small{font-size:.64rem;letter-spacing:.15em;color:#b5aaa0;font-weight:700}.quick-info strong{font-size:.9rem}.section{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,8vw,9rem)}.section-heading{display:grid;grid-template-columns:1.3fr .55fr;gap:4rem;align-items:end}.section-heading>p{color:var(--muted);font-size:1.04rem}.service-list{margin-top:4rem;border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;align-items:center;padding:1.55rem 0;border-bottom:1px solid var(--line)}.service-list article>span{color:#a29b91;font-size:.72rem}.service-list h3{margin:0;font-family:"Bebas Neue",sans-serif;font-size:2rem;font-weight:400;letter-spacing:.04em}.service-list p{margin:.25rem 0 0;color:var(--muted);font-size:.86rem}.service-list article>strong{font-family:"Bebas Neue",sans-serif;font-size:2.3rem;color:var(--red);font-weight:400}.service-note{margin:1.5rem 0 0;color:var(--muted);font-size:.85rem}.experience{display:grid;grid-template-columns:1.12fr .88fr;min-height:750px;background:var(--black);color:#fff}.experience-image img{height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05)}.experience-copy{padding:clamp(4rem,7vw,7.5rem);display:flex;flex-direction:column;justify-content:center}.experience-copy>p:not(.eyebrow){color:#bbb3aa;font-size:1.05rem}.experience-copy ul{list-style:none;padding:0;margin:1.8rem 0;border-top:1px solid #444}.experience-copy li{padding:1rem 0;border-bottom:1px solid #444}.experience-copy li:before{content:"◆";color:var(--red);font-size:.55rem;margin-right:.8rem}.text-link{color:#ff6a61;font-weight:700;text-decoration:underline;text-underline-offset:5px}.section-heading.compact{grid-template-columns:1.2fr .5fr}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:.65rem;margin-top:3.5rem}.gallery-item{border:0;padding:0;position:relative;background:#222;overflow:hidden;cursor:pointer}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item img{height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:after{content:"";position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(transparent,rgba(0,0,0,.78))}.gallery-item span{position:absolute;z-index:2;left:1rem;bottom:.8rem;color:#fff;font-size:.78rem;font-weight:700}.visit{display:grid;grid-template-columns:1fr .65fr;background:var(--charcoal);color:#fff}.visit-copy{padding:clamp(5rem,8vw,8rem)}.visit-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0}.visit-details p{margin:0}.visit-details small{display:block;margin-bottom:.4rem}.visit-actions{display:flex;gap:.7rem;flex-wrap:wrap}.review-panel{background:var(--red);padding:clamp(4rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.google-mark.large{width:58px;height:58px;background:#fff;border-color:#fff}.review-panel .stars{letter-spacing:.13em;font-size:1.15rem;margin:2rem 0 .3rem}.review-panel>strong{font:400 clamp(5rem,8vw,8rem)/.9 "Bebas Neue",sans-serif}.review-panel>p:not(.stars){margin:.6rem 0 2rem}.review-panel>a{font-weight:800;text-decoration:underline;text-underline-offset:5px}footer{background:#0b0b0b;color:#fff;padding:2rem clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem}footer img{width:78px}footer p{font-size:.8rem;color:#aaa}footer div{display:flex;gap:1.3rem;font-size:.8rem}.mobile-book{display:none}dialog{padding:0;border:0;background:#111;max-width:min(1000px,calc(100vw - 2rem))}dialog::backdrop{background:rgba(0,0,0,.88)}dialog img{max-height:86vh;object-fit:contain}dialog button{position:absolute;right:.7rem;top:.7rem;width:42px;height:42px;border:0;border-radius:50%;background:#fff;font-size:1.5rem;cursor:pointer}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto auto}.menu-button{display:block;order:2}.site-header nav{display:none;position:absolute;top:92px;left:0;right:0;background:#111;padding:1.2rem;flex-direction:column}.site-header nav.open{display:flex}.header-actions{order:3}.language{display:none}.section-heading,.experience,.visit{grid-template-columns:1fr}.experience-image{min-height:560px}.review-panel{min-height:520px}.gallery{grid-template-columns:repeat(2,1fr)}.visit-details{grid-template-columns:1fr 1fr}.header-cta{display:none}}
@media(max-width:620px){.site-header{height:76px}.brand{width:70px}.site-header nav{top:76px}.hero{min-height:720px}.hero-copy{margin-left:1.25rem}.hero-copy h1{font-size:4.65rem}.rating-card{left:1.25rem;right:auto;bottom:1.2rem}.quick-info{grid-template-columns:1fr;padding:1rem 1.25rem}.quick-info>div,.quick-info>a{border-right:0;border-bottom:1px solid #343434;padding:.75rem 0}.service-list article{grid-template-columns:38px 1fr auto;gap:.8rem}.service-list p{display:none}.service-list h3{font-size:1.65rem}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.gallery-item,.gallery-item.tall,.gallery-item.wide{min-width:82vw;height:430px;scroll-snap-align:start}.experience-image{min-height:460px}.visit-details{grid-template-columns:1fr}.visit-actions{flex-direction:column}.review-panel{min-height:460px}footer{grid-template-columns:1fr 1fr}footer p{grid-column:1/-1;order:3}.mobile-book{display:block;position:fixed;z-index:25;left:.8rem;right:.8rem;bottom:.7rem;background:var(--red);color:#fff;text-align:center;padding:.9rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 30px rgba(0,0,0,.35)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item img{transition:none}}
.gallery{grid-auto-flow:dense}
