@font-face{font-family:'Fraunces';src:url(fonts/fraunces-latin-full-normal.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url(fonts/fraunces-latin-full-italic.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Oswald';src:url(fonts/oswald-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-500-normal.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-600-normal.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap}

:root{
  --white:#ffffff;
  --mist:#f4f4f2;
  --ink:#161616;
  --gray:#66666b;
  --line:#e3e3e0;
  --red:#d90000;
  --serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --cond:'Oswald', 'Arial Narrow', Impact, sans-serif;
  --sans:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --gut:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
::selection{background:var(--red);color:#fff}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.ai{color:var(--red)}

/* top bar */
.top{display:flex;justify-content:space-between;align-items:center;padding:24px var(--gut)}
.wordmark{font-family:var(--cond);font-weight:700;font-size:22px;line-height:1;text-transform:uppercase;letter-spacing:.01em}
.wordmark i{font-style:normal;text-transform:lowercase}
.status{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--gray)}
.status .dot{width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}

/* main */
main{flex:1;display:flex;align-items:center;padding:clamp(24px,5vh,56px) var(--gut) clamp(40px,8vh,80px)}
.grid{width:100%;max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,110px);align-items:center}
.kicker{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(52px,7.4vw,120px);line-height:1;letter-spacing:-.02em;margin-top:22px;text-wrap:balance}
h1 em{font-style:italic;font-weight:400;color:var(--red)}
.dek{font-size:clamp(18px,1.45vw,21px);line-height:1.6;color:var(--gray);max-width:540px;margin-top:28px}

form{display:flex;gap:8px;max-width:500px;margin-top:40px;background:var(--mist);border-radius:999px;padding:6px}
form input{flex:1;min-width:0;background:none;border:0;outline:none;font:inherit;font-size:16px;padding:0 20px;color:var(--ink)}
form input::placeholder{color:#8a8a8f}
form button{border:0;cursor:pointer;background:var(--red);color:#fff;font:inherit;font-weight:700;font-size:15px;padding:15px 26px;border-radius:999px;transition:background .25s}
form button:hover{background:#b00000}
form button:disabled{opacity:.6;cursor:wait}
form:focus-within{box-shadow:0 0 0 2px var(--ink)}
.note{margin-top:12px;padding-left:20px;font-size:14px;color:var(--gray);min-height:1.4em}
.note.ok{color:var(--ink)}
.note.err{color:var(--red)}

.owl{position:relative;justify-self:center;width:100%;max-width:460px}
.owl img{width:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.meaning{margin-top:36px;text-align:center;font-family:var(--serif);font-size:19px;color:var(--gray)}
.meaning em{font-style:italic;color:var(--ink)}

/* footer */
footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:22px var(--gut);border-top:1px solid var(--line);font-size:14px;color:var(--gray)}
footer nav{display:flex;gap:24px}
footer a:hover{color:var(--ink)}

/* entrance */
.rv{opacity:0;transform:translateY(24px);animation:in 1s cubic-bezier(.2,.8,.2,1) forwards}
.rv.d1{animation-delay:.12s}.rv.d2{animation-delay:.24s}.rv.d3{animation-delay:.36s}
@keyframes in{to{opacity:1;transform:none}}

@media (max-width:860px){
  .grid{grid-template-columns:1fr;text-align:left}
  .owl{order:-1;max-width:200px;justify-self:start}
  .meaning{display:none}
}
@media (max-width:520px){
  body{font-size:16px}
  .status span{display:none}
  form{flex-direction:column;border-radius:20px}
  form input{padding:14px 16px}
  footer{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}
