:root {
  color-scheme: dark;
  --bg: #100a12;
  --cream:#f7ebd9;
  --gold:#d7b47f;
  --gold2:#e8c99b;
  --plum:#4a1d50;
  --green:#abc88a;
}
*, *::before, *::after {box-sizing:border-box}
html,body {margin:0;min-width:320px;min-height:100%;background:var(--bg)}
body {font-family: "Avenir Next", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif;color:var(--cream);-webkit-font-smoothing:antialiased}
button {font:inherit}
.skip-link {position:absolute;top:-70px;left:15px;z-index:20;padding:12px 18px;background:white;color:#130814}
.skip-link:focus {top:12px}
.landing {position:relative;min-height:720px;height:100svh;width:100%;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 78% 63%,#201626 0%,#0c0911 60%)}
.ambient {position:absolute;inset:0;pointer-events:none}
.ambient--plum {z-index:-3;background:radial-gradient(ellipse at 25% 56%,rgba(93,39,78,.30),transparent 52%)}
.ambient--green {z-index:-2;background:radial-gradient(ellipse 45% 62% at 73% 37%,rgba(56,91,57,.08),transparent 70%)}
.stage {position:absolute;z-index:-1;top:0;bottom:0;right:0;width:min(100vh,65vw);height:100%;overflow:hidden;isolation:isolate;background:#140e13}
.stage__image {display:block;position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center center;filter:brightness(.37) saturate(.76);transform:scale(1.045);transition:none;will-change:filter,transform}
.stage__tonal-overlay {position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,10,18,.40) 0%,transparent 29%,transparent 100%),linear-gradient(0deg,rgba(12,8,13,.27),transparent 36%,rgba(11,9,14,.11));pointer-events:none}
.stage__light-rise {position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse 28% 55% at 48% 54%,rgba(124,171,98,.085),transparent 80%);mix-blend-mode:screen}
.stage__notes {position:absolute;inset:0;pointer-events:none;overflow:hidden}
.note {position:absolute;top:var(--top);left:var(--left);font-family:Georgia,serif;font-size:var(--size);line-height:1;color:#eacb8b;text-shadow:0 0 12px rgba(220,183,105,.25);opacity:0;transform:translateY(12px) rotate(-6deg);animation:notes-breathe var(--duration) var(--delay) ease-in-out infinite;animation-play-state:paused}
.veil {pointer-events:none;position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(12,7,14,1) 0%,rgba(14,8,16,.99) 22%,rgba(16,9,19,.85) 38%,rgba(16,9,19,.16) 61%,transparent 100%)}
.topline,.bottomline {position:absolute;z-index:6;left:clamp(30px,5.2vw,105px);right:clamp(30px,5.2vw,105px);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:10px;letter-spacing:.29em;color:#d9c3a5;font-weight:550;text-shadow:0 2px 9px rgba(0,0,0,.7)}
.topline {top:clamp(27px,4.2vh,52px)}
.bottomline {bottom:clamp(25px,4.4vh,48px);font-size:9px;color:rgba(234,203,166,.74);letter-spacing:.21em}
.bullet {color:var(--gold);margin:0 .6em}
.topline__return {display:flex;align-items:center;gap:12px;white-space:nowrap}
.led {display:inline-block;width:6px;height:6px;background:#85ba6d;border-radius:100%;box-shadow:0 0 13px rgba(148,230,122,.7)}
.message {position:absolute;z-index:5;left:clamp(28px,5.2vw,105px);top:50%;transform:translateY(-50%);width:min(610px,47vw);display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:52px 0;filter:drop-shadow(0 3px 12px rgba(0,0,0,.32))}
.message__logo {width:clamp(185px,17.2vw,260px);height:auto;max-height:clamp(195px,23vh,250px);object-fit:contain;object-position:left center;filter:drop-shadow(0 6px 15px rgba(0,0,0,.43))}
.message__hairline {width:min(380px,75%);display:flex;gap:15px;align-items:center;color:var(--gold);margin:18px 0 22px}
.message__hairline span {height:1px;flex:1;background:linear-gradient(90deg,rgba(215,174,110,.9),rgba(215,174,110,.09))}
.message__hairline span:first-child {background:linear-gradient(270deg,rgba(215,174,110,.9),rgba(215,174,110,.09))}
.message__hairline i {font:normal 12px Georgia,serif}
.message__eyebrow {margin:0 0 11px;color:var(--gold);letter-spacing:.29em;font-size:clamp(9px,.73vw,11px);line-height:1.7;font-weight:600}
h1 {margin:0;font-family:"Bodoni MT",Didot,"Palatino Linotype",Palatino,Georgia,serif;font-size:clamp(44px,4.6vw,82px);line-height:1.05;letter-spacing:-.046em;font-weight:400;color:var(--cream);max-width:690px}
h1 em {display:block;font-weight:400;font-style:italic;color:#dabc88;white-space:nowrap;font-size:.82em;letter-spacing:-.055em;margin-top:5px}
.message__return {margin:25px 0 0;font-size:clamp(12px,1.1vw,15px);line-height:1.8;letter-spacing:.32em;font-weight:550;color:#f4e0ba}
.message__subtitle {margin:16px 0 0;font:normal clamp(18px,1.6vw,24px)/1.4 Palatino,"Palatino Linotype",Georgia,serif;color:#f9ecdf}
.message__subtitle strong {font-weight:400;font-style:italic;color:#e9c4cb}
.message__ending {display:flex;align-items:center;gap:9px;color:#c9b295;font-size:10px;line-height:1.5;letter-spacing:.15em;margin-top:28px;opacity:.85}
.flourish {font-family:Georgia,serif;font-size:13px;color:#d9ad70}
.sequence {opacity:0;transform:translateY(14px);will-change:opacity,transform}
.replay {position:absolute;z-index:9;right:clamp(25px,4vw,70px);bottom:78px;border:1px solid rgba(229,189,144,.35);width:38px;height:38px;border-radius:100%;display:grid;place-items:center;background:rgba(21,12,22,.28);color:#f6d6a4;cursor:pointer;opacity:0;transition:background .2s,border-color .2s,opacity .6s}
.replay:hover,.replay:focus-visible {background:rgba(70,37,64,.75);border-color:#d4b38b;outline:none}
.landing.is-on .stage__image {animation:stage-wakes 7.8s .2s cubic-bezier(.2,.45,.25,1) forwards}
.landing.is-on .stage__light-rise {animation:light-wakes 7.1s .7s ease-out forwards}
.landing.is-on .topline {animation:fade-in 1.8s .8s both}
.landing.is-on .bottomline {animation:fade-in 2s 5.3s both}
.landing.is-on .sequence--logo {animation:reveal 1.8s 1.25s both cubic-bezier(.2,.8,.25,1)}
.landing.is-on .sequence--line {animation:reveal 1.5s 2.1s both}
.landing.is-on .sequence--intro {animation:reveal 1.5s 2.35s both}
.landing.is-on .sequence--title {animation:reveal 1.9s 2.8s both cubic-bezier(.25,.75,.27,1)}
.landing.is-on .sequence--return {animation:reveal 1.5s 3.7s both}
.landing.is-on .sequence--subtitle {animation:reveal 1.8s 4.2s both}
.landing.is-on .sequence--ending {animation:reveal 1.8s 5.0s both}
.landing.is-on .note {animation-play-state:running}
.landing.is-on .replay {animation:fade-in 1.5s 6s both}
@keyframes stage-wakes {0% {filter:brightness(.37) saturate(.74);transform:scale(1.045)}45% {filter:brightness(.66) saturate(.87)}100% {filter:brightness(1) saturate(1.04);transform:scale(1)}}
@keyframes light-wakes {0% {opacity:0}50% {opacity:.25}100% {opacity:.8}}
@keyframes reveal {from {opacity:0;transform:translateY(17px);filter:blur(5px)}to {opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes fade-in {from {opacity:0}to {opacity:1}}
@keyframes notes-breathe {0%,100% {opacity:0;transform:translate(0,12px) rotate(-9deg)}24% {opacity:.2}55% {opacity:.55;transform:translate(10px,-15px) rotate(4deg)}82% {opacity:.12}}
@media (min-width:1600px) { .message {width:min(730px,43vw)} h1 {font-size:clamp(70px,4.25vw,90px)} }
@media (max-width:1050px) and (min-width:721px) {
  .message {width:49vw}
  h1 {font-size:clamp(38px,4.3vw,60px)}
  .stage {width:min(100vh,67vw)}
  .message__logo {width:clamp(165px,18vw,220px)}
}
@media (max-height:750px) and (min-width:721px) {
  .landing {min-height:630px}
  .message {padding:35px 0}
  .message__logo {width:160px;max-height:160px}
  .message__hairline {margin:9px 0 11px}
  .message__eyebrow {margin-bottom:6px}
  h1 {font-size:clamp(42px,4.5vw,64px)}
  .message__return {margin-top:14px}
  .message__subtitle {margin-top:10px;font-size:18px}
  .message__ending {margin-top:14px}
}
@media (max-width:720px) {
  .landing {min-height:710px;height:100svh;max-height:none;background:linear-gradient(180deg,#100a12,#130c17 49%,#191118)}
  .ambient--plum {background:radial-gradient(ellipse at 50% 35%,rgba(81,30,75,.28),transparent 80%)}
  .topline {top:21px;left:20px;right:20px;font-size:8px;letter-spacing:.16em}
  .topline__return {gap:7px}
  .bottomline {bottom:14px;left:20px;right:20px;font-size:8px;letter-spacing:.11em;justify-content:center}
  .bottomline span:last-child {display:none}
  .stage {top:auto;bottom:0;left:0;right:0;width:100%;height:min(63svh,710px);max-height:none;background:transparent;overflow:hidden}
  .stage__image {height:100%;width:100%;object-fit:cover;object-position:center bottom}
  .stage__tonal-overlay {background:linear-gradient(180deg,#100a12 0%,rgba(16,10,18,.35) 18%,rgba(16,10,18,.06) 45%,rgba(16,10,18,.1) 78%,rgba(16,10,18,.48) 100%)}
  .stage__light-rise {background:radial-gradient(ellipse 37% 70% at 48% 45%,rgba(124,171,98,.07),transparent 78%)}
  .veil {background:linear-gradient(180deg,#100a12 0%,rgba(16,10,18,.96) 24%,rgba(16,10,18,.89) 40%,rgba(16,10,18,.11) 62%,transparent 82%,rgba(16,10,18,.2))}
  .message {top:clamp(72px,9.4svh,102px);left:20px;right:20px;transform:none;width:auto;align-items:center;text-align:center;padding:0}
  .message__logo {width:clamp(130px,37vw,168px);max-height:clamp(128px,19vh,177px);object-position:center}
  .message__hairline {margin:9px 0 10px;width:45%;gap:9px}
  .message__eyebrow {font-size:8px;letter-spacing:.16em;margin:0 0 5px}
  h1 {font-size:clamp(34px,9.3vw,53px);line-height:1.04;letter-spacing:-.048em}
  h1 em {white-space:normal;font-size:.82em}
  .message__return {font-size:10px;letter-spacing:.23em;margin:10px 0 0;line-height:1.5}
  .message__subtitle {font-size:clamp(15px,3.9vw,19px);margin-top:8px;line-height:1.3}
  .message__ending {margin-top:11px;font-size:8px;letter-spacing:.11em}
  .replay {right:15px;bottom:35px;width:33px;height:33px}
  .note {font-size:calc(var(--size) * .78)}
}
@media (max-width:380px) {
  .message {top:70px}
  .message__logo {width:128px;max-height:127px}
  h1 {font-size:35px}
  .message__eyebrow {font-size:7px;letter-spacing:.11em}
  .message__ending {font-size:7px}
}
@media (max-height:750px) and (max-width:720px) {
  .landing {height:auto;min-height:750px}
  .message {top:78px}
  .stage {height:470px}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .sequence,.topline,.bottomline,.replay {opacity:1!important;transform:none!important;filter:none!important}
  .stage__image {filter:brightness(1) saturate(1.04)!important;transform:none!important}
  .stage__light-rise {opacity:.6}
  .note {display:none}
}
html:not(.js) .sequence,html:not(.js) .topline,html:not(.js) .bottomline,html:not(.js) .replay {opacity:1;transform:none}
html:not(.js) .stage__image {filter:brightness(1);transform:none}
