/* Firebuild Studio — "White heat" brand system (from the July 2026 design).
   Fire at its hottest burns blue-white. One accent, used sparingly. Dark only, by design. */

@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-400.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-400-italic.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:300 600;font-display:swap;src:url(fonts/inter-var.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/plex-mono-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plex-mono-500.woff2) format("woff2")}

:root{
  color-scheme:dark;
  --carbon:#0A0B0E;
  --graphite:#14161A;
  --graphite-2:#1A1D22;
  --bone:#ECEAE4;
  --bone-2:#C9C7C0;
  --muted:#8A8F98;
  --flame:#2F81F7;
  --flame-hot:#9CCBFF;
  --hairline:rgba(236,234,228,.09);
  --hairline-2:rgba(236,234,228,.16);
  --display:"Instrument Serif",ui-serif,Georgia,"Times New Roman",serif;
  --sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --wrap:1240px;
  --gutter:clamp(16px,4vw,40px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--carbon);color:var(--bone);font-family:var(--sans);font-size:17px;line-height:1.65;
  font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--flame-hot);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--bone)}
:focus-visible{outline:2px solid var(--flame-hot);outline-offset:3px;border-radius:2px}
::selection{background:color-mix(in oklab,var(--flame) 40%,transparent);color:var(--bone)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--bone);color:var(--carbon);padding:8px 12px;z-index:100}
.skip:focus{left:8px}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}
.mono b{color:var(--bone-2);font-weight:500}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--carbon) 86%,transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:64px}
.mark{display:flex;align-items:center;gap:10px;color:var(--bone);text-decoration:none;font-family:var(--mono);
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;white-space:nowrap}
.mark svg{width:16px;height:22px;flex:none}
.mark small{color:var(--muted);font-weight:400;letter-spacing:.14em}
.top nav{display:flex;gap:26px;align-items:center}
.top nav a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:6px 0}
.top nav a:hover,.top nav a[aria-current="page"]{color:var(--bone)}
@media (max-width:640px){
  .top nav{gap:16px}
  .top nav .opt{display:none}
  .mark small{display:none}
}

/* ---------- heat line (signature) ---------- */
.heat{position:relative;height:1px;background:var(--hairline);overflow:hidden}
.heat::after{content:"";position:absolute;top:0;left:0;height:1px;width:40%;opacity:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--flame) 40%,transparent) 20%,var(--flame-hot) 50%,color-mix(in oklab,var(--flame) 40%,transparent) 80%,transparent 100%);
  box-shadow:0 0 8px var(--flame),0 0 24px color-mix(in oklab,var(--flame) 60%,transparent)}
.heat.lit::after{animation:ignite 1.4s cubic-bezier(.65,0,.35,1) forwards}
@keyframes ignite{0%{transform:translateX(-100%);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(260%);opacity:0}}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(72px,12vw,148px) 0 clamp(64px,9vw,112px);overflow:hidden}
.hero::before{content:"";position:absolute;inset:-20% -10% -30%;pointer-events:none;
  background:radial-gradient(55% 45% at 30% 85%,color-mix(in oklab,var(--flame) 9%,transparent) 0%,color-mix(in oklab,var(--flame) 3%,transparent) 45%,transparent 72%);filter:blur(40px)}
.hero .wrap{position:relative}
.tick{position:absolute;width:9px;height:9px;opacity:.22;pointer-events:none}
.tick::before,.tick::after{content:"";position:absolute;background:var(--bone)}
.tick::before{top:4px;left:0;right:0;height:1px}
.tick::after{left:4px;top:0;bottom:0;width:1px}
.hero .tick.a{top:-36px;left:var(--gutter)}
.hero .tick.b{top:-36px;right:var(--gutter)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.01em;text-wrap:balance;margin:0}
h1 em,h2 em{font-style:italic;color:var(--flame-hot)}
.hero h1{font-size:clamp(3rem,9.2vw,7.6rem);margin:28px 0 30px;max-width:13ch}
.lead{font-size:clamp(1.06rem,1.6vw,1.24rem);color:var(--bone-2);max-width:58ch;margin:0;font-weight:300;line-height:1.6}
.lead strong{color:var(--bone);font-weight:500}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;padding:15px 22px;border:1px solid var(--hairline-2);color:var(--bone);border-radius:2px;transition:border-color .2s,background .2s,color .2s}
.btn:hover{border-color:var(--bone-2);color:var(--bone)}
.btn.solid{background:var(--bone);color:var(--carbon);border-color:var(--bone)}
.btn.solid:hover{background:var(--flame-hot);border-color:var(--flame-hot);color:var(--carbon)}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}

/* ---------- sections ---------- */
.sec{padding:clamp(64px,9vw,120px) 0}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px 48px;align-items:start;margin-bottom:clamp(36px,5vw,56px)}
.sec-head h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.sec-head .mono{padding-top:14px}
@media (max-width:820px){.sec-head{grid-template-columns:1fr}.sec-head .mono{padding-top:0}}

/* brand card */
.brand{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border:1px solid var(--hairline-2);background:var(--graphite);border-radius:3px;overflow:hidden}
.brand-body{padding:clamp(26px,4vw,44px);display:flex;flex-direction:column;gap:18px}
.brand-body h3{font-size:clamp(2.4rem,4.4vw,3.4rem)}
.brand-body p{margin:0;color:var(--bone-2);max-width:52ch}
.status{display:inline-flex;align-items:center;gap:10px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--flame-hot);box-shadow:0 0 6px var(--flame),0 0 14px color-mix(in oklab,var(--flame) 60%,transparent)}
.brand-facts{margin:0;padding:clamp(26px,4vw,44px);border-left:1px solid var(--hairline);display:grid;align-content:center;gap:0;background:var(--graphite-2)}
.brand-facts div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--hairline)}
.brand-facts div:last-child{border-bottom:0}
.brand-facts dt{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.brand-facts dd{margin:0;color:var(--bone)}
.brand .btn{align-self:flex-start;margin-top:6px}
@media (max-width:820px){.brand{grid-template-columns:1fr}.brand-facts{border-left:0;border-top:1px solid var(--hairline)}}
.after-note{margin:22px 0 0;color:var(--muted);font-size:.95rem}

/* principles */
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hairline)}
.rule{padding:34px 32px 8px 0;position:relative}
.rule+.rule{padding-left:32px;border-left:1px solid var(--hairline)}
.rule h3{font-size:clamp(1.7rem,2.6vw,2.15rem);margin:16px 0 12px}
.rule p{margin:0;color:var(--bone-2);max-width:40ch}
@media (max-width:900px){
  .rules{grid-template-columns:1fr}
  .rule,.rule+.rule{padding:30px 0 22px;border-left:0}
  .rule+.rule{border-top:1px solid var(--hairline)}
}

/* founder note */
.letter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px 48px}
.letter blockquote{margin:0;font-family:var(--display);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.25;color:var(--bone);max-width:30ch}
.letter blockquote p{margin:0 0 .7em}
.letter blockquote em{color:var(--flame-hot)}
.sig{margin-top:26px}
.h-label{margin-top:8px;line-height:1.6}
@media (max-width:820px){.letter{grid-template-columns:1fr}}

/* contact */
.contact h2{font-size:clamp(3rem,8vw,6.4rem);margin-bottom:clamp(30px,4vw,48px)}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--hairline)}
.way{padding:28px 28px 26px 0;display:flex;flex-direction:column;gap:10px}
.way+.way{padding-left:28px;border-left:1px solid var(--hairline)}
.way a,.way span.v{font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--bone);text-decoration:none;word-break:break-word}
.way a:hover{color:var(--flame-hot)}
.way p{margin:0;color:var(--muted);font-size:.93rem}
@media (max-width:900px){.ways{grid-template-columns:1fr}.way,.way+.way{padding:24px 0;border-left:0}.way+.way{border-top:1px solid var(--hairline)}}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--hairline);padding:40px 0 48px;margin-top:clamp(32px,6vw,64px)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:flex-start}
.foot p{margin:0}
.foot .links{display:flex;flex-wrap:wrap;gap:10px 24px}
.foot .links a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none}
.foot .links a:hover{color:var(--bone)}

/* ---------- legal pages ---------- */
.doc-head{padding:clamp(56px,9vw,104px) 0 clamp(28px,4vw,44px)}
.doc-head h1{font-size:clamp(2.8rem,7vw,5.2rem);margin:22px 0 18px}
.doc{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:40px 64px;padding-top:clamp(36px,5vw,56px);padding-bottom:clamp(40px,6vw,80px)}
.toc{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:2px}
.toc a{font-size:.88rem;color:var(--muted);text-decoration:none;padding:5px 0;line-height:1.35}
.toc a:hover{color:var(--bone)}
.toc .mono{margin-bottom:10px}
.prose{max-width:68ch}
.prose h2{font-family:var(--display);font-size:clamp(1.7rem,2.6vw,2.1rem);margin:2.2em 0 .5em;scroll-margin-top:96px}
.prose h2:first-of-type{margin-top:0}
.prose h3{font-family:var(--sans);font-size:1rem;font-weight:600;margin:1.6em 0 .3em;letter-spacing:.005em;line-height:1.4}
.prose p,.prose li{color:var(--bone-2)}
.prose p{margin:.8em 0}
.prose ul{padding-left:1.15em;margin:.6em 0}
.prose li{margin:.45em 0}
.prose li::marker{color:var(--muted)}
.prose strong{color:var(--bone);font-weight:500}
.short{border:1px solid var(--hairline-2);background:var(--graphite);padding:26px 28px;border-radius:3px;margin:0 0 44px}
.short .mono{display:block;margin-bottom:10px}
.short ul{margin:0;padding-left:1.1em}
.short li{color:var(--bone);margin:.4em 0}
.providers{width:100%;border-collapse:collapse;margin:1em 0;font-size:.95rem}
.providers th,.providers td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;border-bottom:1px solid var(--hairline)}
.providers th{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}
.providers td{color:var(--bone-2)}
.providers td:first-child{color:var(--bone);white-space:nowrap}
.table-wrap{overflow-x:auto}
@media (max-width:860px){.doc{grid-template-columns:1fr}.toc{position:static;display:none}}

/* ---------- 404 ---------- */
.lost{min-height:62vh;display:flex;align-items:center}
.lost h1{font-size:clamp(3rem,9vw,6.4rem);margin:22px 0 22px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .heat::after{display:none}
}
.foot .mono+.mono{margin-top:8px}
