/* Dire Studios design system */
@font-face{font-family:'Display';src:url('https://fonts.gstatic.com/s/plusjakartasans/v8/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU79PCA.woff2') format('woff2');font-weight:300 800;font-display:swap;}
:root{
  --bg:#FCFBF9; --tan:#F4F0E8; --tan2:#E9E2D2;
  --ink:#0C0B0A; --ink2:#3E3A33; --mid:#7A7266;
  --ox:#7C2B22; --oxl:#C9776A;
  --line:#E4DFD3; --dline:rgba(255,255,255,.12); --dmid:#9A9289; --dtxt:#EFEBE4;
  --wrap:1240px; --pad:48px; --r:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter','Inter Fallback',system-ui,sans-serif;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.5;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E")}
h1,h2,h3,h4,.d{font-family:'Plus Jakarta Sans','Display',system-ui,sans-serif;font-weight:700;letter-spacing:-.03em}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
/* nav */
nav{position:sticky;top:0;z-index:40;background:rgba(252,251,249,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nin{max-width:var(--wrap);margin:0 auto;padding:15px var(--pad);display:flex;align-items:center;justify-content:space-between}
.brand{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:18px;letter-spacing:-.03em}
.brand i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ox);margin-right:9px;vertical-align:middle}
.nl{display:flex;gap:26px;font-size:14px;color:var(--mid)}
.nl a:hover{color:var(--ink)} .nl a.on{color:var(--ink);font-weight:600}
.ncta{background:var(--ink);color:#fff;font-size:13.5px;font-weight:600;padding:10px 18px;border-radius:9px;transition:transform .3s,box-shadow .3s}
.ncta:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(12,11,10,.22)}
.burger{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}
.burger span{width:16px;height:1.5px;background:var(--ink);display:block}
.sheet{display:none;border-bottom:1px solid var(--line);background:var(--bg)}
.sheet.open{display:block}
.sheet a{display:block;padding:14px var(--pad);border-top:1px solid var(--line);font-size:15px}
/* buttons */
.btn{font-size:14.5px;font-weight:600;padding:15px 28px;border-radius:10px;display:inline-block;transition:transform .35s cubic-bezier(.22,.8,.26,1),box-shadow .35s,background .3s,color .3s}
.b-ink{background:var(--ink);color:#fff;box-shadow:0 8px 20px rgba(12,11,10,.18)}
.b-ink:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(12,11,10,.28)}
.b-light{background:#fff;color:var(--ink);border:1px solid var(--line)}
.b-light:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(12,11,10,.10)}
.b-ghost{background:rgba(255,255,255,.06);color:var(--dtxt);border:1px solid var(--dline)}
.b-ghost:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}
.b-white{background:#fff;color:var(--ink);box-shadow:0 10px 26px rgba(0,0,0,.4)}
.b-white:hover{transform:translateY(-2px)}
/* hero, dark with aurora */
.hero{background:linear-gradient(180deg,#141210 0%,#0C0B0A 60%,#0C0B0A 100%);border-bottom:1px solid var(--dline);position:relative;overflow:hidden;color:var(--dtxt)}
.hero .aura{position:absolute;inset:-25% -10%;z-index:0;pointer-events:none;filter:blur(84px);opacity:.52}
.hero .aura span{position:absolute;display:block;border-radius:50%;mix-blend-mode:screen}
.a1{width:58vw;height:38vw;left:4%;top:6%;background:radial-gradient(circle at 40% 40%,rgba(150,44,34,.52),rgba(124,43,34,.16) 45%,transparent 70%);animation:d1 26s ease-in-out infinite alternate}
.a2{width:46vw;height:34vw;right:2%;top:22%;background:radial-gradient(circle at 60% 40%,rgba(193,86,66,.34),rgba(124,43,34,.12) 48%,transparent 72%);animation:d2 32s ease-in-out infinite alternate}
.a3{width:40vw;height:26vw;left:26%;bottom:-8%;background:radial-gradient(circle at 50% 50%,rgba(94,28,22,.46),transparent 68%);animation:d3 38s ease-in-out infinite alternate}
@keyframes d1{100%{transform:translate3d(6%,4%,0) scale(1.12)}}
@keyframes d2{0%{transform:scale(1.05)}100%{transform:translate3d(-7%,5%,0) scale(.95)}}
@keyframes d3{0%{transform:scale(.95)}100%{transform:translate3d(5%,-6%,0) scale(1.15)}}
.hero .swirl{position:absolute;inset:-40% -20%;z-index:0;pointer-events:none;opacity:.16;
 background:conic-gradient(from 210deg at 50% 45%,rgba(124,43,34,0) 0deg,rgba(168,58,44,.30) 70deg,rgba(124,43,34,0) 150deg,rgba(201,119,106,.18) 240deg,rgba(124,43,34,0) 330deg);
 filter:blur(90px);animation:spin 70s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero .vign{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(115% 88% at 50% 38%,transparent 34%,rgba(8,7,6,.86) 100%)}
.hero .inr{position:relative;z-index:2;text-align:center;padding:76px 0 74px}
.hero h1{font-size:clamp(38px,6.2vw,88px);line-height:.99;font-weight:800;letter-spacing:-.042em;max-width:16ch;margin:0 auto;color:#fff}
.hero h1 span{color:var(--oxl)}
.eyebrow{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--oxl);margin-bottom:18px}
.hero .lede{font-size:18.5px;color:#C6BFB5;max-width:56ch;margin:22px auto 0}
.hero .acts{display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.strip{border-top:1px solid var(--dline);background:rgba(255,255,255,.04);position:relative;z-index:2}
.strip .inr{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
.scell{padding:18px 16px;position:relative;font-size:14.5px;color:var(--dmid)}
.scell+.scell:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--dline)}
.scell b{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;color:#fff;letter-spacing:-.02em}
/* sections */
section.pad{padding:86px 0}
.tan{background:var(--tan);position:relative}
.tan:before,.tan:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--tan2) 18%,var(--tan2) 82%,transparent)}
.tan:before{top:-1px} .tan:after{bottom:-1px}
.dark{background:var(--ink);color:var(--dtxt);position:relative;overflow:hidden}
.dark:before{content:"";position:absolute;inset:0;background:radial-gradient(760px 320px at 50% 0%,rgba(124,43,34,.30),transparent 70%);pointer-events:none}
.dark>*{position:relative;z-index:1}
.dark h2{color:#fff} .dark .eyebrow{color:var(--oxl)} .dark p{color:#B4ACA3}
.shead{text-align:center;max-width:none;margin-bottom:34px}
.shead h2{font-size:clamp(30px,3.6vw,44px);line-height:1.06;max-width:20ch;margin:0 auto}
.shead h2 em{font-style:normal;color:var(--ox)}
.dark .shead h2 em{color:var(--oxl)}
.shead p{color:var(--ink2);max-width:52ch;margin:14px auto 0;font-size:16.5px}
.dark .shead p,.dark .shead .lede{color:#B4ACA3}
/* numbered flow */
.flow{display:grid;grid-template-columns:repeat(4,1fr);position:relative;margin-top:46px}
.flow:before{content:"";position:absolute;left:12%;right:12%;top:27px;height:1px;background:var(--tan2)}
.fs{text-align:center;padding:0 22px;position:relative}
.fsn{width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid var(--tan2);display:grid;place-items:center;margin:0 auto 20px;
 font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:16px;color:var(--ox);position:relative;z-index:1;box-shadow:0 6px 16px rgba(12,11,10,.06);
 transition:transform .5s cubic-bezier(.22,.8,.26,1),background .4s,color .4s,border-color .4s}
.fs:hover .fsn{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-3px) scale(1.04)}
.fs h3{font-size:20px;margin-bottom:8px}
.fs p{font-size:15px;color:var(--ink2);max-width:26ch;margin:0 auto}
/* ledger rows */
.rows{margin-top:40px;border-top:1px solid var(--line)}
.dark .rows{border-color:var(--dline)}
.row{display:grid;grid-template-columns:70px 300px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.dark .row{border-color:var(--dline)}
.row .n{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:14px;color:var(--ox)}
.dark .row .n{color:var(--oxl)}
.row h3{font-size:21px} .row p{color:var(--ink2);font-size:15.5px;max-width:70ch}
.dark .row p{color:#B4ACA3}
/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;box-shadow:0 1px 2px rgba(12,11,10,.04),0 14px 30px rgba(12,11,10,.05);
 transition:transform .45s cubic-bezier(.22,.8,.26,1),box-shadow .45s}
.card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(12,11,10,.05),0 28px 56px rgba(12,11,10,.11)}
.card h3{font-size:20px;margin-bottom:9px} .card p{color:var(--ink2);font-size:15px}
.card .k{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ox);margin-bottom:12px}
/* figures */
.figs{display:grid;grid-template-columns:repeat(4,1fr);margin-top:52px;max-width:1120px;margin-left:auto;margin-right:auto;border-top:1px solid var(--dline);align-items:start;text-align:left}
.fig{padding:32px 28px 6px;position:relative;display:flex;flex-direction:column;gap:13px}
.fig+.fig:before{content:"";position:absolute;left:0;top:26px;bottom:6px;width:1px;background:var(--dline)}
.fv{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:800;font-size:clamp(37px,4.76vw,68px);letter-spacing:-.055em;line-height:.92;
 background:linear-gradient(180deg,#fff,#C9776A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.fk{font-size:14.5px;line-height:1.45;color:#B4ACA3;max-width:22ch}
/* closer */
.closer{position:relative;overflow:hidden;background:linear-gradient(165deg,#1C1A17,#0C0B0A);border-radius:24px;padding:66px 54px;display:flex;justify-content:space-between;align-items:center;gap:40px;color:#fff}
.closer:before{content:"";position:absolute;inset:0;background:radial-gradient(640px 260px at 18% 0%,rgba(124,43,34,.38),transparent 70%)}
.closer>*{position:relative;z-index:1}
.closer h2{font-size:clamp(28px,3.2vw,40px);line-height:1.06} .closer h2 span{color:var(--oxl)}
.closer p{color:#B9B2A6;margin-top:12px;max-width:42ch}
footer{padding:36px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;color:var(--mid);gap:20px;flex-wrap:wrap}
/* reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.22,.8,.26,1),transform .9s cubic-bezier(.22,.8,.26,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s} .rv.d2{transition-delay:.16s} .rv.d3{transition-delay:.24s} .rv.d4{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none} .a1,.a2,.a3,.swirl{animation:none}}
@media (max-width:980px){
  .flow{grid-template-columns:repeat(2,1fr);gap:34px 0} .flow:before{display:none}
  .cards{grid-template-columns:1fr 1fr} .figs{grid-template-columns:repeat(2,1fr)}
  .row{grid-template-columns:44px 1fr;gap:16px} .row h3{grid-column:2} .row p{grid-column:2}
}
@media (max-width:760px){
  :root{--pad:24px}
  .nl{display:none} .burger{display:flex}
  .cards,.flow,.figs,.strip .inr{grid-template-columns:1fr}
  .scell+.scell:before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}
  .closer{flex-direction:column;align-items:flex-start;padding:44px 28px}
  section.pad{padding:64px 0}
}
