
:root{--bg:#050406;--bg2:#09070b;--panel:#100d12;--panel2:#171219;--text:#fff8ed;--muted:#a99f91;--dim:#746a5e;--gold:#d8b866;--gold2:#f0d991;--purple:#8b32c9;--line:rgba(255,255,255,.1);--line2:rgba(216,184,102,.28);--serif:'Cormorant Garamond',serif;--sans:Inter,system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(100% - 44px,1180px);margin:auto}.noise{position:fixed;inset:0;pointer-events:none;opacity:.12;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.nav{position:fixed;z-index:60;top:0;left:0;right:0;height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(5,4,6,.58);backdrop-filter:blur(24px);border-bottom:1px solid transparent;transition:.3s}.nav.scrolled{background:rgba(5,4,6,.9);border-bottom-color:var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand img{width:42px;height:42px;object-fit:cover;border-radius:50%;border:1px solid var(--line2);background:#000}.brand span{font-family:var(--serif);font-size:28px;letter-spacing:-.03em}.navlinks{display:flex;align-items:center;gap:30px}.navlinks a{font-size:13px;color:var(--muted);font-weight:600}.navlinks a:hover,.navlinks a.active{color:var(--text)}.book-small{background:var(--text);color:#050505!important;padding:11px 17px;border-radius:999px}.book-small:hover{background:var(--gold2)}.menu{display:none;background:none;border:0;color:var(--text);font-size:28px}.drawer{display:none}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.24em;color:var(--gold);font-weight:800}.hero{min-height:100svh;padding:120px 0 54px;position:relative}.hero.ultra{display:grid;align-items:center}.glow{position:absolute;right:-18%;top:8%;width:64vw;height:64vw;max-width:850px;max-height:850px;border-radius:50%;background:radial-gradient(circle,rgba(139,50,201,.35),rgba(216,184,102,.10) 42%,transparent 68%);filter:blur(40px);pointer-events:none}.glow.two{left:-20%;top:45%;width:45vw;height:45vw;background:radial-gradient(circle,rgba(216,184,102,.18),transparent 65%)}.hero-grid{display:grid;grid-template-columns:1fr .88fr;gap:72px;align-items:center}.hero h1{font-family:var(--serif);font-size:clamp(74px,12vw,154px);line-height:.78;font-weight:500;letter-spacing:-.075em;margin:20px 0}.hero h1 em,.title em{font-style:italic;color:var(--gold);font-weight:400}.lede{font-size:clamp(18px,2vw,23px);line-height:1.45;color:var(--muted);max-width:540px}.lede.short{max-width:470px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 20px;font-size:13px;font-weight:800;border:1px solid var(--line);transition:.3s var(--ease)}.btn.primary{background:var(--text);color:#050505;border-color:var(--text);box-shadow:0 20px 50px rgba(255,248,237,.12)}.btn.primary:hover{background:var(--gold2);transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--text)}.btn.glass{background:rgba(255,255,255,.06);backdrop-filter:blur(18px);color:var(--text)}.btn:hover{border-color:var(--line2)}.hero-card{position:relative;border:1px solid var(--line);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));padding:18px;box-shadow:0 40px 120px rgba(0,0,0,.56);overflow:hidden}.hero-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(216,184,102,.16),transparent 36%),radial-gradient(circle at 10% 75%,rgba(139,50,201,.22),transparent 42%)}.logo-stage{position:relative;z-index:1;min-height:450px;border-radius:26px;background:#000;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08)}.logo-stage img{width:min(92%,560px);filter:drop-shadow(0 28px 58px rgba(139,50,201,.34))}.quick{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.quick a,.quick div{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:18px;padding:15px}.quick small{display:block;color:var(--dim);font-size:10px;text-transform:uppercase;letter-spacing:.18em}.quick strong{font-family:var(--serif);font-size:20px;font-weight:500}.social-row{display:flex;flex-wrap:wrap;gap:10px}.hero-social{margin-top:20px}.social-pill,.social-btn{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--text);border-radius:999px;padding:11px 14px;font-size:12px;font-weight:800;transition:.3s}.social-pill:hover,.social-btn:hover{background:var(--gold);border-color:var(--gold);color:#060606;transform:translateY(-2px)}.social-btn{width:42px;height:42px;display:grid;place-items:center;padding:0}.social-btn.large{width:auto;padding:0 18px}.section{padding:100px 0;position:relative}.section.tight{padding:82px 0}.section.alt{background:linear-gradient(180deg,#080709,#0d0a10)}.split-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}.title{font-family:var(--serif);font-size:clamp(44px,6vw,82px);line-height:.9;letter-spacing:-.05em;font-weight:500;margin:0}.muted{color:var(--muted)}.tiny-note{font-size:12px;color:var(--dim);margin-top:14px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{min-height:245px;border:1px solid var(--line);border-radius:30px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));display:flex;flex-direction:column;justify-content:space-between;transition:.35s var(--ease);position:relative;overflow:hidden}.service:before{content:"";position:absolute;right:-60px;bottom:-70px;width:180px;height:180px;border-radius:50%;background:rgba(139,50,201,.22);filter:blur(25px)}.service:hover{transform:translateY(-7px);border-color:rgba(216,184,102,.38)}.service .num{color:var(--dim);font-size:12px;font-weight:800}.service h3{font-family:var(--serif);font-size:39px;line-height:.88;font-weight:500;letter-spacing:-.04em;margin:0}.price{color:var(--gold);font-family:var(--serif);font-size:24px;font-style:italic}.photo-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-auto-rows:230px;gap:14px}.photo{position:relative;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:var(--panel)}.photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.96) contrast(1.02);transition:transform .55s var(--ease)}.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.62));z-index:1}.photo span{position:absolute;z-index:2;left:18px;bottom:17px;background:rgba(0,0,0,.54);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}.photo:hover img{transform:scale(1.06)}.photo.tall{grid-row:span 2}.photo.wide{grid-column:span 2}.review-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}.rating-card{border:1px solid var(--line2);background:rgba(216,184,102,.08);border-radius:24px;padding:20px;min-width:185px}.stars{color:var(--gold);letter-spacing:2px}.rating-card strong{display:block;font-family:var(--serif);font-size:32px;font-weight:500}.rating-card small{color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-card{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:28px;padding:26px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.review-card p{font-family:var(--serif);font-size:27px;line-height:1.05;color:var(--text);margin:20px 0}.review-card strong{color:var(--muted)}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.cta-band{border:1px solid rgba(216,184,102,.22);border-radius:34px;padding:52px;background:linear-gradient(135deg,rgba(216,184,102,.13),rgba(139,50,201,.14));display:flex;justify-content:space-between;gap:30px;align-items:center}.cta-band h2{font-family:var(--serif);font-size:clamp(42px,6vw,78px);line-height:.88;letter-spacing:-.05em;font-weight:500;margin:0}.cta-band.slim{margin-top:16px}.footer{padding:56px 0;border-top:1px solid var(--line);color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:34px}.footer h4{color:var(--text);font-family:var(--serif);font-size:25px;font-weight:500;margin:0 0 12px}.footer a{display:block;margin:8px 0;color:var(--muted)}.footer a:hover{color:var(--gold)}.footer .social-row a{margin:0}.page-hero{padding:154px 0 74px;background:radial-gradient(circle at 80% 0,rgba(139,50,201,.22),transparent 40%)}.page-hero .title{max-width:790px}.compact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.menu-card,.policy,.form-card{border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.04);padding:28px}.menu-card h3,.policy h3{font-family:var(--serif);font-size:36px;font-weight:500;margin:0 0 16px;letter-spacing:-.03em}.row{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted)}.row:last-child{border:0}.row strong{color:var(--text);font-weight:600}.row span:last-child{color:var(--gold);font-family:var(--serif);font-size:22px;font-style:italic;white-space:nowrap}.about-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}.portrait{border:1px solid var(--line);border-radius:34px;min-height:500px;background:#020202 url('logo.jpg') center/86% no-repeat}.story{border:1px solid var(--line);border-radius:34px;background:rgba(255,255,255,.04);padding:44px}.story p{color:var(--muted);font-size:20px;line-height:1.6;margin:20px 0}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.values.minimal .policy{padding:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:800}.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:18px;background:#0c0a0e;color:var(--text);padding:15px;outline:none;font:inherit}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(216,184,102,.1)}.field textarea{min-height:120px;resize:vertical}.booking-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.side{position:sticky;top:96px;align-self:start;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.04);padding:28px}.side p{color:var(--muted);line-height:1.7}.side strong{color:var(--text)}.side-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.side-social{margin-top:14px}.mobile-book{display:none;position:fixed;z-index:55;left:14px;right:14px;bottom:14px;background:var(--text);color:#050505;border-radius:999px;padding:15px 18px;font-weight:800;justify-content:space-between;box-shadow:0 16px 50px rgba(0,0,0,.55)}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.reveal{opacity:0;animation:fadeUp .8s var(--ease) forwards}.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}
@media(max-width:920px){.navlinks{display:none}.menu{display:block}.drawer{display:flex;position:fixed;z-index:59;top:78px;left:0;right:0;background:rgba(5,5,5,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:18px 24px 28px;flex-direction:column;gap:5px;transform:translateY(-16px);opacity:0;pointer-events:none;transition:.3s}.drawer.open{transform:none;opacity:1;pointer-events:auto}.drawer a{padding:15px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:30px}.hero-grid,.about-panel,.booking-layout{grid-template-columns:1fr}.hero{padding-top:112px}.logo-stage{min-height:330px}.services,.values,.footer-grid,.review-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:1fr 1fr}.footer-grid{gap:24px}.mobile-book{display:flex}.quick{grid-template-columns:1fr}.cta-band{display:block}.cta-band .btn,.cta-band .social-row{margin-top:24px}.side{position:static}.review-head{display:block}.rating-card{margin-top:20px}.home-photos .photo.tall{grid-row:auto}}
@media(max-width:620px){.wrap{width:min(100% - 28px,1180px)}.nav{height:66px;padding:0 16px}.brand span{font-size:22px}.drawer{top:66px}.hero h1{font-size:72px}.hero-grid{gap:34px}.hero-card{padding:12px;border-radius:24px}.logo-stage{min-height:280px;border-radius:18px}.section{padding:74px 0}.split-head{display:block}.split-head .btn{margin-top:18px}.services,.compact-grid,.values,.footer-grid,.photo-grid,.form-grid,.review-grid{grid-template-columns:1fr}.photo.tall,.photo.wide{grid-row:auto;grid-column:auto}.photo-grid{grid-auto-rows:245px}.cta-band{padding:30px;border-radius:24px}.page-hero{padding:120px 0 48px}.story{padding:28px}.portrait{min-height:320px}.footer{padding-bottom:92px}.review-card p{font-size:24px}.quick strong{font-size:18px}}

/* V4 Google review / social polish */
.rating-card.link-card{display:block;color:var(--text);transition:.3s var(--ease)}
.rating-card.link-card:hover{transform:translateY(-4px);border-color:rgba(216,184,102,.55);background:rgba(216,184,102,.12)}
.google-widget-slot{margin-top:18px;border:1px dashed rgba(216,184,102,.28);border-radius:24px;background:rgba(255,255,255,.025);padding:18px 20px;color:var(--muted)}
.google-widget-slot span{display:block;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;margin-bottom:7px}
.google-widget-slot p{margin:0;font-size:13px;line-height:1.55}
.social-pill,.social-btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.hero-social .social-pill{padding:12px 16px;border-color:rgba(216,184,102,.22)}


/* V5 fixes: local image reliability, embedded Google listing, stronger social buttons */
.social-row.compact,.side-social{align-items:center}
.social-btn,.social-pill{
  min-width:44px;width:auto;height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid rgba(216,184,102,.24);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  color:var(--text);border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.02em;white-space:nowrap;
}
.social-btn:hover,.social-pill:hover{background:var(--gold);border-color:var(--gold);color:#050505;box-shadow:0 16px 34px rgba(216,184,102,.18)}
.google-embed-card{margin-top:24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:stretch;border:1px solid rgba(216,184,102,.24);border-radius:30px;background:linear-gradient(135deg,rgba(216,184,102,.09),rgba(139,50,201,.08));padding:18px;overflow:hidden}
.google-embed-copy{padding:18px;display:flex;flex-direction:column;justify-content:center}
.embed-kicker{display:block;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;margin-bottom:12px}
.google-embed-copy h3{font-family:var(--serif);font-size:38px;line-height:.92;letter-spacing:-.04em;margin:0 0 12px;color:var(--text);font-weight:500}
.google-embed-copy p{margin:0;color:var(--muted);line-height:1.65}
.google-map-frame{min-height:340px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#080808}
.google-map-frame iframe{width:100%;height:100%;min-height:340px;border:0;display:block;filter:saturate(.9) contrast(1.02)}
.photo img[src*='assets/']{background:#09080a}
@media(max-width:920px){.google-embed-card{grid-template-columns:1fr}.google-map-frame,.google-map-frame iframe{min-height:300px}.social-btn{height:42px;padding:0 14px}}
@media(max-width:620px){.social-row{gap:8px}.social-btn,.social-pill{font-size:11px;padding:0 12px}.google-embed-copy h3{font-size:32px}}


/* V6 logo/contact polish + stronger mobile experience */
.brand{gap:13px;min-width:0}.brand img{width:50px;height:50px;border-radius:14px;object-fit:contain;padding:5px;background:linear-gradient(145deg,rgba(255,248,237,.08),rgba(216,184,102,.06));border:1px solid rgba(216,184,102,.32);box-shadow:0 10px 30px rgba(0,0,0,.28)}.brand span{font-family:var(--serif);font-size:27px;letter-spacing:-.035em;white-space:nowrap}.logo-stage{background:radial-gradient(circle at 50% 42%,rgba(216,184,102,.16),rgba(139,50,201,.08) 42%,rgba(255,255,255,.03));display:flex;align-items:center;justify-content:center;padding:34px}.logo-stage img{width:min(82%,380px);height:auto;max-height:390px;object-fit:contain;border-radius:34px;background:#050406;padding:16px;box-shadow:0 28px 80px rgba(0,0,0,.42);border:1px solid rgba(216,184,102,.28)}
.contact-chip{position:relative;overflow:hidden;display:flex!important;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(216,184,102,.25);background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border-radius:22px;padding:15px 16px;color:var(--text);transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);min-height:72px}.contact-chip:before{content:"";width:38px;height:38px;flex:0 0 38px;border-radius:999px;background:rgba(216,184,102,.12);border:1px solid rgba(216,184,102,.22);order:2}.contact-chip:after{position:absolute;right:27px;top:50%;transform:translateY(-50%);font-size:17px;line-height:1;color:var(--gold)}.contact-chip.call:after{content:"☎"}.contact-chip.map:after{content:"⌖"}.contact-chip.review:after{content:"★"}.contact-chip span{display:block;color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;margin-bottom:5px}.contact-chip strong{display:block;color:var(--text);font-size:15px;letter-spacing:-.01em;line-height:1.15}.contact-chip:hover{transform:translateY(-3px);border-color:rgba(216,184,102,.52);background:linear-gradient(135deg,rgba(216,184,102,.16),rgba(139,50,201,.11));box-shadow:0 18px 44px rgba(0,0,0,.28)}
.quick.contact-hero{grid-template-columns:1fr;gap:10px;margin-top:14px}.quick.contact-hero a{padding:15px 16px}.quick.contact-hero small{display:none}.quick.contact-hero strong{font-size:16px}.footer-contact-actions{display:grid;gap:10px}.footer-contact-actions .contact-chip{min-height:58px;padding:12px 13px;border-radius:18px}.footer-contact-actions .contact-chip:before{width:32px;height:32px;flex-basis:32px}.footer-contact-actions .contact-chip:after{right:22px;font-size:14px}.footer-contact-actions .contact-chip span{font-size:9px}.footer-contact-actions .contact-chip strong{font-size:13px}.booking-contact-stack{display:grid;gap:10px;margin:16px 0 16px}.booking-contact-stack .contact-chip{min-height:68px}.social-btn,.social-pill{border-color:rgba(216,184,102,.34);background:linear-gradient(135deg,rgba(216,184,102,.13),rgba(255,255,255,.045));font-weight:900}.social-btn:hover,.social-pill:hover{transform:translateY(-2px)}
@media(max-width:920px){.brand img{width:46px;height:46px;border-radius:13px}.brand span{font-size:24px}.logo-stage{min-height:300px;padding:22px}.logo-stage img{max-height:260px;border-radius:26px}.quick.contact-hero{grid-template-columns:1fr 1fr}.footer-contact-actions{grid-template-columns:1fr 1fr}.footer-contact-actions .contact-chip.review{grid-column:1/-1}.contact-chip strong{font-size:14px}.contact-chip{border-radius:20px}}
@media(max-width:620px){.nav{height:68px}.brand{gap:9px}.brand img{width:42px;height:42px;border-radius:12px;padding:4px}.brand span{font-size:20px;max-width:170px;overflow:hidden;text-overflow:ellipsis}.menu{font-size:25px}.hero{padding-top:104px}.hero h1{font-size:64px;line-height:.86}.lede.short{font-size:15px;max-width:95%}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-social{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.social-pill{height:42px;padding:0 8px;font-size:10px}.quick.contact-hero{grid-template-columns:1fr}.contact-chip{min-height:66px;padding:13px 14px}.contact-chip:before{width:34px;height:34px;flex-basis:34px}.contact-chip:after{right:24px}.contact-chip span{font-size:9px}.contact-chip strong{font-size:14px}.footer-contact-actions{grid-template-columns:1fr}.logo-stage{min-height:250px;padding:18px}.logo-stage img{max-height:220px;border-radius:22px}.mobile-book{left:10px;right:10px;bottom:10px;padding:16px 18px}.booking-contact-stack{margin-top:10px}.side-actions{grid-template-columns:1fr}.footer-grid{gap:30px}.footer h4{font-size:24px}}

/* V7 refinement: new logo, contact polish, stronger footer buttons, live Google reviews */
.brand img{width:58px;height:42px;padding:0;border-radius:10px;object-fit:contain;background:transparent;border:none;box-shadow:none}
.brand span{font-size:25px;letter-spacing:-.03em}
.logo-stage.refined{padding:18px;background:radial-gradient(circle at 50% 42%,rgba(216,184,102,.18),rgba(139,50,201,.12) 45%,rgba(255,255,255,.03));}
.logo-stage.refined img{width:min(100%,480px);max-height:none;padding:0;border:none;box-shadow:none;background:transparent;border-radius:0}
.contact-chip{align-items:center;padding:16px 18px;min-height:78px;border-radius:24px}
.contact-chip strong{font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.contact-chip.map strong{font-size:15px;line-height:1.25}
.footer .contact-chip strong{font-size:14px}.footer .contact-chip.map strong{font-size:13px}
.footer-mini-brand{display:flex;gap:14px;align-items:center}.footer-mini-brand img{width:84px;height:58px;object-fit:contain}.footer-mini-brand p{margin:4px 0 0;color:var(--muted)}
.footer-social{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.footer-social .social-btn{width:100%;height:50px;padding:0 14px;border-radius:18px}
.side-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.side-actions .btn{justify-content:center}
.bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:20px}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.review-live-shell{margin-top:18px;border:1px solid rgba(216,184,102,.24);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(216,184,102,.08));padding:22px}
.review-shell-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.review-shell-head h3{font-family:var(--serif);font-size:40px;line-height:.92;letter-spacing:-.04em;margin:0;color:var(--text);font-weight:500}
.rating-badge{min-width:120px;padding:16px 18px;border-radius:22px;background:rgba(7,7,7,.45);border:1px solid rgba(216,184,102,.28);text-align:center}.rating-badge span{display:block;color:var(--gold2);font-size:34px;font-weight:800;line-height:1}.rating-badge small{display:block;margin-top:6px;color:var(--muted);font-size:12px}
.review-status{margin-bottom:16px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:14px}
.google-reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.g-review-card{border:1px solid rgba(255,255,255,.08);border-radius:24px;background:rgba(7,7,7,.45);padding:18px;display:flex;flex-direction:column;gap:12px;min-height:220px}
.g-review-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.g-review-author{font-weight:700;color:var(--text)}.g-review-time{display:block;color:var(--muted);font-size:12px;margin-top:4px}.g-review-stars{color:var(--gold2);letter-spacing:.12em;font-size:14px;white-space:nowrap}.g-review-text{color:#e6dfd4;line-height:1.6;font-size:14px;flex:1}.g-review-link{font-size:12px;font-weight:700;color:var(--gold2)}
.google-embed-card{margin-top:16px}
@media(max-width:920px){.brand img{width:52px;height:38px}.footer-social{grid-template-columns:1fr 1fr 1fr}.google-reviews-grid{grid-template-columns:1fr}.review-shell-head h3{font-size:34px}.bottom-cta{display:block}.cta-actions{margin-top:18px}.footer-mini-brand img{width:72px;height:50px}}
@media(max-width:620px){.brand img{width:48px;height:34px}.brand span{font-size:19px;max-width:180px}.contact-chip{padding:14px 15px;min-height:72px;border-radius:20px}.contact-chip strong{font-size:15px}.contact-chip.map strong{font-size:14px}.footer-social{grid-template-columns:1fr}.footer-social .social-btn{height:46px}.review-live-shell{padding:18px;border-radius:24px}.review-shell-head{display:block}.rating-badge{margin-top:14px;width:fit-content}.review-shell-head h3{font-size:30px}.g-review-card{min-height:auto}.bottom-cta{padding:26px}.cta-actions{display:grid;grid-template-columns:1fr;gap:10px}.side-actions{grid-template-columns:1fr}}


/* V8 mobile clean-up: calmer menu, easier scroll, less busy mobile layout */
@media(max-width:920px){
  body{padding-bottom:0}
  .noise{opacity:.07}
  .nav{
    height:64px;
    padding:0 15px;
    background:rgba(5,4,6,.92);
    border-bottom-color:rgba(216,184,102,.12);
  }
  .brand{gap:9px}
  .brand img{width:42px;height:30px}
  .brand span{font-size:19px;letter-spacing:-.025em;max-width:170px;overflow:hidden;text-overflow:ellipsis}
  .menu{
    width:42px;height:42px;
    display:flex;align-items:center;justify-content:center;
    border:1px solid rgba(216,184,102,.20);
    border-radius:999px;
    background:rgba(255,255,255,.035);
    color:var(--text);
    font-size:0;
    position:relative;
  }
  .menu::before,.menu::after{
    content:"";position:absolute;width:17px;height:1.5px;
    background:var(--text);border-radius:99px;
    transition:.25s var(--ease);
  }
  .menu::before{transform:translateY(-4px)}
  .menu::after{transform:translateY(4px)}
  .drawer.open ~ *{}
  .drawer{
    top:72px;
    left:14px;
    right:14px;
    width:auto;
    padding:10px;
    border:1px solid rgba(216,184,102,.16);
    border-radius:24px;
    background:rgba(8,7,10,.96);
    box-shadow:0 20px 70px rgba(0,0,0,.55);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    transform:translateY(-8px) scale(.98);
  }
  .drawer.open{transform:translateY(0) scale(1)}
  .drawer a{
    font-family:var(--sans);
    font-size:15px;
    font-weight:700;
    letter-spacing:-.01em;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.06);
    border-radius:16px;
  }
  .drawer a:last-child{
    margin-top:6px;
    border-bottom:0;
    background:linear-gradient(135deg,var(--gold),var(--gold2));
    color:#070707;
    justify-content:center;
  }

  .hero{padding-top:92px;min-height:auto}
  .hero-grid{gap:24px}
  .hero h1{
    font-size:clamp(48px,14vw,68px);
    line-height:.9;
    letter-spacing:-.055em;
    margin-bottom:14px;
  }
  .lede.short{font-size:14px;line-height:1.65;max-width:92%}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}
  .hero-social{display:none}
  .hero-card{
    padding:10px;
    border-radius:24px;
    background:rgba(255,255,255,.035);
    box-shadow:none;
  }
  .logo-stage.refined{
    min-height:215px;
    padding:12px;
    border-radius:18px;
  }
  .logo-stage.refined img{max-width:92%;max-height:205px}
  .quick.contact-hero{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}

  .section{padding:58px 0}
  .section.tight{padding:48px 0}
  .split-head{display:block;margin-bottom:22px}
  .split-head .btn{margin-top:14px}
  .title{font-size:clamp(40px,12vw,58px)}
  .services.luxe{gap:9px}
  .service{padding:20px;border-radius:20px;min-height:auto}
  .service h3{font-size:30px}
  .price{font-size:13px}

  .photo-grid{grid-template-columns:1fr;grid-auto-rows:235px;gap:12px}
  .photo.tall,.photo.wide{grid-column:auto;grid-row:auto}
  .tiny-note{font-size:12px;line-height:1.6}

  .review-head{display:block}
  .rating-card{margin-top:14px;width:100%}
  .review-live-shell{padding:16px;border-radius:22px}
  .review-shell-head{display:block;margin-bottom:14px}
  .review-shell-head h3{font-size:28px;line-height:1}
  .rating-badge{
    margin-top:12px;
    padding:12px 14px;
    min-width:0;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-align:left;
    border-radius:18px;
  }
  .rating-badge span{font-size:28px}
  .rating-badge small{margin-top:0}
  .review-status{font-size:12px;padding:12px 13px}
  .google-reviews-grid{grid-template-columns:1fr;gap:10px}
  .g-review-card{padding:15px;border-radius:20px;min-height:auto}
  .g-review-text{font-size:13px}
  .review-actions{display:grid;grid-template-columns:1fr;gap:9px}

  .google-embed-card{
    grid-template-columns:1fr;
    padding:14px;
    border-radius:22px;
  }
  .google-embed-copy{padding:8px 4px 2px}
  .google-embed-copy h3{font-size:30px}
  .google-embed-copy p{font-size:13px}
  .google-map-frame,.google-map-frame iframe{min-height:235px;border-radius:18px}

  .bottom-cta,.cta-band{
    display:block;
    padding:24px;
    border-radius:22px;
  }
  .cta-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:14px}
  .btn{min-height:48px;justify-content:center}

  .footer{padding:48px 0 28px}
  .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-mini-brand img{width:64px;height:46px}
  .footer h4{font-size:22px;margin-bottom:10px}
  .footer p,.footer a{font-size:13px}
  .footer-contact-actions{grid-template-columns:1fr;gap:8px}
  .footer-contact-actions .contact-chip{min-height:58px;border-radius:18px}
  .footer-social{grid-template-columns:1fr;gap:8px}
  .footer-social .social-btn{height:44px;border-radius:16px}

  .contact-chip{
    min-height:62px;
    padding:12px 13px;
    border-radius:18px;
  }
  .contact-chip:before{width:31px;height:31px;flex-basis:31px}
  .contact-chip:after{right:22px;font-size:13px}
  .contact-chip span{font-size:8.5px;letter-spacing:.15em}
  .contact-chip strong{font-size:14px}
  .contact-chip.map strong{font-size:13px}

  .mobile-book{display:none!important}
}

@media(max-width:520px){
  .wrap{width:min(100% - 26px,1180px)}
  .page-hero{padding:104px 0 42px}
  .hero h1{font-size:56px}
  .logo-stage.refined{min-height:190px}
  .logo-stage.refined img{max-height:180px}
  .services,.compact-grid,.values,.footer-grid,.photo-grid,.form-grid,.review-grid{grid-template-columns:1fr}
  .booking-layout{gap:18px}
  .form-card,.side,.menu-card,.story{border-radius:22px;padding:22px}
  .side-actions{grid-template-columns:1fr}
}

@media(max-width:920px){
  .menu.open::before{transform:rotate(45deg)}
  .menu.open::after{transform:rotate(-45deg)}
}


/* V9 final polish: cleaner icons, fitted buttons, better about placeholder, smoother mobile */
.contact-chip{
  display:grid!important;
  grid-template-columns:1fr 42px;
  align-items:center;
  gap:14px;
  padding:14px 15px 14px 17px;
}
.contact-chip:before{display:none!important}
.contact-chip:after{
  position:static!important;
  transform:none!important;
  width:40px;
  height:40px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 40px;
  background:linear-gradient(135deg,rgba(216,184,102,.23),rgba(139,50,201,.18));
  border:1px solid rgba(216,184,102,.28);
  color:var(--gold2);
  font-size:15px;
  line-height:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.contact-chip.call:after{content:"☎"}
.contact-chip.map:after{content:"⌖"}
.contact-chip.review:after{content:"★"}
.contact-chip span,.contact-chip strong{min-width:0}
.contact-chip strong{overflow:hidden;text-overflow:ellipsis}
.footer-contact-actions .contact-chip{
  grid-template-columns:1fr 34px;
  min-height:62px;
}
.footer-contact-actions .contact-chip:after{
  width:34px;height:34px;font-size:13px;
}

.social-btn,.social-pill{
  position:relative;
  overflow:hidden;
}
.social-btn:before,.social-pill:before{
  content:"";
  width:7px;height:7px;
  border-radius:50%;
  background:var(--gold2);
  opacity:.9;
  box-shadow:0 0 12px rgba(216,184,102,.45);
}
.footer-social .social-btn,.side-social .social-btn{
  justify-content:flex-start;
}
.footer-social .social-btn:before,.side-social .social-btn:before{
  flex:0 0 7px;
}

.about-story-section{padding-top:70px}
.about-logo-panel{
  background:radial-gradient(circle at 50% 40%,rgba(216,184,102,.16),rgba(139,50,201,.10) 45%,rgba(255,255,255,.035));
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:520px;
  padding:24px;
}
.about-logo-panel img{
  width:min(92%,420px);
  height:auto;
  object-fit:contain;
}
.refined-story p{
  color:#d8d0c3;
  font-size:16px;
  line-height:1.8;
  margin:0 0 14px;
}
.about-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}
.about-actions .btn{justify-content:center}

.btn,.social-btn,.contact-chip{
  -webkit-tap-highlight-color:transparent;
}
.btn.primary{
  box-shadow:0 16px 34px rgba(216,184,102,.14);
}
.cta-band .btn,.side-actions .btn,.about-actions .btn{
  min-width:150px;
}

/* Make footer/contact action buttons feel evenly fitted on desktop */
.footer-contact-actions{
  display:grid;
  gap:10px;
}
.footer-contact-actions .contact-chip span{
  margin-bottom:4px;
}

@media(max-width:920px){
  .contact-chip{
    grid-template-columns:1fr 36px;
    min-height:58px;
    padding:11px 12px 11px 14px;
    gap:10px;
  }
  .contact-chip:after{
    width:36px;height:36px;font-size:13px;
  }
  .contact-chip span{
    margin-bottom:3px;
  }
  .contact-chip strong{
    white-space:normal;
  }
  .contact-chip.map strong{
    line-height:1.2;
  }
  .footer-contact-actions .contact-chip{
    grid-template-columns:1fr 34px;
  }
  .about-panel{
    gap:18px;
  }
  .about-logo-panel{
    min-height:300px;
    padding:16px;
  }
  .about-logo-panel img{
    max-height:270px;
  }
  .refined-story p{
    font-size:14px;
    line-height:1.7;
  }
  .about-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .values.minimal{
    gap:10px;
  }
  .policy{
    padding:16px;
    border-radius:18px;
  }
}

@media(max-width:520px){
  .contact-chip:after{
    width:34px;height:34px;
  }
  .footer-contact-actions .contact-chip{
    min-height:56px;
  }
  .side-social{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .side-social .social-btn{
    width:100%;
    justify-content:flex-start;
  }
  .about-logo-panel{
    min-height:245px;
  }
  .about-logo-panel img{
    max-height:230px;
  }
}


/* V10 BUTTON FIX — clean, properly fitted, no awkward pseudo layout */
.btn,
.social-btn,
.social-pill,
.contact-chip,
.book-small,
.mobile-book {
  box-sizing: border-box;
}

/* Main action buttons */
.btn {
  min-height: 50px;
  padding: 0 22px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  line-height: 1;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 800;
}

.btn.primary {
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color: #070707;
  border: 1px solid rgba(216,184,102,.45);
  box-shadow: 0 16px 36px rgba(216,184,102,.16);
}

.btn.ghost,
.btn.glass {
  background: rgba(255,255,255,.045);
  color: var(--text);
  border: 1px solid rgba(216,184,102,.22);
  box-shadow: none;
}

.btn:hover {
  transform: translateY(-2px);
}

/* Contact buttons/cards — icon on the LEFT, text clean on the RIGHT */
.contact-chip {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 13px !important;
  min-height: 70px;
  width: 100%;
  padding: 14px 16px !important;
  border-radius: 20px;
  border: 1px solid rgba(216,184,102,.25);
  background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
  color: var(--text);
  text-align: left;
  overflow: hidden;
  transition: transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}

.contact-chip::after {
  display: none !important;
  content: none !important;
}

.contact-chip::before {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  order: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(216,184,102,.25), rgba(139,50,201,.16));
  border: 1px solid rgba(216,184,102,.30);
  color: var(--gold2);
  font-size: 16px;
  line-height: 1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.contact-chip.call::before { content: "☎"; }
.contact-chip.map::before { content: "⌖"; }
.contact-chip.review::before { content: "★"; }

.contact-chip span,
.contact-chip strong {
  display: block;
  min-width: 0;
}

.contact-chip span {
  color: var(--gold);
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 900;
  margin: 0 0 6px 0;
}

.contact-chip strong {
  color: var(--text);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -.015em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.contact-chip:hover {
  transform: translateY(-2px);
  border-color: rgba(216,184,102,.5);
  background: linear-gradient(135deg, rgba(216,184,102,.13), rgba(139,50,201,.08));
}

/* Hero contact cards */
.quick.contact-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.quick.contact-hero .contact-chip {
  min-height: 72px;
}

.quick.contact-hero .contact-chip strong {
  font-size: 16px;
}

/* Footer contact buttons */
.footer-contact-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  width: 100%;
}

.footer-contact-actions .contact-chip {
  min-height: 62px;
  padding: 12px 14px !important;
  border-radius: 18px;
}

.footer-contact-actions .contact-chip::before {
  flex-basis: 36px;
  width: 36px;
  height: 36px;
  font-size: 14px;
}

.footer-contact-actions .contact-chip span {
  font-size: 9px;
  margin-bottom: 5px;
}

.footer-contact-actions .contact-chip strong {
  font-size: 13px;
}

/* Booking/sidebar buttons */
.booking-contact-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.side-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.side-actions .btn {
  width: 100%;
}

/* Social buttons — no weird dot/icons, clean equal pills */
.social-row,
.footer-social,
.side-social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.social-btn,
.social-pill {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: auto;
  min-width: 104px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(216,184,102,.28);
  background: rgba(255,255,255,.045);
  color: var(--text);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .01em;
  box-shadow: none;
}

.social-btn::before,
.social-pill::before {
  display: none !important;
  content: none !important;
}

.social-btn:hover,
.social-pill:hover {
  color: #070707;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  border-color: rgba(216,184,102,.5);
  transform: translateY(-2px);
}

/* Footer social buttons evenly sized */
.footer-social {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.footer-social .social-btn {
  width: 100%;
  min-width: 0;
  justify-content: center;
  border-radius: 18px;
}

/* CTA bottom buttons */
.bottom-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.cta-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.cta-actions .btn {
  min-width: 160px;
}

/* Mobile button cleanup */
@media(max-width:920px) {
  .btn {
    width: 100%;
    min-height: 48px;
    padding: 0 18px;
    font-size: 13px;
  }

  .hero-actions,
  .review-actions,
  .cta-actions,
  .about-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
  }

  .contact-chip {
    min-height: 62px;
    padding: 12px 13px !important;
    gap: 11px !important;
    border-radius: 18px;
  }

  .contact-chip::before {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    font-size: 14px;
  }

  .contact-chip span {
    font-size: 8.5px;
    margin-bottom: 5px;
    letter-spacing: .14em;
  }

  .contact-chip strong {
    font-size: 13.5px;
    line-height: 1.2;
  }

  .quick.contact-hero {
    grid-template-columns: 1fr;
  }

  .side-actions {
    grid-template-columns: 1fr;
  }

  .social-row,
  .side-social {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    width: 100%;
  }

  .social-btn,
  .social-pill {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border-radius: 16px;
  }

  .footer-social {
    grid-template-columns: 1fr;
  }

  .footer-contact-actions .contact-chip {
    min-height: 58px;
  }

  .footer-contact-actions .contact-chip::before {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  .bottom-cta {
    display: block;
  }

  .cta-actions {
    margin-top: 16px;
  }
}

@media(max-width:520px) {
  .contact-chip {
    min-height: 60px;
  }

  .contact-chip strong {
    font-size: 13px;
  }

  .contact-chip.map strong {
    font-size: 12.5px;
  }
}


/* V11 adaptive responsiveness — buttons/cards resize and reflow smoothly at any page width */

/* Better global responsive behavior */
:root {
  --fluid-page-gap: clamp(14px, 3vw, 44px);
  --fluid-card-pad: clamp(14px, 2.4vw, 24px);
  --fluid-radius: clamp(16px, 2vw, 28px);
  --fluid-button-h: clamp(44px, 5.2vw, 54px);
  --fluid-button-x: clamp(14px, 2vw, 24px);
  --fluid-small: clamp(11px, 1.4vw, 13px);
  --fluid-body: clamp(13px, 1.55vw, 16px);
}

.wrap {
  width: min(calc(100% - var(--fluid-page-gap) * 2), 1180px);
}

/* Make layout grids auto-fit instead of breaking at fixed sizes */
.services.luxe,
.compact-grid,
.review-grid,
.google-reviews-grid,
.footer-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
}

.photo-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
}

.booking-layout,
.hero-grid,
.about-panel {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

/* Universal adaptive button sizing */
.btn,
.book-small,
.social-btn,
.social-pill,
.contact-chip {
  max-width: 100%;
  min-width: 0;
}

.btn {
  min-height: var(--fluid-button-h);
  padding-inline: var(--fluid-button-x);
  font-size: clamp(12px, 1.35vw, 14px);
  white-space: normal;
  text-align: center;
  line-height: 1.15;
}

/* Button groups wrap naturally and keep buttons balanced */
.hero-actions,
.review-actions,
.cta-actions,
.about-actions,
.side-actions,
.social-row,
.footer-social,
.side-social {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(8px, 1.5vw, 12px);
  align-items: stretch;
}

.hero-actions .btn,
.review-actions .btn,
.cta-actions .btn,
.about-actions .btn,
.side-actions .btn {
  flex: 1 1 clamp(150px, 32vw, 220px);
}

/* Social buttons resize instead of overflowing */
.social-btn,
.social-pill {
  flex: 1 1 clamp(96px, 26vw, 150px);
  min-height: clamp(42px, 5vw, 48px);
  padding-inline: clamp(12px, 2vw, 18px);
  font-size: clamp(11px, 1.35vw, 12px);
  border-radius: clamp(14px, 3vw, 999px);
}

/* Contact chips resize and text wraps cleanly */
.contact-chip {
  min-height: clamp(58px, 8vw, 74px);
  padding: clamp(11px, 1.7vw, 16px) !important;
  gap: clamp(10px, 1.7vw, 14px) !important;
  border-radius: var(--fluid-radius);
}

.contact-chip::before {
  flex: 0 0 clamp(34px, 4.6vw, 42px);
  width: clamp(34px, 4.6vw, 42px);
  height: clamp(34px, 4.6vw, 42px);
  font-size: clamp(13px, 1.6vw, 16px);
}

.contact-chip span {
  font-size: clamp(8px, 1.05vw, 10px);
  letter-spacing: clamp(.10em, .8vw, .16em);
}

.contact-chip strong {
  font-size: clamp(12px, 1.45vw, 16px);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

/* Footer contact cards adapt cleanly */
.footer-contact-actions,
.booking-contact-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: clamp(8px, 1.4vw, 10px);
}

/* Footer social buttons stay proportionate */
.footer-social {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 110px), 1fr));
  gap: clamp(8px, 1.4vw, 10px);
}

.footer-social .social-btn {
  width: 100%;
}

/* CTA band adapts instead of looking squished */
.cta-band,
.bottom-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 3vw, 28px);
  flex-wrap: wrap;
  padding: clamp(24px, 4vw, 44px);
}

.cta-band > div,
.bottom-cta > div:first-child {
  flex: 1 1 260px;
}

.cta-actions {
  flex: 1 1 260px;
  justify-content: flex-end;
}

/* Hero card adapts better when browser is cropped */
.hero-card,
.form-card,
.side,
.menu-card,
.story,
.review-live-shell,
.google-embed-card {
  padding: var(--fluid-card-pad);
  border-radius: var(--fluid-radius);
}

.logo-stage.refined {
  min-height: clamp(190px, 34vw, 460px);
}

.logo-stage.refined img {
  max-width: min(92%, 480px);
  max-height: clamp(175px, 32vw, 460px);
}

/* Intermediate widths: prevent awkward two-column crush */
@media (max-width: 760px) {
  .hero-actions,
  .review-actions,
  .cta-actions,
  .about-actions,
  .side-actions {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  .social-row,
  .side-social,
  .footer-social {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
  }

  .social-btn,
  .social-pill {
    width: 100%;
  }

  .footer-contact-actions,
  .booking-contact-stack {
    grid-template-columns: 1fr;
  }

  .cta-band,
  .bottom-cta {
    display: block;
  }

  .cta-actions {
    margin-top: 16px;
  }
}

/* Very narrow screens: make everything comfortably tappable and stacked */
@media (max-width: 430px) {
  .wrap {
    width: min(calc(100% - 24px), 1180px);
  }

  .btn,
  .social-btn,
  .social-pill {
    width: 100%;
  }

  .contact-chip {
    min-height: 58px;
  }

  .contact-chip::before {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }

  .contact-chip strong {
    font-size: 12.5px;
  }

  .nav .brand span {
    max-width: 145px;
  }
}

/* Ultra-wide screens: keep buttons from stretching too much */
@media (min-width: 1200px) {
  .hero-actions .btn,
  .review-actions .btn,
  .cta-actions .btn,
  .about-actions .btn,
  .side-actions .btn {
    flex: 0 1 auto;
  }

  .social-btn,
  .social-pill {
    flex: 0 0 auto;
  }
}


/* V12 clean launch pass: remove fake placeholders, cleaner manual reviews, cleaner gallery/social sections */
.social-showcase,
.gallery-clean-card {
  border: 1px solid rgba(216,184,102,.22);
  border-radius: clamp(22px, 3vw, 34px);
  background:
    radial-gradient(circle at 16% 12%, rgba(216,184,102,.13), transparent 34%),
    radial-gradient(circle at 88% 84%, rgba(139,50,201,.12), transparent 34%),
    rgba(255,255,255,.035);
  padding: clamp(24px, 4vw, 46px);
}

.showcase-card,
.gallery-clean-card {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.showcase-mark {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(216,184,102,.22), rgba(139,50,201,.16));
  border: 1px solid rgba(216,184,102,.30);
  color: var(--gold2);
  font-family: var(--serif);
  font-size: 32px;
  margin-bottom: 20px;
}

.showcase-card h3 {
  font-family: var(--serif);
  font-size: clamp(38px, 5vw, 66px);
  line-height: .95;
  letter-spacing: -.045em;
  max-width: 720px;
  margin: 0 0 14px;
  font-weight: 500;
}

.showcase-card p,
.gallery-clean-card p {
  color: var(--muted);
  font-size: clamp(14px, 1.6vw, 16px);
  line-height: 1.7;
  max-width: 620px;
  margin: 0 0 24px;
}

.clean-social {
  max-width: 620px;
}

.manual-reviews {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: clamp(12px, 2vw, 18px);
  margin: 22px 0;
}

.manual-review-card {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: clamp(20px, 2vw, 28px);
  background: rgba(7,7,7,.40);
  padding: clamp(18px, 3vw, 28px);
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.manual-review-card.featured {
  background:
    radial-gradient(circle at 20% 0%, rgba(216,184,102,.14), transparent 38%),
    rgba(7,7,7,.42);
  border-color: rgba(216,184,102,.24);
}

.manual-review-card p {
  color: #e9dfd1;
  font-family: var(--serif);
  font-size: clamp(24px, 3.4vw, 40px);
  line-height: 1.08;
  letter-spacing: -.035em;
  margin: 16px 0 22px;
}

.manual-review-card strong {
  color: var(--gold2);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.gallery-clean-card .title {
  margin: 0 0 14px;
}

.google-embed-copy p {
  max-width: 460px;
}

/* tighten leftover small notes */
.tiny-note:empty {
  display: none;
}

@media(max-width:760px){
  .showcase-card,
  .gallery-clean-card {
    min-height: 0;
  }
  .manual-review-card {
    min-height: auto;
  }
  .manual-review-card p {
    font-size: 25px;
  }
}


/* V13 publish-ready contact button cleanup */
.contact-chip span {
  display: none !important;
}

.contact-chip {
  min-height: clamp(54px, 7vw, 66px);
}

.contact-chip strong {
  font-size: clamp(13px, 1.55vw, 16px);
  line-height: 1.25;
}

.footer-contact-actions .contact-chip {
  min-height: 56px;
}

.quick.contact-hero .contact-chip {
  min-height: 64px;
}

.booking-contact-stack .contact-chip {
  min-height: 62px;
}

.manual-review-card p {
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.12;
}

/* keep action groups balanced for launch */
.review-actions,
.cta-actions,
.hero-actions,
.about-actions {
  align-items: center;
}

@media(max-width:760px){
  .contact-chip {
    min-height: 56px;
  }
  .quick.contact-hero .contact-chip,
  .booking-contact-stack .contact-chip {
    min-height: 58px;
  }
}


/* V14 Booking page polish — modern calendar-style booking experience */
.booking-hero {
  padding-bottom: 58px;
}

.booking-modern-section {
  padding-top: 0;
}

.booking-modern-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

.booking-main-card,
.booking-summary-card,
.calendar-connect-card {
  border: 1px solid rgba(216,184,102,.22);
  background:
    radial-gradient(circle at 12% 0%, rgba(216,184,102,.10), transparent 34%),
    radial-gradient(circle at 90% 100%, rgba(139,50,201,.10), transparent 38%),
    rgba(255,255,255,.035);
  border-radius: clamp(22px, 3vw, 34px);
  padding: clamp(20px, 3vw, 34px);
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

.booking-summary-card {
  position: sticky;
  top: 96px;
}

.booking-step-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.booking-step-head.second {
  margin-top: 34px;
}

.booking-step-head > span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #070707;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  font-size: 13px;
  font-weight: 900;
  flex: 0 0 42px;
}

.booking-step-head h2 {
  font-family: var(--serif);
  font-size: clamp(30px, 4vw, 44px);
  line-height: 1;
  margin: 0 0 6px;
  letter-spacing: -.04em;
  font-weight: 500;
}

.booking-step-head p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.service-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
  gap: 10px;
}

.service-pick {
  text-align: left;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(7,7,7,.34);
  color: var(--text);
  border-radius: 20px;
  padding: 18px;
  min-height: 108px;
  cursor: pointer;
  transition: transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}

.service-pick:hover {
  transform: translateY(-2px);
  border-color: rgba(216,184,102,.34);
}

.service-pick.active {
  background: linear-gradient(135deg, rgba(216,184,102,.16), rgba(139,50,201,.10));
  border-color: rgba(216,184,102,.56);
}

.service-pick span {
  display: block;
  font-family: var(--serif);
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.03em;
  margin-bottom: 10px;
}

.service-pick strong {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
}

.calendar-shell {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(7,7,7,.32);
  border-radius: 26px;
  padding: clamp(14px, 2vw, 20px);
}

.calendar-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.calendar-top h3 {
  font-family: var(--serif);
  font-size: clamp(26px, 3.4vw, 38px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.04em;
  margin: 0;
}

.cal-nav {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(216,184,102,.24);
  background: rgba(255,255,255,.045);
  color: var(--text);
  font-size: 26px;
  cursor: pointer;
}

.calendar-days,
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.calendar-days {
  margin-bottom: 8px;
}

.calendar-days span {
  text-align: center;
  color: var(--dim);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.cal-day {
  aspect-ratio: 1;
  min-height: 48px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.035);
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
}

.cal-day.blank {
  opacity: 0;
  pointer-events: none;
}

.cal-day.available {
  border-color: rgba(216,184,102,.28);
  background: rgba(216,184,102,.08);
}

.cal-day.available:hover {
  transform: translateY(-2px);
  border-color: rgba(216,184,102,.55);
}

.cal-day.unavailable,
.cal-day.past {
  color: rgba(255,255,255,.24);
  cursor: not-allowed;
  background: rgba(255,255,255,.015);
}

.cal-day.selected {
  color: #070707;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  border-color: rgba(216,184,102,.65);
}

.time-panel {
  margin-top: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(7,7,7,.28);
  border-radius: 24px;
  padding: clamp(16px, 2vw, 22px);
}

.time-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-end;
  margin-bottom: 14px;
}

.time-panel h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 30px;
  line-height: 1;
  font-weight: 500;
}

.time-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.time-slots {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 10px;
}

.time-slots button {
  min-height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(216,184,102,.22);
  background: rgba(255,255,255,.045);
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
  transition: .2s var(--ease);
}

.time-slots button:hover:not(:disabled) {
  transform: translateY(-2px);
  border-color: rgba(216,184,102,.5);
}

.time-slots button.selected {
  color: #070707;
  background: linear-gradient(135deg, var(--gold), var(--gold2));
}

.time-slots button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.summary-logo {
  width: 86px;
  height: 62px;
  margin-bottom: 18px;
}

.summary-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.booking-summary-card h2 {
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 52px);
  line-height: .95;
  letter-spacing: -.045em;
  margin: 0 0 10px;
  font-weight: 500;
}

.summary-copy {
  color: var(--muted);
  margin: 0 0 22px;
  line-height: 1.65;
  font-size: 14px;
}

.booking-request-form {
  display: grid;
  gap: 12px;
}

.booking-request-form .field {
  margin: 0;
}

.booking-summary-box {
  border: 1px solid rgba(216,184,102,.20);
  background: rgba(7,7,7,.34);
  border-radius: 22px;
  padding: 14px;
  display: grid;
  gap: 10px;
}

.booking-summary-box div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255,255,255,.06);
  padding-bottom: 10px;
}

.booking-summary-box div:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.booking-summary-box span {
  color: var(--dim);
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .10em;
}

.booking-summary-box strong {
  color: var(--text);
  font-size: 13px;
  text-align: right;
  line-height: 1.25;
}

.booking-submit {
  width: 100%;
  margin-top: 4px;
}

.booking-note {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
}

.clean-stack {
  margin-top: 18px;
}

.calendar-connect-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 3vw, 30px);
}

.calendar-connect-card h2 {
  font-family: var(--serif);
  font-size: clamp(34px, 5vw, 64px);
  line-height: .95;
  letter-spacing: -.045em;
  margin: 8px 0 10px;
  font-weight: 500;
}

.calendar-connect-card p {
  color: var(--muted);
  line-height: 1.7;
  max-width: 640px;
  margin: 0;
}

@media(max-width:980px) {
  .booking-modern-layout {
    grid-template-columns: 1fr;
  }
  .booking-summary-card {
    position: static;
  }
  .calendar-connect-card {
    display: block;
  }
  .calendar-connect-card .btn {
    margin-top: 18px;
  }
}

@media(max-width:620px) {
  .booking-hero {
    padding-bottom: 42px;
  }
  .booking-step-head > span {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    font-size: 12px;
  }
  .service-picker-grid {
    grid-template-columns: 1fr 1fr;
  }
  .service-pick {
    min-height: 92px;
    padding: 14px;
    border-radius: 18px;
  }
  .service-pick span {
    font-size: 24px;
  }
  .calendar-days,
  .calendar-grid {
    gap: 5px;
  }
  .cal-day {
    min-height: 42px;
    border-radius: 12px;
    font-size: 13px;
  }
  .time-panel-head {
    display: block;
  }
  .time-panel p {
    margin-top: 6px;
  }
  .time-slots {
    grid-template-columns: 1fr 1fr;
  }
  .booking-summary-box div {
    display: block;
  }
  .booking-summary-box strong {
    display: block;
    text-align: left;
    margin-top: 4px;
  }
}

@media(max-width:430px) {
  .service-picker-grid {
    grid-template-columns: 1fr;
  }
  .calendar-shell {
    padding: 12px;
  }
  .cal-nav {
    width: 38px;
    height: 38px;
  }
  .cal-day {
    min-height: 38px;
    border-radius: 10px;
  }
}


/* V15 smooth polish — refined motion, better interaction states, API-ready booking structure */
html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
}

a,
button,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}

.btn,
.contact-chip,
.social-btn,
.social-pill,
.service-pick,
.cal-day,
.time-slots button,
.cal-nav {
  will-change: transform;
}

.btn,
.contact-chip,
.social-btn,
.social-pill,
.service-pick,
.cal-day,
.time-slots button,
.cal-nav,
.booking-main-card,
.booking-summary-card,
.calendar-connect-card,
.manual-review-card,
.service {
  transition:
    transform .24s var(--ease),
    border-color .24s var(--ease),
    background .24s var(--ease),
    box-shadow .24s var(--ease),
    opacity .24s var(--ease);
}

.btn:active,
.contact-chip:active,
.social-btn:active,
.social-pill:active,
.service-pick:active,
.cal-day:active,
.time-slots button:active,
.cal-nav:active {
  transform: scale(.98);
}

.btn:focus-visible,
.contact-chip:focus-visible,
.social-btn:focus-visible,
.social-pill:focus-visible,
.service-pick:focus-visible,
.cal-day:focus-visible,
.time-slots button:focus-visible,
.cal-nav:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid rgba(216,184,102,.75);
  outline-offset: 3px;
}

.booking-modern-section {
  position: relative;
}

.booking-modern-section:before {
  content: "";
  position: absolute;
  inset: -120px 0 auto 0;
  height: 260px;
  background: radial-gradient(circle at 50% 0%, rgba(216,184,102,.08), transparent 62%);
  pointer-events: none;
}

.booking-main-card,
.booking-summary-card {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.booking-main-card:hover,
.booking-summary-card:hover,
.calendar-connect-card:hover {
  border-color: rgba(216,184,102,.30);
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
}

.service-picker-grid {
  align-items: stretch;
}

.service-pick {
  position: relative;
  overflow: hidden;
}

.service-pick:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(216,184,102,.12), transparent 45%);
  opacity: 0;
  transition: opacity .24s var(--ease);
}

.service-pick:hover:before,
.service-pick.active:before {
  opacity: 1;
}

.service-pick span,
.service-pick strong {
  position: relative;
  z-index: 1;
}

.service-pick.active {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 18px 38px rgba(216,184,102,.08);
}

.calendar-shell {
  position: relative;
  overflow: hidden;
}

.calendar-shell:after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.calendar-grid {
  animation: calendarFade .28s ease both;
}

@keyframes calendarFade {
  from { opacity: .35; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.cal-day {
  position: relative;
  overflow: hidden;
}

.cal-day.available:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold2);
  transform: translateX(-50%);
  opacity: .85;
}

.cal-day.selected:after {
  background: #070707;
}

.cal-day.unavailable:before,
.cal-day.past:before {
  content: "";
  position: absolute;
  width: 16px;
  height: 1px;
  background: rgba(255,255,255,.28);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-25deg);
}

.time-panel {
  position: relative;
  overflow: hidden;
}

.time-panel:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 0% 0%, rgba(216,184,102,.07), transparent 46%);
  pointer-events: none;
}

.time-panel > * {
  position: relative;
  z-index: 1;
}

.time-panel-head {
  align-items: center;
}

.availability-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(216,184,102,.24);
  background: rgba(216,184,102,.08);
  color: var(--gold2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.time-slots button {
  position: relative;
  overflow: hidden;
}

.time-slots button.selected {
  box-shadow: 0 12px 28px rgba(216,184,102,.13);
}

.booking-summary-card {
  overflow: hidden;
}

.booking-summary-card:before {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(216,184,102,.12), transparent 65%);
  pointer-events: none;
}

.booking-summary-card > * {
  position: relative;
  z-index: 1;
}

.summary-logo {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(216,184,102,.14);
  border-radius: 22px;
  padding: 8px;
}

.field input,
.field textarea,
.booking-request-form input,
.booking-request-form textarea {
  transition: border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease);
}

.field input:focus,
.field textarea:focus,
.booking-request-form input:focus,
.booking-request-form textarea:focus {
  border-color: rgba(216,184,102,.48);
  background: rgba(255,255,255,.06);
  box-shadow: 0 0 0 4px rgba(216,184,102,.08);
}

.booking-summary-box {
  overflow: hidden;
}

.booking-summary-box strong {
  word-break: break-word;
}

.booking-submit {
  margin-top: 8px;
}

.booking-note {
  min-height: 20px;
}

.calendar-connect-card {
  overflow: hidden;
  position: relative;
}

.calendar-connect-card:after {
  content: "";
  position: absolute;
  right: 26px;
  top: 50%;
  width: clamp(90px, 12vw, 140px);
  height: clamp(90px, 12vw, 140px);
  border-radius: 50%;
  border: 1px solid rgba(216,184,102,.12);
  transform: translateY(-50%);
  pointer-events: none;
}

.calendar-connect-card > * {
  position: relative;
  z-index: 1;
}

/* Cleaner same-style page rhythm across site */
.page-hero .lede.short {
  max-width: 640px;
}

.service,
.menu-card,
.story,
.form-card,
.side,
.gallery-clean-card,
.social-showcase {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

/* Make all major button groups feel uniform */
.hero-actions .btn,
.review-actions .btn,
.cta-actions .btn,
.about-actions .btn,
.side-actions .btn,
.booking-submit {
  letter-spacing: .01em;
}

.contact-chip::before {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 8px 18px rgba(0,0,0,.16);
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *:before,
  *:after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media(max-width:980px) {
  .booking-main-card:hover,
  .booking-summary-card:hover,
  .calendar-connect-card:hover {
    transform: none;
  }
}

@media(max-width:620px) {
  .availability-pill {
    margin-top: 10px;
    width: fit-content;
  }
  .time-panel-head {
    display: block;
  }
  .calendar-connect-card:after {
    opacity: .35;
    right: -30px;
  }
}

@media(max-width:430px) {
  .cal-day.available:after {
    bottom: 5px;
  }
  .booking-main-card,
  .booking-summary-card,
  .calendar-connect-card {
    box-shadow: 0 18px 60px rgba(0,0,0,.20);
  }
}


.booking-request-form.needs-attention {
  animation: softShake .38s ease both;
}

@keyframes softShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}
