@font-face{font-family:"Archivo";src:url("../fonts/Archivo-latin-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/Jost-latin-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-latin-var.woff2") format("woff2");font-weight:100 900;font-style:normal;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);
  --ob-night:#1D1C1A;
  --ob-night-2:#272624;
  --ob-on-night:#F4F1EA;
  --ob-on-night-mute:#CBC6BC;
  --ob-mute:#4B4741;
  --ob-line-night:rgba(244,241,234,.14);
  --shadow-1:0 1px 0 rgba(0,0,0,.05),0 6px 18px rgba(40,30,10,.07);
  --shadow-2:0 1px 0 rgba(0,0,0,.06),0 18px 44px rgba(40,30,10,.13);
  --shadow-3:0 2px 0 rgba(0,0,0,.05),0 34px 80px rgba(40,30,10,.22);
  --ease-out:cubic-bezier(.16,1,.3,1);

  --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;

  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:clamp(18px,1.6vw,24px);
  --sp-6:clamp(24px,2.4vw,32px); --sp-7:clamp(28px,3.2vw,40px); --sp-8:clamp(40px,4.4vw,56px);
}

*,*::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;
}
body{overflow-wrap:break-word}
a:not(.btn):not(.f-btn),code,.url,[data-url],.find__src,.lightbox__url,td,th,figcaption,small{overflow-wrap:anywhere}

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}
.measure{max-width:60ch;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)}

.left,.align-left,.align-left .wrap{text-align:left}
.left :is(p,ul,ol,blockquote,h1,h2,h3,h4,.d-xl,.d-l,.eyebrow,.kicker,.lead,.measure,.measure-tight,.sec-head__sub,.sec-head__label),
.align-left :is(p,ul,ol,blockquote,h1,h2,h3,h4,.d-xl,.d-l,.eyebrow,.kicker,.lead,.measure,.measure-tight,.sec-head__sub,.sec-head__label),
.wrap.align-left > *,.align-left .wrap > *{margin-inline:0}
@media(min-width:900px){
  .align-left-md,.align-left-md .wrap{text-align:left}
  .align-left-md :is(p,ul,ol,blockquote,h1,h2,h3,h4,.d-xl,.d-l,.eyebrow,.kicker,.lead,.measure,.measure-tight,.sec-head__sub,.sec-head__label),
  .wrap.align-left-md > *,.align-left-md .wrap > *{margin-inline:0}
}
@media(max-width:899px){
  .align-left-sm,.align-left-sm .wrap{text-align:left}
  .align-left-sm :is(p,ul,ol,blockquote,h1,h2,h3,h4,.d-xl,.d-l,.eyebrow,.kicker,.lead,.measure,.measure-tight,.sec-head__sub,.sec-head__label),
  .wrap.align-left-sm > *,.align-left-sm .wrap > *{margin-inline:0}
}


.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:60ch;margin-inline:auto}

:where(h1,h2,h3,.d-xl,.d-l) + :is(p,ul,ol,blockquote){margin-top:var(--sp-5)}
:where(h1,h2,h3,.d-xl,.d-l,p,ul,ol,.lead,blockquote,.eyebrow,div) + .btn,
:where(h1,h2,h3,.d-xl,.d-l,p,ul,ol,.lead,blockquote,.eyebrow,div) + :where(.btn-row,.cta-row){margin-top:var(--sp-6)}
.btn + :where(p,small,.meta){margin-top:var(--sp-3)}
:where(.wrap,section,.section,.band) > .btn{display:flex;width:max-content;max-width:100%}

.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;
  border:2px solid transparent;
  font-weight:600;
}
body:not(.funnel) .btn{border-color:var(--ob-black)}
body:not(.funnel) .band--night .btn:not(.btn--ghost){border-color:transparent;box-shadow:0 10px 28px rgba(0,0,0,.38)}
.btn--lg{font-size:.875rem;padding:1.1rem 2rem;min-height:56px}
.btn__arrow{font-style:normal;transition:transform var(--dur-fast) var(--ease)}
.btn:hover .btn__arrow{transform:translateX(3px)}
.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:none}
.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 .reveal:has(img,iframe,video,svg,.vid,.frame,.phone,.gmail,.swap){opacity:1;transform:none;filter: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}
