/* Esencore — shared chrome for policy pages. Tokens mirror index.html. */
:root{
  color-scheme: dark;
  --void:#040608; --ink:#080B0E; --ink-2:#0B0F13;
  --chrome:#EEF3F6; --dim:#9AA5AD; --faint:#78838B;
  --line:rgba(238,243,246,.10); --line-2:rgba(238,243,246,.22);
  --accent:#4FC3DC; --accent-2:#7FD9EC; --accent-dim:#2E7488;
  --display:'Archivo','Helvetica Neue',Helvetica,Arial,sans-serif;
  --body:'Manrope','Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --gutter:clamp(22px,5vw,72px); --maxw:820px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--ink); color:var(--chrome);
  font-family:var(--body); font-size:1.0625rem; line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--chrome); text-decoration:none; border-bottom:1px solid var(--line-2); }
a:hover{ border-bottom-color:var(--chrome); }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }

.top{ border-bottom:1px solid var(--line); padding-block:1.5rem; }
.top .wrap{ max-width:1320px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand{ display:flex; flex-direction:column; gap:.34rem; border:0; }
.brand b{ font-family:var(--display); font-weight:500; font-size:1.0625rem;
  letter-spacing:.26em; text-transform:uppercase; line-height:1; }
.brand i{ font-style:normal; font-family:var(--mono); font-size:.625rem;
  letter-spacing:.26em; text-transform:uppercase; color:var(--faint); line-height:1; }
.back{ font-family:var(--mono); font-size:.6875rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--dim); border:0; }
.back:hover{ color:var(--chrome); border:0; }

main{ padding-block:clamp(3.5rem,8vw,7rem) clamp(4rem,9vw,8rem); }
.eyebrow{ font-family:var(--mono); font-size:.6875rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--faint);
  display:inline-flex; align-items:center; gap:.85rem; line-height:1; }
.eyebrow::before{ content:""; width:20px; height:1px; background:var(--accent-dim); }
h1{ font-family:var(--display); font-weight:500; margin:1.6rem 0 0;
  font-size:clamp(2rem,5vw,3rem); line-height:1.02; letter-spacing:-.032em; text-transform:uppercase; }
.meta{ margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line);
  font-family:var(--mono); font-size:.625rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--faint); line-height:2; }
h2{ font-family:var(--display); font-weight:500; font-size:1.25rem;
  letter-spacing:.02em; text-transform:uppercase; line-height:1.3;
  margin:clamp(2.75rem,5vw,3.75rem) 0 1rem; padding-top:1.5rem; border-top:1px solid var(--line); }
p{ margin:0 0 1.15rem; color:var(--dim); }
ul{ margin:0 0 1.15rem; padding-left:1.15rem; color:var(--dim); }
li{ margin-bottom:.5rem; }
strong{ color:var(--chrome); font-weight:600; }
.fill{ color:var(--accent); font-family:var(--mono); font-size:.9em;
  background:rgba(79,195,220,.08); padding:.1em .4em; border-radius:2px; }
.foot{ border-top:1px solid var(--line); padding-block:2.25rem; }
.foot .wrap{ max-width:1320px; display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between;
  font-family:var(--mono); font-size:.625rem; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); }
.foot a{ color:var(--faint); border:0; }
.foot a:hover{ color:var(--chrome); }
.foot nav{ display:flex; gap:1.5rem; flex-wrap:wrap; }
