/* Quiet foreground, slow atmospheric light, and accessible optional motion. */
[hidden]{display:none!important}
button{font:inherit}button:focus-visible,summary:focus-visible{outline:2px solid var(--cream);outline-offset:6px}
body{isolation:isolate;background:#35070e;color:var(--cream)}
main h1,main h2,main h3,.hero h1 span{color:var(--cream)}
.ambient-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 28%,#500f1b 0%,#330710 78%)}
.ambient-warmth{position:absolute;inset:0;background:radial-gradient(ellipse at 8% 85%,rgb(101 23 35 / 26%),transparent 60%),linear-gradient(125deg,transparent 25%,rgb(118 33 37 / 10%) 42%,transparent 62%)}
.ambient-light{position:absolute;display:block;width:115vw;height:125vh;max-width:1900px;will-change:transform;translate:var(--ambient-x,0px) var(--ambient-y,0px);transition:translate 1.2s cubic-bezier(.2,.65,.3,1)}
.ambient-light-one{left:-55%;top:-30%;background:radial-gradient(ellipse at center,rgb(149 36 57 / 30%) 0%,rgb(106 17 34 / 16%) 36%,transparent 66%);animation:ambient-drift 36s ease-in-out infinite alternate}
.ambient-light-two{right:-58%;bottom:-42%;background:radial-gradient(ellipse at center,rgb(139 37 41 / 26%) 0%,rgb(103 18 30 / 13%) 36%,transparent 67%);animation:ambient-drift 42s ease-in-out -14s infinite alternate-reverse}
.ambient-halo{position:absolute;inset:-15%;background:radial-gradient(ellipse at 88% 20%,rgb(224 205 176 / 8%),transparent 38%),radial-gradient(ellipse at 10% 85%,rgb(215 195 168 / 6%),transparent 32%);animation:champagne-breathe 22s ease-in-out infinite alternate}
.ambient-beam{position:absolute;top:-30%;height:160%;width:38vw;min-width:200px;background:linear-gradient(90deg,transparent 8%,rgb(224 205 176 / 2%) 28%,rgb(224 205 176 / 9%) 49%,rgb(224 205 176 / 3%) 64%,transparent 92%);mask-image:linear-gradient(transparent 2%,#000 25%,#000 65%,transparent 94%);transform-origin:50% 10%}
.ambient-beam-one{left:-12%;animation:beam-sweep-left 24s ease-in-out infinite alternate}
.ambient-beam-two{right:-9%;width:30vw;opacity:.7;animation:beam-sweep-right 29s ease-in-out -12s infinite alternate}
.ambient-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 35%,rgb(18 0 5 / 16%) 100%);pointer-events:none}
.ambient-grain{position:absolute;inset:0;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ffffff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");background-size:180px 180px}
.site-header{background:rgb(49 5 12 / 93%);backdrop-filter:blur(14px);transition:box-shadow .3s}
.site-header.is-scrolled{box-shadow:0 8px 30px rgb(20 0 0 / 10%)}
.nav-inner{gap:1rem}.site-header nav{gap:1rem}
.motion-toggle{width:34px;height:34px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--cream);display:grid;place-items:center;cursor:pointer;transition:background .25s}
.motion-toggle:hover{background:rgb(245 236 221 / 10%)}.motion-symbol{font-size:.72rem;line-height:1}
.hero{max-width:1200px;min-height:min(770px,calc(92svh - 79px));padding:4rem var(--gutter) 4.5rem;overflow:hidden}
.hero-logo{width:min(76vw,710px);margin-bottom:2.5rem;animation:hero-arrive .85s ease-out both}
.hero h1{font-size:clamp(2rem,4.1vw,3.4rem);animation:hero-arrive .85s .1s ease-out both}
.hero h1 span{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.04em;color:var(--cream)}
.hero h1 span{animation:heading-light 1.8s .45s ease-out both}.intro-running .hero h1 span{animation:none}
.hero-copy{font-size:1.05rem;margin-top:1.35rem;animation:hero-arrive .85s .2s ease-out both}
.hero-actions{margin-top:2rem;animation:hero-arrive .85s .3s ease-out both}
.intro-running .hero-logo,.intro-running .hero h1,.intro-running .hero-copy,.intro-running .hero-actions{animation:none;opacity:0}
.button{border-radius:100px;transition:transform .25s,background .25s,border-color .25s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}
.button{position:relative;isolation:isolate;overflow:hidden}
.button::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 22%,rgb(245 236 221 / 36%) 50%,transparent 78%);transform:translateX(-140%) skewX(-18deg)}
.button:focus-visible::after,.button:active::after{animation:button-sheen .8s ease-out}
@media(hover:hover) and (pointer:fine){.button:hover::after{animation:button-sheen .8s ease-out}}
.button>span,.text-link>span{display:inline-block;transition:transform .3s cubic-bezier(.2,.65,.3,1)}
.button:hover>span,.button:focus-visible>span,.text-link:hover>span,.text-link:focus-visible>span{transform:translate(3px,-2px)}
.site-header nav a{transition:background-color .25s,color .25s,transform .25s}
.event-cover{transition:transform .75s cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){.event-art:hover .event-cover{transform:scale(1.025)}.site-header nav a:hover{transform:translateY(-2px)}}
.section{max-width:1180px}
.about-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:5rem;align-items:start;padding-block:5rem;border-top:1px solid var(--line)}
.about-intro h2{font-size:clamp(2.3rem,4vw,3.3rem);margin-bottom:1.4rem}
.about-intro p{font:400 1.2rem/1.7 Georgia,'Times New Roman',serif;color:var(--cream)}
.about-intro .about-statement{font-style:italic;color:var(--muted);margin-top:1.5rem;max-width:260px}
.about-copy{max-width:none;margin:0;text-align:left}.about-copy p{font:400 1.05rem/1.9 Georgia,'Times New Roman',serif;color:var(--cream);margin:0 0 1.4rem}.about-copy p:last-child{margin-bottom:0}
.events-section{padding-top:3.5rem;padding-bottom:4.5rem;border-top:1px solid var(--line)}.section-heading{align-items:flex-end;gap:1rem;margin-bottom:2rem}.section-heading h2{font-size:clamp(2rem,4vw,3rem)}.section-heading .text-link{white-space:nowrap}
.live-event{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;padding:0;overflow:hidden;border-radius:16px;background:rgb(245 236 221 / 3%)}
.event-art{background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;min-height:0}
.event-cover{width:100%;height:auto;margin:0;border-radius:0}
.event-body{min-width:0;padding:clamp(1.5rem,3vw,2.6rem);display:flex;align-items:flex-start;justify-content:center;flex-direction:column}
.event-body,.contact-card{position:relative;isolation:isolate}
.event-body::before,.contact-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 15% 0%,rgb(224 205 176 / 9%),transparent 75%);transition:opacity .65s ease}
.live-event:focus-within .event-body::before,.contact-card:focus-within::before{opacity:1}
@media(hover:hover) and (pointer:fine){.live-event:hover .event-body::before,.contact-card:hover::before{opacity:1}.home-link{transition:transform .4s ease}.home-link:hover{transform:scale(1.035)}}
.event-body .eyebrow{display:none}.event-card-top{margin:0 0 .8rem;line-height:1.6}.event-card-top time{font-size:.875rem;color:var(--muted)}
.live-event h2,.live-event h3{font-size:clamp(1.8rem,2.8vw,2.5rem);overflow-wrap:anywhere}.event-body>p{font:400 .95rem/1.75 Georgia,serif;color:var(--muted);margin-top:1rem}
.event-body .event-card-bottom{margin-top:1.5rem;padding-top:0;border:0;width:100%;gap:.8rem}.event-card-bottom .button{min-width:180px}
.event-details{grid-column:1/-1;border-top:1px solid var(--line);margin:0;padding:0 clamp(1.5rem,3vw,2.6rem);background:rgb(20 0 0 / 8%)}
.event-details summary{font-size:.875rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none;min-height:66px}
.event-details summary::-webkit-details-marker{display:none}.event-details summary span{font-size:1.35rem;font-weight:400;transition:transform .25s}.event-details[open] summary span{transform:rotate(45deg)}
.event-details .event-description{max-width:76ch;font:400 1rem/1.9 Georgia,serif;color:var(--cream);margin:.25rem 0 2.2rem;white-space:pre-line;overflow-wrap:anywhere;animation:details-arrive .4s ease-out}
.live-event.no-cover{grid-template-columns:1fr}.page-events .live-event{margin-bottom:1.5rem}.page-events .subpage-heading{margin-bottom:2.5rem}
.photos-section{padding-top:0;padding-bottom:3.5rem}.photo-teaser{padding-top:2.5rem}.photo-teaser h2{font-size:clamp(2rem,3vw,2.5rem)}
.social-strip{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1.8rem;padding-bottom:2.8rem}.social-strip>p{font:italic 1rem/1.6 Georgia,serif;color:var(--muted)}.social-strip>div{display:flex;gap:2rem}
.gallery-empty{position:relative;overflow:hidden;padding:3rem 1.5rem;background:rgb(245 236 221 / 2%)}.gallery-empty .empty-kiss{width:90px;height:90px;object-fit:contain;margin:0 auto 1rem;filter:url(#boca-brand-ink);transform:rotate(-12deg)}.gallery-empty .text-link{margin-left:1.5rem}
.contact-card{transition:border-color .3s}.contact-card:hover{border-color:rgb(245 236 221 / 35%)}
.reveal-ready{transition:opacity .75s ease-out,translate .75s cubic-bezier(.2,.65,.3,1)}.reveal-pending{opacity:0;translate:0 18px}
.reveal-ready:is(h1,h2):not(.reveal-pending),.reveal-ready:not(.reveal-pending) h1,.reveal-ready:not(.reveal-pending) h2{animation:heading-light 1.15s .12s ease-out both}
.text-link{position:relative}.text-link::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--champagne);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.text-link:hover,.text-link:focus-visible{text-decoration:none}.text-link:hover::after,.text-link:focus-visible::after{transform:scaleX(1)}
.about-intro>.reveal-ready:nth-child(2),.about-copy>.reveal-ready:nth-child(2),.social-strip>.reveal-ready:nth-child(2){transition-delay:.08s}.about-intro>.reveal-ready:nth-child(3),.about-copy>.reveal-ready:nth-child(3){transition-delay:.16s}
.motion-paused *,.motion-paused *:before,.motion-paused *:after,.tab-hidden *,.tab-hidden *:before,.tab-hidden *:after{animation-play-state:paused!important}
.motion-paused{scroll-behavior:auto}.motion-paused *,.motion-paused *:before,.motion-paused *:after{transition:none!important}.motion-paused .reveal-ready{opacity:1;translate:none}.motion-paused .hero-logo,.motion-paused .hero h1,.motion-paused .hero-copy,.motion-paused .hero-actions{animation:none;opacity:1;transform:none}
@keyframes ambient-drift{from{transform:translate(-5%,-4%) rotate(-8deg) scale(.85)}to{transform:translate(28%,18%) rotate(8deg) scale(1.2)}}
@keyframes hero-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes details-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes button-sheen{from{transform:translateX(-140%) skewX(-18deg)}to{transform:translateX(140%) skewX(-18deg)}}
@keyframes champagne-breathe{from{opacity:.45;transform:translate(-2%,1%) scale(.95)}to{opacity:1;transform:translate(2%,-2%) scale(1.08)}}
@keyframes beam-sweep-left{from{transform:translate(-4%,-2%) rotate(-24deg)}to{transform:translate(25%,4%) rotate(-10deg)}}
@keyframes beam-sweep-right{from{transform:translate(8%,3%) rotate(26deg)}to{transform:translate(-25%,-3%) rotate(12deg)}}
@keyframes heading-light{0%,100%{text-shadow:0 0 0 transparent}40%{text-shadow:0 0 28px rgb(224 205 176 / 26%)}}
@media(max-width:900px){.about-section{gap:3rem;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr)}.site-header nav{gap:.2rem}}
@media(max-width:640px){
  .nav-inner{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;padding:.8rem 1.25rem}.nav-inner>.home-link{margin:0;width:77px}.site-header nav{order:3;flex:0 0 100%;justify-content:space-between;margin:0;gap:.1rem;font-size:.75rem}.site-header nav a{padding:.35rem .6rem}.motion-toggle{margin-left:auto;width:30px;height:30px}
  .hero{min-height:calc(84svh - 110px);padding:3.5rem 1.25rem 4rem}.hero-logo{width:100%;margin-bottom:2rem}.hero h1{font-size:clamp(1.6rem,7.4vw,2.7rem);line-height:1.12}.hero-copy{font-size:.95rem;max-width:260px;margin-top:1.2rem}.hero-actions{margin-top:1.8rem}
  .ambient-light{width:190vw;height:110vh}.ambient-light-one{left:-100%;top:-30%}.ambient-light-two{right:-115%;bottom:-25%}
  .ambient-beam-one{left:-34%;opacity:.75}.ambient-beam-two{display:none}.ambient-halo{opacity:.65;animation-duration:20s}
  .about-section{grid-template-columns:1fr;gap:2rem;padding-block:3.5rem}.about-intro h2{font-size:2.5rem;margin-bottom:1rem}.about-intro p{font-size:1.15rem}.about-intro .about-statement{margin-top:.7rem;max-width:300px}.about-copy p{font-size:1rem;line-height:1.85}
  .events-section{padding-block:3rem}.section-heading{align-items:flex-start;gap:1rem}.section-heading h2{font-size:2.2rem}.section-heading p{font-size:.95rem}.section-heading .text-link{font-size:.75rem;padding-top:.7rem}
  .live-event{grid-template-columns:1fr;border-radius:12px}.event-body{padding:1.5rem}.event-body h2,.event-body h3{font-size:1.85rem}.event-body .event-card-bottom .button{width:100%}.event-details{padding:0 1.5rem}.event-details summary{min-height:60px}.event-details .event-description{font-size:.95rem;line-height:1.85;margin-bottom:1.8rem}
  .photos-section{padding-bottom:1.5rem}.photo-teaser h2{font-size:2.2rem}.social-strip{align-items:flex-start;flex-direction:column;gap:.8rem;padding-top:1.5rem;padding-bottom:2.5rem}.social-strip>div{gap:1.5rem}.gallery-empty .text-link{display:flex;justify-content:center;margin:1rem 0 0}.subpage-heading h1{font-size:3rem}html{scroll-padding-top:125px}
}
@media(prefers-reduced-motion:reduce){.ambient-light{animation:none!important;will-change:auto}.reveal-ready{opacity:1!important;translate:none!important;transition:none!important}.hero-logo,.hero h1,.hero-copy,.hero-actions{animation:none!important;transform:none!important;opacity:1!important}.button:hover{transform:none}}
.motion-paused .event-cover,.motion-paused .button>span,.motion-paused .text-link>span,.motion-paused .site-header nav a{transform:none!important}
.motion-paused .event-description{animation:none;opacity:1;transform:none}
.motion-paused .ambient-light{translate:none}.motion-paused .button::after{display:none}
.motion-paused .hero h1 span{animation:none;background:none;-webkit-text-fill-color:currentColor}.motion-paused .home-link{transform:none}
@media(prefers-reduced-motion:reduce){.ambient-light{translate:none!important}.button::after{display:none}}
@media(prefers-reduced-motion:reduce){.ambient-halo,.ambient-beam{animation:none!important}.hero h1 span{animation:none!important;background:none;-webkit-text-fill-color:currentColor}.home-link{transform:none!important}}
@media(prefers-reduced-motion:reduce){.event-cover,.button>span,.text-link>span,.site-header nav a{transform:none!important}}
@media print{.reveal-pending{opacity:1;translate:none}.motion-toggle,.ambient-backdrop{display:none}}

.event-age{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:42px;padding:.15rem .6rem;border:1px solid rgb(245 236 221 / 35%);border-radius:100px;color:var(--cream);font-size:.75rem;font-weight:700;letter-spacing:.03em}.event-card-top{gap:.6rem 1rem}
@media(prefers-reduced-motion:no-preference){.page-events .subpage-heading{animation:hero-arrive .65s ease-out both}.page-events .live-event{animation:hero-arrive .85s .1s ease-out both}}
.motion-paused .page-events .live-event,.motion-paused .page-events .subpage-heading{animation:none!important;opacity:1;transform:none}
