:root{
  color-scheme:dark;
  --black:#000;
  --text:#f0ece6;
  --muted:#a59b99;
  --red:#ed123e;
  --focus:#e79aa9;
}
*{box-sizing:border-box}
html{min-width:280px;min-height:100%;background:var(--black)}
body{margin:0;background:var(--black);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:7px}
::selection{background:#6b122a;color:#fff}
.skip-link{position:fixed;z-index:20;left:20px;top:-100px;background:#32101a;color:var(--text);padding:12px 20px}
.skip-link:focus{top:20px}

/* One seam of light. The surrounding canvas stays completely black. */
.atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;isolation:isolate}
.ambient-light{position:absolute;top:15%;bottom:12%;left:30%;right:30%;background:radial-gradient(ellipse at 50% 50%,#64071e29 0%,#31000c10 37%,transparent 70%);opacity:.7;transform:translateZ(0)}
.light-seam{position:absolute;top:15%;bottom:15%;left:50%;width:1px;background:linear-gradient(180deg,transparent 0%,#78182e38 17%,#f11a4870 42%,#b40b326b 62%,#43091921 85%,transparent 100%);box-shadow:0 0 18px 2px #d20d2b17,0 0 80px 7px #b50a2310;opacity:.5;transform-origin:center}
.light-floor{position:absolute;left:24%;right:24%;height:19%;bottom:8%;background:radial-gradient(ellipse at 50% 25%,#9e0b2629 0%,#4d061419 26%,transparent 66%);filter:blur(12px);opacity:.6}
.shadow{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 49%,transparent 22%,#0005 62%,#000 100%)}

.intro{position:relative;z-index:1;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;width:min(1600px,100%);margin-inline:auto;padding:32px 5% 22px}
.brand-center{grid-row:2;justify-self:center;max-width:100%}
.wordmark{display:block;width:clamp(300px,55vw,720px);max-width:88vw;height:auto;aspect-ratio:1136/376;overflow:hidden}
.main{flex:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(120px,1fr) auto minmax(180px,1fr);justify-items:center;min-height:570px;padding:0;text-align:center}
.announcement{grid-row:3;align-self:start;position:relative;padding:32px 16px 0;max-width:100%}
.announcement::before{content:"";position:absolute;inset:4% -14% -2%;z-index:-1;background:radial-gradient(ellipse at center,#000f 0%,#000d 32%,#0007 57%,transparent 74%)}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 0 20px;font-size:10px;line-height:1.6;font-weight:400;letter-spacing:.38em;color:#c0a0a7;padding-left:.38em}
.eyebrow>span{display:block;flex:none;width:4px;height:4px;border-radius:50%;background:#d51a40;box-shadow:0 0 10px #d51a4036}
h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3.1vw,44px);font-weight:400;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}
h1 em{font-weight:400;font-style:italic;color:#d8ceca}
.invitation{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.8;font-weight:400;letter-spacing:.1em}
.signature{width:36px;height:1px;margin:29px auto 0;background:linear-gradient(90deg,transparent,#b81a3b,transparent)}
.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;min-height:54px;flex-shrink:0;border-top:1px solid #ffffff0c;padding-top:14px}
.footer-note{font-size:8px;line-height:1.8;letter-spacing:.16em;color:#938987}
.footer-note>span{padding-inline:9px;color:#71303d}
.contact{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;font-size:11px;letter-spacing:.06em;color:#bdb1ae;transition:color .2s}
.contact>span{font-size:16px;color:#a55768}
.contact:hover{color:var(--text)}
.motion-toggle{justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 0 10px 12px;border:0;background:none;cursor:pointer;color:#a39794;font-size:8px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:color .2s}
.motion-toggle:hover{color:var(--text)}
.motion-toggle svg{width:14px;height:14px;flex-shrink:0}
.play-icon{display:none}
.motion-paused .pause-icon{display:none}
.motion-paused .play-icon{display:block}

/* Animation is enabled only when a working pause control is available. */
.motion-enabled .ambient-light{animation:ambient-breathe 15s ease-in-out infinite alternate}
.motion-enabled .light-seam{animation:seam-breathe 10s ease-in-out infinite alternate}
.motion-enabled .light-floor{animation:floor-breathe 13s ease-in-out infinite alternate}
.motion-enabled .brand-center,.motion-enabled .announcement{animation:reveal 1.2s ease-out both}
.motion-paused .atmosphere *,.document-hidden .atmosphere *{animation-play-state:paused}
@keyframes ambient-breathe{from{opacity:.45;transform:scaleX(.9)}to{opacity:.85;transform:scaleX(1.15)}}
@keyframes seam-breathe{from{opacity:.2;transform:scaleY(.91)}to{opacity:.55;transform:scaleY(1.04)}}
@keyframes floor-breathe{from{opacity:.35;transform:scale(.95)}to{opacity:.65;transform:scale(1.08)}}
@keyframes reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:1700px){.intro{padding-inline:80px}}
@media(max-width:800px){.intro{padding:28px 6% 18px}.main{min-height:520px}.wordmark{width:min(78vw,600px)}.footer{grid-template-columns:1fr auto;gap:8px 20px}.footer-note{grid-column:1/-1;grid-row:2;text-align:center;padding-top:8px;padding-bottom:4px;font-size:7px}.contact{justify-self:start}.motion-toggle{justify-self:end}.ambient-light{left:12%;right:12%}.light-floor{left:10%;right:10%}}
@media(max-width:480px){.intro{padding-top:24px}.wordmark{width:84vw;max-width:420px}.main{min-height:500px}h1{font-size:32px}.eyebrow{font-size:9px;letter-spacing:.32em;margin-bottom:20px}.announcement{padding:29px 10px 0}.invitation{font-size:11px;letter-spacing:.08em;margin-top:17px}.footer{gap:6px 12px}.contact{font-size:10px;gap:11px}.motion-toggle{font-size:7px;letter-spacing:.08em;padding-left:3px;gap:7px}.motion-toggle svg{width:12px}.light-seam{top:11%;bottom:13%}}
@media(max-width:350px){.footer{display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px}.footer-note{order:3;width:100%}.motion-toggle{justify-self:auto}.main{min-height:490px}.invitation{letter-spacing:.04em}}
@media(max-height:680px) and (min-width:600px){.intro{padding-top:20px}.wordmark{width:clamp(340px,52vw,540px)}.main{min-height:470px;grid-template-rows:minmax(80px,1fr) auto minmax(175px,1fr)}h1{font-size:34px}.announcement{padding-top:24px}.eyebrow{margin-bottom:16px}.invitation{margin-top:15px}.signature{margin-top:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.motion-toggle{display:none!important}}
