:root {
  --wine: #57171d;
  --wine-deep: #3e0e14;
  --wine-mid: #672129;
  --ink: #361c1d;
  --ink-soft: #685652;
  --gold: #bea078;
  --gold-faint: #ddcdb2;
  --cream: #f7ecda;
  --cream-deep: #f0dec2;
  --ivory: #fdf8ef;
  --line: rgba(82,25,28,.22);
  --font-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans: 'Manrope', Arial, Helvetica, sans-serif;
}
*, *::before, *::after {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:85px}
body {margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}
img {max-width:100%;height:auto;display:block}
a {color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible {outline:3px solid #b3925e;outline-offset:4px}
button {font:inherit}
::selection {background:#d5ac77;color:#3f0d16}
.wrap {width:min(100% - 104px,1290px);margin-inline:auto}
.section-pad {padding:126px 0}
.skip-link {position:absolute;top:-100px;left:16px;background:var(--cream);color:var(--wine);padding:12px 18px;z-index:50}
.skip-link:focus {top:10px}
.site-header {position:relative;z-index:20;background:var(--ivory);border-bottom:1px solid var(--line)}
.header-inner {min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand-lockup {display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}
.brand-type {font-family:var(--font-serif);font-size:42px;font-weight:700;letter-spacing:-.065em;color:var(--wine);line-height:.95}
.brand-bang {letter-spacing:-.10em}
.brand-sub {font-size:8px;font-weight:700;letter-spacing:.22em;color:var(--wine);padding-top:3px}
.site-nav {display:flex;align-items:center;gap:35px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.site-nav a:not(.nav-contact) {transition:color .2s ease}
.site-nav a:not(.nav-contact):hover {color:#ab7546}
.nav-contact {padding:14px 20px;border:1px solid var(--wine);color:var(--wine);transition:background .2s,color .2s}
.nav-contact:hover {background:var(--wine);color:var(--cream)}
.nav-contact span {margin-left:8px;font-size:16px;font-weight:400}
.menu-toggle {display:none;border:0;background:transparent;cursor:pointer;padding:15px}
.menu-toggle span {display:block;width:26px;height:1.5px;background:var(--wine);margin:7px 0;transition:transform .2s}

/* Hero */
.hero {position:relative;overflow:hidden;background:radial-gradient(circle at 85% 5%,#6b2225 0%,var(--wine) 28%,var(--wine-deep) 100%);color:var(--cream)}
/* Hero image: approved Option 1 (warm chandelier lounge), fading from the top into burgundy. */
.hero-ambient-photo {
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  width: 100%;
  height: min(75%, 680px);
  background-image:
    linear-gradient(to bottom,
      rgba(62,14,20,.18) 0%,
      rgba(62,14,20,.25) 20%,
      rgba(62,14,20,.54) 40%,
      rgba(62,14,20,.87) 65%,
      #3e0e14 91%),
    image-set(url("assets/hero-lounge-ambience.webp") type("image/webp"), url("assets/hero-lounge-ambience.jpg") type("image/jpeg"));
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  opacity: .94;
  pointer-events: none;
}
.hero::before {content:"";position:absolute;inset:17px;border:1px solid rgba(213,177,120,.29);pointer-events:none}
.hero::after {content:"";position:absolute;inset:28px;border:1px solid rgba(213,177,120,.10);pointer-events:none}
.hero-stamp {position:absolute;border:1px solid rgba(213,177,120,.10);width:510px;height:510px;border-radius:50%;pointer-events:none}
.hero-stamp::before,.hero-stamp::after {content:"";position:absolute;border:1px solid rgba(213,177,120,.12);border-radius:50%;inset:30px}
.hero-stamp::after {inset:70px}
.hero-stamp-left {left:-360px;bottom:-280px}
.hero-stamp-right {right:-390px;top:-300px}
.hero-grid {position:relative;z-index:1;display:grid;grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:clamp(32px,5.5vw,100px);padding-block:113px 110px}
.hero-copy {max-width:665px}
.eyebrow {font-size:10px;font-weight:700;letter-spacing:.27em;text-transform:uppercase;line-height:1.6;margin:0 0 22px}
.eyebrow.light {color:#dec59c;display:flex;align-items:center;gap:13px}
.eyebrow.burgundy {color:#8e5354}
.eyebrow.gold {color:#e3cda9}
.tiny-diamond {height:5px;width:5px;transform:rotate(45deg);background:var(--gold)}
h1,h2,h3,p {margin-top:0}
h1,h2,h3 {font-family:var(--font-serif);font-weight:500}
h1 {font-size:clamp(64px,6.0vw,105px);line-height:.94;letter-spacing:-.045em;margin:0 0 23px}
h1 em,h2 em {font-weight:400}
h1 em {color:#e8cc9c}
.hero-gold-rule {color:#d2b480;display:flex;align-items:center;gap:15px;max-width:280px;margin:25px 0}
.hero-gold-rule span {height:1px;background:#b99259;opacity:.8;flex:1}
.hero-line {font-family:var(--font-serif);font-size:clamp(25px,2.2vw,34px);line-height:1.13;margin-bottom:16px;color:#f6dfb9}
.hero-body {max-width:570px;color:#ebddd5;font-size:14px;line-height:2.0;margin-bottom:31px}
.hero-actions {display:flex;align-items:center;gap:29px;flex-wrap:wrap}
.button {display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:18px 24px;min-height:58px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px;line-height:1.4;transition:transform .2s,background .2s,color .2s;cursor:pointer}
.button:hover {transform:translateY(-3px)}
.button-cream {background:#f4e4c9;color:var(--wine-deep)}
.button-cream:hover {background:#fff7e8}
.button span {font-size:18px;line-height:0}
.text-link {font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;border-bottom:1px solid currentColor;padding-bottom:8px;display:inline-flex;gap:19px;align-items:center;line-height:1.5;transition:opacity .2s}
.text-link:hover {opacity:.7}
.text-link span {font-size:18px}
.text-link-light {color:#f2dfc6}
.hero-visual {position:relative;width:100%;max-width:500px;justify-self:end}
.hero-visual-outer {padding:12px;border:1px solid rgba(214,182,128,.7);transform:rotate(1.3deg)}
.hero-visual-inner {padding:12px;background:var(--cream);transform:rotate(-1.3deg);box-shadow:0 26px 55px rgba(12,0,0,.27)}
.hero-visual-inner img {aspect-ratio:1/1;object-fit:cover;width:100%}
.hero-corner-note {display:block;color:#d8b989;text-align:center;font-size:9px;letter-spacing:.3em;font-weight:700;margin-top:23px}
.hero-corner-note span {margin:0 8px}
.hero-bottom {border-top:1px solid rgba(232,201,145,.26);color:#d7bc92;padding:20px 0;display:flex;gap:30px;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.25em;font-weight:700}

/* Intro */
.intro {background:var(--ivory)}
.intro-layout {display:grid;grid-template-columns:100px 1.08fr .78fr;gap:clamp(30px,5vw,85px);align-items:start}
.side-marker {display:flex;align-items:center;flex-direction:column;gap:20px;min-height:280px}
.side-marker span {writing-mode:vertical-rl;transform:rotate(180deg);color:#8b5554;font-size:10px;letter-spacing:.3em;font-weight:700}
.side-marker div {width:1px;flex:1;background:var(--gold-faint)}
h2 {font-size:clamp(52px,5vw,82px);line-height:.97;letter-spacing:-.038em;margin:0;color:var(--wine)}
h2 em {color:#a67e59}
.intro-main h2 {max-width:670px}
.intro-body {padding-top:43px;color:#5e4d46;font-size:14px;line-height:2}
.intro-body p {margin-bottom:20px}
.intro-body .large-copy {font-family:var(--font-serif);font-size:30px;line-height:1.25;color:var(--ink)}
.signature-small {display:block;margin-top:30px;font-family:var(--font-serif);color:var(--wine);font-size:23px;font-style:italic}
.ornamental-line {display:flex;align-items:center;gap:18px;margin-top:95px;color:#a7865c}
.ornamental-line span {flex:1;height:1px;background:var(--gold-faint)}
.ornamental-line i {font-style:normal;font-size:16px}

/* Experience */
.experience {background:var(--cream);position:relative}
.section-heading.centered {text-align:center;max-width:800px;margin:0 auto 66px}
.section-heading h2 {margin:0 auto 22px;max-width:750px}
.section-heading > p:last-child {max-width:580px;margin:0 auto;color:#6e5853;font-size:14px;line-height:1.9}
.pillars {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:rgba(255,255,255,.15)}
.pillar {padding:45px 42px 49px;min-height:345px;position:relative}
.pillar + .pillar {border-left:1px solid var(--line)}
.pillar-top {display:flex;justify-content:space-between;align-items:start;margin-bottom:34px;color:var(--wine)}
.pillar-top > span {font-size:11px;letter-spacing:.17em;color:#947768}
.pillar-top svg {width:91px;height:91px;color:#945a50}
.pillar h3 {font-size:43px;color:var(--wine);margin:0 0 10px;line-height:1.02}
.pillar p {font-size:13px;color:#695752;line-height:1.9;margin:0}
.experience-note {font-family:var(--font-serif);font-size:24px;font-style:italic;text-align:center;margin:40px auto 0;color:#754b45}
.experience-note span {font-size:13px;color:#9b7456;margin:0 8px}

/* Mood section */
.atmospheres {background:var(--wine-deep);color:var(--cream);position:relative;overflow:hidden}
.atmospheres::before {content:"";position:absolute;width:640px;height:640px;border:1px solid rgba(214,182,128,.1);border-radius:50%;top:-430px;left:calc(50% - 320px);pointer-events:none}
.atmospheres::after {content:"";position:absolute;width:590px;height:590px;border:1px solid rgba(214,182,128,.08);border-radius:50%;bottom:-500px;right:-100px;pointer-events:none}
.atmos-title h2 {color:var(--cream)}
.atmos-title h2 em {color:#e6c995}
.atmos-title > p:last-child {color:#ddc9b7}
.mood-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative;z-index:2}
.mood {border:1px solid rgba(217,180,120,.43);background:#5d1c24;transition:transform .25s,border-color .25s}
.mood:hover {transform:translateY(-7px);border-color:#efd2a2}
.mood-art {height:205px;display:grid;place-items:center;position:relative;overflow:hidden;border-bottom:1px solid rgba(230,197,145,.3)}
.art-lounge {background:radial-gradient(circle at 50% 140%,rgba(184,141,90,.17),transparent 55%),#50141b}
.art-deco-arch {width:138px;height:167px;border:1px solid #c4a477;border-bottom:none;border-radius:80px 80px 0 0;position:absolute;bottom:0;display:flex;align-items:center;justify-content:center;color:#e6cba0;font-size:30px}
.art-deco-arch::before,.art-deco-arch::after {content:"";position:absolute;border:1px solid #c4a477;border-bottom:none;border-radius:100px 100px 0 0;inset:12px 12px 0}
.art-deco-arch::after {inset:-15px -15px 0}
.art-deco-arch span {z-index:2;transform:translateY(9px)}
.art-party {background:radial-gradient(circle at 50% 50%,#9b593d,#6e2229 75%)}
.radiant-heart {font-size:80px;color:#e7c58d;z-index:1;font-family:var(--font-serif);font-weight:400;line-height:1}
.orbital {position:absolute;width:185px;height:185px;border:1px solid rgba(230,197,145,.48);border-radius:50%}
.orbital-1 {transform:scaleX(.6) rotate(40deg)}
.orbital-2 {transform:scaleX(.6) rotate(-40deg)}
.art-mix {background:linear-gradient(110deg,#4e121e 0%,#4e121e 50%,#9c5d4a 50%,#9c5d4a 100%)}
.art-mix::before,.art-mix::after {content:"";height:200px;width:200px;border:1px solid #d5b68b;border-radius:50%;position:absolute;top:8px}
.art-mix::before {left:calc(50% - 150px)}
.art-mix::after {right:calc(50% - 150px)}
.mix-center {position:relative;z-index:2;color:#f3d5aa;font-size:85px;font-family:var(--font-serif);line-height:1}
.mood-content {padding:37px 34px 42px;min-height:345px}
.mood-index {font-size:9px;letter-spacing:.2em;color:#d3ad7c;font-weight:700}
.mood h3 {font-size:55px;color:#f4dfc6;line-height:1;margin:16px 0 10px}
.mood-adjectives {font-family:var(--font-serif);font-size:22px;color:#e4c69d;margin:0 0 20px;font-style:italic;line-height:1.1}
.mood-adjectives span {margin:0 5px;font-style:normal;font-size:15px}
.mood-content > p:last-child {color:#e2ccbd;font-size:13px;line-height:1.9;margin:0}
.mood-footer {font-family:var(--font-serif);text-align:center;font-size:24px;font-style:italic;margin:43px 0 0;color:#e2c393}

/* Occasions */
.occasions {background:var(--ivory)}
.occasions-grid {display:grid;grid-template-columns:.87fr 1fr;gap:clamp(60px,10vw,168px);align-items:center}
.occasion-lead h2 {margin-bottom:28px}
.occasion-lead > p:not(.eyebrow) {font-size:14px;line-height:1.95;color:#62514e;margin-bottom:30px;max-width:500px}
.occasion-lead .text-link {color:var(--wine)}
.occasion-list {border-top:1px solid var(--line)}
.occasion-list > div {display:flex;align-items:center;gap:28px;padding:22px 0;border-bottom:1px solid var(--line)}
.occasion-list > div > span:first-child {font-size:11px;letter-spacing:.14em;color:#977a71}
.occasion-list h3 {font-size:clamp(25px,2.65vw,38px);line-height:1.05;margin:0;flex:1;color:var(--wine)}
.list-mark {color:#ba9e79;font-size:15px}

/* Host */
.host {background:#f0dec4}
.host-layout {display:grid;grid-template-columns:.77fr 1.23fr;gap:clamp(70px,9vw,145px);align-items:center}
.host-mark {border:1px solid #d7b98b;padding:18px;position:relative}
.host-mark::before,.host-mark::after {content:"✦";font-size:22px;color:#a9825c;position:absolute;background:#f0dec4;padding:0 12px;z-index:2}
.host-mark::before {left:50%;top:-19px;transform:translateX(-50%)}
.host-mark::after {left:50%;bottom:-19px;transform:translateX(-50%)}
.host-mark-frame {border:1px solid #d7b98b;padding:18px}
.host-mark-frame img {width:100%;aspect-ratio:1;object-fit:cover}
.host-copy h2 {margin-bottom:28px}
.host-copy > p:not(.eyebrow) {color:#5d4b45;font-size:14px;line-height:1.95;margin-bottom:18px;max-width:640px}
.host-copy .host-quote {font-family:var(--font-serif);font-size:clamp(25px,2.4vw,36px)!important;font-style:italic;line-height:1.25!important;color:var(--wine)!important;margin:31px 0 0!important}

/* Contact */
.contact {background:radial-gradient(circle at 95% 10%,#642028,var(--wine-deep) 64%);color:var(--cream);position:relative;overflow:hidden}
.contact::before {content:"";border:1px solid rgba(215,184,130,.16);width:750px;height:750px;border-radius:50%;position:absolute;left:-480px;bottom:-460px}
.contact-grid {display:grid;grid-template-columns:1.2fr .7fr;gap:clamp(65px,12vw,175px);align-items:center;position:relative;z-index:1}
.contact-main h2 {color:var(--cream);max-width:750px;margin-bottom:29px}
.contact-main h2 em {color:#e6c38f}
.contact-main > p:not(.eyebrow):not(.contact-hint) {max-width:600px;color:#ead5c5;font-size:15px;line-height:2;margin-bottom:32px}
.contact-hint {font-size:11px;color:#c9b4a4;margin:12px 0 0}
.contact-details {padding:44px 0 43px 54px;border-left:1px solid rgba(217,178,119,.43)}
.contact-mini-rule {font-size:24px;color:#d3aa72;display:block;margin-bottom:28px}
.contact-small {font-size:10px;letter-spacing:.24em;color:#c9a47d;font-weight:700;margin-bottom:8px}
.contact-person {font-family:var(--font-serif);font-size:35px;line-height:1;margin-bottom:6px}
.contact-role {font-family:var(--font-serif);font-size:23px;font-style:italic;color:#ddc3a7;margin-bottom:0}
.contact-divider {height:1px;background:rgba(217,178,119,.35);margin:28px 0}
.contact-details a {display:block;width:fit-content;color:#f7e9d8;font-family:var(--font-serif);font-size:25px;line-height:1.3;text-decoration:underline;text-decoration-color:#bc9d70;text-underline-offset:6px;overflow-wrap:anywhere}
.contact-details a:hover {color:#e6c38f}
.phone-label {margin-top:25px}
.contact-place {font-size:13px;color:#d9bfaa;margin:0}

/* Footer */
.footer {background:#2c0a0f;color:#e9d1b2;padding:46px 0 24px}
.footer-main {display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:34px;border-bottom:1px solid rgba(215,184,130,.26)}
.footer-brand {font-family:var(--font-serif);font-size:46px;font-weight:700;letter-spacing:-.05em;line-height:1}
.footer-brand span {margin-left:-3px}
.footer-main > p {font-size:9px;letter-spacing:.25em;font-weight:700;margin:0}
.footer-main > a:last-child {font-size:12px;opacity:.9}
.footer-bottom {display:flex;justify-content:space-between;gap:30px;padding-top:21px;color:#ae9885;font-size:10px;letter-spacing:.06em}

@media (max-width:1180px) {
  .wrap {width:min(100% - 72px,1200px)}
  .header-inner {min-height:82px}
  .site-nav {gap:18px}
  .hero-grid {gap:35px}
  h1 {font-size:clamp(58px,6.5vw,87px)}
  .intro-layout {grid-template-columns:50px 1fr 1fr;gap:36px}
  .pillar {padding-inline:30px}
  .mood-content {padding:32px 25px 38px}
  .mood h3 {font-size:47px}
  .mood-adjectives {font-size:19px}
  .contact-grid {gap:70px}
}
@media (max-width:820px) {
  .hero-ambient-photo {height: min(55%, 580px);background-position: center top;opacity:.90}
  .wrap {width:calc(100% - 42px)}
  .section-pad {padding:86px 0}
  .site-header {position:sticky;top:0}
  .header-inner {min-height:74px}
  .brand-type {font-size:37px}
  .brand-sub {font-size:7px}
  .menu-toggle {display:block;z-index:3}
  .menu-toggle[aria-expanded="true"] span:first-child {transform:translateY(4.25px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child {transform:translateY(-4.25px) rotate(-45deg)}
  .site-nav {display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:23px 21px 31px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:0;align-items:stretch;box-shadow:0 22px 30px rgba(57,17,18,.12)}
  .site-nav.is-open {display:flex}
  .site-nav a {padding:15px 8px;border-bottom:1px solid var(--line);font-size:12px}
  .site-nav .nav-contact {margin-top:17px;padding:15px;text-align:center}
  .hero::before {inset:10px}
  .hero::after {inset:18px}
  .hero-grid {grid-template-columns:1fr;gap:49px;padding-block:78px 55px}
  .hero-copy {max-width:660px}
  h1 {font-size:clamp(63px,11vw,88px)}
  .hero-visual {max-width:410px;margin-inline:auto;justify-self:center}
  .hero-bottom {gap:15px;font-size:8px;letter-spacing:.14em}
  .intro-layout {grid-template-columns:1fr 1fr;gap:30px}
  .side-marker {display:none}
  .intro-body {padding-top:38px}
  .intro-body .large-copy {font-size:26px}
  h2 {font-size:clamp(51px,7.5vw,72px)}
  .pillars {grid-template-columns:1fr}
  .pillar {min-height:0;padding:35px 37px}
  .pillar + .pillar {border-left:none;border-top:1px solid var(--line)}
  .pillar-top {margin-bottom:12px}
  .pillar-top svg {height:80px;width:80px}
  .mood-grid {grid-template-columns:1fr;gap:18px;max-width:550px;margin:auto}
  .mood-art {height:180px}
  .mood-content {min-height:0;padding:31px 36px 38px}
  .occasions-grid {gap:45px}
  .host-layout {grid-template-columns:1fr 1.25fr;gap:45px}
  .host-mark-frame {padding:10px}
  .contact-grid {grid-template-columns:1fr 1fr;gap:45px}
  .contact-details {padding-left:29px}
  .contact-details a {font-size:21px}
  .footer-main > p {text-align:center;max-width:190px}
}
@media (max-width:630px) {
  .hero-ambient-photo {height: 570px;background-position: center top;opacity:.85}
  .wrap {width:calc(100% - 42px)}
  .section-pad {padding:78px 0}
  .hero-grid {padding-top:74px}
  .hero-copy {padding:0 6px}
  .eyebrow {font-size:9px;letter-spacing:.19em}
  h1 {font-size:clamp(58px,12vw,75px);line-height:.98}
  .hero-line {font-size:26px;line-height:1.15}
  .hero-body {font-size:13px;line-height:1.9}
  .hero-actions {gap:20px;align-items:flex-start;flex-direction:column}
  .button {padding:17px 21px;min-height:55px}
  .hero-visual {max-width:355px;width:calc(100% - 30px)}
  .hero-bottom {text-align:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:17px 0}
  .hero-bottom span {font-size:7px}
  .intro-layout {display:block}
  .intro-main h2 {max-width:560px}
  .intro-body {padding:28px 0 0}
  .intro-body .large-copy {font-size:28px}
  h2 {font-size:clamp(48px,10vw,65px)}
  .ornamental-line {margin-top:58px}
  .section-heading.centered {margin-bottom:36px}
  .section-heading > p:last-child {font-size:13px}
  .pillar {padding:30px 28px 32px}
  .pillar h3 {font-size:39px}
  .experience-note {font-size:21px}
  .mood-art {height:163px}
  .mood h3 {font-size:52px}
  .mood-adjectives {font-size:19px}
  .mood-content {padding:28px 29px 35px}
  .mood-footer {font-size:21px}
  .occasions-grid {display:block}
  .occasion-lead {margin-bottom:45px}
  .occasion-list h3 {font-size:30px}
  .occasion-list > div {padding:20px 0;gap:19px}
  .host-layout {grid-template-columns:1fr;gap:54px}
  .host-mark {max-width:330px;margin:0 auto}
  .host-copy {max-width:580px}
  .contact-grid {grid-template-columns:1fr;gap:54px}
  .contact-details {border-left:0;border-top:1px solid rgba(217,178,119,.43);padding:33px 0 0}
  .contact-main h2 {max-width:500px}
  .footer-main {flex-direction:column;text-align:center;gap:15px;padding-bottom:27px}
  .footer-brand {font-size:49px}
  .footer-bottom {flex-direction:column;align-items:center;text-align:center;gap:5px}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;animation-duration:0.01ms!important;transition-duration:0.01ms!important}
}
