:root{--ink:#0a0d0f;--ink2:#111719;--ivory:#eee8df;--paper:#f5f0e8;--gold:#a7834b;--line:rgba(167,131,75,.55);--serif:'Cormorant Garamond',Georgia,serif;--sans:Montserrat,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--sans);font-weight:300;letter-spacing:.01em}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}.noise{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.hero{min-height:86vh;position:relative;display:grid;place-items:center;background:url('hero-v7.jpg') center/cover no-repeat;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,5,7,.78),rgba(4,7,9,.65) 65%,rgba(5,8,10,.92))}.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 36%,transparent 0 22%,rgba(0,0,0,.58) 78%)}.topbar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:28px 4.5vw;border-bottom:1px solid rgba(255,255,255,.08)}.monogram{font-family:var(--serif);font-size:25px;letter-spacing:.35em}.monogram span{position:relative;top:-5px;font-size:.7em}.menu{display:flex;gap:30px;text-transform:uppercase;font-size:10px;letter-spacing:.24em}.menu a:hover{color:#d3aa69}.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:white;padding:9px 12px;text-transform:uppercase;font-size:10px;letter-spacing:.2em}.hero-content{z-index:2;text-align:center;padding:130px 20px 80px}.eyebrow{text-transform:uppercase;letter-spacing:.42em;font-size:10px;font-weight:500;color:inherit}.hero-content .eyebrow{color:#d4ac6c}.hero h1{font-family:var(--serif);font-weight:400;text-transform:uppercase;font-size:clamp(60px,9vw,126px);line-height:.75;letter-spacing:.015em;margin:38px 0 30px}.hero h1 span{font-size:.82em}.date-code{font-family:var(--serif);font-size:25px;letter-spacing:.45em;color:#d8b170;margin-right:-.45em}.hero-copy{font-size:14px;letter-spacing:.08em;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:14px 24px;text-transform:uppercase;letter-spacing:.25em;font-size:9px;font-weight:500;border:1px solid var(--line);background:transparent;cursor:pointer;transition:.25s}.button:hover{background:var(--gold);color:#fff;border-color:var(--gold)}.button.dark{color:var(--ink);border-color:rgba(10,13,15,.45)}.button.dark:hover{color:white}.down{display:block;margin-top:22px;font-size:18px}.mission-card{position:absolute;z-index:4;right:4.5vw;top:110px;width:210px;padding:24px;border:1px solid rgba(206,179,135,.45);background:rgba(7,10,12,.62);backdrop-filter:blur(8px);font-size:11px;line-height:1.75}.mission-card ol{padding-left:20px}.mission-card hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:18px 0}.mission-card .star{display:block;text-align:center;color:#c49a5c;font-size:18px}.snow{position:absolute;inset:-80px;z-index:1;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.7px),radial-gradient(circle,rgba(255,255,255,.5) 0 2px,transparent 2.7px);background-size:65px 65px,130px 130px;animation:snow 18s linear infinite;opacity:.55}@keyframes snow{to{transform:translate3d(-55px,120px,0)}}
.reveal-panel{display:grid;grid-template-columns:46% 54%;min-height:520px;background:linear-gradient(90deg,#1b1512,#5f4636)}.reveal-copy{display:grid;place-content:center;text-align:center;padding:70px 35px;background:radial-gradient(circle at 20% 20%,rgba(175,129,83,.34),transparent 50%)}.reveal-copy h2,.reveal-copy h3,.text-card h2,.dark-card h2{font-family:var(--serif);font-weight:400;text-transform:uppercase}.reveal-copy h2{font-size:34px;line-height:1.25}.reveal-copy h2 small{color:var(--gold)}.become{display:flex;align-items:center;justify-content:center;gap:14px}.become span{height:1px;width:45px;background:var(--line)}.become p{font-size:9px;text-transform:uppercase;letter-spacing:.36em;color:#d0a86d}.reveal-copy h3{font-size:42px;margin:18px 0}.reveal-image{background:linear-gradient(90deg,rgba(54,35,25,.42),transparent 38%),url('reveal-v7.jpg') center/cover no-repeat}.section-nav{display:grid;grid-template-columns:1fr repeat(6,auto);gap:55px;align-items:center;padding:17px 4.5vw;background:#070a0c;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);font-size:8px;text-transform:uppercase;letter-spacing:.25em}.split{display:grid}.event{grid-template-columns:34% 34% 32%;min-height:335px}.text-card,.countdown,.travel-info,.rsvp{padding:55px 7%;display:grid;place-content:center;text-align:center}.light{background:var(--paper);color:var(--ink)}.text-card h2{font-size:31px;margin:16px 0 8px}.text-card .location{text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:.15em}.text-card p{font-size:12px;line-height:1.85}.image-card.wine{background:url('wine-v7.jpg') center/cover no-repeat}.count-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.count-grid div{display:grid;gap:8px}.count-grid strong{font-family:var(--serif);font-size:33px;font-weight:400}.count-grid span{text-transform:uppercase;font-size:8px;letter-spacing:.2em}.venue{grid-template-columns:60% 40%;min-height:430px}.venue-image{background:url('venue-v7.jpg') center/cover no-repeat}.dark-card{display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 40% 40%,#172022,#090d0f 70%);padding:60px 9%}.dark-card p{font-size:12px;line-height:1.85}.dark-card h2{font-size:31px}.venue-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:250px 250px;gap:1px;background:#3f362e}.venue-gallery figure{position:relative;margin:0;overflow:hidden}.venue-gallery .tall{grid-row:span 2}.venue-gallery .wide{grid-column:span 2}.venue-gallery img{filter:saturate(.75) contrast(1.04);transition:.5s}.venue-gallery figure:hover img{transform:scale(1.025);filter:saturate(1)}.venue-gallery figcaption{position:absolute;left:0;bottom:0;right:0;padding:45px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-family:var(--serif);font-size:20px}.travel{grid-template-columns:59% 41%;min-height:330px}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:20px 0 28px}.travel-grid article{padding:0 24px;border-right:1px solid rgba(0,0,0,.12)}.travel-grid article:last-child{border:0}.travel-grid .icon{font-size:27px}.travel-grid h3{text-transform:uppercase;font-size:10px;letter-spacing:.18em}.travel-grid p{font-size:10px;line-height:1.6}.road-image{background:url('road-v7.jpg') center/cover no-repeat}.final-row{grid-template-columns:50% 25% 25%;min-height:330px}.timeline-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin:28px 0}.timeline-grid div{display:grid;gap:7px}.timeline-grid span{font-size:25px;color:#c69b5d}.timeline-grid strong{font-size:10px}.timeline-grid small{text-transform:uppercase;font-size:8px;letter-spacing:.12em}.rsvp p{font-size:12px;line-height:1.85}.champagne{background:url('champagne-v7.jpg') center/cover no-repeat}.archive{display:grid;grid-template-columns:1.15fr repeat(4,1fr);gap:8px;padding:28px 3vw;background:#070a0c}.archive-intro{padding:25px}.archive-intro p{font-size:11px;line-height:1.7}.transmission{min-height:165px;padding:25px;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;text-align:center;justify-content:center;background:linear-gradient(145deg,rgba(255,255,255,.025),transparent)}.transmission.active{background:linear-gradient(rgba(6,8,9,.5),rgba(6,8,9,.8)),url('transmission-v7.jpg') center/cover}.transmission span{font-family:var(--serif);font-size:22px;letter-spacing:.16em}.transmission h3{text-transform:uppercase;font-size:9px;letter-spacing:.18em}.transmission p{text-transform:uppercase;font-size:8px;letter-spacing:.16em;color:#9a9792}.transmission i{color:#c69b5d;font-style:normal}footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:24px 4vw;border-top:1px solid rgba(255,255,255,.08);font-size:8px;text-transform:uppercase;letter-spacing:.23em}footer a{text-align:right}dialog{max-width:560px;width:calc(100% - 40px);padding:55px;background:#0d1214;color:var(--ivory);border:1px solid var(--line);text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.75)}dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(5px)}dialog h2,dialog h3{font-family:var(--serif);font-weight:400;text-transform:uppercase;font-size:36px}.modal-close{position:absolute;right:16px;top:10px;background:none;border:0;color:white;font-size:28px;cursor:pointer}.modal-rule{width:70px;height:1px;background:var(--line);margin:25px auto}.fine{font-size:11px;line-height:1.7;color:#bbb}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.mission-card{display:none}.menu{display:none;position:absolute;right:4vw;top:76px;background:#090d0f;border:1px solid rgba(255,255,255,.15);padding:24px;flex-direction:column}.menu.open{display:flex}.menu-toggle{display:block}.hero{min-height:760px}.reveal-panel,.venue,.travel{grid-template-columns:1fr}.reveal-image,.venue-image,.road-image{min-height:420px}.section-nav{display:none}.event{grid-template-columns:1fr 1fr}.countdown{grid-column:span 2}.venue-gallery{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px}.venue-gallery .tall{grid-row:span 1}.venue-gallery .wide{grid-column:span 1}.final-row{grid-template-columns:1fr 1fr}.timeline{grid-column:span 2}.champagne{min-height:330px}.archive{grid-template-columns:1fr 1fr}.archive-intro{grid-column:span 2}footer{grid-template-columns:1fr 1fr}footer p{display:none}}
@media(max-width:600px){.topbar{padding:22px}.hero h1{font-size:58px}.hero-content{padding-top:110px}.reveal-panel{min-height:auto}.reveal-image{min-height:320px}.event{grid-template-columns:1fr}.countdown{grid-column:auto}.image-card.wine{min-height:310px}.venue-image,.road-image{min-height:320px}.venue-gallery{display:block}.venue-gallery figure{height:260px;border-bottom:1px solid #3f362e}.travel-grid{grid-template-columns:1fr}.travel-grid article{border-right:0;border-bottom:1px solid rgba(0,0,0,.12);padding:18px}.final-row{grid-template-columns:1fr}.timeline{grid-column:auto}.timeline-grid{grid-template-columns:repeat(2,1fr)}.champagne{min-height:300px}.archive{grid-template-columns:1fr}.archive-intro{grid-column:auto}footer{display:flex;justify-content:space-between}.count-grid strong{font-size:27px}.count-grid{gap:2px}}

  
/* V2 landing-page restoration */
.hero-v2{min-height:100vh;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-v2 .hero-shade{background:linear-gradient(180deg,rgba(3,6,8,.18) 0%,rgba(3,6,8,.32) 54%,rgba(3,6,8,.75) 100%)}
.hero-v2 .hero-mark{position:absolute;z-index:5;top:34px;right:48px;left:auto;font-size:19px;letter-spacing:.42em;color:#eee8df}
.hero-v2 .hero-content{position:relative;z-index:4;text-align:center;width:min(860px,90vw);padding:72px 24px 122px;margin:0}
.hero-v2 .hero-content .eyebrow{color:#bd9455;letter-spacing:.46em;margin:0 0 24px;font-size:11px}
.hero-v2 .hero-content h1{font-size:clamp(62px,8.2vw,124px);line-height:.82;letter-spacing:.025em;margin:0;font-weight:400;text-transform:uppercase;text-shadow:0 3px 30px rgba(0,0,0,.34)}
.hero-v2 .hero-content h1 span{display:inline-block;margin-top:.17em}
.hero-v2 .date-code{margin:28px 0 21px;color:#c59a58;font-size:clamp(16px,1.45vw,24px);letter-spacing:.55em}
.hero-v2 .hero-copy{font-size:14px;letter-spacing:.055em;margin:0 0 15px}
.hero-v2 .hero-line{display:block;width:1px;height:28px;background:#b78b4b;margin:0 auto 14px}
.hero-v2 .button{min-width:142px;padding:14px 27px;letter-spacing:.35em;background:rgba(4,7,9,.2)}
.landing-nav{position:absolute;z-index:6;left:0;right:0;bottom:0;height:66px;display:flex;align-items:center;justify-content:center;gap:clamp(28px,5vw,82px);background:rgba(5,8,10,.92);border-top:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}
.landing-nav a{font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:#efeae2;transition:color .25s ease}
.landing-nav a:hover{color:#c49a59}
@media(max-width:760px){
 .hero-v2 .hero-mark{top:24px;right:22px;font-size:15px}
 .hero-v2 .hero-content{padding-bottom:106px}
 .hero-v2 .hero-content h1{font-size:clamp(52px,16vw,76px);line-height:.88}
 .hero-v2 .hero-content .eyebrow{letter-spacing:.3em;font-size:9px}
 .hero-v2 .date-code{letter-spacing:.35em}
 .landing-nav{height:62px;justify-content:flex-start;overflow-x:auto;padding:0 22px;gap:26px;scrollbar-width:none}
 .landing-nav::-webkit-scrollbar{display:none}
 .landing-nav a{white-space:nowrap;font-size:9px}
}


/* V2 landing-page treatment */
html,body{min-height:100%}
body.landing-active{overflow:hidden}
.landing-screen{
  position:fixed;
  inset:0;
  z-index:100;
  min-height:100svh;
  height:100svh;
  background-position:center center;
  background-size:cover;
  opacity:1;
  visibility:visible;
  transition:opacity .9s ease,visibility .9s ease;
}
.landing-screen::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 42%,rgba(5,8,10,.02) 0 20%,rgba(5,8,10,.22) 62%,rgba(2,4,6,.6) 100%),
    linear-gradient(180deg,rgba(2,4,6,.12),rgba(2,4,6,.22) 52%,rgba(2,4,6,.62));
}
.landing-screen.is-entered{opacity:0;visibility:hidden;pointer-events:none}
.landing-screen .hero-content{z-index:4;transform:translateY(-1.5vh)}
.landing-screen .hero-content h1{line-height:.84}
.landing-screen .hero-copy{color:#f2eee8}
.landing-screen .landing-nav{z-index:7}
.landing-screen .hero-mark{z-index:7}
main,footer{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.landing-screen{transition:none}}


/* V6 — three requested refinements only */
.landing-screen .snow{
  inset:-140px -90px;
  opacity:.82;
  z-index:3;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.88) 0 1px,transparent 1.8px),
    radial-gradient(circle,rgba(255,255,255,.62) 0 1.7px,transparent 2.6px),
    radial-gradient(circle,rgba(255,255,255,.38) 0 2.4px,transparent 3.4px);
  background-size:54px 54px,104px 104px,178px 178px;
  background-position:0 0,24px 18px,65px 43px;
  animation:landingSnow 15s linear infinite;
}
.landing-screen .snow::before,
.landing-screen .snow::after{
  content:"";
  position:absolute;
  inset:0;
  background-repeat:repeat;
  pointer-events:none;
}
.landing-screen .snow::before{
  background-image:radial-gradient(circle,rgba(255,255,255,.55) 0 1.2px,transparent 2px);
  background-size:82px 82px;
  background-position:31px 12px;
  animation:landingSnowNear 10s linear infinite;
}
.landing-screen .snow::after{
  background-image:radial-gradient(circle,rgba(255,255,255,.28) 0 .9px,transparent 1.6px);
  background-size:39px 39px;
  animation:landingSnowFar 22s linear infinite;
}
@keyframes landingSnow{to{transform:translate3d(-42px,150px,0)}}
@keyframes landingSnowNear{to{transform:translate3d(55px,210px,0)}}
@keyframes landingSnowFar{to{transform:translate3d(-25px,100px,0)}}

/* V4 hero retained after the transmission, reduced slightly in height. */
.venue-gallery{grid-template-rows:250px}
.post-landing-hero{
  min-height:68vh;
  height:68vh;
  overflow:hidden;
}
.post-landing-hero .hero-content{transform:translateY(-1vh)}
.post-landing-hero .hero-content h1{font-size:clamp(54px,7.2vw,104px)}
.post-landing-hero .landing-nav{position:absolute;bottom:0}
@media (max-width:760px){
  .post-landing-hero{min-height:72vh;height:72vh}
}


/* Exact Cinematic V2 landing, snowfall, transmission and reveal experience. */
#experience{--black:#070809;--charcoal:#111315;--ink:#20201f;--white:#f6f3ee;--cream:#eee7dc;--muted:#9ca2a6;--gold:#b58a50;--line-dark:rgba(255,255,255,.18);--line-light:rgba(25,25,25,.18);--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
body.locked{overflow:hidden}
[hidden]{display:none!important}
.experience {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: var(--black);
}

.gate {
  position: relative;
  min-height: 100dvh;
  display: grid;
  place-items: center;
  overflow: hidden;
}

#snow {
  position: absolute;
  pointer-events: none;
  inset: 0;
  width: 100%;
  height: 100%;
}

.gate-shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, transparent 0, rgba(7,8,9,.3) 40%, rgba(7,8,9,.92) 100%),
    linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.65));
}

.gate-inner {
  position: relative;
  z-index: 2;
  width: min(92vw, 900px);
  text-align: center;
  padding: 40px 20px;
}

.system-line,
.eyebrow,
.date-code,
.status-panel span,
.status-panel strong,
.winter-note {
  letter-spacing: .28em;
  text-transform: uppercase;
}

.system-line {
  color: var(--muted);
  font-size: .74rem;
}

.wordmark {
  margin: 28px 0 22px;
  font-family: var(--serif);
  font-weight: 400;
  line-height: .86;
  letter-spacing: .03em;
  font-size: clamp(4rem, 10vw, 8.4rem);
}

.wordmark span { display: block; }

.date-code {
  color: var(--gold);
  font-size: .95rem;
}

.status-panel {
  width: min(100%, 520px);
  margin: 40px auto 26px;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  font-size: .66rem;
}

.status-panel span { color: var(--muted); }
.status-panel strong { font-weight: 400; }

.gate-copy { color: #d9d9d9; margin: 0 0 26px; }

#experience .button {
  display: inline-block;
  padding: 15px 28px;
  border: 1px solid transparent;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .19em;
  font-size: .72rem;
  cursor: pointer;
}

#experience .button-light { background: var(--white); color: var(--black); }
#experience .button-dark { background: var(--black); color: var(--white); }
#experience .button-outline { background: transparent; color: inherit; border-color: currentColor; }

#experience .text-button {
  display: block;
  margin: 18px auto 0;
  border: 0;
  background: transparent;
  color: var(--muted);
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
  font-size: .75rem;
}

.winter-note {
  margin-top: 44px;
  color: rgba(255,255,255,.28);
  font-size: .55rem;
}

.trailer-stage,
.reveal-stage {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  background: #000;
}

.trailer-frame {
  width: min(100vw, 1600px);
  aspect-ratio: 16 / 9;
  max-height: 100dvh;
}

.video-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  text-align: center;
  background:
    radial-gradient(circle at center, #1a1a1a 0, #070707 55%, #000 100%);
}

.video-placeholder h2 {
  font: 400 clamp(2rem, 6vw, 5rem)/1 var(--serif);
  margin: 20px 0;
}

.reveal-stage {
  background: var(--cream);
  color: var(--ink);
}

.reveal-sequence { text-align: center; padding: 40px 20px; }

.reveal-line,
.reveal-symbol,
.reveal-name,
.reveal-final {
  opacity: 0;
  transform: translateY(12px);
  animation: revealIn .9s forwards;
}

.reveal-line {
  letter-spacing: .3em;
  color: var(--gold);
  font-size: .72rem;
}

.reveal-name,
.reveal-final {
  font-family: var(--serif);
  letter-spacing: .04em;
  font-size: clamp(2.2rem, 6vw, 5rem);
  margin: 14px 0;
}

.reveal-symbol { font-size: 1.5rem; color: var(--gold); }
.reveal-final { font-size: clamp(3rem, 8vw, 7rem); }

.reveal-1 { animation-delay: .2s; }
.reveal-2 { animation-delay: 1.2s; }
.reveal-3 { animation-delay: 2.0s; }
.reveal-4 { animation-delay: 2.5s; }
.reveal-5 { animation-delay: 3.6s; }
.reveal-6 { animation-delay: 4.5s; }

@keyframes revealIn {
  to { opacity: 1; transform: translateY(0); }
}


.trailer-grain {
  position: absolute;
  inset: 0;
  opacity: .13;
  pointer-events: none;
  background-image:
    repeating-radial-gradient(circle at 20% 30%, rgba(255,255,255,.7) 0 .4px, transparent .6px 3px);
  background-size: 6px 6px;
  mix-blend-mode: soft-light;
  animation: grainShift .28s steps(2) infinite;
}

.trailer-vignette {
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 18vw 8vw rgba(0,0,0,.92);
  pointer-events: none;
}

.trailer-topline {
  position: absolute;
  top: 26px;
  left: 30px;
  right: 30px;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.42);
  letter-spacing: .2em;
  font-size: .58rem;
}

.trailer-copy {
  position: relative;
  z-index: 5;
  width: min(88vw, 1080px);
  text-align: center;
  padding: 40px 20px;
  opacity: 0;
  transform: scale(.985);
  filter: blur(5px);
  transition: opacity .65s ease, transform .9s ease, filter .65s ease;
}

.trailer-copy.scene-visible {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

.trailer-kicker,
.trailer-subline {
  min-height: 1.2em;
  margin: 0;
  color: var(--gold);
  letter-spacing: .28em;
  text-transform: uppercase;
  font-size: clamp(.58rem, 1.2vw, .76rem);
}

.trailer-headline {
  max-width: 980px;
  margin: 28px auto;
  color: var(--white);
  font: 400 clamp(2.5rem, 7vw, 6.5rem)/.98 var(--serif);
  letter-spacing: .025em;
  text-shadow: 0 2px 36px rgba(0,0,0,.75);
}

.trailer-subline {
  color: rgba(255,255,255,.58);
}

.trailer-progress {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 30px;
  height: 1px;
  background: rgba(255,255,255,.14);
  overflow: hidden;
  z-index: 6;
}

.trailer-progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--gold);
}

.trailer-controls {
  position: absolute;
  right: 28px;
  bottom: 38px;
  z-index: 7;
}

.trailer-controls .text-button {
  margin: 0 0 10px;
  color: rgba(255,255,255,.46);
  font-size: .62rem;
}

@keyframes trailerSweep {
  from { transform: translateX(-25%) rotate(.001deg); }
  to { transform: translateX(25%) rotate(.001deg); }
}

@keyframes trailerDrift {
  from { transform: translate3d(-2%, -1%, 0) scale(1.02); }
  to { transform: translate3d(2%, 1%, 0) scale(1.08); }
}

@keyframes grainShift {
  0% { transform: translate(0,0); }
  25% { transform: translate(-1%,1%); }
  50% { transform: translate(1%,-1%); }
  75% { transform: translate(1%,1%); }
  100% { transform: translate(-1%,-1%); }
}


@media (max-width: 900px) {
  .site-header {
    grid-template-columns: 1fr auto;
  }

  .site-header nav { display: none; }

  .hero,
  .split-section,
  .venue-section,
  .travel-section,
  .rsvp-section {
    grid-template-columns: 1fr;
  }

  .hero-image { min-height: 55vh; }

  .split-section .countdown-panel { min-height: 360px; }

  .travel-grid { grid-template-columns: 1fr; }
  .travel-grid article { border-right: 0; border-bottom: 1px solid var(--line-light); padding-bottom: 24px; }
  .travel-grid article:last-child { border-bottom: 0; }

  .timeline-grid,
  .transmission-grid {
    grid-template-columns: 1fr 1fr;
  }

  .site-footer { flex-direction: column; text-align: center; }
}

@media (max-width: 560px) {
  .trailer-topline { top: 18px; left: 18px; right: 18px; }
  .trailer-progress { left: 18px; right: 18px; bottom: 22px; }
  .trailer-controls { right: 16px; bottom: 28px; }
  .trailer-headline { font-size: clamp(2.15rem, 12vw, 4rem); }

  .status-panel { flex-direction: column; }
  .wordmark { font-size: 4rem; }
  .countdown { grid-template-columns: 1fr 1fr; }
  .timeline-grid,
  .transmission-grid { grid-template-columns: 1fr; }
  .content-panel,
  .hero-copy,
  .travel-copy,
  .rsvp-copy { padding: 80px 24px; }
  .site-header { padding: 0 18px; }
}


#snow,.gate-shade{pointer-events:none!important}.gate-inner{pointer-events:auto!important}#beginButton,#skipButton,#skipTrailerButton{position:relative;z-index:20;pointer-events:auto!important}


/* Release 1.1.0 — Transmission portal */
.transmission-entry{
  width:min(100%,520px);
  margin:38px auto 0;
  padding:30px 20px 0;
  border-top:1px solid var(--line-dark);
}
.transmission-id{
  margin:0 0 12px;
  color:var(--gold);
  letter-spacing:.30em;
  text-transform:uppercase;
  font-size:.64rem;
}
.transmission-title{
  margin:0 0 25px;
  color:var(--white);
  font:400 clamp(1.8rem,4vw,2.8rem)/1.05 var(--serif);
  letter-spacing:.04em;
}
.cinematic-trailer{position:relative;width:100%;height:100dvh;overflow:hidden;background:#000}
.placeholder-trailer{position:absolute;inset:0}
.vimeo-frame{position:absolute;inset:0;z-index:5;background:#000}
.vimeo-frame iframe{width:100%;height:100%;border:0;display:block}
.archive-single{grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr)}
.archive-play{
  margin-top:18px;padding:0;border:0;background:none;color:inherit;
  font:500 .64rem/1 var(--sans);letter-spacing:.19em;text-transform:uppercase;
  text-decoration:underline;text-underline-offset:5px;cursor:pointer
}
@media(max-width:760px){
  .transmission-entry{margin-top:28px;padding-top:24px}
  .archive-single{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  #snow{display:none}
  .reveal,.reveal-line,.reveal-symbol,.reveal-name,.reveal-final{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* Release 1.2.0 — RSVP 001 */
.rsvp-modal{
  width:min(760px,calc(100% - 28px));max-width:760px;max-height:90vh;overflow:auto;
  padding:clamp(30px,6vw,58px);background:#0b0f11;color:var(--ivory);
  border:1px solid rgba(198,155,93,.55);box-shadow:0 35px 120px rgba(0,0,0,.85);
}
.rsvp-modal::backdrop{background:rgba(2,4,5,.9);backdrop-filter:blur(8px)}
.rsvp-close{position:absolute;right:16px;top:10px;border:0;background:none;color:#fff;font-size:28px;cursor:pointer}
.rsvp-step{display:none}.rsvp-step.active{display:block}
.rsvp-modal h2{font-family:var(--serif);font-weight:400;text-transform:uppercase;font-size:clamp(30px,5vw,46px);margin:14px 0 12px}
.rsvp-intro{font-size:12px;line-height:1.8;color:#c8c4bd}
.rsvp-label{display:block;margin:22px 0 8px;text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:#d7b577}
.rsvp-input{
  width:100%;padding:14px 15px;border:1px solid rgba(198,155,93,.4);border-radius:0;
  background:#070a0c;color:#f5f1e9;font:inherit;outline:none
}
.rsvp-input:focus{border-color:#d7b577;box-shadow:0 0 0 1px #d7b577}
.rsvp-action{margin-top:22px}
.rsvp-error{min-height:18px;color:#e7aaa5;font-size:11px;line-height:1.5}
.rsvp-guest-card{margin:20px 0;padding:22px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025)}
.rsvp-guest-card h3{font-family:var(--serif);font-weight:400;font-size:25px;margin:0 0 16px}
.rsvp-choice{display:flex;gap:10px;flex-wrap:wrap}
.rsvp-choice label{margin:0}.rsvp-choice input{position:absolute;opacity:0;pointer-events:none}
.rsvp-choice span{display:inline-block;padding:10px 13px;border:1px solid rgba(198,155,93,.38);font-size:10px;letter-spacing:.08em;cursor:pointer}
.rsvp-choice input:checked+span{background:#c69b5d;color:#080a0c;border-color:#c69b5d}
.rsvp-guest-details{display:none;margin-top:18px}.rsvp-guest-details.active{display:block}
.rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rsvp-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:28px}
.rsvp-text-button{border:0;background:none;color:#aaa;cursor:pointer;font-size:10px;text-transform:uppercase;letter-spacing:.18em}
.rsvp-text-button:hover{color:#fff}
.rsvp-review-card{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.rsvp-review-card h3{font-family:var(--serif);font-weight:400;margin:0 0 8px;font-size:23px}
.rsvp-confirm-symbol{text-align:center;color:#c69b5d;font-size:40px;margin:28px 0}
.rsvp-loading{opacity:.55;pointer-events:none}
@media(max-width:620px){.rsvp-grid{grid-template-columns:1fr}.rsvp-modal{padding:38px 20px}}

/* Pre-launch — accommodation reservation reference */
.accommodations-card .reservation-number {
  display: block;
  margin-top: 8px;
  color: #a7834b;
  font-weight: 600;
  letter-spacing: .08em;
}

/* Project Zero Hour statement bar */
.section-nav.section-statement {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 17px 4.5vw;
}

.section-nav.section-statement span {
  color: #eee8df;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .42em;
  text-transform: uppercase;
  text-align: center;
}
@media(max-width:900px) {
  .section-nav.section-statement {
    display: flex;
  }
}

/* Booking Guide button */
.booking-guide-button {
  margin-top: 14px;
}
/* Millcroft Booking Guide */
.booking-modal {
  width: min(760px, calc(100% - 32px));
  max-width: 760px;
  max-height: 88vh;
  overflow-y: auto;
  padding: 50px clamp(24px, 5vw, 58px);
  text-align: left;
}

.booking-modal > .eyebrow,
.booking-modal > h2 {
  text-align: center;
}

.booking-modal h2 {
  margin-bottom: 30px;
}

.booking-modal h3 {
  margin: 0 0 12px;
  color: #d7b577;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.booking-modal p,
.booking-modal li {
  font-size: 12px;
  line-height: 1.85;
}

.booking-modal ul {
  margin: 14px 0 0;
  padding-left: 22px;
}

.booking-modal li + li {
  margin-top: 9px;
}

.booking-section {
  margin-top: 30px;
}

.booking-intro {
  font-size: 13px !important;
}

.booking-highlight {
  margin-top: 30px;
  padding: 20px 22px;
  border: 1px solid rgba(167, 131, 75, .5);
  background: rgba(167, 131, 75, .07);
}

.booking-highlight p:first-child {
  margin-top: 0;
}

.booking-highlight p:last-child {
  margin-bottom: 0;
}

.booking-link,
.booking-contact a {
  color: #d7b577;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.booking-contact {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  text-align: center;
}

.booking-modal strong {
  color: #f2eee7;
  font-weight: 500;
}

@media(max-width:600px) {
  .booking-modal {
    width: calc(100% - 20px);
    max-height: 92vh;
    padding: 42px 22px 34px;
  }

  .booking-modal h3 {
    font-size: 20px;
  }
}

/* Unified light text colour for outline action buttons */
.booking-guide-button,
[data-modal-open],
#rsvpFind,
#rsvpReview,
#rsvpSubmit,
#rsvpDone {
  color: #eee8df;
}
