:root{color-scheme:dark;--bg:#170b10;--panel:#21151b;--wine:#6b253f;--gold:#eccb8c;--cream:#fff4dd;--muted:#bbaaaf;--line:#ffffff1d;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}em{font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;padding:12px 20px;background:var(--gold);color:#23131a;z-index:20;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line);gap:28px;background:#170b10}.brand{display:inline-flex;align-items:center;gap:13px;font-size:14px;font-weight:600;letter-spacing:.2em;white-space:nowrap}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid #c292646b;color:var(--gold);font-family:var(--serif);font-size:19px;letter-spacing:-.1em;line-height:1}.site-header nav{display:flex;align-items:center;gap:32px;font-size:14px;color:#ddcbd0}.site-header nav a{padding:12px 0}.site-header nav a:hover{color:var(--gold)}.header-contact{font-size:14px;color:var(--gold);border:1px solid #eccb8c60;padding:10px 20px;border-radius:2px;white-space:nowrap}.header-contact:hover{background:var(--gold);color:var(--bg)}
.hero{position:relative;min-height:670px;overflow:hidden;isolation:isolate;display:flex;align-items:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#170b1099 0%,#170b1033 55%,#170b1000 85%),linear-gradient(0deg,#170b10c0,transparent 23%);z-index:-2}.hero-content{padding-block:60px 82px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.22em;line-height:1.6;color:var(--gold);display:flex;align-items:center;gap:12px}.small-rule{height:1px;width:28px;background:var(--gold)}.hero h1{font-size:clamp(88px,8.8vw,136px);line-height:.94;letter-spacing:-.06em;margin:28px 0 27px}.hero h1 em{color:var(--gold);padding-right:.07em}.hero-description{font-size:18px;color:#ddcbd0;margin-bottom:29px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:49px;padding:13px 23px;border-radius:3px;font-size:14px;font-weight:600;line-height:1.5;border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s}.button-gold{background:var(--gold);color:#29131c;border-color:var(--gold)}.button-gold:hover{background:#f7dcaa;border-color:#f7dcaa;transform:translateY(-2px)}.button-outline{background:#170b1038;border-color:#f8e8d45c;color:var(--cream);backdrop-filter:blur(5px)}.button-outline:hover{border-color:var(--gold);background:#391b28}.hero-caption{position:absolute;right:49px;bottom:33px;color:#f3e1c3a8;font-size:12px;letter-spacing:.18em}.next-strip{background:#5c1e35;border-block:1px solid #9e597443}.strip-inner{min-height:82px;display:flex;align-items:center;gap:36px}.strip-label{font-size:12px;letter-spacing:.18em;color:#f5c697;flex-shrink:0}.strip-inner>a{font-size:16px;flex:1}.strip-inner>a:hover{text-decoration:underline;text-underline-offset:5px}.strip-end{font-size:12px;letter-spacing:.12em;color:#cfabb6;flex-shrink:0}
.section{padding-block:90px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:36px}.muted{color:#b78a9c}.section-heading h2,.socials-section h2{font-size:clamp(40px,4.5vw,62px);letter-spacing:-.045em;margin-top:16px}.section-heading h2 em,.socials-section h2 em{color:var(--gold)}.section-heading>p{font-size:15px;line-height:1.7;color:var(--muted);padding-bottom:6px}.event-card{display:flex;align-items:center;gap:35px;padding:36px;border:1px solid #bc72833b;background:linear-gradient(120deg,#35202a,#23151d);border-radius:5px;position:relative}.date-tile{width:104px;min-width:104px;min-height:143px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #bc728344;background:#160b1273;color:var(--gold);gap:0}.date-tile>span{font-size:12px;font-weight:600;letter-spacing:.14em}.date-tile strong{font-family:var(--serif);font-size:64px;font-weight:400;line-height:1.15}.event-info{flex:1}.tag{font-size:12px;letter-spacing:.12em;color:#c998ac;line-height:1.7}.event-info h3{font-size:34px;margin:10px 0 13px;letter-spacing:-.02em}.event-info p{font-size:16px;color:#e7d7dc}.event-info .time{color:var(--gold)}.event-actions{display:flex;align-items:stretch;flex-direction:column;gap:14px;text-align:center}.text-link{font-size:14px;color:var(--gold);background:transparent;border:0;padding:3px 0;text-decoration:underline;text-underline-offset:5px;line-height:1.5}.text-link:hover{color:#ffe7bc}.past-events{margin-top:24px}.past-events summary{cursor:pointer;color:var(--muted);font-size:14px;padding:12px 0}.past-events .event-card{margin-top:12px;opacity:.85}.no-events{padding:38px;background:var(--panel);border:1px solid var(--line)}.no-events h3{font-size:30px;margin-bottom:12px}.no-events p{color:var(--muted);margin-bottom:18px}.events-list>.event-card+.event-card{margin-top:20px}
.videos-section{padding-block:80px;background:#100a0f;border-block:1px solid var(--line)}.videos-empty{padding:42px;border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;gap:28px;background:linear-gradient(115deg,#301b27,#1a1118)}.video-symbol{width:80px;height:80px;min-width:80px;border:1px solid #ca97ab50;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:#160a1380}.video-symbol svg{width:32px;height:32px;margin-left:-3px}.videos-empty h3{font-size:29px;margin:10px 0}.videos-empty p{color:var(--muted);font-size:15px}.videos-empty .text-link{margin-left:auto;max-width:190px;flex-shrink:0}.videos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.videos-grid:empty{display:none}.video-card{min-width:0}.video-thumb{position:relative;aspect-ratio:16/9;width:100%;background:#30202a;overflow:hidden;border:1px solid var(--line);padding:0;display:grid;place-items:center}.video-thumb>img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform .3s,opacity .3s}.video-thumb:hover>img{transform:scale(1.03);opacity:1}.video-thumb .play-icon{position:absolute;width:53px;height:53px;border-radius:50%;background:var(--gold);color:var(--bg);display:grid;place-items:center;box-shadow:0 6px 20px #0005}.play-icon svg{width:20px;height:20px;margin-left:3px}.video-card h3{font-size:25px;margin-top:18px;line-height:1.2}.video-card p{font-size:14px;color:var(--muted);margin-top:6px}.video-card>a{display:inline-block;margin-top:12px}
.socials-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px}.socials-empty{font-size:16px;line-height:1.9;color:var(--muted)}.socials-empty a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}.socials-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.socials-list:empty{display:none}.social-link{padding:18px 25px;border:1px solid #bc728344;background:var(--panel);min-width:140px;text-align:center;font-size:14px}.social-link:hover{border-color:var(--gold);color:var(--gold)}
.booking-section{background:#5c1e35;border-block:1px solid #9e59743d;padding-block:78px}.booking-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.booking-inner h2{font-size:clamp(39px,4.5vw,61px);letter-spacing:-.045em;line-height:1.1;margin:18px 0 23px}.booking-inner h2 em{color:var(--gold)}.booking-inner p:not(.eyebrow){color:#e3c2ce;font-size:16px}.booking-contact{display:flex;align-items:center;flex-direction:column;gap:17px;min-width:280px}.button-large{padding:18px 29px;font-size:16px;min-height:62px}.button-large svg{width:23px;height:23px}.phone-number{font-family:var(--serif);font-size:35px;letter-spacing:.03em;line-height:1.4}.phone-number:hover{color:var(--gold)}.contact-note{font-size:12px;letter-spacing:.1em;color:#d5a4b6}.footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-block:35px}.footer .brand{font-size:12px;letter-spacing:.13em}.footer .brand-mark{width:30px;height:30px;font-size:16px}.footer p,.footer>span{font-size:13px;color:var(--muted)}
dialog{background:#21131b;color:var(--cream);width:min(850px,calc(100% - 32px));border:1px solid #bc728360;border-radius:7px;padding:0;max-height:90dvh;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#080306d9;backdrop-filter:blur(5px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;gap:20px}.dialog-header h2{font-size:25px;line-height:1.2}.close-button{border:1px solid var(--line);border-radius:50%;height:40px;width:40px;flex-shrink:0;color:var(--cream);background:#ffffff0b;font-size:30px;line-height:1}.close-button:hover{background:#ffffff20}#dialog-content img{max-height:70dvh;object-fit:contain;margin-inline:auto;width:auto}#dialog-content iframe{display:block;width:100%;aspect-ratio:16/9;border:0}#dialog-content video{display:block;width:100%;max-height:70dvh}.dialog-links{padding:14px 22px;display:flex;justify-content:center;flex-wrap:wrap;gap:20px}#dialog-content:empty{display:none}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:740px}.hero-image{object-position:center 55%}}
@media(max-width:1000px){.container{width:calc(100% - 56px)}.site-header{padding-inline:28px;gap:18px}.site-header nav{gap:23px}.hero{min-height:630px}.hero h1{font-size:100px}.hero-caption{right:28px}.strip-inner{gap:25px}.strip-end{display:none}.event-card{gap:24px;padding:28px}.event-info h3{font-size:31px}.event-actions .button{padding-inline:18px}.videos-empty{padding:30px;gap:22px;flex-wrap:wrap}.videos-empty .text-link{margin-left:102px;max-width:100%}.videos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer p{display:none}.booking-contact{min-width:255px}.booking-inner{gap:30px}}
@media(max-width:700px){html{scroll-padding-top:25px}.container{width:calc(100% - 40px)}.site-header{padding:17px 20px;min-height:107px;height:auto;flex-wrap:wrap;gap:14px}.site-header>.brand{font-size:12px;gap:10px;letter-spacing:.13em}.site-header .brand-mark{width:30px;height:30px;font-size:17px}.header-contact{font-size:13px;padding:8px 12px;min-height:39px}.site-header nav{order:3;flex-basis:100%;justify-content:space-between;gap:0;border-top:1px solid var(--line);padding-top:8px;font-size:14px}.site-header nav a{padding:3px 15px}.site-header nav a:first-child{padding-left:0}.site-header nav a:last-child{padding-right:0}.hero{min-height:650px;align-items:flex-start}.hero-image{object-position:67% center}.hero-shade{background:linear-gradient(90deg,#14060bce 0%,#14060b99 50%,#14060b2b 100%),linear-gradient(0deg,#170b10,transparent 35%)}.hero-content{padding-block:51px 93px}.eyebrow{font-size:12px;letter-spacing:.17em}.hero h1{font-size:clamp(82px,21vw,111px);margin-top:27px;margin-bottom:25px}.hero-description{max-width:235px;font-size:16px;margin-bottom:26px}.hero-actions{flex-direction:column;align-items:flex-start;gap:11px}.hero-actions .button{width:219px;font-size:14px;padding:13px 20px}.hero-caption{left:20px;right:auto;bottom:24px;font-size:12px}.next-strip .strip-inner{padding-block:20px;gap:7px;flex-direction:column;align-items:flex-start}.strip-inner>a{font-size:15px;line-height:1.6}.strip-label{font-size:12px}.section{padding-block:58px}.section-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:27px}.section-heading h2,.socials-section h2{font-size:43px;margin-top:12px}.section-heading>p{font-size:15px}.section-heading>p br{display:none}.event-card{padding:24px 20px;gap:19px;align-items:flex-start;flex-wrap:wrap}.date-tile{width:75px;min-width:75px;min-height:118px}.date-tile strong{font-size:50px}.date-tile>span{font-size:12px}.event-info{flex:1;min-width:140px}.event-info h3{font-size:29px;margin-top:9px;margin-bottom:11px}.event-info p{font-size:14px}.event-info .tag{font-size:12px;letter-spacing:.07em}.event-actions{flex:1;flex-basis:100%;padding-top:7px;gap:16px}.event-actions .button{width:100%;font-size:14px}.event-actions .text-link{align-self:center}.videos-section{padding-block:58px}.videos-empty{padding:27px 22px;gap:18px;flex-direction:column;align-items:flex-start}.video-symbol{width:61px;height:61px;min-width:61px}.videos-empty h3{font-size:27px}.videos-empty p{font-size:15px}.videos-empty .text-link{margin:4px 0 0;font-size:14px}.videos-grid{grid-template-columns:1fr;gap:30px}.socials-section{grid-template-columns:1fr;gap:23px}.socials-list{justify-content:flex-start}.socials-empty{font-size:15px}.social-link{flex:1;padding:16px 21px;font-size:14px}.booking-section{padding-block:58px}.booking-inner{flex-direction:column;align-items:flex-start;gap:35px}.booking-inner h2{font-size:43px;line-height:1.14;margin-top:16px}.booking-inner p:not(.eyebrow){font-size:15px}.booking-inner p br{display:none}.booking-contact{align-items:flex-start;min-width:0;width:100%;gap:14px}.booking-contact>.button{width:100%;font-size:16px}.phone-number{font-size:32px}.contact-note{font-size:12px}.footer{flex-wrap:wrap;padding-block:29px;gap:20px}.footer>span{font-size:12px}.dialog-header{padding:14px 16px}.dialog-header h2{font-size:23px}.dialog-links{padding:14px 16px}.no-events{padding:28px 23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.event-card--poster{display:grid;grid-template-columns:104px minmax(0,1fr) 200px;grid-template-rows:1fr 1fr;gap:22px 32px;align-items:center}.event-card--poster .date-tile{grid-column:1;grid-row:1/3}.event-card--poster .event-info{grid-column:2;grid-row:1;align-self:end;min-width:0}.event-card--poster .event-actions{grid-column:2;grid-row:2;align-self:start;align-items:flex-start;padding-top:0}.event-poster{grid-column:3;grid-row:1/3;padding:0;border:1px solid #d4a66250;border-radius:3px;overflow:hidden;background:#160a0e;line-height:0;box-shadow:0 12px 36px #0005;transition:transform .2s,border-color .2s}.event-poster img{width:100%;height:auto;display:block}.event-poster:hover{transform:translateY(-3px);border-color:var(--gold)}
@media(max-width:1000px){.event-card--poster{grid-template-columns:80px minmax(0,1fr) 170px;gap:20px}.event-card--poster .date-tile{width:80px;min-width:80px}.event-card--poster .event-info h3{font-size:30px}.event-card--poster .event-actions .button{padding-inline:14px}}
@media(max-width:700px){.event-card--poster{grid-template-columns:75px minmax(0,1fr);grid-template-rows:auto auto auto;gap:23px 19px}.event-card--poster .date-tile{grid-row:1;width:75px;min-width:75px}.event-card--poster .event-info{grid-row:1;align-self:center}.event-card--poster .event-actions{grid-column:1/-1;grid-row:2;align-items:stretch;gap:17px}.event-card--poster .event-actions .text-link{align-self:center}.event-card--poster .event-poster{grid-column:1/-1;grid-row:3;width:min(100%,300px);justify-self:center}.event-card--poster .event-info h3{font-size:29px}}

/* Original white logos on black: screen blends their black background into the page. */
.brand-logo{width:50px;height:50px;flex-shrink:0;object-fit:contain;mix-blend-mode:screen}
.hero h1.hero-brand{width:min(350px,100%);margin:22px 0 20px;line-height:1;letter-spacing:normal;font-size:inherit}
.hero-logo{width:100%;height:auto;mix-blend-mode:screen}
.hero-shade{background:linear-gradient(90deg,#170b10d9 0%,#170b1073 38%,#170b1000 85%),linear-gradient(0deg,#170b10c0,transparent 23%)}
.footer .brand-logo{width:42px;height:42px}
@media(max-width:700px){.site-header .brand-logo{width:40px;height:40px}.hero h1.hero-brand{width:min(275px,100%);margin:24px 0 20px}.hero-content{padding-block:38px 85px}.hero-description{margin-bottom:24px}.hero-shade{background:linear-gradient(90deg,#14060be8 0%,#14060bb3 50%,#14060b50 100%),linear-gradient(0deg,#170b10,transparent 35%)}}
@media(max-width:380px){.site-header{padding-inline:16px;gap:10px}.site-header>.brand{font-size:11px;gap:7px;letter-spacing:.06em}.header-contact{padding-inline:10px;font-size:12px}.hero h1.hero-brand{width:255px}}
