/* Gleipnir — getgleipnir.com */
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-wght-italic.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Schibsted Grotesk";src:url("fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --silk:#E8EBE6; --paper:#F5F6F2; --spruce:#0F2A24; --spruce-2:#183A32; --spruce-3:#24493F;
  --ink:#12201C; --muted:#4F5F59; --line:#C5CCC4;
  --thread:#B08A3C; --thread-lit:#D8B566;
  --ok:#2A7A52; --ok-lit:#86D6A8; --stop:#B03E2C; --stop-lit:#F29480;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --wrap:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--silk);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--thread);text-decoration-thickness:2px;text-underline-offset:.2em}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:3px solid var(--thread);outline-offset:3px;border-radius:2px}
h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}
ol,ul{padding:0;list-style:none}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
.skip{position:absolute;left:-999px;top:8px;background:var(--spruce);color:#fff;padding:8px 14px;z-index:10}
.skip:focus{left:8px}

/* header */
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:"Fraunces",var(--serif);font-size:1.12rem;font-weight:600;letter-spacing:.3em}
.brand img{width:30px;height:30px}
.nav{display:flex;gap:28px;font-size:.97rem}
.nav a{text-decoration:none}
.nav a:hover{text-decoration:underline;text-decoration-color:var(--thread)}
@media(max-width:720px){.nav a:not(.keep){display:none}}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:56px;align-items:start;padding-block:48px 40px}
.hero h1{font-family:var(--serif);font-weight:480;font-size:clamp(2.5rem,5.6vw,4.5rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance}
.hero .lede{margin-top:26px;font-size:1.2rem;line-height:1.55;max-width:33em;color:#26352F}
.actions{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:32px}
.btn{display:inline-block;background:var(--spruce);color:#F3F5F0;text-decoration:none;padding:13px 22px;border-radius:999px;font-weight:600;font-size:1rem;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--spruce-3)}
.status-line{margin-top:30px;font-size:.95rem;color:var(--muted);max-width:34em}
@media(max-width:940px){.hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-block:24px 32px}}

/* mandate check panel */
.check{background:var(--spruce);color:#E9EEE8;border-radius:14px;padding:26px 26px 22px;font-size:.95rem;position:relative}
.check-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px}
.check-head strong{font-family:var(--serif);font-weight:520;font-size:1.3rem;letter-spacing:-.01em}
.check-head span{font-size:.82rem;color:#A9B8B0}
.mandate{font-family:var(--mono);font-size:.82rem;line-height:1.5;border-block:1px solid var(--spruce-3);padding-block:12px;display:grid;grid-template-columns:auto 1fr;gap:3px 16px}
.mandate dt{color:#9DB0A6}
.mandate dd{color:#F1F4EE;overflow-wrap:anywhere}
.mandate dd.revoked{color:var(--stop-lit)}
.ask{margin-top:16px}
.ask p{color:#C3CFC8;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:.88rem;color:#E9EEE8;background:transparent;border:1px solid #47695E;border-radius:999px;padding:7px 13px;cursor:pointer}
.chip:hover{border-color:var(--thread-lit)}
.chip[aria-pressed="true"]{background:#E9EEE8;color:var(--spruce);border-color:#E9EEE8}
.chip.revoke[aria-pressed="true"]{background:var(--stop-lit);border-color:var(--stop-lit);color:#2A0E08}
.checks{margin-top:16px;font-family:var(--mono);font-size:.82rem;display:grid;gap:5px}
.checks li{display:grid;grid-template-columns:1.5em 1fr;gap:4px;color:#C3CFC8;transition:opacity .18s}
.checks li.wait{opacity:.28}
.checks li .mark{font-weight:500}
.checks li.pass .mark{color:var(--ok-lit)}
.checks li.fail{color:#FFE3DC}
.checks li.fail .mark{color:var(--stop-lit)}
.checks li.skipped{opacity:.4}
.verdict{margin-top:16px;padding:12px 14px;border-radius:8px;font-weight:600;min-height:3.3em;display:flex;flex-direction:column;justify-content:center;background:var(--spruce-2)}
.verdict small{display:block;font-weight:400;color:#C3CFC8;font-size:.86rem}
.verdict.pass{background:#17463A;box-shadow:inset 3px 0 0 var(--ok-lit)}
.verdict.fail{background:#3F211B;box-shadow:inset 3px 0 0 var(--stop-lit)}
.note{margin-top:12px;font-size:.8rem;color:#93A69C}

/* ribbon */
.ribbon{width:100%;height:auto;margin-block:8px 0}
.ribbon path{fill:none;stroke:var(--thread);stroke-width:1.5;stroke-linecap:round}
.ribbon path+path{opacity:.45}

/* sections */
.band{padding-block:84px}
.band.paper{background:var(--paper)}
.band.dark{background:var(--spruce);color:#E9EEE8}
.band h2{font-family:var(--serif);font-weight:480;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.02em;max-width:19em;text-wrap:balance}
.band .intro{margin-top:20px;max-width:39em;font-size:1.12rem}
.band.dark .intro{color:#CBD6CF}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;margin-top:48px}
@media(max-width:800px){.cols{grid-template-columns:minmax(0,1fr)}.band{padding-block:60px}}
.prose p+p{margin-top:1em}
.prose{max-width:36em}

.cases{border-top:1px solid var(--line)}
.cases li{padding-block:18px;border-bottom:1px solid var(--line)}
.cases h3{font-family:var(--serif);font-size:1.25rem;font-weight:560;line-height:1.25}
.cases p{margin-top:6px;color:var(--muted);font-size:.98rem}

.faq{margin-top:40px;max-width:46em}
.faq p{color:var(--ink);font-size:1.02rem}

/* five questions */
.questions{margin-top:48px;counter-reset:q;border-top:1px solid var(--spruce-3)}
.questions li{counter-increment:q;display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(0,1.25fr);gap:8px 28px;padding-block:20px;border-bottom:1px solid var(--spruce-3);align-items:baseline}
.questions li::before{content:counter(q);font-family:var(--serif);font-size:1.7rem;color:var(--thread-lit);line-height:1}
.questions h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;line-height:1.25}
.questions p{color:#C3CFC8;font-size:.98rem}
.questions li.ours h3{color:var(--thread-lit)}
@media(max-width:800px){.questions li{grid-template-columns:2.2rem 1fr}.questions p{grid-column:2}}

/* steps */
.steps{margin-top:48px;counter-reset:s;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:2px solid var(--thread)}
.steps li{counter-increment:s;padding:20px 20px 0 0;position:relative}
.steps li::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--thread)}
.steps h3{font-family:var(--serif);font-weight:560;font-size:1.22rem;line-height:1.2}
.steps h3::before{content:counter(s) ". ";color:var(--thread)}
.steps p{margin-top:8px;font-size:.95rem;color:var(--muted)}
@media(max-width:940px){.steps{grid-template-columns:minmax(0,1fr);border-top:0;border-left:2px solid var(--thread)}.steps li{padding:0 0 26px 24px}.steps li::before{top:6px;left:-7px}}

/* rule */
.rule{background:var(--spruce);color:#E3EAE4;font-family:var(--mono);font-size:.84rem;line-height:1.65;border-radius:12px;padding:22px 24px;overflow-x:auto;white-space:pre;tab-size:2}
.rule .c{color:#93A69C}.rule .k{color:var(--thread-lit)}
.rule-cap{margin-top:10px;font-size:.86rem;color:var(--muted)}

/* team */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px;margin-top:48px}
@media(max-width:800px){.team{grid-template-columns:minmax(0,1fr)}}
.person{display:block}
.person h3{font-family:var(--serif);font-weight:560;font-size:1.5rem;line-height:1.15}
.person .role{color:var(--muted);font-size:.98rem;margin-top:2px}
.person p.bio{margin-top:10px;font-size:1rem}

/* myth */
.myth{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px 64px;align-items:start}
.myth blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.35;max-width:22em}
.six{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin-top:22px;border-top:1px solid var(--line);font-size:.98rem}
.six li{padding-block:9px;border-bottom:1px solid var(--line)}
@media(max-width:800px){.myth{grid-template-columns:minmax(0,1fr)}}

/* contact */
.contact h2{max-width:16em}
.contact .mail{display:inline-block;margin-top:28px;font-family:var(--serif);font-size:clamp(1.3rem,3.4vw,2.2rem);color:#fff;text-decoration-color:var(--thread-lit);overflow-wrap:anywhere}
.asks{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
.asks h3{font-family:var(--serif);font-weight:520;font-size:1.2rem;color:var(--thread-lit)}
.asks p{margin-top:6px;color:#CBD6CF;font-size:.97rem}
@media(max-width:800px){.asks{grid-template-columns:minmax(0,1fr)}}

/* footer */
.foot{padding-block:36px 48px;font-size:.92rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:8px 22px}

/* plain pages (imprint, privacy) */
.doc{padding-block:40px 80px;max-width:42em}
.doc h1{font-family:var(--serif);font-weight:480;font-size:clamp(2.1rem,5vw,3.2rem);letter-spacing:-.02em;line-height:1.05}
.doc h2{font-family:var(--serif);font-weight:560;font-size:1.4rem;margin-top:36px}
.doc p,.doc ul{margin-top:12px}
.doc ul{list-style:disc;padding-left:1.2em}
.todo{background:#F4E3B5;padding:0 .3em;border-radius:3px}

/* error pages */
.err{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}
.err main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:56px;align-items:center;padding-block:32px 64px}
.err h1{font-family:var(--serif);font-weight:480;font-size:clamp(2.3rem,5.4vw,4.1rem);line-height:1.03;letter-spacing:-.025em;text-wrap:balance}
.err .lede{margin-top:22px;font-size:1.15rem;max-width:31em}
.err .code{font-family:var(--mono);font-size:.9rem;color:var(--muted);margin-bottom:18px}
@media(max-width:940px){.err main{grid-template-columns:minmax(0,1fr);gap:36px;align-items:start}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.check,.btn,.nav{display:none}body{background:#fff}}
