/* Airlock Digital page system — tokens from brand/airlock.tokens.json. Light theme only. */
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-700.woff2) format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(fonts/PlusJakartaSans-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
:root{
  --navy:#151858; --mid:#1C207E; --blue:#396CE3; --lblue:#92B3FF; --sky:#E8F3FF; --white:#FFFFFF;
  --signal:#1385FF; --signal-lite:#37C0FF; --ink:#061627;
  --grey:#6B6B6B; --grey-l:#B2B2B2; --grey-xl:#E6E6E6;
  --orange:#EC7E00; --orange-bg:#FFF4E6; --red:#FF3539; --red-lite:#FF6060;
  --line:#E3E8F7; --ink-2:#4A5470;
  --ground-dark:linear-gradient(135deg,#1C207E,#151858);
  --ground-light:linear-gradient(180deg,#FFFFFF,#E8F3FF);
  --shadow:0 11px 22px rgba(21,23,86,.12);
  --r:16px; --r-img:12px;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* Airlock spacing scale — use these only */
  --s4:4px; --s8:8px; --s16:16px; --s24:24px; --s32:32px; --s40:40px; --s80:80px; --s104:104px; --s160:160px;

  /* Layout rhythm */
  --max:1280px;                                     /* content column on reading pages */
  --gut:max(var(--s40),calc((100% - var(--max)) / 2));
  --sec:var(--s80);                                 /* space between major sections */
  --head-gap:var(--s32);                            /* heading block → content */
  --card-pad:var(--s32);
  --card-gap:var(--s32);
  --stack:var(--s24);                               /* blocks inside a card */
  --measure:68ch;
  color-scheme:light;
}
@media (max-width:900px){:root{--gut:var(--s24);--sec:48px;--card-pad:var(--s24);--card-gap:var(--s24)}}
@media (max-width:600px){:root{--gut:var(--s16)}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:28px;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
i,em,cite,dfn,address,var{font-style:normal}
h1,h2,h3{font-weight:800;letter-spacing:-.015em;color:var(--navy);text-wrap:balance;margin:0;line-height:1.15}
p,li{text-wrap:pretty}
a{color:var(--signal);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,summary:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:8px}
img{max-width:100%}

/* Type scale */
.eyebrow{display:block;font-size:12px;line-height:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--signal)}
.sec-title{font-size:36px;line-height:44px;font-weight:800}
.card-title{font-size:26px;line-height:32px;font-weight:800}
.secondary{font-size:15px;line-height:24px;color:var(--ink-2)}
@media (max-width:600px){.sec-title{font-size:30px;line-height:40px}.card-title{font-size:22px;line-height:28px}}

/* Masthead — navy gradient, white logo, eyebrow, title, subtitle */
.mast{background:var(--ground-dark);color:var(--white);padding:var(--s40) var(--gut) var(--s80)}
.mast .logo{display:block;width:132px;height:auto;margin-bottom:var(--s80)}
.mast .eyebrow{color:var(--signal-lite)}
.mast h1{color:var(--white);font-size:clamp(44px,5vw,72px);line-height:1.04;letter-spacing:-.02em;margin-top:var(--s16);max-width:18ch}
.mast h1 .hl{color:var(--signal-lite)}
.mast .sub{margin:var(--s24) 0 0;max-width:var(--measure);font-size:18px;line-height:28px;color:#DCE6FF;font-weight:500}
@media (max-width:900px){.mast{padding-bottom:56px}.mast .logo{margin-bottom:var(--s40)}}
@media (max-width:600px){.mast h1{font-size:40px}}

/* Heading block: eyebrow, title, one-line intro — then 32px to content */
.head{display:grid;gap:var(--s8);margin-bottom:var(--head-gap);max-width:var(--measure)}
.head h2{font-size:36px;line-height:44px}
.head .intro{margin:var(--s8) 0 0;font-size:17px;line-height:28px;color:var(--ink-2)}
@media (max-width:600px){.head h2{font-size:30px;line-height:40px}}

/* Bands */
.band{padding:var(--sec) var(--gut)}
.band.sky{background:var(--ground-light)}

/* Card */
.panel{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);padding:var(--card-pad);min-width:0}

/* Chips */
.chiprow{display:flex;flex-wrap:wrap;gap:var(--s8);margin:0;padding:0;list-style:none}
.chiprow li{padding:var(--s8) 14px;border-radius:999px;background:var(--sky);color:var(--navy);font-size:14px;line-height:18px;font-weight:500}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
