/* Webfonts for the exported site are self-hosted — see assets/css/fonts.css
   and assets/fonts/. The design system's original remote Google Fonts import was
   removed here so the export works offline. */
:root{
  /* --- ground: neutral near-black, no hue cast --- */
  --ink-950:#08090a;
  --ink-900:#0d0e10;
  --ink-850:#121316;
  --ink-800:#181a1d;
  --ink-750:#1f2125;
  --ink-700:#282b30;
  --ink-600:#3a3e45;
  --ink-500:#565b63;
  --ink-400:#7c828b;
  --ink-300:#a3a9b2;
  --ink-200:#c9ced5;
  --ink-100:#e6e9ed;
  --ink-050:#f4f5f7;
  --ink-000:#ffffff;

  /* --- copper: the one brand accent --- */
  --copper-100:#fbe6d5;
  --copper-200:#f4c9a6;
  --copper-300:#edaa77;
  --copper-400:#e6904f;
  --copper-500:#d9762e;
  --copper-600:#b65c1f;
  --copper-700:#8c4417;
  --copper-800:#5e2d10;
  --copper-900:#331907;

  /* --- signals: used for status only, never decoration --- */
  --signal-live:#ff4438;
  --signal-good:#5fb98b;
  --signal-warn:#e8b23c;

  /* --- semantic: surfaces --- */
  --surface-page:var(--ink-950);
  --surface-raised:var(--ink-900);
  --surface-card:var(--ink-850);
  --surface-card-hover:var(--ink-800);
  --surface-sunken:var(--ink-900);
  --surface-inverse:var(--ink-050);
  --surface-accent:var(--copper-500);
  --surface-accent-soft:#1a1109;
  --surface-accent-quiet:#231509;

  /* --- semantic: text --- */
  --text-primary:var(--ink-050);
  --text-secondary:var(--ink-300);
  --text-muted:var(--ink-400);
  --text-accent:var(--copper-300);
  --text-on-accent:var(--ink-950);
  --text-on-inverse:var(--ink-950);
  --text-link:var(--copper-300);
  --text-link-hover:var(--copper-200);

  /* --- semantic: lines --- */
  --border-hairline:var(--ink-700);
  --border-strong:var(--ink-600);
  --border-accent:var(--copper-700);
  --border-accent-strong:var(--copper-500);
  --rule-grid:#16181b;
}
:root{
  --font-display:"Anton",'Arial Narrow',sans-serif;
  --font-sans:"Manrope",system-ui,-apple-system,sans-serif;
  --font-mono:"DM Mono",ui-monospace,SFMono-Regular,monospace;

  /* fixed steps */
  --text-11:11px;
  --text-12:12px;
  --text-13:13px;
  --text-14:14px;
  --text-15:15px;
  --text-16:16px;
  --text-18:18px;
  --text-20:20px;
  --text-24:24px;
  --text-28:28px;
  --text-34:34px;
  --text-42:42px;
  --text-52:52px;
  --text-64:64px;
  --text-80:80px;

  /* fluid display steps */
  --display-hero:clamp(44px,7.4vw,92px); /* @kind font */
  --display-1:clamp(34px,4.6vw,58px); /* @kind font */
  --display-2:clamp(28px,3.2vw,42px); /* @kind font */
  --display-3:clamp(22px,2.2vw,28px); /* @kind font */

  --leading-display:0.92;
  --leading-tight:1.08;
  --leading-snug:1.3;
  --leading-body:1.62;
  --leading-loose:1.75;

  --tracking-display:-0.01em;
  --tracking-tight:-0.015em;
  --tracking-normal:0;
  --tracking-label:0.14em;
  --tracking-mono:0.02em;

  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;
  --weight-black:800;
}
:root{
  --space-1:2px;
  --space-2:4px;
  --space-3:6px;
  --space-4:8px;
  --space-5:12px;
  --space-6:16px;
  --space-7:20px;
  --space-8:24px;
  --space-9:32px;
  --space-10:40px;
  --space-11:48px;
  --space-12:64px;
  --space-13:80px;
  --space-14:96px;
  --space-15:120px;

  --gutter:clamp(20px,4vw,40px); /* @kind spacing */
  --section-y:clamp(56px,7vw,96px); /* @kind spacing */
  --section-y-lg:clamp(72px,9vw,120px); /* @kind spacing */
  --stack-card:20px;
}
:root{
  --radius-0:0px;
  --radius-2:2px;
  --radius-4:4px;
  --radius-8:8px;
  --radius-12:12px;
  --radius-16:16px;
  --radius-pill:999px;

  --radius-card:4px;
  --radius-control:4px;
  --radius-media:6px;

  /* signature notch: top-right corner cut off every panel */
  --notch:18px; /* @kind radius */
  --notch-sm:10px; /* @kind radius */
  --notch-lg:28px; /* @kind radius */

  --hairline:1px; /* @kind other */
}
:root{
  --elev-1:0 1px 2px rgba(0,0,0,.6);
  --elev-2:0 8px 24px -8px rgba(0,0,0,.7);
  --elev-3:0 24px 64px -24px rgba(0,0,0,.85);

  /* copper spotlight: the only "glow" in the system */
  --glow-copper:0 0 0 1px var(--copper-800),0 18px 60px -28px rgba(217,118,46,.55);
  --glow-copper-soft:0 24px 80px -40px rgba(217,118,46,.45);
  --glow-live:0 0 0 1px rgba(255,68,56,.4),0 0 24px -6px rgba(255,68,56,.35);

  --ring-focus:0 0 0 2px var(--surface-page),0 0 0 4px var(--copper-500);
}
:root{
  --ease-out:cubic-bezier(.2,.7,.3,1); /* @kind other */
  --ease-in-out:cubic-bezier(.5,0,.5,1); /* @kind other */
  --dur-fast:120ms; /* @kind other */
  --dur-base:200ms; /* @kind other */
  --dur-slow:480ms; /* @kind other */
  --dur-reveal:560ms; /* @kind other */
  --marquee-dur:46s; /* @kind other */
}
@keyframes ixm-marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
@keyframes ixm-pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes ixm-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
:root{
  --page-max:1280px; /* @kind spacing */
  --prose-max:720px; /* @kind spacing */
  --measure-lede:560px; /* @kind spacing */
  --header-h:68px; /* @kind spacing */
  --promo-h:40px; /* @kind spacing */
  --z-promo:40; /* @kind other */
  --z-header:50; /* @kind other */
  --z-overlay:80; /* @kind other */
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-16);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:var(--tracking-display);line-height:var(--leading-tight);margin:0}
p{margin:0}
:focus-visible{outline:none;box-shadow:var(--ring-focus)}
::selection{background:var(--copper-700);color:var(--ink-050)}

/* signature notched panel — cut the top-right corner */
.ixm-notch{clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,0 100%)}
.ixm-notch-sm{clip-path:polygon(0 0,calc(100% - var(--notch-sm)) 0,100% var(--notch-sm),100% 100%,0 100%)}
.ixm-notch-lg{clip-path:polygon(0 0,calc(100% - var(--notch-lg)) 0,100% var(--notch-lg),100% 100%,0 100%)}
/* hairline-bordered notched panel: outer = line colour, inner = surface */
.ixm-notch-frame{background:var(--border-hairline);padding:var(--hairline);clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,0 100%)}
.ixm-notch-frame>*{clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% var(--notch),100% 100%,0 100%)}

/* broadcast rule grid, used behind heroes only */
.ixm-rulegrid{background-image:repeating-linear-gradient(var(--rule-grid) 0 1px,transparent 1px 72px),repeating-linear-gradient(90deg,var(--rule-grid) 0 1px,transparent 1px 72px)}

.ixm-mono-label{font-family:var(--font-mono);font-size:var(--text-12);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-accent)}
.ixm-page{max-width:var(--page-max);margin:0 auto;padding-inline:var(--gutter)}
@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important;transition-duration:0s!important}}
