
[hidden]{display:none!important}

@font-face{font-family:"Archivo";src:url("../fonts/Archivo.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/Jost.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-500-normal-latin.woff2") format("woff2");font-weight:400 500;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-600-normal-latin.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-700-normal-latin.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-800-normal-latin.woff2") format("woff2");font-weight:800 900;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dmsans-400-700-normal-latin.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../fonts/dmsans-400-italic-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --ob-accent:#EAE210;
  --ob-accent-soft:#FFFCA3;
  --ob-ink:#2E2E2E;
  --ob-black:#000000;
  --ob-mist:#EFEAE0;
  --ob-paper:#FFFFFF;
  --ob-cream:#F7F3EC;
  --ob-cream-deep:#F1EBE0;
  --ob-line:rgba(24,20,14,.13);

  --font-display:"Methane","Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-label:"Minimalist","Jost","Futura",system-ui,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
  --dur-fast:180ms; --dur:420ms; --dur-slow:700ms;

  --max:1200px;
  --gutter:24px;
  --sec-pad:clamp(64px,9vw,140px);
  --r-sm:10px; --r:16px; --r-lg:24px; --r-pill:999px;
}

*,*::before,*::after{box-sizing:border-box}

figure,blockquote{margin:0}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ob-cream);
  color:var(--ob-ink);
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.6;
  font-feature-settings:"kern" 1,"liga" 1;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:max(16px,var(--gutter));
  text-align:center}

.wrap > *{margin-inline:auto}
.left{text-align:left}
.measure{max-width:58ch;margin-inline:auto}
.measure-tight{max-width:46ch;margin-inline:auto}
.section{padding-block:var(--sec-pad)}
.section--mist{background:var(--ob-cream-deep)}
.section--paper{background:var(--ob-paper)}

.d-xl{
  font-family:var(--font-display);
  font-size:clamp(1.875rem,3.6vw,3.25rem);
  line-height:1.06;letter-spacing:-.018em;
  color:var(--ob-black);margin-block:0;margin-inline:auto;
  text-wrap:balance;
}
.d-l{
  font-family:var(--font-display);
  font-size:clamp(1.5rem,2.6vw,2.25rem);
  line-height:1.12;letter-spacing:-.012em;
  color:var(--ob-black);margin-block:0;margin-inline:auto;
  text-wrap:balance;
}
h2.d-l,h3{text-wrap:balance}
h3{font-family:var(--font-display);font-size:1.25rem;line-height:1.25;margin:0 0 .4em;color:var(--ob-black)}
p{margin:0 0 1em;max-width:58ch;margin-inline:auto}
.lead{font-size:1.1875rem;line-height:1.55}
.eyebrow{
  font-family:var(--font-label);
  font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ob-ink);opacity:.72;margin:0 0 1rem;display:block;
}
.num{font-variant-numeric:tabular-nums}

.mark{position:relative;white-space:nowrap;color:var(--ob-black)}
.mark::after{content:"";position:absolute;left:-.02em;right:-.02em;bottom:-.04em;
  height:.13em;background:var(--ob-accent);border-radius:2px}
.js .mark::after{transform:scaleX(0);transform-origin:left center;
  transition:transform 620ms var(--ease) 520ms}

.js .is-lit .mark::after,
.js .is-in .mark::after{transform:scaleX(1)}
.rule{height:2px;background:var(--ob-black);border:0;margin:0}
.rule--accent{height:5px;background:var(--ob-accent);border:0;width:48px;
  margin:0 auto 1.5rem;border-radius:var(--r-pill)}

.btn{
  display:inline-flex;align-items:center;gap:.6em;
  background:var(--ob-accent);color:var(--ob-black);
  font-family:var(--font-label);font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;
  padding:1rem 1.75rem;border:0;border-radius:var(--r-pill);
  text-decoration:none;cursor:pointer;
  transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),
             filter var(--dur-fast) var(--ease);
  box-shadow:0 2px 0 rgba(0,0,0,.9), 0 8px 24px rgba(0,0,0,.12);
  min-height:48px;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 3px 0 rgba(0,0,0,.9), 0 12px 30px rgba(0,0,0,.16)}
.btn:active{transform:translateY(1px);box-shadow:0 1px 0 rgba(0,0,0,.9), 0 4px 12px rgba(0,0,0,.14)}
.btn--ghost{background:transparent;box-shadow:inset 0 0 0 2px var(--ob-black)}
.btn--ghost:hover{background:var(--ob-accent-soft);transform:none;box-shadow:none}
:focus-visible{outline:3px solid var(--ob-black);outline-offset:3px}

.confirm{
  display:inline-block;font-family:var(--font-label);font-size:.625rem;
  letter-spacing:.12em;text-transform:uppercase;
  background:var(--ob-accent-soft);color:var(--ob-black);
  border:1px solid var(--ob-black);padding:.2em .5em;border-radius:2px;
  vertical-align:middle;
}
.swap{
  display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(45deg,var(--ob-mist),var(--ob-mist) 10px,#e4e4e4 10px,#e4e4e4 20px);
  border:1.5px dashed rgba(0,0,0,.22);border-radius:var(--r);
  font-family:var(--font-label);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(0,0,0,.55);text-align:center;padding:1.5rem;min-height:120px;
}
.swap[data-ratio="16/9"]{aspect-ratio:16/9}
.swap[data-ratio="1/1"]{aspect-ratio:1/1}
.swap[data-ratio="4/5"]{aspect-ratio:4/5}

.vid{position:relative;border-radius:var(--r);overflow:hidden;
  background:var(--ob-mist);aspect-ratio:16/9;cursor:pointer}
.vid[data-ratio="1/1"]{aspect-ratio:1/1}
.vid[data-ratio="4/5"]{aspect-ratio:4/5}
.vid__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vid__play{position:absolute;inset:0;margin:auto;width:56px;height:56px;
  border-radius:50%;background:rgba(0,0,0,.62);display:flex;align-items:center;
  justify-content:center;transition:transform var(--dur-fast) var(--ease),
  background var(--dur-fast) var(--ease)}
.vid__play svg{width:20px;height:20px;fill:#fff;margin-left:3px}
.vid:hover .vid__play{transform:scale(1.08);background:var(--ob-black)}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid__cap{margin-top:.6rem;font-size:.8125rem;opacity:.78;text-align:left}

.reveal{transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}

.js .reveal{opacity:0;transform:translateY(14px)}
.js .reveal.is-in{opacity:1;transform:none}

.js .hero__head.reveal{transform:translateY(22px);filter:blur(7px);
  transition:opacity 900ms var(--ease),transform 900ms var(--ease),filter 900ms var(--ease)}
.js .hero__head.reveal.is-in{filter:blur(0)}
.js .hero__sub.reveal{transition-delay:160ms}
.js .hero__cta.reveal{transition-delay:260ms}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  .reveal{opacity:1!important;transform:none!important}
}

.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:99;background:var(--ob-accent);padding:.75rem 1rem}
