/* Northspire Solutions Ltd. - design tokens (source of intent: docs/brand.md). Every other stylesheet uses only these variables. */
@layer reset, base, layout, components, pages;

@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/bodoni-moda-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 900;font-display:swap;src:url(../fonts/bodoni-moda-italic-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/schibsted-grotesk-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Martian Mono";font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url(../fonts/martian-mono-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* metric-adjusted fallbacks limit layout shift while the web fonts swap in */
@font-face{font-family:"Bodoni fallback";src:local("Georgia"),local("Times New Roman");size-adjust:96%;ascent-override:94%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Schibsted fallback";src:local("Arial"),local("Helvetica");size-adjust:101%;ascent-override:94%;descent-override:24%;line-gap-override:0%}

@property --geode-angle{syntax:"<angle>";inherits:false;initial-value:0deg}

:root{
  --porcelain:#F6F4F8; --haze:#EAE5F3; --paper:#FFFFFF; --platinum:#CAC7D1;
  --basalt-950:#121016; --basalt-900:#1C1A23; --basalt-800:#2B2834;
  --uv:#7021DE; --uv-deep:#531CA0; --iris:#C194FF; --lilac:#E4D1FF; --ice:#CCD9FF;
  --ink:#16131D; --ink-2:#565068; --text:#F5F4F8; --text-2:#BCB7C8;
  --ok:#16704A; --ok-dark:#8FE3B8; --err:#B3261E; --err-dark:#FFAFA6;
  --line:rgb(22 19 29 / .14); --line-strong:rgb(22 19 29 / .32); --line-dark:rgb(245 244 248 / .16);

  --grad-prism:linear-gradient(115deg,#531CA0 0%,#7021DE 34%,#C194FF 68%,#CCD9FF 100%);
  --grad-geode:conic-gradient(from var(--geode-angle),#531CA0,#7021DE,#C194FF,#CCD9FF,#C194FF,#7021DE,#531CA0);
  --grad-platinum:linear-gradient(180deg,#F4F3F7,#CAC7D1 48%,#A9A5B6 52%,#E7E5EC);

  --radius:0; --tick:10px; --shadow-lift:0 18px 40px -24px rgb(22 19 29 / .35);
  --font-display:"Bodoni Moda","Bodoni fallback",Georgia,serif;
  --font-text:"Schibsted Grotesk","Schibsted fallback",Arial,sans-serif;
  --font-mono:"Martian Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);

  /* type scale x1.414, fluid 360 -> 1920 */
  --step--1:clamp(.8125rem,.79rem + .1vw,.875rem);
  --step-0:clamp(1rem,.97rem + .14vw,1.0625rem);
  --step-1:clamp(1.25rem,1.15rem + .45vw,1.5rem);
  --step-2:clamp(1.6rem,1.38rem + .95vw,2.125rem);
  --step-3:clamp(2rem,1.6rem + 1.8vw,3rem);
  --step-4:clamp(2.5rem,1.85rem + 3vw,4.25rem);
  --step-5:clamp(3rem,2rem + 4.6vw,6rem);
  --step-6:clamp(3.25rem,1.9rem + 6.4vw,8.5rem);

  /* spacing (4/8 base) */
  --s-1:.25rem; --s-2:.5rem; --s-3:.75rem; --s-4:1rem; --s-5:1.5rem; --s-6:2rem; --s-7:3rem; --s-8:4rem; --s-9:6rem;
  --sec:clamp(4rem,2.5rem + 6vw,9rem);
  --gut:16px; --hd:56px;

  /* ground-dependent roles (overridden by .g-dark) */
  --fg:var(--ink); --fg2:var(--ink-2); --rule:var(--line); --accent:var(--uv); --ground:var(--porcelain);
}
@media (min-width:768px){:root{--gut:24px;--hd:64px}}
@media (min-width:1280px){:root{--gut:32px}}
