:root{--bg:#111214;--gold:#d8ba84;--muted:#bbb5ad;--light:#f8f5f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,'Helvetica Neue',sans-serif;color:#242322;background:var(--light);line-height:1.65}h1,h2,h3{line-height:1.18}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:clamp(42px,6vw,82px)}h2{font-size:clamp(30px,4vw,52px)}a{color:inherit;text-decoration:none}a:hover{color:#af8854}.nav{background:#171717;color:white;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 5%;position:sticky;top:0;z-index:5;box-shadow:0 4px 20px #0003}.nav nav{display:flex;gap:23px;flex-wrap:wrap}.brand img{height:64px;width:90px;object-fit:contain}.btn,button{background:var(--gold);color:#191919;border:0;padding:14px 24px;display:inline-block;cursor:pointer;font-weight:700;letter-spacing:.3px}.btn:hover,button:hover{background:#e9ca98;color:#111}.small{padding:9px 14px}.hero{min-height:660px;background:linear-gradient(90deg,#101010e8 0%,#101010b0 43%,#0001 100%),url('2.jpeg') center/cover;display:flex;align-items:center;color:white}.hero-content{padding:70px max(7%,25px);max-width:800px}.hero h1{margin:18px 0}.hero em{color:var(--gold);font-weight:400}.hero p{font-size:19px;color:#e4ddd4;max-width:520px}.eyebrow{color:#b08c55;font-size:12px;letter-spacing:3px;font-weight:700}.section{padding:90px max(6%,20px)}.center{text-align:center}.lead{max-width:830px;margin:20px auto;font-size:19px}.notice{max-width:800px;margin:30px auto 0;border-top:1px solid #c5a573;padding:20px}.dark{background:#191919;color:#fff}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:42px}.service{border:1px solid #5a5145;padding:30px;min-height:230px}.service h3{font-family:Georgia,serif;font-size:25px}.service p{color:#c9c5bf}.service a{color:var(--gold)}.gold-line{display:block;width:45px;height:2px;background:var(--gold)}.disclaimer{color:#aaa;font-size:13px;margin-top:30px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery img{width:100%;height:330px;object-fit:cover;display:block;transition:transform .3s}.gallery img:hover{transform:scale(1.04)}.gallery figcaption{padding:8px 12px;font-size:12px;background:#fff}.booking{background:#e9e2d8;display:grid;grid-template-columns:1fr 1.25fr;gap:8%;align-items:start}.panel{background:white;padding:28px;border:1px solid #ded8cf;box-shadow:0 10px 28px #0000000a}.panel h3{margin-top:0}label{display:block;margin:12px 0;font-weight:600;font-size:14px}input:not([type=checkbox]),select,textarea{width:100%;display:block;border:1px solid #cfc9c0;border-radius:0;background:white;padding:12px;font:inherit;margin-top:5px;color:#222}input[type=checkbox]{accent-color:#b18b56}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fine{font-size:12px;color:#686868}.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.contact iframe{width:100%;height:350px;border:0;filter:grayscale(.25)}footer{background:#151515;color:#eee;padding:50px 6%;text-align:center}footer p{color:#bfbfbf}footer a{color:#dfc08d}.alert{padding:14px;border-left:4px solid #7b965f;background:#eff5e8}.alert.err{border-color:#c65353;background:#fff0f0}.wrap{max-width:520px;margin:9vh auto;padding:20px}.admin-main{max-width:1320px;padding:35px 25px;margin:auto}.admin-section{padding:35px 0;border-bottom:1px solid #d8d1c7}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-grid .panel{min-width:0}.admin-grid h3{font-size:18px}.inline{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:15px 0}.inline input{width:auto}.check{display:inline-block;margin-right:16px}.thumb{width:100%;height:180px;object-fit:cover}.danger{background:#ac5555;color:#fff}@media(max-width:850px){.nav{position:static;flex-wrap:wrap}.nav nav{gap:10px;font-size:13px}.cards,.gallery{grid-template-columns:repeat(2,1fr)}.booking,.contact{grid-template-columns:1fr}.hero{min-height:500px}}@media(max-width:560px){.cards,.gallery,.admin-grid,.two{grid-template-columns:1fr}.gallery img{height:280px}.section{padding:55px 20px}.nav{padding:10px}.nav .btn{display:none}.panel{padding:18px}}

/* Public storefront redesign - editorial luxury */
body:not(.admin-app){background:#f9f6f1;color:#27231f}body:not(.admin-app) .nav{background:#151515ee;backdrop-filter:blur(14px);min-height:92px;border-bottom:1px solid #c7aa7040}body:not(.admin-app) .nav nav a{font-size:12px;text-transform:uppercase;letter-spacing:1.5px}body:not(.admin-app) .brand img{height:70px;width:105px}body:not(.admin-app) .hero{min-height:min(790px,90vh);background:linear-gradient(90deg,#0d0c0be8 0%,#0d0c0bc9 36%,#0d0c0b30 100%),url('2.jpeg') center 48%/cover}body:not(.admin-app) .hero-content{padding-left:max(8%,25px);max-width:850px}body:not(.admin-app) .hero h1{font-size:clamp(52px,7.2vw,106px);line-height:1.08;letter-spacing:-2px}body:not(.admin-app) .hero em{color:#e3c393}body:not(.admin-app) .hero p{font-size:18px;line-height:1.8}body:not(.admin-app) .btn,body:not(.admin-app) button{background:#c9a779;letter-spacing:1px;text-transform:uppercase;font-size:12px;padding:17px 25px}body:not(.admin-app) .section{padding-top:105px;padding-bottom:105px}body:not(.admin-app) .section h2{letter-spacing:-1px}body:not(.admin-app) .lead{line-height:1.9;color:#665c52}body:not(.admin-app) .dark{background:#191715}body:not(.admin-app) .service{background:#211e1a;border:1px solid #7e674d55;transition:transform .2s,border-color .2s}body:not(.admin-app) .service:hover{transform:translateY(-4px);border-color:#c9a779}body:not(.admin-app) .service h3{font-size:28px}body:not(.admin-app) .gallery{gap:12px}body:not(.admin-app) .gallery img{height:390px}body:not(.admin-app) .booking{background:#eee7dc}body:not(.admin-app) .booking .panel{border:1px solid #d8cbb8;box-shadow:0 18px 50px #392d2012}body:not(.admin-app) .contact{background:#fff}body:not(.admin-app) footer{background:#151412}body:not(.admin-app) .eyebrow{letter-spacing:4px}@media(max-width:700px){body:not(.admin-app) .hero{min-height:570px}body:not(.admin-app) .hero h1{font-size:51px}body:not(.admin-app) .section{padding-top:65px;padding-bottom:65px}body:not(.admin-app) .gallery img{height:290px}}

.site-credit{font-size:11px!important;opacity:.65;line-height:1.5;margin:12px 0 4px!important}.site-credit a{font-size:inherit!important;color:inherit!important;text-decoration:underline;text-underline-offset:2px}
.site-footer .site-credit{width:100%;max-width:none;margin:12px auto 4px!important;text-align:center}

.status-pending{background:#fff1d5!important;color:#805400!important}.appointment-detail input[type=number]{max-width:100%}

.site-footer .footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin:20px 0 12px}.site-footer .footer-links a{font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;background:none;border:0;padding:0}.site-footer .footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.site-footer a:focus-visible{outline:2px solid #dfc08d;outline-offset:5px}.admin-app .site-footer{margin-top:auto;padding:24px 20px}

/* Gallery photos in the homepage hero. */
body:not(.admin-app) .hero{position:relative;isolation:isolate;overflow:hidden}
.hero-slides{position:absolute;inset:0;z-index:-1;background:#151412}
.hero-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d0c0be8 0%,#0d0c0bc9 36%,#0d0c0b30 100%)}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:0;transition:opacity 1.2s ease}
.hero-slide.is-active{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
/* Compact desktop layout, including 1200 x 600 windows. */
@media(min-width:701px) and (max-width:1200px){
    body:not(.admin-app) .nav{min-height:74px;padding:8px 4%;gap:14px}
    body:not(.admin-app) .brand img{width:85px;height:56px}
    body:not(.admin-app) .nav nav{gap:16px}
    body:not(.admin-app) .hero-content{padding:40px 5%;max-width:760px;min-width:0}
    body:not(.admin-app) .hero h1{font-size:clamp(44px,6vw,72px)}
    body:not(.admin-app) .section{padding:48px 4%}
    .cards{gap:16px;margin-top:28px}
    .service{padding:22px;min-width:0}
    body:not(.admin-app) .service h3{font-size:24px}
    .contact{gap:24px}
    footer{padding:28px 4%}
}
@media(min-width:701px) and (max-height:650px){
    body:not(.admin-app) .hero{min-height:420px}
    body:not(.admin-app) .hero-content{padding-top:28px;padding-bottom:28px}
    body:not(.admin-app) .hero h1{font-size:clamp(42px,5vw,68px);margin:12px 0}
    .wrap{margin:24px auto}
    .contact iframe{height:280px}
}
@media(max-width:700px){
    body:not(.admin-app) .hero.has-gallery{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#151412}
    .hero.has-gallery .hero-slides{position:relative;inset:auto;z-index:0;width:100%;aspect-ratio:4/3;flex-shrink:0}
    .hero.has-gallery .hero-slide{object-fit:contain;object-position:center}
    .hero.has-gallery .hero-slides::after{display:none}
    body:not(.admin-app) .hero.has-gallery .hero-content{width:100%;max-width:none;min-width:0;padding:28px 20px 36px}
    body:not(.admin-app) .hero.has-gallery h1{font-size:clamp(34px,9vw,51px);letter-spacing:-1px;overflow-wrap:break-word}
    body:not(.admin-app) .hero.has-gallery p{font-size:16px;line-height:1.7}
    .hero.has-gallery .hero-content .btn{max-width:100%;text-align:center;white-space:normal}
}
