
:root{
  --bg:#08090d;
  --bg-2:#101218;
  --bg-3:#151821;
  --panel:rgba(255,255,255,.08);
  --panel-2:rgba(255,255,255,.05);
  --line:rgba(255,255,255,.12);
  --line-strong:rgba(244,217,154,.22);
  --text:#f5efe5;
  --muted:rgba(245,239,229,.76);
  --muted-2:rgba(245,239,229,.56);
  --gold-1:#f4d99a;
  --gold-2:#d1a24c;
  --gold-3:#8b6323;
  --shadow:0 26px 80px rgba(0,0,0,.34);
  --radius:22px;
  --radius-lg:32px;
  --max:1320px;
  --header-h:84px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
html,body{margin:0;padding:0;overflow-x:hidden}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 550px at 12% 0%, rgba(209,162,76,.14), transparent 60%),
    radial-gradient(700px 520px at 90% 10%, rgba(255,255,255,.05), transparent 62%),
    linear-gradient(180deg, #08090d 0%, #0d0e13 46%, #0a0b0f 100%);
}
img,svg,video{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(calc(100% - 40px), var(--max));margin:0 auto}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:18px;top:18px;width:auto;height:auto;z-index:3000;padding:12px 16px;border-radius:999px;background:#11131a;border:1px solid var(--line)}
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:2000;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  background:linear-gradient(180deg, rgba(8,9,13,.84), rgba(8,9,13,.42));
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-header::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg, transparent, rgba(244,217,154,.34), transparent);
}
.header-inner{
  min-height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.brand{display:inline-flex;align-items:center;gap:14px;min-width:0}
.brand-mark{
  width:52px;height:52px;display:grid;place-items:center;flex:0 0 auto;
  background:transparent;border:none;box-shadow:none;border-radius:0;
}
.brand-mark img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.22))}
.brand-title{
  display:block;font-family:"Cormorant Garamond", Georgia, serif;font-weight:700;
  font-size:1.78rem;line-height:.95;letter-spacing:.01em;
  background:linear-gradient(135deg, #fffdf9 0%, var(--gold-1) 44%, var(--gold-2) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.brand-sub{
  display:block;margin-top:2px;font-size:.83rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap
}
.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  padding:11px 13px;border-radius:999px;color:rgba(255,255,255,.84);border:1px solid transparent;font-size:.96rem;transition:.22s ease
}
.nav a:hover,.nav a:focus-visible,.mobile-panel a:hover,.mobile-panel a:focus-visible{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.09);transform:translateY(-1px)
}
.nav a[aria-current="page"], .mobile-panel a[aria-current="page"]{
  background:rgba(244,217,154,.10);border-color:rgba(244,217,154,.22);color:#fff
}
.nav .cta,.mobile-panel .cta{
  color:#0a0b0f;background:linear-gradient(135deg, var(--gold-1), var(--gold-2));
  border-color:rgba(244,217,154,.42);box-shadow:0 14px 30px rgba(209,162,76,.18);font-weight:700
}
.burger{
  display:none;min-width:46px;height:46px;padding:0 14px;border-radius:14px;
  color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);cursor:pointer
}
.mobile-panel{
  display:none;padding:0 0 18px;flex-direction:column;gap:8px
}
.mobile-panel[aria-hidden="false"]{display:flex}
.mobile-panel a{padding:12px 14px;border-radius:14px;border:1px solid transparent;color:rgba(255,255,255,.84)}
.page-hero, .hero{
  position:relative;isolation:isolate;overflow:clip;background:#0a0b0f
}
.hero{
  min-height:100svh;display:flex;align-items:flex-end
}
.hero-media,.page-hero-media{
  position:absolute;inset:0;z-index:-3
}
.hero-media picture,.hero-media img,.page-hero-media picture,.page-hero-media img{width:100%;height:100%}
.hero-media img,.page-hero-media img{object-fit:cover;transform:scale(1.02)}
.hero::before, .page-hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg, rgba(8,9,13,.34) 0%, rgba(8,9,13,.56) 28%, rgba(8,9,13,.86) 70%, rgba(8,9,13,.98) 100%),
    linear-gradient(104deg, rgba(8,9,13,.92) 0%, rgba(8,9,13,.46) 36%, rgba(8,9,13,.2) 58%, rgba(8,9,13,.76) 100%)
}
.hero::after, .page-hero::after{
  content:"";position:absolute;inset:auto auto 8% -8%;width:420px;height:420px;z-index:-1;
  background:radial-gradient(circle, rgba(209,162,76,.24), rgba(209,162,76,0) 68%);filter:blur(12px)
}
.hero-inner{
  width:min(calc(100% - 40px), var(--max));margin:0 auto;
  padding:calc(var(--header-h) + 52px) 0 44px;
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:34px;align-items:end
}
.page-hero{
  min-height:70svh;display:flex;align-items:end
}
.page-hero-inner{
  width:min(calc(100% - 40px), var(--max));margin:0 auto;
  padding:calc(var(--header-h) + 48px) 0 42px;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.7fr);gap:28px;align-items:end
}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.14);background:rgba(14,16,22,.42);
  box-shadow:0 12px 30px rgba(0,0,0,.18);color:rgba(255,255,255,.88);
  font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.11em
}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(180deg, var(--gold-1), var(--gold-2));box-shadow:0 0 18px rgba(209,162,76,.6)}
.hero-copy{max-width:780px}
.hero-copy h1, .page-hero-copy h1{
  margin:18px 0 16px;font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:700;letter-spacing:-.04em;line-height:.92
}
.hero-copy h1{font-size:clamp(3.2rem, 7vw, 6.3rem);max-width:10ch}
.page-hero-copy h1{font-size:clamp(2.8rem, 6vw, 5rem);max-width:11ch}
.gradient-text, .hero-highlight{
  background:linear-gradient(135deg, #ffffff 0%, var(--gold-1) 48%, var(--gold-2) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.hero-lead, .page-hero-copy p{
  margin:0;max-width:45rem;color:var(--muted);line-height:1.68;font-size:clamp(1.02rem, 1.45vw, 1.24rem);text-wrap:pretty
}
.hero-actions,.page-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:14px 20px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-weight:700;
  transition:.24s ease;box-shadow:0 18px 40px rgba(0,0,0,.18)
}
.btn:hover,.btn:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.09)}
.btn-primary{
  color:#0a0b0f;background:linear-gradient(135deg, var(--gold-1), var(--gold-2));
  border-color:rgba(244,217,154,.42);box-shadow:0 18px 36px rgba(209,162,76,.22)
}
.btn-primary:hover,.btn-primary:focus-visible{background:linear-gradient(135deg, #f7e4bb, #daa857)}
.btn-ghost{background:rgba(255,255,255,.03)}
.hero-metrics,.metrics-grid{
  margin-top:30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px
}
.metric,.metric-card{
  padding:18px;border-radius:20px;background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(14px);box-shadow:0 16px 44px rgba(0,0,0,.16)
}
.metric strong,.metric-card strong{display:block;font-size:clamp(2.2rem, 5vw, 3rem);line-height:.9;letter-spacing:-.04em;color:#fff}
.metric span,.metric-card span{display:block;margin-top:10px;color:var(--muted);font-size:.92rem;line-height:1.45}
.hero-card,.side-card,.glass-card{
  border-radius:30px;overflow:hidden;background:linear-gradient(180deg, rgba(16,18,24,.72), rgba(12,14,20,.9));
  border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);box-shadow:0 28px 90px rgba(0,0,0,.28)
}
.hero-card{justify-self:end;width:min(100%,420px)}
.hero-card-media,.card-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.hero-card-media img,.card-media img{width:100%;height:100%;object-fit:cover}
.hero-card-body,.side-card-body,.glass-card-body{padding:22px}
.card-kicker{
  color:var(--gold-1);font-size:.79rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700
}
.hero-card-title,.side-card h2,.glass-card h2{
  margin:10px 0 10px;font-size:1.55rem;line-height:1.05;font-weight:800
}
.hero-card-body p,.side-card-body p,.glass-card-body p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.68}
.check-list,.hero-card-points,.feature-list{
  margin:18px 0 0;padding:0;list-style:none;display:grid;gap:11px
}
.check-list li,.hero-card-points li,.feature-list li{
  display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;color:rgba(255,255,255,.92);font-size:.95rem
}
.check-list li::before,.hero-card-points li::before,.feature-list li::before{
  content:"✓";width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:rgba(244,217,154,.12);color:var(--gold-1);border:1px solid rgba(244,217,154,.24);font-size:.84rem;font-weight:900
}
.scroll-cue{
  position:absolute;left:50%;bottom:18px;transform:translateX(-50%);
  color:rgba(255,255,255,.7);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;
  display:inline-flex;flex-direction:column;align-items:center;gap:10px
}
.scroll-cue::after{content:"";width:1px;height:42px;background:linear-gradient(180deg, rgba(244,217,154,0), rgba(244,217,154,.9), rgba(244,217,154,0))}
.section{padding:96px 0}
.section-sm{padding:72px 0}
.section-head{display:grid;gap:14px;margin-bottom:30px;max-width:760px}
.section-kicker{font-size:.83rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-1);font-weight:700}
.section-title{margin:0;font-family:"Cormorant Garamond", Georgia, serif;font-size:clamp(2.2rem, 4vw, 4rem);line-height:.95;letter-spacing:-.03em}
.section-copy{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.78}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.panel-card,.content-card,.info-card{
  border-radius:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:var(--shadow)
}
.content-card,.info-card{padding:22px}
.content-card h3,.info-card h3{margin:0 0 10px;font-size:1.3rem;line-height:1.08}
.content-card p,.info-card p{margin:0;color:var(--muted);line-height:1.72}
.info-card strong{display:block;margin-bottom:8px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{
  position:relative;overflow:hidden;min-height:340px;border-radius:24px;border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:var(--shadow);
  display:flex;flex-direction:column;justify-content:flex-end
}
.service-card::before{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,9,13,.08) 0%, rgba(8,9,13,.10) 32%, rgba(8,9,13,.90) 100%);z-index:1
}
.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02)}
.service-card-body{position:relative;z-index:2;padding:22px}
.service-card h3{margin:0 0 10px;font-size:1.4rem;line-height:1.06;font-weight:800}
.service-card p{margin:0;color:var(--muted);line-height:1.7;font-size:.96rem}
.service-card .tagline{
  display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;margin-bottom:14px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);font-size:.77rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700
}
.immersive-band{
  position:relative;padding:0;overflow:clip;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:#090b10
}
.immersive-band-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;min-height:580px}
.immersive-copy{
  padding:84px min(6vw,72px);display:flex;flex-direction:column;justify-content:center;
  background:radial-gradient(380px 260px at 8% 15%, rgba(244,217,154,.08), transparent 72%), linear-gradient(180deg, rgba(13,14,19,.96), rgba(9,10,14,.98))
}
.immersive-copy .section-title{max-width:8ch}
.immersive-list{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.immersive-list li{display:grid;grid-template-columns:20px 1fr;gap:12px;color:rgba(255,255,255,.92)}
.immersive-list li::before{content:"";width:20px;height:20px;border-radius:50%;align-self:start;margin-top:4px;background:radial-gradient(circle, var(--gold-1), var(--gold-2));box-shadow:0 0 18px rgba(209,162,76,.25)}
.immersive-media{position:relative;min-height:100%}
.immersive-media img{width:100%;height:100%;object-fit:cover}
.immersive-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(9,10,14,.06), rgba(9,10,14,.42))}
.feature-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:22px;align-items:start}
.feature-panel,.feature-side,.media-panel{
  border-radius:30px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:var(--shadow);overflow:hidden
}
.feature-panel-body{padding:30px}
.feature-panel h3{margin:0 0 12px;font-size:clamp(1.9rem, 3vw, 3rem);line-height:.96;font-family:"Cormorant Garamond", Georgia, serif}
.feature-panel p{margin:0;color:var(--muted);line-height:1.8}
.feature-points{margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.feature-point{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.feature-point strong{display:block;margin-bottom:5px;font-size:1rem}
.feature-point span{color:var(--muted);font-size:.92rem;line-height:1.6}
.feature-side{display:grid;grid-template-rows:1fr 1fr}
.mini-showcase{position:relative;min-height:300px}
.mini-showcase img{width:100%;height:100%;object-fit:cover}
.mini-showcase::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(8,9,13,.1), rgba(8,9,13,.86))}
.mini-showcase-body{position:absolute;left:0;right:0;bottom:0;padding:22px}
.mini-showcase h4{margin:0 0 8px;font-size:1.32rem}
.mini-showcase p{margin:0;color:var(--muted);line-height:1.65;font-size:.95rem}
.embed-shell, .contact-shell, .price-grid, .terms-grid{
  display:grid;gap:18px
}
.embed-frame{
  min-height:680px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.03));box-shadow:var(--shadow)
}
.embed-frame .frame-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)
}
.embed-frame .frame-body{padding:0;min-height:620px}
.embed-frame [data-avg-concierge-embed], .embed-frame [data-avg-reservations]{display:block;width:100%;min-height:620px}
.inline-note{
  padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--muted);line-height:1.7
}
.price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.price-card{
  border-radius:28px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column
}
.price-card.featured{transform:translateY(-8px);border-color:rgba(244,217,154,.24)}
.price-head{padding:26px 26px 22px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.price-title{margin:0 0 6px;font-size:1.7rem;font-weight:800;letter-spacing:-.03em}
.price-sub{margin:0;color:var(--muted)}
.price-body{padding:26px;display:flex;flex-direction:column;flex:1}
.price-amount{display:flex;align-items:flex-start;gap:4px;margin-bottom:8px}
.price-currency{font-size:2rem;font-weight:800;margin-top:8px;color:var(--gold-1)}
.price-number{font-size:clamp(3rem, 6vw, 5rem);font-weight:900;letter-spacing:-.06em;line-height:.9}
.price-decimals{font-size:1.8rem;font-weight:800;margin-top:9px;color:var(--muted)}
.price-period{font-size:1.05rem;color:var(--muted);margin-bottom:22px}
.price-features{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:0}
.price-features li{padding:14px 0 14px 32px;position:relative;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.92)}
.price-features li::before{
  content:"✓";position:absolute;left:0;top:14px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff;
  background:linear-gradient(135deg, var(--gold-2), var(--gold-3));box-shadow:0 8px 20px rgba(209,162,76,.24)
}
.price-footer-note{margin-top:auto;color:var(--muted);font-size:.95rem;line-height:1.6}
.contact-grid{display:grid;grid-template-columns:1fr .94fr;gap:20px}
.contact-card{padding:24px;border-radius:28px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:var(--shadow)}
.contact-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.mini-card{padding:18px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.mini-card strong{display:block;margin-bottom:8px}
.mini-card p{margin:0;color:var(--muted);line-height:1.6}
form{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-group{margin-bottom:16px}
.form-group label{display:block;margin-bottom:8px;font-weight:600}
.form-group input,.form-group textarea,.form-group select{
  width:100%;padding:13px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.05);color:var(--text);font:inherit
}
.form-group textarea{min-height:170px;resize:vertical}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(245,239,229,.46)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  outline:none;border-color:rgba(244,217,154,.34);box-shadow:0 0 0 4px rgba(244,217,154,.08)
}
.form-actions{display:flex;justify-content:flex-end}
.form-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:180px;padding:14px 28px;border-radius:999px;border:1px solid rgba(244,217,154,.34);
  background:linear-gradient(135deg, var(--gold-1), var(--gold-2));color:#0a0b0f;font-weight:800;cursor:pointer;box-shadow:0 20px 55px rgba(209,162,76,.16)
}
.form-status{margin-top:18px;padding:15px 16px;border-radius:14px;text-align:center;font-weight:600;display:none}
.form-status.success{display:block;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.24);color:#76e8bb}
.form-status.error{display:block;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.24);color:#ffb0b0}
.prefill-note{display:none;margin:0 0 18px;padding:14px 16px;border-radius:16px;background:rgba(244,217,154,.12);border:1px solid rgba(244,217,154,.2)}
.required{color:#ff8d8d}
.honeypot{position:absolute;left:-9999px;width:1px;height:1px}
.terms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.term-card{
  padding:22px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:var(--shadow)
}
.term-card h3{margin:0 0 10px;font-size:1.2rem}
.term-card p{margin:0;color:var(--muted);line-height:1.72}
.cta-block{
  position:relative;overflow:hidden;border-radius:34px;border:1px solid rgba(255,255,255,.10);
  background:radial-gradient(520px 320px at 82% 16%, rgba(244,217,154,.14), transparent 62%), linear-gradient(180deg, rgba(18,20,27,.96), rgba(10,12,17,.98));
  box-shadow:0 28px 90px rgba(0,0,0,.32);padding:36px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end
}
.cta-block::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(255,255,255,.04), transparent 56%);pointer-events:none}
.cta-block h2{position:relative;z-index:1;margin:0 0 10px;font-family:"Cormorant Garamond", Georgia, serif;font-size:clamp(2.2rem, 4vw, 4rem);line-height:.95}
.cta-block p{position:relative;z-index:1;max-width:46rem;margin:0;color:var(--muted);line-height:1.8}
.site-footer{padding:28px 0 44px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.16)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.footer-brand{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.9)}
.footer-brand img{width:34px;height:34px;object-fit:contain}
.footer-meta{color:var(--muted-2);font-size:.92rem;line-height:1.6}
.footer-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:#fff}
@media (max-width:1180px){
  .hero-inner,.page-hero-inner,.feature-shell,.immersive-band-grid,.service-grid,.contact-grid,.price-grid,.terms-grid{grid-template-columns:1fr}
  .hero-card{justify-self:start;width:min(100%,520px)}
  .immersive-media{min-height:360px}
  .cta-block{grid-template-columns:1fr}
  .cta-actions{justify-content:flex-start}
}
@media (max-width:900px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3,.feature-points,.contact-points,.form-grid,.form-meta{grid-template-columns:1fr}
}
@media (max-width:780px){
  :root{--header-h:76px}
  .container{width:min(calc(100% - 28px), var(--max))}
  .nav{display:none}
  .burger{display:inline-flex}
  .hero-media img,.page-hero-media img{object-position:58% center}
  .hero::before,.page-hero::before{
    background:
      linear-gradient(180deg, rgba(8,9,13,.38) 0%, rgba(8,9,13,.64) 26%, rgba(8,9,13,.86) 64%, rgba(8,9,13,.98) 100%),
      linear-gradient(180deg, rgba(8,9,13,.84) 0%, rgba(8,9,13,.38) 32%, rgba(8,9,13,.78) 100%)
  }
  .hero-inner,.page-hero-inner{padding-top:calc(var(--header-h) + 36px);padding-bottom:68px;gap:22px}
  .hero-copy h1,.page-hero-copy h1{max-width:11ch}
  .hero-actions,.page-actions,.cta-actions,.hero-metrics,.grid-4,.grid-3,.footer-inner{grid-template-columns:1fr}
  .hero-actions,.page-actions,.cta-actions{display:grid}
  .hero-actions .btn,.page-actions .btn,.cta-actions .btn,.form-submit{width:100%}
  .hero-card{width:100%}
  .section{padding:72px 0}
  .immersive-copy{padding:56px 20px}
  .feature-panel-body,.cta-block,.contact-card{padding:24px}
  .feature-side{grid-template-rows:none}
  .mini-showcase{min-height:280px}
  .scroll-cue{display:none}
  .service-card{min-height:300px}
  .brand-title{font-size:1.45rem}
  .brand-sub{font-size:.74rem}
  .brand-mark{width:44px;height:44px}
  .brand-mark img{width:34px;height:34px}
  .footer-links{width:100%}
  .embed-frame{min-height:620px}
  .embed-frame .frame-body,.embed-frame [data-avg-concierge-embed],.embed-frame [data-avg-reservations]{min-height:560px}
}
@media (max-width:520px){
  .hero-inner,.page-hero-inner{width:min(calc(100% - 24px), var(--max))}
  .hero-copy h1,.page-hero-copy h1{font-size:clamp(2.7rem, 13vw, 4rem)}
  .hero-lead,.section-copy,.cta-block p,.page-hero-copy p{font-size:.98rem}
  .eyebrow{width:100%;justify-content:center;text-align:center}
  .metric,.metric-card,.content-card,.info-card,.term-card{padding:18px}
  .service-card-body,.mini-showcase-body,.hero-card-body{padding:18px}
  .form-actions{justify-content:center}
  .embed-frame .frame-head{display:block}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}


/* v14.2 production polish */
@media (max-width: 780px){
  main#main{padding-bottom:120px}
  .site-footer{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}
}
/* Avant Garde Web — mobile header overlap fix
   v14.3.1 • 31 March 2026 */

@media (max-width: 768px) {
  .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
  }

  .brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .brand-mark {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
  }

  .brand-text {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .brand-title {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1;
  }

  .brand-sub {
    display: block;
    margin-top: 4px;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.1;
  }

  .burger {
    justify-self: end;
    flex: 0 0 auto;
    position: relative;
    z-index: 20;
    min-width: 84px;
  }
}

@media (max-width: 560px) {
  .header-inner {
    gap: 10px;
  }

  .brand-mark {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
  }

  .brand-title {
    font-size: clamp(1.45rem, 6.4vw, 2rem);
  }

  .brand-sub {
    font-size: 0.82rem;
    letter-spacing: 0.08em;
  }

  .burger {
    min-width: 76px;
    padding: 12px 14px;
  }
}

@media (max-width: 430px) {
  .brand-sub {
    display: none;
  }

  .brand-title {
    font-size: clamp(1.35rem, 7vw, 1.8rem);
  }

  .brand-mark {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
  }

  .burger {
    min-width: 72px;
    padding: 11px 12px;
  }
}
/* ==========================================================
   Avant Garde Web — home page balance pass
   v14.3.2 • 31 March 2026
   Desktop refinement for immersive band + feature balance
   ========================================================== */

@media (min-width: 1181px) {
  /* Main section balance */
  .immersive-band-grid {
    grid-template-columns: minmax(0, 1fr) minmax(460px, 0.92fr);
    min-height: 520px;
  }

  .immersive-copy {
    padding: 72px 56px 72px 64px;
  }

  .immersive-copy .section-title {
    max-width: 11ch;
    font-size: clamp(2.8rem, 4.1vw, 4.6rem);
    line-height: 0.96;
    letter-spacing: -0.03em;
  }

  .immersive-copy .section-copy {
    max-width: 56ch;
  }

  .immersive-list {
    max-width: 48ch;
    gap: 14px;
  }

  .immersive-media img {
    object-position: center center;
  }

  .immersive-media::after {
    background: linear-gradient(90deg, rgba(9,10,14,.16), rgba(9,10,14,.34));
  }

  /* Feature section balance */
  .feature-shell {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.84fr);
    gap: 28px;
    align-items: stretch;
  }

  .feature-panel-body {
    padding: 34px 34px 30px;
  }

  .feature-panel h3 {
    max-width: 12ch;
    font-size: clamp(2.3rem, 3.25vw, 3.9rem);
    line-height: 0.96;
  }

  .feature-panel p {
    max-width: 60ch;
  }

  .feature-points {
    gap: 16px;
    margin-top: 22px;
  }

  .feature-point {
    padding: 17px 18px;
  }

  .feature-side {
    gap: 0;
  }

  .mini-showcase {
    min-height: 265px;
  }

  .mini-showcase-body {
    padding: 20px;
  }

  /* Slightly calmer section rhythm */
  .section {
    padding: 88px 0;
  }
}

@media (min-width: 1181px) and (max-width: 1440px) {
  .immersive-copy .section-title {
    font-size: clamp(2.6rem, 3.7vw, 4.1rem);
    max-width: 10.5ch;
  }

  .feature-panel h3 {
    font-size: clamp(2.15rem, 3vw, 3.4rem);
  }
}
/* ==========================================================
   Avant Garde Web — mobile balance pass
   v14.3.3 • 31 March 2026
   Refines immersive band on mobile and protects content
   from the branded FAB in the lower-right corner.
   ========================================================== */

@media (max-width: 768px) {
  .immersive-band-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .immersive-copy {
    padding: 36px 24px 26px;
  }

  .immersive-copy .section-kicker {
    margin-bottom: 14px;
  }

  .immersive-copy .section-title {
    max-width: 9.8ch;
    font-size: clamp(2.45rem, 10.8vw, 3.75rem);
    line-height: 0.94;
    letter-spacing: -0.02em;
    text-wrap: balance;
  }

  .immersive-copy .section-copy {
    max-width: none;
    margin-top: 16px;
    font-size: 1rem;
    line-height: 1.72;
  }

  .immersive-list {
    margin-top: 24px;
    gap: 14px;
    padding-right: 96px; /* protects text from FAB overlap */
  }

  .immersive-list li {
    font-size: 1rem;
    line-height: 1.5;
  }

  .immersive-media {
    min-height: 240px;
  }

  .immersive-media img {
    object-position: center center;
  }
}

@media (max-width: 430px) {
  .immersive-copy {
    padding: 32px 20px 24px;
  }

  .immersive-copy .section-title {
    max-width: 10.2ch;
    font-size: clamp(2.2rem, 10.5vw, 3.2rem);
    line-height: 0.95;
  }

  .immersive-copy .section-copy {
    font-size: 0.98rem;
    line-height: 1.68;
  }

  .immersive-list {
    padding-right: 88px;
    gap: 12px;
  }

  .immersive-list li {
    font-size: 0.97rem;
  }

  .immersive-media {
    min-height: 220px;
  }
}