/* DIMORA — brand stylesheet
   Type system (keep to these three):
   - Barbra   : brand display (logo + the event date). File goes in assets/fonts/
   - Unbounded: headings, numbers, small display caps (800 / 900)
   - Archivo  : body 400, UI 600-800, labels 700 caps, slab 700 italic caps
*/
@font-face{font-family:"Barbra";src:url("../fonts/Barbra.woff2") format("woff2"),url("../fonts/Barbra.woff") format("woff"),url("../fonts/Barbra.otf") format("opentype"),url("../fonts/Barbra.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --paper:#EEEDE8;
  --paper-2:#E4E3DD;
  --ink:#121211;
  --ink-soft:#4A4A46;
  --black:#0B0B0A;
  --on-black:#EEEDE8;
  --on-black-soft:#A9A8A2;
  --red:#D3181F;
  --olive:#6B7115;
  --ember:#EE6A2A;
  --dot-grey:#9C9D98;
  --line:rgba(18,18,17,.18);
  --gutter:clamp(16px,4vw,56px);
  --max:1360px;
  --f-brand:"Barbra","Unbounded","Arial Black",system-ui,sans-serif;
  --f-display:"Unbounded","Arial Black",system-ui,sans-serif;
  --f-body:"Archivo","Helvetica Neue",Arial,system-ui,sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.5;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
a{color:inherit}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* paper grain */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.10;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.label{font-family:var(--f-body);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.slab{font-family:var(--f-body);font-weight:700;font-style:italic;text-transform:uppercase;letter-spacing:.01em;line-height:1.2}
.h-xl{font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.035em;line-height:.9;font-size:clamp(44px,8.4vw,128px);margin:0;text-wrap:balance}
.h-l{font-family:var(--f-display);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;line-height:.92;font-size:clamp(34px,5.4vw,80px);margin:0;text-wrap:balance}
.h-m{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1;font-size:clamp(22px,2.4vw,32px);margin:0}
.dots{display:flex;gap:14px}
.dots i{width:clamp(22px,2.6vw,36px);aspect-ratio:1;border-radius:50%;background:var(--ink);display:block}
.dots.olive i{background:var(--olive)} .dots.grey i{background:var(--dot-grey)} .dots.paper i{background:var(--paper)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-body);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  padding:15px 26px;border-radius:999px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn{white-space:nowrap}
@media (max-width:420px){.btn{font-size:13px;padding-inline:20px;letter-spacing:.06em}}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.ember{background:var(--ember);border-color:var(--ember);color:var(--black)}
.btn.paper{background:var(--paper);border-color:var(--paper);color:var(--black)}
.btn svg{width:16px;height:16px}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:64px}
.nav .logo img{height:22px;width:auto}
.nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.nav ul a:hover{text-decoration:underline;text-underline-offset:4px}
.nav .btn{padding:10px 18px;font-size:12px}
@media (max-width:860px){.nav ul{display:none}}

.nav-r{display:flex;align-items:center;gap:10px}
.ig{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ink);color:var(--ink);transition:background .2s,color .2s}
.ig:hover{background:var(--ink);color:var(--paper)}
.ig .ic{width:18px;height:18px}
.chip-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;transition:background .2s,color .2s}
.chip-link .ic{width:13px;height:13px}
.chip-link:hover{background:var(--ink);color:var(--paper)}
.dark .chip-link:hover,.next .chip-link:hover{background:var(--paper);color:var(--black)}
.ig-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.ig-link .ic{width:18px;height:18px}
.ig-link:hover{color:var(--ember)}

/* hero */
.hero{position:relative;padding-block:clamp(20px,3vw,36px) clamp(36px,5vw,64px);overflow:hidden}
.hero-top{display:flex;justify-content:space-between;gap:16px}
.hero-stage{position:relative;display:grid;grid-template-columns:1fr minmax(0,2.4fr) 1fr;align-items:end;gap:clamp(8px,2vw,24px);margin-top:clamp(12px,2vw,24px)}
.hero-stage .cut{width:auto;max-width:100%;height:clamp(260px,34vw,480px);object-fit:contain;justify-self:center;align-self:end}
.hero-stage .cut.r{transform:scaleX(-1)}
.hero-copy{text-align:center;display:grid;gap:clamp(14px,1.8vw,22px);justify-items:center;padding-bottom:clamp(8px,2vw,24px)}
.live{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--paper);padding:8px 14px 8px 12px;border-radius:999px}
.live i{width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 rgba(238,106,42,.7);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(238,106,42,0)}100%{box-shadow:0 0 0 0 rgba(238,106,42,0)}}
.hero-date{margin:0;font-family:var(--f-brand);font-weight:900;font-size:clamp(84px,15vw,230px);line-height:.82;letter-spacing:-.03em;font-variant-numeric:tabular-nums;
  background:linear-gradient(45deg,#e48005,#8a3300,#14cc97);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-date time{display:block;padding-right:.04em}
.hero-date .date-svg{display:block;height:clamp(76px,13.5vw,200px);width:auto;max-width:100%;margin-inline:auto}
.hero-ev{font-size:clamp(20px,2.6vw,34px)}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chip.solid{background:var(--ember);border-color:var(--ember);color:var(--black)}
.wordmark{width:100%;height:auto;margin-top:clamp(16px,3vw,40px)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.hero-tag{text-wrap:balance;text-align:center;font-size:clamp(13px,1.3vw,16px);max-width:60ch;margin:clamp(16px,2vw,24px) auto 0}
@media (max-width:700px){
  .hero-stage{grid-template-columns:1fr 1fr}
  .hero-copy{grid-column:1/-1;order:-1}
  .hero-stage .cut{height:200px}
}
.ticker{display:block;text-decoration:none;border-block:1px solid var(--ink);overflow:hidden;white-space:nowrap;background:var(--ink);color:var(--paper)}
.ticker:hover{background:var(--ember);color:var(--black)}
.ticker div{display:inline-flex;gap:40px;padding-block:12px;animation:tick 38s linear infinite}
.ticker span{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:14px;letter-spacing:0}
.ticker span::after{content:"✦";margin-left:40px}
@keyframes tick{to{transform:translateX(-50%)}}

/* vision */
.vision{padding-block:clamp(64px,9vw,140px)}
.vision .grid{display:grid;grid-template-columns:auto 1.1fr 1fr;gap:clamp(24px,4vw,64px);align-items:start}
.vision .dots{flex-direction:column;padding-top:8px}
.vision .text{display:grid;gap:22px}
.vision .text .slab{font-size:clamp(15px,1.3vw,18px);max-width:40ch}
.vision .text .slab.lead{font-size:clamp(18px,1.8vw,24px)}
.vision figure{margin:0}
.vision figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media (max-width:860px){.vision .grid{grid-template-columns:1fr}.vision .dots{flex-direction:row}}

/* black sections */
.dark{background:var(--black);color:var(--on-black)}
.oval{position:relative;display:grid;place-items:center;text-align:center;padding:clamp(40px,6vw,80px) clamp(28px,6vw,90px);max-width:880px;margin-inline:auto}
.oval svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.oval .h-l{position:relative}

/* formats */
.formats{padding-block:clamp(64px,9vw,120px)}
.formats-intro{display:grid;gap:18px;justify-items:center;text-align:center;margin-bottom:clamp(36px,5vw,64px)}
.formats-intro p{color:var(--on-black-soft);max-width:52ch;margin:0;text-wrap:balance}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:var(--gutter);padding-bottom:18px;scrollbar-width:thin;scrollbar-color:#444 transparent}
.card-loc{flex:0 0 auto;width:clamp(260px,30vw,420px);scroll-snap-align:start;margin:0;display:grid;gap:12px}
.card-loc .shot{position:relative;aspect-ratio:4/5;overflow:hidden;background:#1d1d1b}
.card-loc .shot > img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.card-loc:hover .shot > img{transform:scale(1.04)}
.lockup{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62%;aspect-ratio:1000/430;display:grid;place-items:center;align-content:center;gap:4%;color:#fff;filter:drop-shadow(0 2px 14px rgba(0,0,0,.45))}
.lockup svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lockup svg.st{inset:auto;width:12%;height:auto;aspect-ratio:1;left:4%;top:2%}
.lockup svg.st.b{left:auto;top:auto;right:4%;bottom:2%}
.lockup img{width:64%;height:auto;position:relative}
.lockup span{position:relative;font-family:var(--f-body);font-weight:600;font-size:clamp(11px,1.1vw,15px);letter-spacing:.06em;line-height:1}
.card-loc figcaption{display:grid;gap:4px}
.card-loc b{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:15px;letter-spacing:0}
.card-loc figcaption span{color:var(--on-black-soft);font-size:13px;line-height:1.4}
@media (max-width:600px){.card-loc{width:78vw}}
.rail-hint{text-align:center;color:var(--on-black-soft);margin-top:10px}

/* next night / guest list */
.next{position:relative;overflow:hidden;padding-block:clamp(64px,9vw,130px);background:var(--black);color:var(--on-black)}
.next::before{content:"";position:absolute;width:min(900px,120vw);aspect-ratio:1;border-radius:50%;right:-18%;top:50%;transform:translateY(-50%);
  background:radial-gradient(circle at 50% 50%,#FFB25C 0%,var(--ember) 32%,#B8300F 55%,rgba(11,11,10,0) 70%);opacity:.9;pointer-events:none}
.next .wrap{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.next .info{display:grid;gap:22px}
.next .meta{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1.5px solid currentColor;border-radius:999px;padding:7px 14px;font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.next .info p{color:var(--on-black-soft);max-width:46ch;margin:0}
@media (max-width:900px){.next .wrap{grid-template-columns:1fr}.next::before{right:-40%;top:auto;bottom:-30%;transform:none}}

.gl-card{background:var(--paper);color:var(--ink);padding:clamp(24px,3.4vw,44px);border-radius:28px;display:grid;gap:22px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.gl-card header{display:grid;gap:8px}
.gl-card header p{margin:0;color:var(--ink-soft);font-size:15px}
.gl-form{display:grid;gap:14px}
.gl-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){.gl-row{grid-template-columns:1fr}}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.field input{font:inherit;font-size:16px;padding:14px 16px;border:1.5px solid var(--ink);border-radius:14px;background:#F8F7F3;color:var(--ink);width:100%}
.field input:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px rgba(238,106,42,.25)}
.field input[aria-invalid="true"]{border-color:var(--red)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-soft);line-height:1.4}
.consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--ink);flex:0 0 auto}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gl-form .btn{justify-content:center;width:100%;padding-block:17px}
.gl-form .btn[disabled]{opacity:.6;cursor:progress;transform:none}
.gl-msg{font-size:14px;margin:0;min-height:1.2em}
.gl-msg.err{color:var(--red);font-weight:600}
.gl-done{display:grid;gap:14px;text-align:center;justify-items:center;padding-block:10px}
.gl-done .tick{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center}
.gl-done p{margin:0;color:var(--ink-soft);max-width:36ch}
.demo-note{font-size:12px;color:var(--ink-soft);border:1px dashed var(--line);border-radius:10px;padding:8px 12px;margin:0}

/* venues */
.venues{padding-block:clamp(64px,9vw,140px)}
.venue-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,80px);align-items:start}
.venue-block + .venue-block{margin-top:clamp(64px,8vw,120px)}
.venue-block.flip{grid-template-columns:1.2fr .8fr}
.venue-block.flip .media{order:2}
.venue-block .media{display:grid;gap:20px}
.venue-block .media img{width:100%;object-fit:cover}
.venue-block .media.portrait img{aspect-ratio:3/4}
.venue-block .media.land img{aspect-ratio:3/2}
.venue-block .body{display:grid;gap:22px;align-content:start}
.venue-block .body > .slab{font-size:clamp(16px,1.6vw,20px)}
.items{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.items li{display:grid;grid-template-columns:minmax(120px,.5fr) 1fr;gap:16px;padding-block:18px;border-bottom:1px solid var(--line)}
.items b{font-family:var(--f-display);font-weight:800;text-transform:uppercase;font-size:14px;letter-spacing:0}
.items span{font-size:15px;color:var(--ink-soft)}
@media (max-width:860px){.venue-block,.venue-block.flip{grid-template-columns:1fr}.venue-block.flip .media{order:0}}
@media (max-width:460px){.items li{grid-template-columns:1fr;gap:4px}}

/* events */
.events{padding-block:clamp(64px,9vw,130px)}
.events .oval{margin-bottom:clamp(40px,6vw,80px)}
.event{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:clamp(24px,4vw,60px);padding-block:clamp(36px,5vw,64px);border-top:1px solid #2a2a28;align-items:start}
.event .meta{display:grid;gap:18px;position:sticky;top:90px}
.event .kicker{color:var(--ember)}
.event .num{font-family:var(--f-display);font-weight:900;font-size:clamp(56px,7vw,104px);letter-spacing:-.05em;line-height:.85;font-variant-numeric:tabular-nums}
.event .num small{display:block;font-family:var(--f-body);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--on-black-soft);margin-top:10px}
.event ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.event li{font-weight:700;font-style:italic;text-transform:uppercase;font-size:13px;letter-spacing:.01em;line-height:1.2;color:var(--on-black)}
.event li::before{content:"✦ ";color:var(--ember);font-style:normal}
.mosaic{display:grid;gap:10px;grid-template-columns:repeat(6,1fr)}
.mosaic img{width:100%;height:100%;object-fit:cover}
.m-upside img:nth-child(1){grid-column:span 2;aspect-ratio:9/16}
.m-upside img:nth-child(2){grid-column:span 2;aspect-ratio:9/16}
.m-upside img:nth-child(3){grid-column:span 2;aspect-ratio:9/16}
.m-upside img:nth-child(4){grid-column:span 3;aspect-ratio:4/3;object-position:50% 50%}
.m-upside img:nth-child(5){grid-column:span 3;aspect-ratio:4/3}
.m-halloween img:nth-child(1){grid-column:span 4;aspect-ratio:16/10}
.m-halloween img:nth-child(2){grid-column:span 2;grid-row:span 2}
.m-halloween img:nth-child(3){grid-column:span 4;aspect-ratio:4/3}
.m-maison img:nth-child(1){grid-column:span 4;aspect-ratio:3/2}
.m-maison img:nth-child(2){grid-column:span 2;aspect-ratio:auto}
.m-maison img:nth-child(3){grid-column:span 3;aspect-ratio:3/2}
.m-maison img:nth-child(4){grid-column:span 3;aspect-ratio:3/2}
.m-maison img:nth-child(5){grid-column:span 6;aspect-ratio:16/8}
@media (max-width:860px){.event{grid-template-columns:1fr}.event .meta{position:static}}

/* footer */
.foot{padding-block:clamp(64px,8vw,120px) 32px}
.halftones{display:grid;grid-template-columns:1fr 1.6fr 1.2fr;align-items:end;gap:clamp(12px,3vw,40px);max-width:900px;margin-inline:auto}
.halftones img{width:100%;height:auto;filter:grayscale(1) contrast(1.05);mix-blend-mode:multiply}
.halftones img:nth-child(1){max-width:170px;justify-self:end}
.halftones img:nth-child(3){max-width:260px;align-self:center}
.foot .wordmark{max-width:900px;margin:clamp(20px,3vw,40px) auto 0}
.sticker{display:block;width:min(340px,70vw);height:auto;margin-inline:auto;transform:rotate(-4deg);filter:drop-shadow(0 18px 30px rgba(0,0,0,.18));transition:transform .4s cubic-bezier(.2,.8,.2,1.3)}
.sticker:hover{transform:rotate(2deg) scale(1.03)}
.foot .cta{text-align:center;display:grid;gap:14px;justify-items:center;margin-top:24px}
.foot .cta .slab{font-size:clamp(15px,1.6vw,20px)}
.mail{font-family:var(--f-display);font-weight:800;font-size:clamp(20px,3.4vw,44px);letter-spacing:-.03em;text-decoration:none;border-bottom:3px solid var(--ink)}
.mail:hover{color:var(--ember);border-color:var(--ember)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:clamp(48px,6vw,90px);padding-top:18px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:12px}

/* guest list page */
.gl-page{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}
.gl-page main{display:grid;place-items:center;padding-block:clamp(32px,6vw,80px)}
.gl-page .gl-card{max-width:560px;width:100%}
.gl-page .event-head{display:grid;gap:8px;text-align:center;justify-items:center;margin-bottom:28px}
.gl-page .event-head .h-l{font-size:clamp(30px,6vw,64px)}

.gl-page{background:var(--black);position:relative;overflow-x:hidden}
.gl-glow{position:fixed;width:min(1000px,140vw);aspect-ratio:1;border-radius:50%;left:50%;bottom:-55%;transform:translateX(-50%);
  background:radial-gradient(circle,#FFB25C 0%,var(--ember) 30%,#B8300F 52%,rgba(11,11,10,0) 70%);opacity:.85;pointer-events:none}
.gl-page main{justify-items:center}

/* guest list: opening soon */
.gl-soon{display:grid;gap:16px;justify-items:start}
.gl-soon p{margin:0;color:var(--ink-soft);font-size:15px;max-width:44ch}
.gl-soon .fine{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.btn.wa{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.wa:hover{background:var(--ember);border-color:var(--ember);color:var(--black)}
.btn.wa svg{width:18px;height:18px}

/* popup */
dialog.soon{border:0;padding:clamp(28px,4vw,40px);border-radius:28px;background:var(--paper);color:var(--ink);width:min(440px,calc(100vw - 32px));
  display:none;gap:14px;justify-items:start;text-align:left;box-shadow:0 40px 100px -30px rgba(0,0,0,.7)}
dialog.soon[open]{display:grid;animation:pop .35s cubic-bezier(.2,.8,.2,1.2)}
dialog.soon::backdrop{background:rgba(11,11,10,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
dialog.soon .h-m{font-size:clamp(26px,3vw,34px)}
dialog.soon p{margin:0;color:var(--ink-soft);font-size:15px}
dialog.soon .btn{margin-top:6px}
.soon-x{position:absolute;top:14px;right:14px;margin:0}
.soon-x button{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font:400 22px/1 var(--f-body);cursor:pointer}
.soon-later{border:0;background:none;padding:4px 0;font:700 12px/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
@keyframes pop{from{transform:translateY(12px) scale(.96);opacity:.001}to{transform:none;opacity:1}}

/* hero motion */
.hero-stage .cut{translate:var(--mx,0) var(--my,0);will-change:transform}
.hero-stage .cut.l{animation:swayL 7s ease-in-out infinite;transform-origin:50% 100%}
.hero-stage .cut.r{animation:swayR 8s ease-in-out -2s infinite;transform-origin:50% 100%}
@keyframes swayL{0%,100%{transform:rotate(-2.5deg) translateY(0)}50%{transform:rotate(2deg) translateY(-12px)}}
@keyframes swayR{0%,100%{transform:scaleX(-1) rotate(-2deg) translateY(0)}50%{transform:scaleX(-1) rotate(2.5deg) translateY(-14px)}}
.hero-date .date-svg{translate:var(--dx,0) var(--dy,0);transition:translate .6s cubic-bezier(.2,.8,.2,1);animation:breathe 6s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
.hero-copy > *{animation:heroIn .9s cubic-bezier(.2,.8,.2,1) both}
.hero-copy > :nth-child(1){animation-delay:.05s}
.hero-copy > :nth-child(2){animation-delay:.15s}
.hero-copy > :nth-child(3){animation-delay:.28s}
.hero-copy > :nth-child(4){animation-delay:.38s}
.hero-copy > :nth-child(5){animation-delay:.48s}
@keyframes heroIn{from{transform:translateY(26px)}to{transform:none}}
.wm-reveal{margin:0;overflow:hidden}
.wm-reveal .wordmark{animation:wmIn 1.1s cubic-bezier(.2,.8,.2,1) .2s both;translate:0 var(--wy,0)}
@keyframes wmIn{from{transform:translateY(105%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.hero-stage .cut,.hero-date .date-svg,.hero-copy > *,.wm-reveal .wordmark{animation:none!important;translate:none!important}}

/* reveal */
.reveal{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes rise{from{transform:translateY(18px);opacity:.001}to{transform:none;opacity:1}}
