:root{--gold:#C8A343;--black:#0D0D0D;--cream:#F8F4EE;--lgold:#E7D6A6;--gray:#EAEAEA;--dgold:#9a7c25;--nav-h:74px}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:hidden;-webkit-text-size-adjust:100%}
body{font-family:Poppins,system-ui,sans-serif;background:var(--black);color:var(--gray);line-height:1.7;overflow-x:hidden}
img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}
h1,h2,h3,h4,.brand,.quote{font-family:'Playfair Display',Georgia,serif;font-weight:500}
em{color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--black);padding:8px 16px;border-radius:8px;z-index:200}.skip:focus{left:8px}
/* loader (home, first visit only) */
#loader{position:fixed;inset:0;background:var(--black);z-index:99;display:grid;place-items:center;transition:opacity .8s,visibility .8s;animation:ldoff 0s 4.5s forwards}
#loader img{width:140px;border-radius:14px;animation:pulse 1.4s infinite}#loader.off{opacity:0;visibility:hidden}
@keyframes ldoff{to{opacity:0;visibility:hidden}}
@keyframes pulse{50%{transform:scale(1.08);filter:drop-shadow(0 0 20px var(--gold))}}
/* header */
#nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 4vw;transition:.4s}
#nav::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(13,13,13,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(200,163,67,.3);opacity:0;transition:opacity .4s}
#nav.solid::before,.inner #nav::before{opacity:1}
.brand{display:flex;align-items:center;gap:12px;font-size:1.5rem;color:var(--gold);flex:none}
.logo-vid{width:58px;height:58px;border-radius:12px;object-fit:cover;background:#000;border:1px solid rgba(200,163,67,.55);box-shadow:0 0 18px rgba(200,163,67,.25)}
.brand span{line-height:1;letter-spacing:.06em}
#menu{display:flex;gap:clamp(12px,1.6vw,24px);align-items:center;font-size:.82rem;letter-spacing:.05em}
#menu a:not(.btn):not(.ico){position:relative;padding:6px 0}
#menu a:not(.btn):not(.ico)::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:.35s}
#menu a:not(.btn):not(.ico):hover,#menu a[aria-current=page]{color:var(--gold)}
#menu a:not(.btn):not(.ico):hover::after,#menu a[aria-current=page]::after{width:100%}
.soc{display:flex;gap:10px;align-items:center}
.ico{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(200,163,67,.55);color:var(--gold);transition:.3s}
.ico svg{width:17px;height:17px}.ico:hover{background:var(--gold);color:var(--black);transform:translateY(-2px)}
#burger{display:none;background:none;border:0;width:40px;height:40px;position:relative;cursor:pointer;z-index:60}
#burger i{position:absolute;left:7px;right:7px;height:2px;background:var(--gold);transition:.4s}#burger i:nth-child(1){top:13px}#burger i:nth-child(2){top:19px}#burger i:nth-child(3){top:25px}
#burger.open i:nth-child(1){transform:translateY(6px) rotate(45deg)}#burger.open i:nth-child(2){opacity:0}#burger.open i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.btn{display:inline-block;padding:13px 28px;background:linear-gradient(120deg,var(--gold),var(--lgold),var(--gold));background-size:200%;color:var(--black);border:0;border-radius:40px;font:500 .85rem Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.4s;box-shadow:0 0 0 rgba(200,163,67,0);text-align:center}
.btn:hover{background-position:100%;transform:translateY(-3px);box-shadow:0 8px 28px rgba(200,163,67,.45)}
.btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}.btn.ghost:hover{background:var(--gold);color:var(--black)}
.btn.sm{padding:9px 18px;font-size:.72rem}
/* hero (home) */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden}
.collage{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);animation:drift 30s ease-in-out infinite alternate}
.collage div{background-size:cover;background-position:center;transform:scale(1.1)}
@keyframes drift{to{transform:scale(1.08) translateY(-1.5%)}}
.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.75),rgba(13,13,13,.55) 50%,var(--black))}
.particles{position:absolute;inset:0;pointer-events:none}
.particles i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);opacity:0;animation:rise linear infinite}
@keyframes rise{10%{opacity:.9}to{transform:translateY(-105vh);opacity:0}}
.hero-in{position:relative;padding:120px 6vw 70px;max-width:900px}
.eyebrow{color:var(--gold);letter-spacing:.35em;text-transform:uppercase;font-size:.75rem;margin-bottom:12px}.eyebrow.dark{color:var(--dgold)}
.hero h1{font-size:clamp(2.4rem,7vw,5rem);line-height:1.1}
.hero h2{font-style:italic;font-size:clamp(1.1rem,2.6vw,1.7rem);color:var(--lgold);margin:16px 0 26px}
.hero-in>*{opacity:0;transform:translateY(30px);animation:up 1s forwards}
.hero-in>*:nth-child(2){animation-delay:.3s}.hero-in>*:nth-child(3){animation-delay:.6s}.hero-in>*:nth-child(4){animation-delay:.9s}.hero-in>*:nth-child(5){animation-delay:1.2s}
@keyframes up{to{opacity:1;transform:none}}
.glass{max-width:520px;margin:0 auto 30px;padding:18px 26px;background:rgba(255,255,255,.08);backdrop-filter:blur(14px);border:1px solid rgba(231,214,166,.35);border-radius:18px}
.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}.glass+.actions{margin-top:0}
/* inner page banner */
.phero{position:relative;padding:calc(var(--nav-h) + 70px) 6vw 64px;text-align:center;overflow:hidden;isolation:isolate}
.phero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--bg) center/cover;opacity:.32;transform:scale(1.05)}
.phero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,13,13,.55),var(--black))}
.phero h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.15;color:#fff}.phero p.lead{max-width:640px;margin:14px auto 0;color:var(--lgold);font-style:italic;font-size:1.1rem}
.crumbs{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-top:18px;color:#aaa}.crumbs a{color:var(--gold)}.crumbs a:hover{text-decoration:underline}
/* sections */
.sec{padding:96px 6vw;position:relative}.sec.cream{background:var(--cream);color:#333}.sec.dark{background:var(--black)}.sec.tight{padding-top:60px}
.center{text-align:center}
h2.t,h3{font-size:clamp(1.8rem,4vw,3rem);line-height:1.2;margin-bottom:40px}.cream h2.t,.cream h3{color:var(--black)}.dark h2.t,.dark h3{color:#fff}
.lead-p{max-width:760px;margin:-14px auto 44px;text-align:center;font-size:1.02rem}
.split{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.split.rev>:first-child{order:2}
.split h2.t,.split h3{margin-bottom:20px}.split p{margin-bottom:14px}
.portrait{width:100%;max-width:460px;margin:0 auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:200px 200px 12px 12px;box-shadow:20px 20px 0 var(--lgold)}
.quote{font-style:italic;font-size:1.5rem;color:var(--dgold);margin-top:20px}
.dark .quote{color:var(--lgold)}
.grid3{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.grid3.why{grid-template-columns:repeat(3,1fr)}
.card{position:relative;padding:30px;border-radius:16px;background:#fff;border:1px solid #eadfc3;transition:.5s;overflow:hidden;display:block}
.card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 14px 40px rgba(200,163,67,.25)}
.card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--gold);transition:.6s}.card:hover::after{width:100%}
.card b{font:500 .8rem Poppins,sans-serif;color:var(--gold);letter-spacing:.2em}.card h3,.card h4{font:500 1.3rem 'Playfair Display',serif;margin:6px 0;color:var(--black)}.card .pr{font-weight:600;color:var(--dgold)}
.card .go{display:inline-block;margin-top:10px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.dark .card{background:rgba(255,255,255,.04);border-color:rgba(200,163,67,.25)}.dark .card h3,.dark .card h4{color:#fff}.dark .card p{font-size:.9rem;color:#bbb}
.note{margin-top:30px;font-size:.8rem;color:#777}.dark .note{color:#999}
/* image tiles (home highlights) */
.tiles{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tile{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;display:block;background:#111}
.tile img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .9s}.tile:hover img{transform:scale(1.07)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(13,13,13,.88))}
.tile span{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;font:500 1.25rem 'Playfair Display',serif;line-height:1.25}
.tile small{display:block;font:400 .72rem Poppins,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--lgold);margin-top:4px}
.tile:hover{box-shadow:0 14px 40px rgba(200,163,67,.35)}
.more{text-align:center;margin-top:40px}
/* service detail blocks */
.chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 auto 10px;max-width:900px}
.chips a,.pill{border:1px solid rgba(200,163,67,.6);color:var(--gold);padding:7px 16px;border-radius:30px;font-size:.78rem;letter-spacing:.06em;transition:.3s;display:inline-block}
.chips a:hover{background:var(--gold);color:var(--black)}
.svc{max-width:1100px;margin:0 auto;padding:70px 0;display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:center;border-bottom:1px solid rgba(200,163,67,.25)}
.svc:last-of-type{border-bottom:0}
.svc.rev{grid-template-columns:6fr 5fr}.svc.rev .svc-img{order:2}
.svc-img{position:relative}.svc-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:18px;box-shadow:14px 14px 0 var(--lgold)}
.svc.rev .svc-img img{box-shadow:-14px 14px 0 var(--lgold)}
.svc h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.15;margin-bottom:14px;color:var(--black)}
.svc p{margin-bottom:14px}.svc .from{display:inline-block;margin:6px 0 14px;font-weight:600;color:var(--dgold)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}.cream .pill{color:var(--dgold);border-color:var(--dgold)}
.price{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:.92rem}
.price td{padding:11px 0;border-bottom:1px solid #e3d6b3;vertical-align:top}.price td:last-child{text-align:right;font-weight:600;color:var(--dgold);white-space:nowrap;padding-left:14px}
.price small{display:block;color:#777;font-size:.8rem}
.callout{background:#fff;border-left:4px solid var(--gold);padding:14px 18px;border-radius:0 12px 12px 0;font-size:.9rem;margin:6px 0 18px}
/* gallery */
.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.filters button{background:none;border:1px solid rgba(200,163,67,.5);color:var(--lgold);padding:8px 18px;border-radius:30px;font:400 .8rem Poppins,sans-serif;cursor:pointer;transition:.3s}
.filters button.on,.filters button:hover{background:var(--gold);color:var(--black)}
.masonry{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.masonry a{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:14px;position:relative;cursor:zoom-in;animation:fade .6s;background:#161616;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.masonry a[hidden]{display:none}
@keyframes fade{from{opacity:0;transform:scale(.96)}}
.masonry img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .8s}.masonry a:hover img{transform:scale(1.08)}
.masonry a::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--gold);transition:.4s}.masonry a:hover::after{box-shadow:inset 0 0 0 3px var(--gold)}
/* video frames and cards */
.vframe{position:relative;width:100%;max-width:320px;margin:auto;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#000;border:2px solid var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.35),0 0 40px rgba(200,163,67,.15)}
.vframe video{width:100%;height:100%;object-fit:cover}
.vgrid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.vcard{display:block;width:100%;text-align:left;background:none;border:0;color:inherit;cursor:pointer;font:inherit}
.vcard .thumb{display:block;position:relative;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#000;border:1px solid rgba(200,163,67,.4);transition:.4s}
.vcard:hover .thumb{transform:translateY(-6px);box-shadow:0 14px 40px rgba(200,163,67,.4);border-color:var(--gold)}
.vcard img{width:100%;height:100%;object-fit:cover}
.vcard .play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px;border-radius:50%;background:rgba(13,13,13,.62);border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;backdrop-filter:blur(6px);font-size:1.3rem;padding-left:4px}
.vcard .dur{position:absolute;right:10px;bottom:10px;background:rgba(13,13,13,.75);color:var(--lgold);font-size:.7rem;padding:2px 9px;border-radius:20px}
.vcard h3{font:500 1.15rem 'Playfair Display',serif;margin:14px 0 4px;color:#fff}.vcard p{font-size:.85rem;color:#aaa}
/* forms */
.form{max-width:640px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(200,163,67,.35);border-radius:12px;color:#fff;font:400 .95rem Poppins,sans-serif;color-scheme:dark}
.form select option{background:#111}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 14px rgba(200,163,67,.35)}
.form input.bad,.form select.bad{border-color:#e5484d}
.form textarea,.form .btn,.form #formMsg,.form [name=service]{grid-column:1/-1}#formMsg{text-align:center;color:var(--lgold)}
.bookwrap{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
.bookwrap .form{max-width:none}
.aside{text-align:center}.aside h3{font-size:1.5rem;margin:22px 0 8px}.aside p{font-size:.9rem;color:#bbb;margin-bottom:12px}.aside .big{font-size:1.7rem;display:block;margin-bottom:12px}
/* payment placeholder */
.paybox{max-width:640px;margin:auto;text-align:center;background:#fff;border:1px solid #eadfc3;border-top:4px solid var(--gold);border-radius:16px;padding:34px 28px}
.paynote{margin-bottom:20px;color:#555}
.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;pointer-events:none}
.paylist{margin-top:26px;text-align:left}.paylist li{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #e3d6b3;font-size:.92rem;flex-wrap:wrap}
.paylist span{font:500 .75rem Poppins,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--dgold)}.paylist b{font-weight:500;color:#333;word-break:break-word}
.paylist b.empty{color:#999;font-style:italic}
/* opening hours */
.hours{width:100%;max-width:420px;margin:0 auto 18px;text-align:left}
.hours li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(200,163,67,.25);font-size:.92rem;flex-wrap:wrap}
.hours li:last-child{border-bottom:0}.hours span{color:var(--lgold)}.hours b{font-weight:500;color:#fff}
.hourscard{max-width:520px;margin:0 auto 44px;text-align:center;padding:28px 30px}.hourscard h3{font-size:1.15rem;margin:8px 0}.hourscard:hover{transform:none}
.cardhours span{color:var(--dgold)}.cardhours b{color:#333}.cardhours{margin:8px 0 0}
.foothours{margin:0}.foothours li{padding:6px 0;font-size:.85rem;flex-direction:column;gap:0}.foothours span{color:#aaa}.foothours b{color:var(--lgold)}
.darkhours{margin:0 auto 6px}
.visit-in{max-width:520px;margin:auto;text-align:center}.visit-in .hours{max-width:460px;margin-bottom:22px}.visit-addr{color:#bbb;margin-bottom:6px}
.form .hint{grid-column:1/-1;font-size:.8rem;color:#999;margin-top:-4px}
.form [name=email],.form [name=slot],.form [name=time]{grid-column:auto}.form [name=email],.form [name=slot]{grid-column:1/-1}
.form select:disabled{opacity:.55;cursor:not-allowed}
/* contact */
.cinfo{max-width:1100px;margin:0 auto 50px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.cinfo .card{text-align:center;padding:28px 22px}.cinfo .card h3{font-size:1.15rem;margin:8px 0}.cinfo .card p{font-size:.92rem;color:#555}.cinfo .card a.ln{color:var(--dgold);font-weight:600}
.cinfo .soc{justify-content:center;margin-top:10px}
.map{max-width:1000px;margin:auto;height:420px;border-radius:20px;overflow:hidden;border:2px solid var(--gold);box-shadow:0 20px 50px rgba(0,0,0,.2)}.map iframe{width:100%;height:100%;border:0;filter:grayscale(.3) sepia(.2)}
.big{font:500 2rem 'Playfair Display',serif;color:var(--gold)}
/* cta band */
.cta{padding:80px 6vw;text-align:center;background:linear-gradient(120deg,#1a1507,var(--black) 55%,#1a1507);border-top:1px solid rgba(200,163,67,.3);border-bottom:1px solid rgba(200,163,67,.3)}
.cta h2{font-size:clamp(1.7rem,4vw,2.8rem);color:#fff;margin-bottom:10px}.cta p{color:var(--lgold);margin-bottom:6px}
/* footer */
.foot{background:#080808;padding:70px 6vw 28px;border-top:1px solid rgba(200,163,67,.3)}
.fgrid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.3fr .9fr 1.2fr 1.1fr;gap:36px}
.foot .brand{margin-bottom:14px}.foot .logo-vid{width:76px;height:76px}
.foot h4{font:500 .8rem Poppins,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.foot p,.foot li{font-size:.9rem;color:#aaa;margin-bottom:6px}.foot li a:hover,.foot p a:hover{color:var(--gold)}
.foot .soc{margin-top:14px}
.copy{max-width:1200px;margin:44px auto 0;padding-top:22px;border-top:1px solid rgba(200,163,67,.22);font-size:.75rem;color:#777;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
/* floating actions */
.fab{position:fixed;right:18px;z-index:40;padding:12px 20px;border-radius:40px;font:500 .8rem Poppins,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.fab.wa{bottom:24px;background:#25D366;color:#fff}.fab.book{bottom:76px;background:var(--gold);color:var(--black);animation:glow 2.5s infinite}
body[data-page=book] .fab.book{display:none}
@keyframes glow{50%{box-shadow:0 0 28px rgba(200,163,67,.8)}}
.bar{display:none}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:grid;place-items:center}.lb[hidden]{display:none}
#lbBody img,#lbBody video{max-height:82vh;max-height:82dvh;max-width:92vw;width:auto;height:auto;object-fit:contain;border-radius:12px}
.lb button{position:absolute;background:none;border:0;color:var(--gold);font-size:3rem;cursor:pointer;padding:12px;z-index:2}.x{top:6px;right:14px}.pv{left:8px}.nx{right:8px}
.rv{opacity:0;transform:translateY(40px);transition:1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
.nf{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px}.nf h1{font-size:clamp(4rem,14vw,8rem);color:var(--gold);line-height:1}
@media(max-width:1020px){
 #burger{display:block}
 #menu{position:fixed;top:0;right:0;bottom:0;width:min(82%,360px);flex-direction:column;justify-content:center;gap:22px;background:#0D0D0D;border-left:1px solid rgba(200,163,67,.35);transform:translateX(100%);visibility:hidden;transition:transform .5s,visibility 0s .5s;font-size:1.1rem;padding:80px 20px 40px;overflow-y:auto}
 #menu.open{transform:none;visibility:visible;transition:transform .5s}
 .brand span{display:none}
}
@media(max-width:1020px){.masonry{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){
 .masonry{grid-template-columns:repeat(2,1fr);gap:10px}.masonry a{border-radius:12px}
 .tile{border-radius:14px}.tile::after{background:linear-gradient(180deg,transparent 50%,rgba(13,13,13,.85))}
 .portrait{max-width:300px}.svc-img{max-width:300px}.svc-img img{border-radius:16px}
 .vframe{max-width:260px}.sec{padding:60px 5vw}.sec.tight{padding-top:44px}
 .btn{padding:14px 26px}.btn.sm{padding:11px 18px}.filters{gap:8px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding:2px 2px 12px;margin:0 -5vw 22px;padding-left:5vw;padding-right:5vw;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filters::-webkit-scrollbar{display:none}.filters button{flex:none;white-space:nowrap;padding:10px 16px}
 .zl-num b{font-size:1.9rem}
 .split,.svc,.svc.rev,.bookwrap{grid-template-columns:1fr;gap:36px}
 .split.rev>:first-child,.svc.rev .svc-img{order:0}
 .svc{padding:48px 0}.svc-img{max-width:420px;margin:0 auto;width:100%}
 .form{grid-template-columns:1fr}.sec{padding:70px 5vw}
 .collage{grid-template-columns:repeat(2,1fr)}.collage div:nth-child(n+3){display:none}
 .grid3.why{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr);gap:12px}.tile span{font-size:1.02rem;left:12px;right:12px}
 .fgrid{grid-template-columns:1fr;gap:30px}.foot{padding-bottom:90px}
 .fab{display:none}
 body{padding-bottom:56px}
 .bar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;z-index:40;background:rgba(13,13,13,.95);backdrop-filter:blur(10px);border-top:1px solid var(--gold);padding-bottom:env(safe-area-inset-bottom)}
 .bar a{text-align:center;padding:14px 0;font-size:.85rem;color:var(--lgold)}.bar .gold{background:var(--gold);color:var(--black);font-weight:600}
 .logo-vid{width:50px;height:50px}.portrait{box-shadow:12px 12px 0 var(--lgold)}.svc-img img,.svc.rev .svc-img img{box-shadow:10px 10px 0 var(--lgold)}
 .phero{padding:calc(var(--nav-h) + 44px) 5vw 44px}.map{height:340px}.copy{justify-content:center;text-align:center}
}
@media(max-width:420px){.vgrid{grid-template-columns:repeat(2,1fr);gap:14px}.vcard h3{font-size:.95rem}.vcard p{display:none}.vcard .play{width:46px;height:46px;margin:-23px}.masonry{gap:8px}.hero-in{padding-left:5vw;padding-right:5vw}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv,.hero-in>*{opacity:1;transform:none}}

/* ---- Zelle payment card ---- */
.paybox.zelle{max-width:560px;box-shadow:0 18px 50px rgba(120,95,30,.14)}
.zl-num{margin:6px auto 18px;padding:20px 16px;border-radius:14px;background:var(--black);color:#fff;display:flex;flex-direction:column;gap:4px;align-items:center}
.zl-label{font:500 .72rem Poppins,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--gold)}
.zl-num b{font:500 2.3rem 'Playfair Display',serif;color:#fff;letter-spacing:.03em;line-height:1.15;user-select:all}
.zl-name{font-size:.8rem;color:var(--lgold)}
.copymsg{min-height:1.5em;margin-top:10px;font-size:.85rem;color:var(--dgold)}
.zl-steps{margin:18px 0 6px;text-align:left;display:grid;gap:12px}
.zl-steps li{display:flex;gap:14px;align-items:flex-start;font-size:.92rem;color:#444}
.zl-steps b{flex:none;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--black);display:grid;place-items:center;font:600 .85rem Poppins,sans-serif}
.zl-steps em{color:var(--dgold);font-style:normal;font-weight:600}.zl-steps a{color:var(--dgold);font-weight:600;text-decoration:underline}
.fine{margin-top:22px;padding-top:16px;border-top:1px solid #e3d6b3;font-size:.78rem;color:#777;line-height:1.6;text-align:left}
.btn.dk{color:var(--dgold);border-color:var(--dgold);margin-top:16px}
.paytag{margin-top:18px;font-size:.85rem;color:var(--lgold)}.paytag a{color:var(--gold);text-decoration:underline}
/* ---- polish ---- */
.sec h2.t.center::after{content:"";display:block;width:56px;height:2px;margin:16px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.card,.paybox,.form input,.form select,.form textarea{transition:border-color .3s,box-shadow .3s,transform .5s}
.btn:active{transform:translateY(0) scale(.98)}
img{-webkit-user-drag:none}
