



@font-face{font-family:'Zodiak';src:url('../fonts/zodiak-vf.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:'Zodiak';src:url('../fonts/zodiak-italic-vf.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap;}
@font-face{font-family:'Instrument Sans';src:url('../fonts/instrumentsans-vf.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;}
@font-face{font-family:'Instrument Sans';src:url('../fonts/instrumentsans-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Fragment Mono';src:url('../fonts/fragmentmono.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Nineties';src:url('../fonts/nineties-sans.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}


:root{
  --paper:#F3EFE7; --paper-d:#EBE4D7; --vino:#3A1220; --accent:#C2401F; --muted:#7C655E; --peach:#E8B486;
  --hair:color-mix(in srgb,var(--vino) 18%,transparent);
  --hair-l:color-mix(in srgb,var(--paper) 22%,transparent);
  --focus-ring:var(--accent);
  --ease-exp:cubic-bezier(.16,1,.3,1); --ease-quart:cubic-bezier(.25,1,.5,1); --ui-fast:200ms;
  --radius-control:12px; --radius-chip:999px;
  --gutter:clamp(20px,4.5vw,64px);
  --bleed:max(var(--gutter),calc((100vw - 1280px)/2));
  --navh:84px;
  --f-disp:'Zodiak',Georgia,serif;
  --f-sans:'Instrument Sans',system-ui,sans-serif;
  --f-mono:'Fragment Mono',ui-monospace,monospace;
  --f-nine:'Nineties',sans-serif;
  --s-1:8px;--s-2:16px;--s-3:24px;--s-4:32px;--s-6:48px;--s-8:64px;--s-12:96px;--s-16:128px;
}


*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;}
html,body{height:auto;}
body{
  background:var(--paper);color:var(--vino);
  font-family:var(--f-sans);font-weight:400;
  font-size:clamp(1.05rem,1rem + .2vw,1.125rem);line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,video,canvas{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit;}
::selection{background:var(--accent);color:var(--paper);}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px;}

h1,h2,h3,.disp{font-family:var(--f-disp);font-weight:500;text-wrap:balance;}
p{text-wrap:pretty;}


.h1{font-size:clamp(2.75rem,1.25rem + 6.25vw,6.8rem);line-height:.98;letter-spacing:-.03em;}
.h2{font-size:clamp(2.1rem,1.33rem + 3.4vw,4.35rem);line-height:1;letter-spacing:-.025em;}
.h3{font-size:clamp(1.45rem,1.15rem + 1.15vw,2.15rem);line-height:1.06;letter-spacing:-.015em;}
.edit{font-family:var(--f-disp);font-style:italic;font-weight:460;
  font-size:clamp(1.55rem,1.15rem + 1.5vw,2.55rem);line-height:1.17;letter-spacing:-.02em;text-wrap:balance;
  padding-bottom:.08em;}
.lead{font-size:clamp(1.3rem,1.1rem + 1vw,1.85rem);line-height:1.3;font-weight:400;max-width:34ch;text-wrap:balance;}
.mono{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;line-height:1.5;}
.mono-s{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;}
em.k{font-family:var(--f-disp);font-style:italic;font-weight:470;color:var(--accent);}
.on-dark em.k{color:var(--peach);}
.muted{color:var(--muted);}
.measure{max-width:62ch;}
.measure-n{max-width:46ch;}


.eyebrow{display:flex;align-items:baseline;gap:14px;color:var(--muted);}
.eyebrow .n{font-family:var(--f-nine);font-size:1rem;letter-spacing:.04em;color:var(--accent);}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--hair);align-self:center;}
.on-dark .eyebrow{color:color-mix(in srgb,var(--paper) 62%,transparent);}
.on-dark .eyebrow::after{background:var(--hair-l);}
.on-dark .eyebrow .n{color:var(--peach);}


.wrap{max-width:1280px;margin-inline:auto;padding-inline:var(--gutter);}
.sec{position:relative;padding-block:clamp(96px,14vh,190px);}
.sec-tight{padding-block:clamp(64px,9vh,120px);}
.dark{background:var(--vino);color:var(--paper);}
.dark ::selection{background:var(--peach);color:var(--vino);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,96px);align-items:center;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,56px);}
.hr{border:0;border-top:1px solid var(--hair);}
.dark .hr{border-color:var(--hair-l);}


figure.bleed-l{margin-left:calc(-1*var(--bleed));}
figure.bleed-r{margin-right:calc(-1*var(--bleed));}
figure.bleed-full{margin-inline:calc(-1*var(--bleed));}
figure.ph{position:relative;overflow:hidden;}
figure.ph img{width:100%;height:100%;object-fit:cover;}
figcaption{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:12px;}
.on-dark figcaption,.dark figcaption{color:color-mix(in srgb,var(--paper) 55%,transparent);}


html.js .clipfig{clip-path:inset(0 0 100% 0);}
html.js .clipfig.is-in{clip-path:inset(0 0 0% 0);transition:clip-path 1.1s var(--ease-exp);}
.clipfig img{will-change:transform;}


.ghost{position:absolute;z-index:0;pointer-events:none;user-select:none;
  font-family:var(--f-nine);font-size:clamp(5.5rem,13vw,12rem);line-height:1;letter-spacing:.02em;
  color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--vino) 15%,transparent);}
.dark .ghost{-webkit-text-stroke:1px color-mix(in srgb,var(--paper) 16%,transparent);}


.nav{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--navh);
  display:flex;align-items:center;transition:background .35s var(--ease-quart),box-shadow .35s var(--ease-quart);}
.nav .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.nav-brand{display:flex;align-items:center;gap:12px;}
.nav-brand img{height:44px;width:auto;}
.nav-brand .wm-dark{display:none;}
.nav-links{display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);}
.nav-link{position:relative;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;padding:6px 0;}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform var(--ui-fast) var(--ease-quart);}
.nav-link:hover::after,.nav-link.is-active::after{transform:scaleX(1);}
.nav-cta{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;
  border:1px solid var(--hair);border-radius:var(--radius-chip);padding:10px 18px;
  transition:background var(--ui-fast) var(--ease-quart),color var(--ui-fast) var(--ease-quart),border-color var(--ui-fast);}
.nav-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--paper);}

.nav.is-solid{background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);
  box-shadow:0 1px 0 var(--hair);}

.nav.on-hero:not(.is-solid){color:var(--paper);}
.nav.on-hero:not(.is-solid) .nav-cta{border-color:var(--hair-l);}
.nav.on-hero:not(.is-solid) .nav-cta:hover{background:var(--accent);border-color:var(--accent);}
.nav.on-hero:not(.is-solid) .wm-light{display:none;}
.nav.on-hero:not(.is-solid) .wm-dark{display:block;}


.nav-burger{display:none;flex-direction:column;gap:5px;padding:8px;}
.nav-burger span{display:block;width:22px;height:1.5px;background:currentColor;transition:transform .3s var(--ease-quart),opacity .3s;}
.mnav{position:fixed;inset:0;z-index:55;background:var(--vino);color:var(--paper);
  display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);
  opacity:0;pointer-events:none;transition:opacity .4s var(--ease-quart);}
.mnav.is-open{opacity:1;pointer-events:auto;}
.mnav a{font-family:var(--f-disp);font-weight:500;font-size:clamp(2.4rem,9vw,4rem);line-height:1.18;letter-spacing:-.02em;}
.mnav .mono{color:var(--peach);margin-bottom:24px;}
.mnav-foot{position:absolute;bottom:32px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;color:color-mix(in srgb,var(--paper) 60%,transparent);}
body.menu-open{overflow:hidden;}
body.menu-open .nav-burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
body.menu-open .nav-burger span:nth-child(2){opacity:0;}
body.menu-open .nav-burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
body.menu-open .nav{color:var(--paper);background:transparent;box-shadow:none;backdrop-filter:none;}
body.menu-open .nav .wm-light{display:none;}
body.menu-open .nav .wm-dark{display:block;}


.btn{display:inline-flex;align-items:center;gap:12px;
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;
  background:var(--accent);color:var(--paper);padding:16px 26px;border-radius:var(--radius-control);
  transition:transform var(--ui-fast) var(--ease-quart),background var(--ui-fast);}
.btn:hover{background:color-mix(in srgb,var(--accent) 88%,var(--vino));}
.btn:active{transform:scale(.98);}
.btn-line{display:inline-flex;align-items:center;gap:12px;
  font-family:var(--f-mono);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;
  border:1px solid var(--hair);padding:15px 24px;border-radius:var(--radius-control);
  transition:border-color var(--ui-fast),background var(--ui-fast),color var(--ui-fast);}
.btn-line:hover{border-color:var(--accent);color:var(--accent);}
.dark .btn-line{border-color:var(--hair-l);}
.dark .btn-line:hover{border-color:var(--peach);color:var(--peach);}

.cta{position:relative;display:inline-block;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;padding-bottom:7px;}
.cta::before,.cta::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;}
.cta::before{background:var(--hair);}
.cta::after{background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-exp);}
.cta:hover::after{transform:scaleX(1);}
.dark .cta::before{background:var(--hair-l);}
.dark .cta::after{background:var(--peach);}


.ticker{overflow:hidden;border-block:1px solid var(--hair);padding-block:18px;}
.ticker-track{display:flex;width:max-content;gap:0;animation:tick 36s linear infinite;}
.ticker span{font-family:var(--f-nine);font-size:clamp(1rem,1.6vw,1.4rem);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding-right:18px;}
.ticker i{font-style:normal;color:var(--accent);padding-right:18px;}
@keyframes tick{to{transform:translateX(-50%);}}


html.js [data-reveal]{opacity:0;transform:translateY(26px);}
html.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity .7s var(--ease-exp),transform .7s var(--ease-exp);}

html.js .line-mask{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em;}
html.js .line-mask>.line-in{display:block;transform:translateY(130%);}
html.js .lines-in .line-mask>.line-in{transform:none;transition:transform .9s var(--ease-exp);}
html.js .lines-in .line-mask:nth-child(2)>.line-in{transition-delay:.08s;}
html.js .lines-in .line-mask:nth-child(3)>.line-in{transition-delay:.16s;}
html.js .lines-in .line-mask:nth-child(4)>.line-in{transition-delay:.24s;}


.hero{position:relative;}
.hero-track{height:420vh;}
.hero-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--vino);}
.hero-stage canvas{position:absolute;inset:0;width:100%;height:100%;}
.hero-stage .hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--vino) 34%,transparent) 0%,transparent 34%,transparent 58%,color-mix(in srgb,var(--vino) 52%,transparent) 100%);}
.hero-beats{position:absolute;inset:0;}
.hero-beat{position:absolute;inset:0;display:flex;align-items:flex-end;padding:0 var(--gutter) clamp(72px,12vh,140px);color:var(--paper);opacity:0;}
.hero-beat .inner{max-width:1280px;margin-inline:auto;width:100%;}
.hero-beat .mono{color:var(--peach);display:block;margin-bottom:18px;}
.hero-beat h1,.hero-beat .bigline{text-shadow:0 1px 30px color-mix(in srgb,var(--vino) 45%,transparent);}
.hero-beat .lead{max-width:44ch;}
.hero-dots{position:absolute;right:var(--gutter);bottom:clamp(72px,12vh,140px);display:flex;flex-direction:column;gap:14px;color:var(--paper);}
.hero-dots span{font-family:var(--f-nine);font-size:.85rem;opacity:.38;transition:opacity .3s;}
.hero-dots span.is-on{opacity:1;color:var(--peach);}
.hero-scrollcue{position:absolute;left:var(--gutter);bottom:26px;color:color-mix(in srgb,var(--paper) 72%,transparent);display:flex;align-items:center;gap:10px;}
.hero-scrollcue::after{content:"";width:44px;height:1px;background:var(--paper);opacity:.5;animation:cue 2.2s var(--ease-exp) infinite;}
@keyframes cue{0%{transform:scaleX(.2);transform-origin:left;}55%{transform:scaleX(1);}100%{transform:scaleX(.2);transform-origin:left;}}

.hero-static{position:relative;min-height:100svh;display:none;align-items:flex-end;background:var(--vino);}
.hero-static video,.hero-static img.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-static .hero-scrim{z-index:1;}
.hero-static .inner{position:relative;z-index:2;padding:0 var(--gutter) 96px;color:var(--paper);max-width:1280px;margin-inline:auto;width:100%;}
.hero-static .mono{color:var(--peach);display:block;margin-bottom:16px;}
html.hero-fallback .hero-track{display:none;}
html.hero-fallback .hero-static{display:flex;}


.fmt-card{position:relative;display:block;}
.fmt-card figure{overflow:hidden;}
.fmt-card img{transition:transform 1s var(--ease-exp);}
.fmt-card:hover img{transform:scale(1.035);}
.fmt-num{font-family:var(--f-nine);font-size:1rem;color:var(--accent);}
.fmt-meta{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--hair);padding-top:14px;margin-top:18px;}


.svc{border-top:1px solid var(--hair);padding-block:clamp(48px,7vh,96px);position:relative;}
.svc .kv{display:grid;grid-template-columns:110px 1fr;gap:10px 22px;margin-top:26px;}
.svc .kv dt{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:3px;}
.svc .kv dd{font-size:1rem;}
.svc-list{margin-top:22px;display:grid;gap:10px;}
.svc-list li{position:relative;padding-left:20px;font-size:1rem;}
.svc-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--accent);}


.mod{border-top:1px solid var(--hair-l);padding-block:34px;display:grid;grid-template-columns:minmax(60px,110px) 1fr;gap:24px;align-items:start;}
.mod .mnum{font-family:var(--f-nine);font-size:clamp(2rem,4vw,3.4rem);color:var(--peach);line-height:1;}
.mod p{color:color-mix(in srgb,var(--paper) 78%,transparent);max-width:56ch;}
.mod .tag{color:var(--peach);}


.rep{border-top:1px solid var(--hair);padding-top:22px;}
.rep h3{margin-bottom:10px;}


.footer{background:var(--vino);color:var(--paper);padding:clamp(72px,10vh,120px) 0 40px;}
.footer .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(32px,5vw,80px);align-items:start;}
.footer .wm{width:min(300px,60vw);height:auto;}
.footer .mono{color:color-mix(in srgb,var(--paper) 55%,transparent);}
.footer ul{display:grid;gap:12px;margin-top:18px;}
.footer .fbot{margin-top:clamp(48px,7vh,80px);padding-top:24px;border-top:1px solid var(--hair-l);
  display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;color:color-mix(in srgb,var(--paper) 52%,transparent);
  font-family:var(--f-mono);font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;}
.footer a:hover{color:var(--peach);}


.phero{padding-top:calc(var(--navh) + clamp(56px,9vh,120px));padding-bottom:clamp(48px,7vh,96px);}
.phero .h1{max-width:12ch;}


.maillink{font-family:var(--f-disp);font-weight:500;
  font-size:clamp(1.8rem,.95rem + 4.15vw,4.6rem);letter-spacing:-.025em;line-height:1.08;
  position:relative;display:inline-block;padding-bottom:10px;}
.maillink::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent);
  transform:scaleX(.18);transform-origin:left;transition:transform .5s var(--ease-exp);}
.maillink:hover::after{transform:scaleX(1);}



.addons{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);}
.addon{display:flex;flex-direction:column;gap:14px;
  border:1px solid var(--hair);border-radius:var(--radius-control);
  padding:clamp(26px,3vw,40px);
  background:color-mix(in srgb,var(--paper-d) 50%,transparent);}
.addon .addon-plus{font-family:var(--f-mono);font-size:1.35rem;line-height:1;color:var(--accent);}
.addon h3{max-width:18ch;}
.addon p{max-width:40ch;}
.addon .addon-tag{margin-top:auto;padding-top:18px;border-top:1px solid var(--hair);
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}


@media (max-width:1080px){
  .grid3{grid-template-columns:1fr 1fr;}
}
@media (max-width:820px){
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .grid2{grid-template-columns:1fr;}
  .grid3{grid-template-columns:1fr;}
  figure.bleed-l,figure.bleed-r{margin-inline:calc(-1*var(--gutter));}
  .svc .kv{grid-template-columns:92px 1fr;}
  .mod{grid-template-columns:1fr;gap:10px;}
  .addons{grid-template-columns:1fr;}
  .footer .fgrid{grid-template-columns:1fr;}
  .hero-dots{display:none;}
}
@media (max-width:620px){
  :root{--navh:68px;}
  .nav-brand img{height:34px;}
  .lead{max-width:none;}
}


html.qa [data-reveal]{opacity:1 !important;transform:none !important;}
html.qa .clipfig{clip-path:none !important;}
html.qa .ticker-track{animation-play-state:paused;}
html.qa-y .nav,html.qa-y .hero-scrollcue{display:none;}
html.qa-y .plx img{transform:none !important;scale:1 !important;}


@media (prefers-reduced-motion:reduce){
  html.js [data-reveal]{opacity:1;transform:none;}
  html.js .line-mask>.line-in{transform:none;}
  html.js .clipfig{clip-path:none;}
  .ticker-track{animation:none;}
  .hero-scrollcue::after{animation:none;}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
}
