@font-face{font-family:"Cormorant";src:url("cormorant-italic.woff2") format("woff2");font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url("cormorant.woff2") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
:root{--charcoal:#242D35;--orange:#F1720E;--light:#F99128;--cream:#FDFAEF}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:#161b20 radial-gradient(120% 90% at 50% 42%,#2b353f 0%,#242D35 38%,#161b20 100%) fixed;color:var(--cream);
  font-family:"Cormorant",ui-serif,Georgia,"Times New Roman",serif;overflow:hidden;-webkit-font-smoothing:antialiased;
  min-height:100svh}
main{position:fixed;inset:0}
.art,canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.fallback{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);width:min(52vh,74vw);height:auto}
.words{position:absolute;left:0;right:0;bottom:calc(clamp(104px,14vh,150px) + env(safe-area-inset-bottom));
  text-align:center;padding:0 24px;pointer-events:none;opacity:0;animation:rise 2.4s cubic-bezier(.2,.7,.2,1) 2.6s forwards}
h1{font-style:normal;font-weight:500;font-size:clamp(11px,1.15vw + 6px,16px);letter-spacing:.42em;text-transform:uppercase;
  color:var(--light);margin-right:-.42em;margin-bottom:.9em}
.words p{font-style:italic;font-weight:400;font-size:clamp(28px,3.4vw + 10px,58px);line-height:1.05;letter-spacing:.005em;color:var(--cream)}
footer{position:fixed;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:12px;
  letter-spacing:.08em;color:rgba(253,250,239,.38);opacity:0;animation:rise 2s ease 3.4s forwards}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.words,footer{animation:none;opacity:1}}
@media (max-width:600px) and (orientation:portrait){.words{bottom:calc(clamp(112px,16vh,170px) + env(safe-area-inset-bottom))}}
footer small{font-size:inherit}
.badge{display:block;line-height:0}
.badge img{display:block;width:48px;height:48px;opacity:.32;filter:saturate(.85);transition:opacity .6s ease,filter .6s ease}
.badge img:hover{opacity:1;filter:none}
@media (prefers-reduced-motion:reduce){.badge img{transition:none}}
@media (max-width:600px) and (orientation:portrait){.badge img{width:44px;height:44px}}
