/* Luxury Obsession shared stylesheet */
:root{
  font-family:"Inter", system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bg:#050509;
  --accent:#b1121d;
  --accentSoft:rgba(177,18,29,0.14);

  --champagne:#e7dcc6;
  --titaniumA:rgba(252,252,253,0.92);
  --titaniumB:rgba(176,176,186,0.70);
  --hairline:rgba(231,220,198,0.18);
  --carbonImage:url("../media/carbon.webp");
  --text:#f5f5f5;
  --muted:#a3a3a3;
  --border:#262637;
  --radius:18px;
  --shadow:0 18px 45px rgba(0,0,0,0.4);
  --max:1120px;
  --logoSize: 60px;/*44px*/
  --wordmarkH: 38px;/*34px*/
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at top,#191621 0,var(--bg) 55%);color:var(--text)}
a{color:inherit;text-decoration:none}
header{
  position:sticky;top:0;z-index:50;
  position:relative;
  backdrop-filter:blur(12px);
  background:linear-gradient(to bottom,rgba(5,5,9,0.92),rgba(5,5,9,0.62),transparent);
  border-bottom:1px solid rgba(255,255,255,0.03)
}
.container{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
.navInner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.50rem 0}/*0.75rem 0*/
.brand{display:inline-flex;align-items:center;gap:0.65rem}
.brandIcon{width:var(--logoSize);height:var(--logoSize);object-fit:contain;display:block}
.brandWordmark{height:var(--wordmarkH);width:auto;object-fit:contain;display:block}
.brandText{font-size:1.05rem;font-weight:850;letter-spacing:0.02em}

/* Brand title in Cinzel with gold motif */
.brandGold{
  font-family:"Cinzel", serif;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-size: clamp(1.05rem, 1.2vw + 0.9rem, 1.2rem);
  line-height:1;
  background:linear-gradient(135deg,
    rgba(252,252,253,0.92),
    rgba(231,220,198,0.96),
    rgba(200,183,155,0.92),
    rgba(231,220,198,0.96)
  );
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 10px 30px rgba(0,0,0,0.35);
  white-space:nowrap;
}

@media (max-width:640px){
  .brandGold{font-size:0.90rem;letter-spacing:0.14em;}
}

@media (max-width:640px){
  .brandIcon{width:34px;height:34px}
  .brandWordmark{height:28px}
  .brandText{font-size:0.98rem}
}
.navRight{display:flex;align-items:center;gap:0.65rem}
.navLinks{display:flex;align-items:center;gap:0.8rem;font-size:0.9rem}
.navLinks a{padding:0.35rem 0.65rem;border-radius:999px;color:var(--muted);transition:0.2s}
.navLinks a:hover{color:var(--text);background:rgba(255,255,255,0.05)}
.navCta{
  padding:0.45rem 0.9rem;border-radius:999px;background:var(--accent);
  font-size:0.85rem;font-weight:800;color:#fff;box-shadow:0 10px 26px rgba(229,9,20,0.45)
}
.langPicker{display:inline-flex;align-items:center;gap:0.35rem}
.flagBtn{
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.04);
  border-radius:999px;padding:0.25rem 0.45rem;
  cursor:pointer;line-height:1;opacity:0.75
}
.flagBtn.active{opacity:1;border-color:rgba(229,9,20,0.55);box-shadow:0 0 0 1px rgba(229,9,20,0.25)}
.flagBtn svg{display:block}
.hamburger{
  display:none;width:42px;height:38px;border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.04);
  cursor:pointer;align-items:center;justify-content:center
}
.hamburgerLines{display:grid;gap:4px}
.hamburgerLines span{width:18px;height:2px;border-radius:999px;background:rgba(245,245,245,0.92);display:block}
.mobileMenu{
  display:none;margin:0.65rem 0 0.95rem;padding:0.85rem;
  border-radius:16px;background:rgba(5,5,9,0.92);
  border:1px solid rgba(255,255,255,0.10);box-shadow:var(--shadow)
}
.mobileMenu a{display:flex;align-items:center;justify-content:space-between;padding:0.7rem 0.75rem;border-radius:12px}
.mobileMenu a:hover{background:rgba(255,255,255,0.05)}
.mobileMenuDivider{height:1px;background:rgba(255,255,255,0.08);margin:0.55rem 0}
.mobileMenuCta{
  display:flex;justify-content:center;padding:0.75rem 0.85rem;border-radius:14px;
  background:linear-gradient(135deg, rgba(231,220,198,0.96), rgba(231,220,198,0.82));
  border:1px solid rgba(0,0,0,0.18);
  font-weight:700;color:#0a0a0b !important;
  box-shadow:0 16px 40px rgba(0,0,0,0.35)
}

/* Header responsive behavior is handled by lo.js and the header patch at the end of this file. */

/* Mobile menu open state */
.mobileMenu[data-open="1"]{display:block}


/* Mobile menu language block */
.mobileLangBlock{display:grid;gap:0.55rem;padding:0.35rem 0}
.mobileLangTitle{font-size:0.78rem;color:var(--muted);letter-spacing:0.12em;text-transform:uppercase}
.mobileLangList{display:flex;flex-wrap:wrap;gap:0.5rem}
.mobileLangBtn{border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.04);color:var(--text);padding:0.45rem 0.65rem;border-radius:999px;cursor:pointer;font:inherit;font-size:0.88rem}
.mobileLangBtn[aria-pressed="true"]{border-color:rgba(229,9,20,0.55);box-shadow:0 0 0 1px rgba(229,9,20,0.25)}

main{padding-bottom:2.2rem}
section{padding:3.4rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:0.24em;font-size:0.7rem;color:var(--muted);margin-bottom:0.75rem}
.hero{padding-top:2.2rem}
.heroGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.4rem;align-items:center}
.heroTitle{font-size:clamp(2.35rem,3.2vw + 1rem,3.55rem);line-height:1.05;margin:0 0 0.75rem}
.heroHighlight{background:linear-gradient(to right, rgba(231,220,198,0.96), rgba(252,252,253,0.92));-webkit-background-clip:text;background-clip:text;color:transparent}
.heroSubtitle{font-size:1.05rem;color:var(--muted);max-width:38rem;line-height:1.65;white-space:pre-line}
.heroPills{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:0.6rem}
.heroPill{border-radius:999px;padding:0.3rem 0.8rem;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);font-size:0.75rem;color:var(--muted)}
.heroActions{margin-top:1.9rem;display:flex;flex-wrap:wrap;gap:0.9rem;align-items:center}
.btn{
  border-radius:999px;padding:0.8rem 1.25rem;border:none;outline:none;font-weight:800;
  cursor:pointer;font-size:0.95rem;display:inline-flex;align-items:center;gap:0.45rem;white-space:nowrap
}
.btnPrimary{background:linear-gradient(135deg, rgba(231,220,198,0.96), rgba(231,220,198,0.82));color:#07070b;box-shadow:0 18px 45px rgba(0,0,0,0.45);border:1px solid rgba(0,0,0,0.18)}
.btnSecondary{background:rgba(255,255,255,0.02);color:var(--muted);border:1px solid rgba(255,255,255,0.12)}
.heroNote{margin-top:1.05rem;font-size:0.82rem;color:var(--muted);line-height:1.6}
.heroMediaCard{
  border-radius:32px;overflow:hidden;background:radial-gradient(circle at top left,#ff4949,#050509 52%);
  box-shadow:var(--shadow);position:relative;min-height:300px;border:1px solid rgba(255,255,255,0.10)
}
.heroMediaCard video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08);filter:saturate(1.06) contrast(1.05)}
.heroBadge{
  position:absolute;bottom:1.15rem;left:1.25rem;right:1.25rem;background:rgba(5,5,9,0.78);
  padding:0.55rem 0.85rem;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:0.6rem;
  border:1px solid rgba(255,255,255,0.16);font-size:0.75rem
}
.heroBadgeDot{width:9px;height:9px;border-radius:999px;background:#4ade80;box-shadow:0 0 12px rgba(74,222,128,0.9)}
.sectionTitle{font-size:1.75rem;margin:0 0 0.4rem}
.sectionSubtitle{font-size:0.95rem;color:var(--muted);max-width:52rem;margin:0}
.card{
  background:radial-gradient(circle at top left,#151520,#050509 55%);
  border-radius:var(--radius);border:1px solid var(--border);padding:1.3rem;box-shadow:var(--shadow)
}

/* Allow popovers (calendar) to escape cards without being clipped */
.formCard{overflow:visible}
.formCard::before,.formCard::after{border-radius:var(--radius)}
.formCard{isolation:isolate}

.carbonPanel{
  position:relative;
  /* create a single stacking context so popovers can sit above all card content */
  isolation:isolate;
}
.carbonPanel::before{
  content:"";
  position:absolute; inset:0;
  display:none; /* carbon motif removed from panels */
}

.carbonPanel::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(900px 500px at 25% 20%, rgba(231,220,198,0.10), rgba(0,0,0,0) 55%),
             linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.22));
  opacity:1;
  pointer-events:none;
  z-index:-1;
}

/* Ensure calendar popovers are not clipped by carbon panel on the form */
.carbonPanel.formCard{overflow:visible !important;}
/* Keep carbon overlay rounded even when overflow is visible */
.carbonPanel.formCard::before,
.carbonPanel.formCard::after{border-radius:var(--radius);}

.carbonPanelTight::before{opacity:0.18;background-size:220px 220px;}

.carbonDark::before{
  opacity:0.22;
  background-size:240px 240px;
  mix-blend-mode:overlay;
  filter:contrast(1.35) brightness(0.55);
}
.carbonDark::after{
  background:
    radial-gradient(900px 500px at 18% 18%, rgba(0,0,0,0.35), rgba(0,0,0,0) 58%),
    linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.34));
}
.pickupFrame{margin-bottom:1.25rem;padding:1.05rem;border-radius:18px;border:1px solid rgba(231,220,198,0.14);}
.pricingGrid{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem}
.pricingCard h3{margin:0 0 0.25rem;font-size:1.05rem}
.pricingPrice{display:flex;align-items:baseline;gap:0.2rem;margin:0.35rem 0 0.45rem}
.pricingPrice span:first-child{font-size:1.55rem;font-weight:900}
.pricingKm{font-size:0.82rem;color:var(--muted)}
.pricingTag{display:inline-block;margin-top:0.35rem;font-size:0.72rem;padding:0.2rem 0.6rem;border-radius:999px;background:var(--accentSoft);color:#ffb4b4}
@media (hover:hover) and (min-width: 980px){
  .pricingCard{cursor:pointer;transition:transform 0.18s, border-color 0.18s, box-shadow 0.18s, background 0.18s}
  .pricingCard:hover{
    transform:translateY(-6px) scale(1.03);
    border-color:rgba(229,9,20,0.55);
    box-shadow:0 22px 60px rgba(229,9,20,0.10), var(--shadow);
    background:radial-gradient(circle at top left, rgba(229,9,20,0.18), #050509 58%);
  }
  .pricingCard:hover .pricingTag{
    background:rgba(229,9,20,0.24);
    color:#ffd1d1;
  }
}

.pricingNote{font-size:0.8rem;color:var(--muted);margin-top:1.25rem}
.requestLayout{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-top:2rem}
.ctaRow{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:0.75rem}
.ctaBtn{
  border-radius:14px;padding:0.75rem 1rem;border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.03);color:var(--text);cursor:pointer;font-weight:850;
  display:inline-flex;gap:0.5rem;align-items:center
}
.ctaBtnPrimary{background:rgba(229,9,20,0.14);border-color:rgba(229,9,20,0.30)}
.socialRow{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:0.85rem}
.socialBtn{
  border-radius:999px;padding:0.55rem 0.85rem;border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.03);color:var(--text);cursor:pointer;font-weight:850;
  display:inline-flex;gap:0.45rem;align-items:center;font-size:0.88rem
}
.socialBtn:hover{background:rgba(255,255,255,0.06)}
.socialBtn svg{width:18px;height:18px;display:block}
.bookingForm{display:grid;gap:0.75rem;font-size:0.9rem}
.fieldGroup{display:flex;flex-direction:column;gap:0.25rem}
label{font-size:0.8rem;color:var(--muted)}
input,select,textarea{
  border-radius:10px;border:1px solid var(--border);background:rgba(10,10,18,0.9);
  padding:0.55rem 0.7rem;color:var(--text);font-family:inherit;font-size:0.95rem;outline:none
}
input:focus,select:focus,textarea:focus{border-color:rgba(245,245,245,0.22);box-shadow:0 0 0 1px rgba(245,245,245,0.12)}
textarea{min-height:90px;resize:vertical}
.grid12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0.75rem}
.span-4{grid-column:span 4}
.span-6{grid-column:span 6}
.span-12{grid-column:span 12}
@media(max-width:980px){
  .heroGrid{grid-template-columns:1fr}
  .heroMediaCard{max-width:640px;margin:0 auto}
  .span-md-6{grid-column:span 6}
  .span-md-12{grid-column:span 12}
}
@media(max-width:760px){
  .navLinks{display:none}
  .hamburger{display:inline-flex}
  .container{padding:0 1rem}
}
@media(max-width:560px){
  .pricingGrid{grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);grid-template-columns:unset;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:0.75rem}
  .pricingCard{scroll-snap-align:start}
  .span-sm-12{grid-column:span 12}
}
/* Calendar popover */
.calWrap{position:relative;z-index:50;}
.calPopup{
  position:fixed;top:0;left:0;z-index: 2147483647;
  width:min(320px, 92vw);
  padding:0.85rem;border-radius:16px;
  background:#050509;isolation:isolate;
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:var(--shadow);
  display:none;
  pointer-events:auto;
}
.calPopup.open{display:block}
.calHeader{display:flex;align-items:center;justify-content:space-between;gap:0.6rem;margin-bottom:0.65rem}
.calHeaderTitle{font-weight:900;text-transform:capitalize}
.calNavGroup{display:flex;gap:0.35rem;align-items:center}
.calNavBtn{
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.03);
  color:var(--text);
  border-radius:10px;
  padding:0.35rem 0.55rem;
  cursor:pointer;
  font-weight:900
}
.calWeekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0.35rem;font-size:0.72rem;color:var(--muted);margin-bottom:0.35rem}
.calGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:0.35rem}
.calDay{
  width:100%;
  aspect-ratio:1/1;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
  color:var(--text);
  cursor:pointer;
  font-weight:850;
  font-size:0.85rem
}
.calDay:hover{border-color:rgba(255,255,255,0.18);background:rgba(255,255,255,0.05)}
.calDayOff{opacity:0;pointer-events:none;border-color:transparent;background:transparent}
.calDayDisabled{opacity:0.35;cursor:not-allowed}
.calDaySelected{
  border-color:rgba(229,9,20,0.65);
  box-shadow:0 0 0 1px rgba(229,9,20,0.25);
  background:rgba(229,9,20,0.14)
}
/* Contact map */
.contactGrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:1.2rem;margin-top:1.2rem;align-items:stretch}

@media(max-width:1100px){
  .contactGrid{grid-template-columns:1fr}
  .mapFrame{min-height:320px}
}
.mapCard{padding:0.85rem}
.mapFrame{width:100%;height:100%;min-height:340px;border:0;border-radius:14px}
.contactList{list-style:none;padding:0;margin:0.75rem 0 0;display:grid;gap:0.5rem}
.contactList li{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.55rem 0.65rem;border-radius:12px;background:rgba(0,0,0,0.22);border:1px solid rgba(255,255,255,0.07)}
.contactList li span{color:var(--muted);font-size:0.82rem}
footer{border-top:1px solid rgba(255,255,255,0.08);padding:1.5rem 0;font-size:0.78rem;color:var(--muted)}
.footerInner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}


/* ===== Luxury refresh ===== */
:root{
  --bg:#07070a;
  --surface:rgba(12,12,16,0.78);
  --surface2:rgba(12,12,16,0.92);
  --text:#f3f1ee;
  --muted:rgba(243,241,238,0.70);
  --border:rgba(243,241,238,0.12);
  --radius:16px;
  --shadow:0 14px 42px rgba(0,0,0,0.40);
  --accent:#b1121d;      /* champagne */
  --accent2:#8b0f14;     /* deep red */
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body{
  background:
    radial-gradient(1000px 600px at 20% -10%, rgba(200,183,155,0.12), transparent 55%),
    radial-gradient(900px 520px at 85% 0%, rgba(139,15,20,0.10), transparent 55%),
    var(--bg);
  color:var(--text);
}
header{
  background:linear-gradient(to bottom, rgba(7,7,10,0.92), rgba(7,7,10,0.74), transparent);
  border-bottom:1px solid rgba(243,241,238,0.06);
}
.navInner{padding:0.55rem 0;}
.navLinks a{color:rgba(243,241,238,0.86);font-weight:500;letter-spacing:0.01em}
.navLinks a:hover{color:var(--text)}
.navCta{
  background:transparent;
  border:1px solid rgba(200,183,155,0.75);
  color:rgba(243,241,238,0.92);
  box-shadow:none;
  font-weight:600;
}
.navCta:hover{background:rgba(200,183,155,0.12)}

.langPicker, .flagBtn{display:none !important;} /* replaced by langSelect */

.langSelect{position:relative;display:inline-flex;align-items:center}
.langToggle{
  display:inline-flex;align-items:center;gap:0.45rem;
  padding:0.5rem 0.75rem;border-radius:999px;
  border:1px solid rgba(243,241,238,0.16);
  background:rgba(243,241,238,0.03);
  color:rgba(243,241,238,0.86);
  cursor:pointer;font-size:0.85rem;letter-spacing:0.08em;
}
.langToggle:hover{background:rgba(243,241,238,0.06)}
.langChevron{font-size:0.9rem;opacity:0.8}
.langMenu{
  position:absolute;right:0;top:calc(100% + 0.55rem);
  min-width:190px;
  background:rgba(7,7,10,0.92);
  border:1px solid rgba(243,241,238,0.14);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:0.4rem;
  backdrop-filter:blur(10px);
}
.langOption{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;
  padding:0.65rem 0.75rem;border-radius:12px;
  background:transparent;border:none;
  color:rgba(243,241,238,0.92);
  cursor:pointer;font-size:0.92rem;
}
.langOption:hover{background:rgba(243,241,238,0.06)}
.langOption[aria-current="true"]{background:rgba(200,183,155,0.10);border:1px solid rgba(200,183,155,0.22)}

.hamburger{border:1px solid rgba(243,241,238,0.16);background:rgba(243,241,238,0.03)}
.hamburger:hover{background:rgba(243,241,238,0.06)}
.hamburgerLines span{background:rgba(243,241,238,0.88)}

h1,h2,h3,.sectionTitle,.heroTitle{font-family:"Cormorant Garamond",serif;letter-spacing:0.02em}
.heroTitle{font-weight:600}
.heroHighlight{background:linear-gradient(to right, rgba(231,220,198,0.96), rgba(252,252,253,0.92));-webkit-background-clip:text;background-clip:text;color:transparent}
.heroSubtitle{max-width:54ch;color:var(--muted);font-size:1.05rem;line-height:1.7}
.heroPills{gap:0.6rem;margin-top:1.25rem}
.heroPill{
  border-radius:999px;
  border:1px solid rgba(243,241,238,0.12);
  background:rgba(243,241,238,0.02);
  color:rgba(243,241,238,0.78);
  font-weight:500;
  letter-spacing:0.02em;
}
.heroActions{gap:0.85rem;margin-top:1.35rem}

.btn{
  border-radius:999px;
  padding:0.9rem 1.35rem;
  font-weight:600;
  letter-spacing:0.04em;
}
.btnPrimary{
  background:var(--accent);
  color:#0b0b0c;
  box-shadow:none;
}
.btnPrimary:hover{filter:brightness(1.04)}
.btnSecondary{
  background:transparent;
  border:1px solid rgba(243,241,238,0.18);
  color:rgba(243,241,238,0.88);
}
.btnSecondary:hover{background:rgba(243,241,238,0.05)}
.heroNote{color:rgba(243,241,238,0.60)}
.card{
  background:rgba(12,12,16,0.62);
  border:1px solid rgba(243,241,238,0.10);
  box-shadow:none;
}
.pricingCard:hover{
  transform:none;
  border-color:rgba(200,183,155,0.28);
}
.pricingCard::before{display:none}
.pricingCardPrice{color:var(--accent)}
.pricingNote{color:rgba(243,241,238,0.62)}

.sectionTitle{font-size:2.25rem;font-weight:600}
.sectionSubtitle{max-width:70ch;color:var(--muted);line-height:1.8}

.ctaRow{gap:0.6rem}
.ctaBtn{
  background:transparent;
  border:1px solid rgba(243,241,238,0.16);
  color:rgba(243,241,238,0.86);
  font-weight:500;
}
.ctaBtn:hover{background:rgba(243,241,238,0.05)}
/* remove emoji spacing if present */
.ctaBtn svg{display:block}

.contactList li{border-bottom:1px solid rgba(243,241,238,0.08)}
footer{border-top:1px solid rgba(243,241,238,0.06)}


/* --- Luxury refresh: supercar accents + full-bleed imagery --- */
.heroHighlight{background:linear-gradient(to right, rgba(231,220,198,0.96), rgba(252,252,253,0.92));-webkit-background-clip:text;background-clip:text;color:transparent}
header{
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.titaniumDivider{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(252,252,253,0.12),rgba(231,220,198,0.24),rgba(252,252,253,0.10),transparent);
}
.carbon{position:relative;isolation:isolate;}
/* Carbon accents (supercar touch) */
:root{ --carbonScale: 420px; }

header{position:sticky}
header{isolation:isolate;}
header::before{
  content:"";
  position:absolute; inset:0;
  background-image: var(--carbonImage);
  background-size: var(--carbonScale) var(--carbonScale);
  background-position: center;
  opacity:0.10;
  mix-blend-mode:overlay;
  pointer-events:none;
  z-index:0;
}
header > .container{position:relative; z-index:1;}

@supports not (mix-blend-mode: overlay){
  header::before{opacity:0.06;}
}

.card{
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute; inset:0;
  display:none; /* carbon motif removed from panels */
}

.card > *{position:relative; z-index:1;}
@supports not (mix-blend-mode: overlay){
  .card::before{opacity:0.09;}
}

/* Titanium divider refinement */
.sectionTitle::after{
  content:"";
  display:block;
  width:72px;height:1px;
  margin-top:0.9rem;
  background:linear-gradient(90deg, rgba(231,220,198,0.75), rgba(176,176,186,0.55), rgba(231,220,198,0.05));
}


/* Full-bleed showcase */
.showcase{padding:0;margin:0;}
.mediaFull{position:relative;min-height:92vh;overflow:hidden;}
.mediaFull::after{content:"";position:absolute;inset:0;background:none;opacity:0;pointer-events:none;z-index:1}
.mediaOverlay{
  position:absolute;inset:0;
  display:flex;align-items:flex-end;
  background:none;
  padding:3.2rem 0;
}

.mediaFull > img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  border-radius:0;border:none;box-shadow:none;
  filter:none;
;
  z-index:0
}
.mediaOverlay{
  position:absolute;inset:0;
  display:flex;align-items:flex-end;
  background:linear-gradient(180deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.00) 45%, rgba(0,0,0,0.48) 70%, rgba(0,0,0,0.90) 100%);
  padding:3.2rem 0;
}
.mediaCaption{max-width:46rem;}
.mediaTitle{
  font-family:"Cormorant Garamond", serif;
  font-weight:600;
  font-size:clamp(1.9rem,2.2vw + 1rem,2.6rem);
  line-height:1.05;
  margin:0.35rem 0 0.85rem;
  letter-spacing:0.02em;
}
.mediaBody{color:rgba(255,255,255,0.80);max-width:40rem;margin:0 0 1.2rem;}
@media (max-width: 820px){
  .mediaFull{min-height:82vh;}
  .mediaOverlay{padding:2.4rem 0;}
  .mediaTitle{letter-spacing:0.01em;}
}
@media (max-width: 560px){
  .mediaFull{min-height:88vh;}
  .mediaBody{font-size:0.98rem;}
}
@media (max-width: 760px){
  /* Mobile colour tuning: keep primary readable on champagne */
  .btnPrimary{background:linear-gradient(135deg, rgba(231,220,198,0.96), rgba(231,220,198,0.82));color:#07070b;border:1px solid rgba(0,0,0,0.18)}
  .btnPrimary:hover{filter:brightness(1.02)}
  .heroBadge{background:rgba(231,220,198,0.06);border-color:rgba(231,220,198,0.18)}
  .heroPill{background:rgba(231,220,198,0.06);border-color:rgba(231,220,198,0.14)}
  .langMenu{background:rgba(7,7,10,0.96)}
}


/* Buttons: titanium primary, discreet secondary */
.btnPrimary{
  background:linear-gradient(135deg, rgba(252,252,253,0.92), rgba(194,194,204,0.80));
  color:#0a0a0b;
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.btnPrimary:hover{filter:brightness(1.02);}
.btnGhost{
  background:transparent;
  color:rgba(255,255,255,0.88);
  border:1px solid rgba(231,220,198,0.22);
}
.btnGhost:hover{border-color:rgba(231,220,198,0.35);}

/* Cards: less frame-y, more precision */
.card{
  border:1px solid rgba(231,220,198,0.12);
  box-shadow:0 14px 40px rgba(0,0,0,0.30);
}
.pricingCard{
  border:1px solid rgba(231,220,198,0.12);
}
@media (hover:hover) and (min-width: 980px){
  .pricingCard:hover{transform:translateY(-2px);box-shadow:0 18px 46px rgba(0,0,0,0.36);}
}


.btnSecondary{background:transparent;color:rgba(255,255,255,0.88);border:1px solid rgba(231,220,198,0.22);} .btnSecondary:hover{border-color:rgba(231,220,198,0.35);} 

body{position:relative;}
body::before{
  content:"";
  position:fixed; inset:0;
  background-image:
    radial-gradient(circle at 20% 10%, rgba(231,220,198,0.06), transparent 55%),
    radial-gradient(circle at 80% 30%, rgba(177,18,29,0.04), transparent 60%),
    radial-gradient(circle at 40% 90%, rgba(255,255,255,0.03), transparent 55%);
  pointer-events:none;
  z-index:-10;
}


.requestCardHeader{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;
  padding-bottom:0.9rem;margin-bottom:0.9rem;
  border-bottom:1px solid rgba(252,252,253,0.08);
}

/* === Luxury Supercar Override v3 === */
.heroMediaCard{display:none;}
@media (min-width: 980px){
  .heroMediaCard{display:block;}
}
/*.heroMediaCard { height: 600px; }*/
.heroPhoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 60% 55%;
  display: block;
  border-radius: 16px;
}
@media (min-width: 980px){
  .heroGrid{grid-template-columns:1.15fr 0.85fr !important;}
}

.heroPills{gap:0.5rem !important;}

/* Typography */
:root{
  --font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-serif:"Cormorant Garamond", serif;
  font-family: var(--font-sans) !important;
  --accent: var(--champagne) !important; /* use champagne as primary accent */
  --scarlet:#b1121d; /* keep red only as micro-accent */
}
body{font-family:var(--font-sans) !important;}
h1,h2,h3,.heroTitle,.sectionTitle,.mediaTitle{font-family:var(--font-serif) !important; letter-spacing:0.01em;}
.heroHighlight{background:none !important; color:var(--champagne) !important; text-shadow:none !important;}

/* Buttons and CTAs */
.btnPrimary, .navCta, .mobileMenuCta{
  background:linear-gradient(135deg, rgba(231,220,198,0.95), rgba(252,252,253,0.92)) !important;
  color:#0b0b10 !important;
  box-shadow:0 18px 55px rgba(0,0,0,0.40) !important;
  border:1px solid rgba(231,220,198,0.28) !important;
}
.btnPrimary:hover, .navCta:hover, .mobileMenuCta:hover{
  filter:brightness(1.02) contrast(1.02);
}
.btnSecondary{
  border:1px solid rgba(231,220,198,0.18) !important;
  background:rgba(7,7,10,0.25) !important;
  color:rgba(243,241,238,0.88) !important;
}
.ctaBtnPrimary{
  background:linear-gradient(135deg, rgba(231,220,198,0.95), rgba(252,252,253,0.92)) !important;
  color:#0b0b10 !important;
  border:1px solid rgba(231,220,198,0.26) !important;
  box-shadow:0 16px 45px rgba(0,0,0,0.35) !important;
}
.ctaBtn{
  border:1px solid rgba(231,220,198,0.16) !important;
}

/* Remove “startup hover” feel */
@media (hover:hover){
  .pricingCard:hover{
    transform:none !important;
    border-color:rgba(231,220,198,0.22) !important;
    box-shadow:var(--shadow) !important;
    background:rgba(7,7,10,0.35) !important;
  }
}

/* Carbon fiber visibility fix */
.mediaFull{position:relative;}
.mediaFull::after{
  opacity:0.34 !important;
  mix-blend-mode:multiply !important; /* more visible than overlay */
  background-size:360px 360px, 18px 18px, 18px 18px !important;
  filter:contrast(1.25) saturate(0.90) !important;
}
.mediaOverlay{
  background:linear-gradient(180deg,
    rgba(0,0,0,0.00) 0%,
    rgba(0,0,0,0.00) 52%,
    rgba(0,0,0,0.42) 68%,
    rgba(0,0,0,0.88) 100%) !important;
}

/* Make the car section unmistakably first impression */
.showcase .mediaTitle{font-size:clamp(2.4rem, 4.8vw, 4.2rem) !important;}
.showcase .mediaBody{font-size:1.05rem !important; max-width:46rem;}
.showcase .mediaCaption{padding-bottom:0.25rem;}
.mediaFull{min-height:96vh !important;}

/* Header and hamburger refinement */
.hamburger{
  width:44px;height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(231,220,198,0.18) !important;
  background:rgba(7,7,10,0.35) !important;
}
.hamburgerLines span{
  background:rgba(243,241,238,0.92) !important;
  height:2px !important; width:18px !important;
}
.mobileMenu{
  margin:0.85rem 0 1.2rem !important;
  padding:0.85rem !important;
  border-radius:20px !important;
  background:rgba(7,7,10,0.78) !important;
  border:1px solid rgba(231,220,198,0.14) !important;
  backdrop-filter:blur(12px) !important;
}
.mobileMenu a:not(.mobileMenuCta){
  color:rgba(243,241,238,0.92) !important;
}
.mobileMenu a span{opacity:0.55 !important;}


/* Carbon visibility boost (user feedback) */
.mediaFull::after{
  opacity:0.48 !important;
  mix-blend-mode:soft-light !important;
  background-size:280px 280px, 18px 18px, 18px 18px !important;
}

/* Mobile color tuning (more important) */
@media (max-width: 640px){
  :root{
    --bg:#050509;
    --text:#f3f1ee;
    --muted:rgba(243,241,238,0.72);
    --border:rgba(231,220,198,0.14);
  }
  .navInner{padding:0.85rem 0 !important;}
  .navCta{padding:0.48rem 0.82rem !important; font-weight:600 !important;}
  .btn{padding:0.82rem 1.0rem !important;}
  .mediaOverlay{padding:2.6rem 0 2.2rem !important;}
  .mediaFull{min-height:100vh !important;}
  .hero{padding-top:1.2rem !important;}
}



/* Mobile navigation – luxury treatment */
.hamburger{
  border:1px solid rgba(231,220,198,0.18);
  background:linear-gradient(180deg, rgba(231,220,198,0.06), rgba(255,255,255,0.02));
}
.hamburgerLines span{background:rgba(231,220,198,0.92);}

.mobileMenu{
  background:rgba(5,5,9,0.94);
  border:1px solid rgba(231,220,198,0.14);
  box-shadow:0 18px 55px rgba(0,0,0,0.55);
}
.mobileMenu a{
  font-family:var(--font-sans);
  letter-spacing:0.02em;
}
.mobileMenuDivider{background:rgba(231,220,198,0.10);}

.mobileMenuCta{
  background:linear-gradient(180deg, rgba(231,220,198,0.20), rgba(231,220,198,0.10));
  border:1px solid rgba(231,220,198,0.22);
  color:rgba(245,245,245,0.96);
  box-shadow:none;
  font-weight:600;
}
@media (hover:hover){
  .mobileMenuCta:hover{
    transform:translateY(-1px);
    border-color:rgba(231,220,198,0.35);
    background:linear-gradient(180deg, rgba(231,220,198,0.24), rgba(231,220,198,0.12));
  }
}


@media (max-width: 820px){
  /* On small viewports: no empty bands. Image starts at the top, copy follows immediately. */
  .mediaFull{min-height:0 !important;height:auto !important;}
  .mediaFull > img{
    position:relative !important;
    inset:auto !important;
    width:100%;
    height:auto;
    max-height:72vh;
    display:block;
    object-fit:cover;
    object-position:top center;
  }
  .mediaOverlay{
    position:relative !important;
    inset:auto !important;
    align-items:flex-start;
    padding:1.0rem 0 0 !important;
    background:none !important;
  }
  .mediaCaption{max-width:100%;}
  .mediaCaptionBox{max-width:92vw;}
  section.hero{padding-top:1.2rem !important; padding-bottom:1.6rem !important;}
}

@media (max-width: 460px){
  .mediaFull{min-height:0 !important;height:auto !important;}
  .mediaFull > img{max-height:78vh;}
}

/* Short height (landscape windows): avoid empty gaps, keep content flowing */
@media (max-height: 560px){
  .mediaFull{min-height:0 !important;height:auto !important;}
  .mediaFull > img{
    position:relative !important;
    inset:auto !important;
    width:100%;
    height:auto;
    max-height:84vh;
    display:block;
    object-fit:cover;
    object-position:top center;
  }
  .mediaOverlay{
    position:relative !important;
    inset:auto !important;
    padding:0.95rem 0 0 !important;
    background:none !important;
  }
  section.hero{padding-top:1.0rem !important; padding-bottom:1.2rem !important;}
}

/* Mobile menu CTA: always readable */
.mobileMenuCta{
  background:linear-gradient(135deg, rgba(231,220,198,0.95), rgba(252,252,253,0.92)) !important;
  color:#0b0b10 !important;
  border:1px solid rgba(231,220,198,0.28) !important;
}
.mobileMenuCta:hover{color:#0b0b10 !important;}
.mobileMenuCta:link, .mobileMenuCta:visited, .mobileMenuCta:active, .mobileMenuCta:focus{color:#0b0b10 !important;}


/* Rates: mobile shows all in a single horizontal row with scrollbar */
@media (max-width: 760px){
  .pricingGrid{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x mandatory !important;
    gap:1rem !important;
    padding-bottom:0.85rem !important;
  }
  .pricingCard{
    flex:0 0 clamp(120px, 10vw, 280px) !important; 
    scroll-snap-align:start !important;
  }
}

/* footer links */
.footerInner{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.footerRight{display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.footerRight a{color:var(--muted);text-decoration:none}
.footerRight a:hover{color:var(--text)}
@media (max-width: 760px){
  .footerInner{grid-template-columns:1fr;gap:10px;text-align:center}
  .footerRight{justify-content:center}
}

/* SHOWCASE FULLSCREEN OVERRIDE: image or video always fills viewport */
.mediaFull{
  height: 100vh !important;
  min-height: 100vh !important;

  height: 100svh !important;
  min-height: 100svh !important;

  overflow: hidden !important;
}

.mediaFull > img,
.mediaFull > video{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center center !important;

  max-height: none !important;
  display: block !important;
}

/* Journal page */
.blogHero{padding-top:2.2rem}
.blogGrid{margin-top:2rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1.2rem}
.blogCard{grid-column:span 6;display:grid;grid-template-columns:170px 1fr;gap:1rem;align-items:stretch;cursor:pointer}
.blogThumb{width:100%;height:100%;min-height:150px;border-radius:16px;object-fit:cover;border:1px solid rgba(231,220,198,0.14)}
.blogMeta{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;color:var(--muted);font-size:0.82rem}
.blogPill{display:inline-flex;align-items:center;gap:0.35rem;border-radius:999px;padding:0.18rem 0.6rem;background:rgba(231,220,198,0.06);border:1px solid rgba(231,220,198,0.12);color:rgba(243,241,238,0.78)}
.blogTitle{margin:0.35rem 0 0.35rem;font-size:1.15rem;line-height:1.25}
.blogExcerpt{margin:0;color:var(--muted);font-size:0.95rem;line-height:1.65}
.blogRead{margin-top:0.85rem;display:inline-flex;align-items:center;gap:0.45rem;font-weight:800;color:rgba(243,241,238,0.92)}
.blogRead span{color:var(--champagne)}
.blogCard:focus{outline:none;box-shadow:0 0 0 2px rgba(231,220,198,0.28)}
.blogCardInner{display:flex;flex-direction:column;justify-content:space-between}
.blogCTA{margin-top:2rem;display:flex;flex-wrap:wrap;gap:0.9rem;align-items:center}
.pricingNote{margin-top:1.25rem;font-size:0.85rem;color:rgba(243,241,238,0.62);line-height:1.7}

@media(max-width:980px){
  .blogCard{grid-column:span 12}
}

/* Mobile readability: photo + overlapping glass text panel */
@media(max-width:560px){
  .blogCard{grid-template-columns:1fr;padding:0;overflow:hidden}
  .blogThumb{min-height:230px;border-radius:0;border:none;filter:brightness(0.72) contrast(1.03) saturate(1.02)}
  .blogCardInner{
    margin-top:-3.2rem;
    position:relative;
    padding:1.05rem 1.1rem 1.1rem;
    background:rgba(5,5,9,0.90);
    border-top:1px solid rgba(231,220,198,0.12);
    border-radius:22px 22px 16px 16px;
    box-shadow:0 -10px 40px rgba(0,0,0,0.55)
  }
  .blogMeta{color:rgba(243,241,238,0.70)}
  .blogExcerpt{color:rgba(243,241,238,0.74)}
}



/* ===== Shared components added for philosophy, experiences, locations, pricing gallery ===== */
.footerLeft{align-self:center}
.footerCenter{align-self:center;justify-self:center}

.cardTop{display:flex;flex-direction:column;gap:0.35rem}
.cardTitle{font-family:"Cormorant Garamond",serif;font-size:1.4rem;letter-spacing:0.02em}
.cardDesc{color:var(--muted);line-height:1.65;font-size:0.98rem}
.mediaSubtitle{color:var(--muted);max-width:70ch;line-height:1.75;font-size:1.05rem;margin:0.55rem 0 0}

.pageHero{padding-top:2.2rem}
.pageIntro{max-width:52rem}
.pageProse p{margin:0 0 1rem;line-height:1.75}
.pageProse p:last-child{margin-bottom:0}
.inlineMedia{border-radius:18px;overflow:hidden;border:1px solid rgba(231,220,194,0.16)}
.inlineMedia img{display:block;width:100%;height:auto}
.figureCaption{color:var(--muted);font-size:0.9rem;margin-top:0.55rem}
.bulletList{margin:0;padding-left:1.1rem;color:var(--text)}
.bulletList li{margin:0.35rem 0}
.quotePanel{padding:1.2rem 1.25rem;border-radius:18px;border:1px solid rgba(231,220,194,0.16);background:rgba(16,16,16,0.62)}
.quotePanel p{margin:0;color:var(--text);font-style:italic;line-height:1.7}
.quotePanel .byline{margin-top:0.6rem;color:var(--muted);font-style:normal;font-size:0.92rem}
.heroQuote{margin:1.2rem 0 0;max-width:54rem;color:rgba(243,241,238,0.86);font-style:italic;line-height:1.7;font-size:1.1rem}

/* Locations */
.locTitleRow{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:baseline}
.locTitleRow h2,#otherTitle{font-size:1.17em}
.locPill{display:inline-flex;align-items:center;gap:0.4rem;border-radius:999px;padding:0.22rem 0.65rem;background:rgba(243,241,238,0.02);border:1px solid rgba(243,241,238,0.12);color:rgba(243,241,238,0.78);font-size:0.82rem;font-weight:500}
.locNote{margin:0.65rem 0 0;color:var(--muted);line-height:1.55}
.locMarker{margin-left:.12rem;font-size:.72em;vertical-align:super;color:var(--muted);font-weight:700}
.locPickupFootnotes{white-space:pre-line;line-height:1.6}

.locList{margin:0.75rem 0 0;padding-left:1.05rem;color:rgba(243,241,238,0.92)}
.locList li{margin:0.35rem 0}
.locLink{text-decoration:underline;text-decoration-color:rgba(243,241,238,0.22);text-underline-offset:3px}
.locLink:hover{text-decoration-color:rgba(231,220,198,0.78)}
.btnRow{display:flex;gap:0.6rem;flex-wrap:wrap;margin-top:1rem}

/* Pricing: gallery and table wrapper */
.price{font-weight:900}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.2rem}
@media (max-width: 860px){ .grid2{grid-template-columns:1fr} }
.carRow{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.9rem 0;border-top:1px solid rgba(231,220,198,0.12)}
.carRow:first-of-type{border-top:0}
.carName{font-weight:900}
.pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.28rem 0.65rem;border-radius:999px;border:1px solid rgba(231,220,198,0.18);background:rgba(255,255,255,0.03);color:var(--text);font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase}
.model{width:100%;height:100%;min-height:260px;object-fit:cover;border-radius:22px;border:1px solid rgba(255,255,255,0.10)}

.gallery{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.85rem}
.gItem{padding:0;border:none;background:transparent;cursor:pointer}
.gItem img{width:100%;height:170px;object-fit:cover;border-radius:16px;border:1px solid rgba(255,255,255,0.10);transition:transform .18s ease, border-color .18s ease}
.gItem:hover img{transform:translateY(-2px);border-color:rgba(255,255,255,0.18)}
@media (max-width: 760px){ .gItem img{height:210px} }

.tableWrap{overflow:auto;border-radius:16px;border:1px solid rgba(231,220,198,0.12);position:relative;-webkit-overflow-scrolling:touch}
.tableWrap table{min-width:720px;border-collapse:separate;border-spacing:0}
.tableWrap thead th{position:sticky;top:0;background:rgba(7,7,10,0.92);backdrop-filter:blur(10px);z-index:3}
.tableWrap th:first-child,.tableWrap td:first-child{position:sticky;left:0;background:rgba(7,7,10,0.92);z-index:2}
.tableWrap thead th:first-child{z-index:4}
.tableWrap td:first-child{border-right:1px solid rgba(231,220,198,0.12)}
@media (max-width: 760px){ .tableWrap th, .tableWrap td{padding:0.65rem 0.55rem} .tableWrap table{font-size:0.90rem} }
.tableWrap::after{
  content:none;
  display:none;
}

.lightbox{position:fixed;inset:0;display:none;z-index:200}
.lightbox.open{display:block}
.lbBackdrop{position:absolute;inset:0;background:rgba(0,0,0,0.72);backdrop-filter:blur(6px)}
.lbPanel{position:absolute;inset:0;display:grid;place-items:center;padding:1rem}
.lbFigure{margin:0;max-width:min(980px,92vw);width:100%}
.lbFigure img{width:100%;height:auto;border-radius:18px;border:1px solid rgba(255,255,255,0.12)}
.lbCap{margin-top:0.75rem;color:var(--muted);font-size:0.9rem;text-align:center}
.lbClose{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,0.16);background:rgba(255,255,255,0.06);color:#fff;font-size:18px;cursor:pointer}
.lbNav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,0.16);background:rgba(255,255,255,0.06);color:#fff;font-size:20px;cursor:pointer}
.lbPrev{left:1rem}
.lbNext{right:1rem}
@media (max-width:560px){ .lbPrev{left:0.55rem} .lbNext{right:0.55rem} .lbNav{width:46px;height:46px} }


/* ===== Header priority navigation patch =====
   Ensures links never overlap the brand.
   Driven by lo.js via:
   - data-lo-hidden on individual items
   - header[data-burger] and header[data-brand-wrap]
*/

.navInner{min-width:0;justify-content:flex-start;overflow:visible}
.brand{flex:0 0 auto;min-width:0}
.navRight{margin-left:auto;flex:0 0 auto;min-width:0;overflow:visible}

/* Critical: do not allow the nav cluster to shrink and let its children spill over the brand.
   If it does not fit, lo.js will hide low priority items instead. */
.navLinks{flex:0 0 auto;width:max-content;white-space:nowrap;overflow:hidden}
.navLinks a{white-space:nowrap}

.navLinks a[data-lo-hidden="1"]{display:none !important}
.langSelect[data-lo-hidden="1"]{display:none !important}

.brandGold{min-width:0;display:inline-flex;align-items:baseline;gap:0.35em}
.brandGold .brandWord{display:inline-block}

@media (min-width: 761px){
  header[data-burger="1"] .hamburger{display:inline-flex !important}
  header[data-burger="0"] .hamburger{display:none !important}
}

header[data-brand-wrap="1"] .brandGold{
  flex-direction:column;
  align-items:flex-start;
  gap:0.10em;
  white-space:normal;
  line-height:1.05;
  letter-spacing:0.16em;
  font-size:clamp(0.96rem, 0.95vw + 0.70rem, 1.14rem);
}
header[data-brand-wrap="1"] .brandGold .brandWord1,
header[data-brand-wrap="1"] .brandGold .brandWord2{display:block}

@media (min-width: 761px){
  header[data-brand-wrap="1"] .brandIcon{width:52px;height:52px}
}

@media (max-width: 760px){
  /* On mobile, language stays in the hamburger menu */
  .langSelect{display:none !important}
}

/* Mobile header override: always show Request and language */
@media (max-width: 760px){
  .navLinks{display:flex !important;}
  .navLinks a{display:none !important;}
  #navRequest{display:inline-flex !important;}
  #navRequest[data-lo-hidden="1"]{display:inline-flex !important;}
  .langSelect{display:inline-flex !important;}
  .langSelect[data-lo-hidden="1"]{display:inline-flex !important;}
  .hamburger{display:inline-flex !important;}
  .navRight{gap:0.5rem;}
  .navCta{padding:0.46rem 0.78rem;font-size:0.82rem;}
  .langToggle{padding:0.46rem 0.62rem;font-size:0.82rem;}
}

/* =========================================================
   Contact + Footer refinement
   Scope: visual refinement only. Added at the end so it
   overrides earlier duplicate contact/footer rules safely.
   ========================================================= */

/* Contact list: cleaner, less bulky, better mobile wrapping */
.contactList{
  gap:0.62rem !important;
}

.contactList li{
  display:grid !important;
  grid-template-columns:minmax(86px, 0.34fr) minmax(0, 1fr) !important;
  align-items:center !important;
  gap:0.85rem !important;
  padding:0.72rem 0.82rem !important;
  border-radius:15px !important;
  background:rgba(255,255,255,0.025) !important;
  border:1px solid rgba(231,220,198,0.105) !important;
  border-bottom:1px solid rgba(231,220,198,0.105) !important;
}

/* Left labels: Business, Location, E-Mail, Phone, WhatsApp */
.contactList li > :first-child{
  justify-self:start !important;
  color:rgba(243,241,238,0.54) !important;
  font-size:0.72rem !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:0.08em !important;
  text-transform:uppercase !important;
}

/* Right values: company name, address, email, phone */
.contactList li > :not(:first-child){
  justify-self:end !important;
  min-width:0 !important;
  max-width:100% !important;
  color:rgba(243,241,238,0.90) !important;
  font-size:0.96rem !important;
  font-weight:500 !important;
  line-height:1.28 !important;
  letter-spacing:-0.01em !important;
  text-align:right !important;
  overflow-wrap:anywhere !important;
}

.contactList li > strong{
  font-weight:600 !important;
}

.contactList li > a{
  text-decoration:none !important;
}

.contactList li > a:hover{
  color:#fff !important;
}

/* Social buttons: less chunky, more premium */
.socialRow{
  gap:0.55rem 0.65rem !important;
}

.socialBtn{
  padding:0.58rem 0.9rem !important;
  font-size:0.91rem !important;
  font-weight:600 !important;
  letter-spacing:0.01em !important;
  line-height:1 !important;
  color:rgba(243,241,238,0.88) !important;
  background:rgba(255,255,255,0.025) !important;
  border-color:rgba(231,220,198,0.13) !important;
}

.socialBtn svg{
  width:17px !important;
  height:17px !important;
  opacity:0.88 !important;
}

.socialBtn:hover{
  background:rgba(255,255,255,0.055) !important;
  border-color:rgba(231,220,198,0.22) !important;
}

/* Mobile contact refinement */
@media (max-width:560px){
  .contactList{
    gap:0.55rem !important;
  }

  .contactList li{
    grid-template-columns:82px minmax(0, 1fr) !important;
    padding:0.68rem 0.72rem !important;
  }

  .contactList li > :first-child{
    font-size:0.68rem !important;
    letter-spacing:0.075em !important;
  }

  .contactList li > :not(:first-child){
    font-size:0.91rem !important;
    font-weight:500 !important;
  }

  .socialBtn{
    padding:0.56rem 0.82rem !important;
    font-size:0.88rem !important;
    font-weight:600 !important;
  }
}

/* Very narrow screens: stack label and value to avoid ugly wrapping */
@media (max-width:390px){
  .contactList li{
    grid-template-columns:1fr !important;
    gap:0.32rem !important;
  }

  .contactList li > :first-child,
  .contactList li > :not(:first-child){
    justify-self:start !important;
    text-align:left !important;
  }
}

/* Footer: cleaner desktop layout */
footer{
  border-top:1px solid rgba(231,220,198,0.12) !important;
  padding:1.7rem 0 1.9rem !important;
  background:
    radial-gradient(700px 220px at 50% 0%, rgba(231,220,198,0.055), transparent 60%),
    rgba(5,5,9,0.78) !important;
}

.footerInner{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(280px, 440px) minmax(0, 1fr) !important;
  grid-template-areas:
    "left nap right"
    "status nap right" !important;
  align-items:center !important;
  gap:0.35rem 1.3rem !important;
}

.footerLeft{
  grid-area:left !important;
  align-self:end !important;
  justify-self:start !important;
  font-size:0.78rem !important;
  color:rgba(243,241,238,0.58) !important;
}

.footerCenter{
  grid-area:status !important;
  justify-self:start !important;
  align-self:start !important;
  font-size:0.78rem !important;
  color:rgba(243,241,238,0.48) !important;
}

.footerNap{
  grid-area:nap !important;
  justify-self:center !important;
  max-width:440px !important;
  padding:0.82rem 1.05rem !important;
  border-radius:18px !important;
  border:1px solid rgba(231,220,198,0.13) !important;
  background:rgba(255,255,255,0.025) !important;
  color:rgba(243,241,238,0.68) !important;
  font-size:0.78rem !important;
  line-height:1.65 !important;
  text-align:center !important;
}

.footerNap a{
  color:rgba(243,241,238,0.84) !important;
  text-decoration:none !important;
}

.footerNap a:hover{
  color:#fff !important;
}

.footerRight{
  grid-area:right !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:1rem !important;
  flex-wrap:wrap !important;
}

.footerRight a{
  color:rgba(243,241,238,0.58) !important;
  font-size:0.78rem !important;
  text-decoration:none !important;
}

.footerRight a:hover{
  color:rgba(243,241,238,0.92) !important;
}

/* Footer mobile: stacked and centered */
@media (max-width:900px){
  .footerInner{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "nap"
      "status"
      "right"
      "left" !important;
    text-align:center !important;
    gap:0.85rem !important;
  }

  .footerLeft,
  .footerCenter,
  .footerNap,
  .footerRight{
    justify-self:center !important;
  }

  .footerRight{
    justify-content:center !important;
  }
}

/* ===== Dedicated gallery page ===== */
.galleryPageHero{padding:2.4rem 0 1.2rem}
.galleryHeroGrid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:2rem;align-items:center}
.galleryHeroCopy{padding:1rem 0}
.galleryPageTitle{font-family:"Cormorant Garamond",serif;font-size:clamp(2.6rem,5vw,5rem);font-weight:500;line-height:0.98;margin:0;letter-spacing:-0.025em}
.galleryPageIntro{max-width:42rem;margin:1.2rem 0 0;color:rgba(243,241,238,0.72);font-size:1.04rem;line-height:1.75}
.galleryHeroMedia{border-radius:28px;overflow:hidden;border:1px solid rgba(231,220,198,0.16);box-shadow:0 28px 70px rgba(0,0,0,0.46);aspect-ratio:4/3;background:#0a0a0d}
.galleryHeroMedia picture,.galleryHeroMedia img{display:block;width:100%;height:100%}
.galleryHeroMedia img{object-fit:cover}
.gallerySection{padding-top:1.5rem}
.galleryFilters{display:grid;grid-template-columns:auto auto 1fr;gap:1.1rem;align-items:end;padding:1.05rem 1.15rem;margin-bottom:1.35rem;border:1px solid rgba(231,220,198,0.14);border-radius:20px;background:rgba(8,8,12,0.72);backdrop-filter:blur(12px)}
.filterGroup{display:flex;flex-wrap:wrap;gap:0.5rem;margin:0;padding:0;border:0;min-width:0}
.filterGroup legend{width:100%;padding:0;margin:0 0 0.18rem;color:rgba(243,241,238,0.56);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.18em}
.filterChip{position:relative;display:inline-flex;cursor:pointer}
.filterChip input{position:absolute;opacity:0;pointer-events:none}
.filterChip span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0.5rem 0.82rem;border-radius:999px;border:1px solid rgba(231,220,198,0.16);background:rgba(255,255,255,0.025);color:rgba(243,241,238,0.68);font-size:0.86rem;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.filterChip:hover span{transform:translateY(-1px);border-color:rgba(231,220,198,0.34);color:var(--text)}
.filterChip input:checked+span{background:linear-gradient(135deg,rgba(231,220,198,0.96),rgba(202,188,161,0.9));border-color:rgba(231,220,198,0.86);color:#09090b;font-weight:700}
.filterChip input:focus-visible+span{outline:2px solid rgba(231,220,198,0.9);outline-offset:3px}
.galleryCount{justify-self:end;align-self:end;margin:0 0 0.5rem;color:rgba(243,241,238,0.56);font-size:0.82rem;white-space:nowrap}
.galleryPageGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.9rem}
.galleryCard{position:relative;display:block;padding:0;border:0;border-radius:18px;overflow:hidden;background:#09090c;aspect-ratio:4/5;cursor:zoom-in;text-align:left;box-shadow:0 16px 40px rgba(0,0,0,0.26)}
.galleryCard[hidden]{display:none!important}
.galleryCard picture,.galleryCard img{display:block;width:100%;height:100%}
.galleryCard img{object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .3s ease}
.galleryCardShade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.76),rgba(0,0,0,0) 40%);pointer-events:none}
.galleryCardMeta{position:absolute;left:0.75rem;right:0.75rem;bottom:0.75rem;display:flex;gap:0.42rem;flex-wrap:wrap;pointer-events:none}
.galleryCardMeta span{padding:0.3rem 0.56rem;border-radius:999px;background:rgba(5,5,9,0.72);border:1px solid rgba(255,255,255,0.16);backdrop-filter:blur(8px);color:rgba(255,255,255,0.86);font-size:0.7rem;letter-spacing:0.04em}
.galleryCard:hover img,.galleryCard:focus-visible img{transform:scale(1.035);filter:saturate(1.05)}
.galleryCard:focus-visible{outline:2px solid rgba(231,220,198,0.9);outline-offset:3px}
.galleryMoreRow{display:flex;justify-content:center;margin-top:1.5rem}
.galleryMore[hidden]{display:none!important}
.galleryEmpty{text-align:center;padding:3rem 1rem;margin:0;color:var(--muted)}
.galleryCtaSection{padding-top:1rem}
.galleryCtaCard{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.6rem;border-radius:24px;border:1px solid rgba(231,220,198,0.16);background:radial-gradient(circle at top left,rgba(231,220,198,0.11),rgba(7,7,10,0.75) 56%)}
.galleryCtaCard h2{font-family:"Cormorant Garamond",serif;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:500;margin:0}
.galleryCtaCard p{margin:0.55rem 0 0;max-width:43rem;color:var(--muted);line-height:1.65}
.galleryCtaActions{display:flex;gap:0.7rem;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}
.galleryPage .lbFigure{max-width:min(1100px,92vw)}
.galleryPage .lbFigure img{display:block;max-height:80vh;object-fit:contain;background:#050509}
.galleryLightboxOpen{overflow:hidden}
.navLinks a[aria-current="page"]{color:var(--text);background:rgba(255,255,255,0.055)}
@media(max-width:900px){.galleryHeroGrid{grid-template-columns:1fr}.galleryHeroMedia{aspect-ratio:16/10}.galleryFilters{grid-template-columns:1fr 1fr}.galleryCount{grid-column:1/-1;justify-self:start}.galleryPageGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.galleryCtaCard{align-items:flex-start;flex-direction:column}.galleryCtaActions{justify-content:flex-start}}
@media(max-width:560px){.galleryPageHero{padding-top:1.4rem}.galleryHeroGrid{gap:1.15rem}.galleryHeroMedia{border-radius:20px;aspect-ratio:4/3}.galleryFilters{grid-template-columns:1fr;padding:0.9rem}.galleryCount{grid-column:auto}.galleryPageGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.58rem}.galleryCard{aspect-ratio:4/5;border-radius:14px}.galleryCardMeta{left:0.45rem;right:0.45rem;bottom:0.45rem;gap:0.28rem}.galleryCardMeta span{padding:0.23rem 0.4rem;font-size:0.61rem}.galleryCtaActions{width:100%}.galleryCtaActions .btn{justify-content:center;flex:1 1 100%}}
@media(max-width:340px){.galleryPageGrid{grid-template-columns:1fr}}

/* ===== Homepage mobile simplification and About hub ===== */
#occasionLinks .occasionAccordion{
  margin:0;
  border:0;
  background:transparent;
}
#occasionLinks .occasionAccordionSummary{
  display:none;
}
#occasionLinks .occasionAccordionContent{
  display:block;
}

@media (max-width:760px){
  /* Keep the request heading and conversion actions, remove repeated explanatory copy. */
  #request #requestSub{
    display:none !important;
  }
  #request .requestLayout{
    margin-top:1.25rem !important;
    gap:1rem !important;
  }
  #request .requestContactCard{
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  #request .requestContactCard::before,
  #request .requestContactCard::after{
    display:none !important;
  }
  #request .requestContactCard .requestCardHeader,
  #request .requestContactCard > ul{
    display:none !important;
  }
  #request .requestContactCard .ctaRow{
    display:grid !important;
    grid-template-columns:minmax(0,1.35fr) minmax(0,0.9fr) minmax(0,0.9fr) !important;
    gap:0.55rem !important;
    margin:0 !important;
  }
  #request .requestContactCard .ctaBtn{
    min-width:0 !important;
    justify-content:center !important;
    padding:0.78rem 0.55rem !important;
    border-radius:14px !important;
    font-size:0.9rem !important;
    line-height:1.1 !important;
  }

  /* Progressive-enhancement accordion: content stays in the initial HTML for SEO. */
  #occasionLinks{
    padding:0.8rem 0 1.35rem !important;
  }
  #occasionLinks + #pricing{
    padding-top:1.75rem !important;
  }
  #occasionLinks .occasionAccordion{
    border:1px solid rgba(231,220,198,0.14) !important;
    border-radius:20px !important;
    background:rgba(255,255,255,0.022) !important;
    overflow:hidden !important;
  }
  #occasionLinks .occasionAccordionSummary{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:1rem !important;
    padding:1rem !important;
    cursor:pointer !important;
    list-style:none !important;
    color:var(--text) !important;
  }
  #occasionLinks .occasionAccordionSummary::-webkit-details-marker{
    display:none !important;
  }
  #occasionLinks .occasionAccordionSummary::after{
    content:"+";
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:2rem;
    height:2rem;
    border-radius:999px;
    border:1px solid rgba(231,220,198,0.18);
    color:rgba(243,241,238,0.86);
    font-size:1.1rem;
    line-height:1;
  }
  #occasionLinks .occasionAccordion[open] .occasionAccordionSummary::after{
    content:"×";
  }
  #occasionLinks .occasionAccordionLabel{
    font-family:var(--font-serif, "Cormorant Garamond", serif);
    font-size:1.28rem;
    font-weight:600;
    line-height:1.12;
  }
  #occasionLinks .occasionAccordionContent{
    padding:0 1rem 1rem !important;
  }
  #occasionLinks .occasionAccordionContent .sectionTitle{
    font-size:1.55rem !important;
  }
  #occasionLinks .occasionAccordionContent .sectionSubtitle{
    line-height:1.65 !important;
  }
}

@media (max-width:360px){
  #request .requestContactCard .ctaRow{
    grid-template-columns:1fr 1fr !important;
  }
  #request .requestContactCard .ctaBtn:first-child{
    grid-column:1 / -1 !important;
  }
}

/* About hub */
.aboutPage{
  padding-bottom:2rem;
}
.aboutHero{
  padding:clamp(2.2rem,6vw,5.2rem) 0 2.2rem;
}
.aboutHeroGrid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,0.82fr);
  gap:clamp(1.4rem,4vw,3.4rem);
  align-items:center;
}
.aboutEyebrow{
  margin:0 0 0.85rem;
  color:rgba(231,220,198,0.72);
  font-size:0.72rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
}
.aboutTitle{
  margin:0;
  font-family:var(--font-serif, "Cormorant Garamond", serif);
  font-size:clamp(2.7rem,6vw,5.4rem);
  font-weight:500;
  line-height:0.98;
  letter-spacing:-0.025em;
}
.aboutLead{
  max-width:42rem;
  margin:1.15rem 0 0;
  color:var(--muted);
  font-size:1.04rem;
  line-height:1.75;
}
.aboutHeroActions{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  margin-top:1.45rem;
}
.aboutHeroMedia{
  margin:0;
  aspect-ratio:4/5;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(231,220,198,0.16);
  background:#09090c;
  box-shadow:0 26px 70px rgba(0,0,0,0.42);
}
.aboutHeroMedia img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.aboutSection{
  padding:2.4rem 0;
}
.aboutSectionHeader{
  max-width:48rem;
  margin-bottom:1.35rem;
}
.aboutSectionTitle{
  margin:0;
  font-family:var(--font-serif, "Cormorant Garamond", serif);
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:500;
  line-height:1.05;
}
.aboutSectionIntro{
  margin:0.75rem 0 0;
  color:var(--muted);
  line-height:1.7;
}
.aboutLinkGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0.9rem;
}
.aboutLinkCard{
  display:block;
  min-height:165px;
  padding:1.25rem;
  border-radius:20px;
  border:1px solid rgba(231,220,198,0.14);
  background:linear-gradient(150deg,rgba(255,255,255,0.045),rgba(231,220,198,0.018));
  transition:border-color .18s ease,transform .18s ease,background .18s ease;
}
.aboutLinkCard:hover{
  transform:translateY(-2px);
  border-color:rgba(231,220,198,0.3);
  background:linear-gradient(150deg,rgba(231,220,198,0.07),rgba(255,255,255,0.03));
}
.aboutLinkCard h2,
.aboutLinkCard h3{
  margin:0;
  font-family:var(--font-serif, "Cormorant Garamond", serif);
  font-size:1.65rem;
  font-weight:600;
}
.aboutLinkCard p{
  margin:0.55rem 0 0;
  color:var(--muted);
  line-height:1.6;
}
.aboutLinkArrow{
  display:inline-block;
  margin-top:1rem;
  color:rgba(231,220,198,0.86);
  font-weight:600;
}
.aboutLegalCard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  padding:1.25rem;
  border-radius:20px;
  border:1px solid rgba(231,220,198,0.13);
  background:rgba(255,255,255,0.022);
}
.aboutLegalCopy h2{
  margin:0;
  font-family:var(--font-serif, "Cormorant Garamond", serif);
  font-size:1.8rem;
}
.aboutLegalCopy p{
  margin:0.45rem 0 0;
  color:var(--muted);
  line-height:1.6;
}
.aboutLegalLinks{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:0.55rem;
}
.aboutLegalLinks a{
  padding:0.58rem 0.78rem;
  border-radius:999px;
  border:1px solid rgba(231,220,198,0.15);
  color:rgba(243,241,238,0.82);
  font-size:0.86rem;
}
.aboutLegalLinks a:hover{
  border-color:rgba(231,220,198,0.3);
  color:#fff;
}

@media(max-width:820px){
  .aboutHeroGrid{
    grid-template-columns:1fr;
  }
  .aboutHeroMedia{
    aspect-ratio:16/10;
    max-width:680px;
  }
}
@media(max-width:620px){
  .aboutHero{
    padding-top:1.45rem;
  }
  .aboutTitle{
    font-size:clamp(2.55rem,13vw,4rem);
  }
  .aboutLinkGrid{
    grid-template-columns:1fr;
  }
  .aboutLinkCard{
    min-height:0;
  }
  .aboutLegalCard{
    align-items:flex-start;
    flex-direction:column;
  }
  .aboutLegalLinks{
    justify-content:flex-start;
  }
}


/* Footer NAP items: indivisible details; four clean rows on mobile */
.footerNapItem{display:inline-block;white-space:nowrap}
.footerNapItem:not(:last-child)::after{content:" · ";color:rgba(243,241,238,0.46)}
@media (max-width:900px){
  .footerNap{display:grid !important;grid-template-columns:1fr !important;justify-items:center !important;gap:0.1rem !important;width:min(100%,440px) !important;box-sizing:border-box !important}
  .footerNapItem{display:block !important;white-space:nowrap !important;max-width:100% !important}
  .footerNapItem:not(:last-child)::after{content:none !important}
  .footerNap a,
  .footerRight a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:0.25rem 0.35rem !important;
    box-sizing:border-box !important;
  }
}

/* ===== Final mobile header safety patch =====
   Keeps the primary actions fully inside the viewport while preserving the
   brand name. lo.js measures the available width and sets data-brand-wrap;
   compact phones also get a CSS fallback so LUXURY / OBSESSION is visible on
   two lines before JavaScript has finished adapting the navigation. */
@media (max-width: 520px){
  header .container{padding-left:1rem;padding-right:1rem;}
  .navInner{gap:0.55rem !important;}
  .brand{flex:0 0 auto;min-width:0;gap:0.45rem;}
  header .brandGold{
    display:inline-flex !important;
    max-width:none;
    overflow:visible;
    text-overflow:clip;
    white-space:nowrap !important;
    font-size:0.78rem;
    letter-spacing:0.13em;
  }
  header[data-brand-wrap="1"] .brandGold{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0.04em !important;
    width:min-content;
    white-space:normal !important;
    line-height:1 !important;
  }
  .navRight{margin-left:auto;min-width:0;gap:0.40rem !important;}
  .navCta{padding:0.42rem 0.68rem !important;font-size:0.79rem !important;}
  .langToggle{padding:0.42rem 0.54rem !important;font-size:0.79rem !important;}
  .hamburger{width:40px !important;height:40px !important;flex:0 0 40px;}
}

/* Typical current phone widths: use the compact two-line wordmark directly.
   This is also the no-JavaScript fallback for the automatic measurement. */
@media (max-width: 420px){
  header .brandGold{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:0.04em !important;
    width:min-content;
    white-space:normal !important;
    line-height:1 !important;
  }
}

@media (max-width: 360px){
  .navInner{gap:0.45rem !important;padding:0.35rem 0;}
  .navRight{gap:0.32rem !important;}
  .navCta{padding:0.40rem 0.62rem !important;font-size:0.78rem !important;}
  .langToggle{padding:0.40rem 0.50rem !important;font-size:0.78rem !important;}
  header .brandGold{font-size:0.70rem;letter-spacing:0.11em;}
}

@media (max-width: 340px){
  header .container{padding-left:0.75rem;padding-right:0.75rem;}
  .navInner{gap:0.40rem !important;}
  .navRight{gap:0.28rem !important;}
  .navCta{padding-left:0.55rem !important;padding-right:0.55rem !important;}
  .langToggle{padding-left:0.44rem !important;padding-right:0.44rem !important;}
  header .brand{gap:0.36rem;}
  header .brandIcon{width:32px;height:32px;}
  header .brandGold{font-size:0.66rem;letter-spacing:0.09em;}
  .navCta{font-size:0.74rem !important;}
  .langToggle{font-size:0.74rem !important;}
  .hamburger{width:38px !important;height:38px !important;flex-basis:38px;}
}

/* 320 px is below the width of almost every current smartphone. At this last
   resort only, preserve Request, language and menu by keeping the icon alone. */
@media (max-width: 320px){
  header .brandGold{display:none !important;}
}

/* Keyboard access and booking details; initial hero layout is unchanged. */
.loSkipLink{position:fixed;top:8px;left:12px;transform:translateY(-180%);z-index:2147483647;padding:12px 18px;border-radius:8px;background:#e7d8b8;color:#101010;font:600 15px/1.4 system-ui;text-decoration:none}
.loSkipLink:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid #e7d8b8!important;outline-offset:3px!important}
.calPopup{max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}
.loBookingDetails{margin-top:12px;font-size:.82rem;line-height:1.5;color:rgba(255,255,255,.8)}
.loBookingDetails summary{cursor:pointer;color:#e7d8b8;padding:6px 0}
.loBookingDetails p{margin:6px 0 10px}
.loFormPrivacy{margin:8px 0;font-size:.78rem;line-height:1.5;color:rgba(255,255,255,.75)}
.loFormPrivacy a{text-decoration:underline;text-underline-offset:3px}

@font-face{font-family: 'Cinzel';font-style: normal;font-weight: 400 700;font-display: swap;src: url(/assets/fonts/cinzel-latin-ext-8fc2606f8a.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family: 'Cinzel';font-style: normal;font-weight: 400 700;font-display: swap;src: url(/assets/fonts/cinzel-latin-09941fb1c1.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 400 600;font-display: swap;src: url(/assets/fonts/cormorant-garamond-latin-ext-cfa9a397d8.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family: 'Cormorant Garamond';font-style: normal;font-weight: 400 600;font-display: swap;src: url(/assets/fonts/cormorant-garamond-latin-d80df8ff5a.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400 700;font-display: swap;src: url(/assets/fonts/inter-latin-ext-34b9c504ca.woff2) format('woff2');unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400 700;font-display: swap;src: url(/assets/fonts/inter-latin-3100e775e8.woff2) format('woff2');unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}:root{--font-sans:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-serif:"Cormorant Garamond",Georgia,serif;--serif:var(--font-serif);--display:var(--font-serif)}html body{font-family:var(--font-sans)!important}body h1,body h2,body h3,body h4,body h5,body h6,body .heroTitle,body .sectionTitle,body .mediaTitle,body .cardTitle,body .calloutTitle,body .routeTitle,body .galleryPageTitle{font-family:var(--font-serif)!important}body input,body select,body textarea,body button,body label,body table,body .btn,body .ctaBtn,body .navLinks,body .mobileMenu{font-family:var(--font-sans)!important}body .brandGold{font-family:"Cinzel",Georgia,serif!important}body .loConsentBanner{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body .loConsentBanner .loConsentTitle,body .loConsentBanner .loConsentEyebrow{font-family:Georgia,"Times New Roman",serif!important}.seoCard a,.loGuideTable a{color:var(--champagne,#e7dcc6);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.seoCard a{display:inline-block;margin-top:.4rem;font-weight:500;line-height:1.6}.seoCard a:hover,.loGuideTable a:hover{text-decoration-thickness:2px}.seoCard a:focus-visible,.loGuideTable a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}.bookingForm .loBookingRateRow,.bookingForm .loBookingDateRow{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem}.bookingForm .loBookingRateRow>.fieldGroup,.bookingForm .loBookingDateRow>.fieldGroup{min-width:0;grid-column:auto}.bookingForm .loBookingRateRow select,.bookingForm .loBookingDateRow select,.bookingForm .loBookingDateRow input{box-sizing:border-box;min-width:0;width:100%}@media(min-width:900px){.bookingForm .loBookingRateRow{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.bookingForm .loBookingDateRow{grid-template-columns:repeat(2,minmax(0,1fr))}}
