@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/quicksand-wght-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/quicksand-wght-500-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: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/quicksand-wght-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/quicksand-wght-600-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: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-sans-wght-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-sans-wght-400-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: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-sans-wght-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/noto-sans-wght-700-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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-wght-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/jetbrains-mono-wght-400-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;
}
:root{--paper:#FBFAF6;--ink:#211F1B;--muted:#5F5C54;--fox:#E8622A;--rail:150px;--maxw:820px}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 "Noto Sans",system-ui,sans-serif}
h1,h2,h3{font-family:Quicksand,system-ui,sans-serif;font-weight:600;line-height:1.08;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,5.8vw,4rem);letter-spacing:-.015em;max-width:16ch}
h2{font-size:clamp(1.9rem,4.4vw,3rem);max-width:18ch}
h2.huge{font-size:clamp(3.4rem,10vw,7rem);font-family:"JetBrains Mono",monospace;font-weight:400;letter-spacing:-.02em}
h3{font-size:1.3rem}
a{color:var(--ink);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--fox);outline-offset:2px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:30}
.skip:focus{left:12px;top:12px}
#rail{position:absolute;top:0;left:0;width:var(--rail);height:100%;pointer-events:none;color:var(--ink);z-index:1}
.site-header{position:relative;z-index:2;display:flex;align-items:center;gap:1.2rem;padding:1.2rem clamp(1.2rem,4vw,3rem) 1.2rem calc(var(--rail) + 1rem)}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:.55rem}
.brand-name{font-family:Quicksand;font-weight:600;font-size:1.5rem}
.brand-claim{color:var(--muted);font-size:.85rem}
.lang{margin-left:auto;display:flex;gap:.7rem;font-size:.85rem}
.lang a{text-decoration:none;color:var(--muted);padding:.2rem .1rem}
.lang a[aria-current]{color:var(--ink);border-bottom:2px solid var(--fox)}
.signin{font-size:.9rem}
main,footer{position:relative;z-index:2}
.panel{min-height:100svh;display:flex;align-items:center}
.hero{position:relative}
.hero .inner{position:relative;z-index:2}
.hero-side{position:absolute;right:clamp(.5rem,4vw,3.5rem);top:50%;transform:translateY(-52%);width:min(44vw,560px);z-index:1;color:var(--ink)}
.worldmap{margin:0}
.call{fill:var(--fox);opacity:0;transform-box:fill-box;transform-origin:center;animation-name:bling;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
@keyframes bling{0%{opacity:0;transform:scale(.3)}12%{opacity:1;transform:scale(1)}58%{opacity:1}82%{opacity:0;transform:scale(.5)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.call{animation:none;opacity:.45}}
@media (max-width:1100px){.hero-side{position:static;transform:none;width:min(80vw,440px);margin-top:2.5rem}}
.panel .inner{width:100%;max-width:var(--maxw);padding:4rem clamp(1.2rem,4vw,3rem) 4rem calc(var(--rail) + 1rem)}
.eyebrow{font-family:"JetBrains Mono",monospace;font-size:.82rem;color:var(--muted);letter-spacing:.04em;margin:0 0 1.6rem}
.hero .sub{max-width:36rem;color:var(--muted);font-size:1.18rem;margin-top:1.6rem}
.meta{font-family:"JetBrains Mono",monospace;font-size:.85rem;color:var(--muted);margin-top:2.4rem}
.lead{max-width:34rem;color:var(--muted);font-size:1.15rem;margin:.8rem 0 0}
.gloss{font-family:"JetBrains Mono",monospace;font-size:.85rem;color:var(--muted);margin-top:2.2rem;letter-spacing:.03em}
.ritual .inner{text-align:left}
.flagreport{margin:2.4rem 0 0;border:1.4px solid var(--ink);border-left:6px solid var(--fox);border-radius:12px;background:#fff;padding:1.1rem 1.3rem;max-width:44rem}
.flagreport ul{margin:0;padding:0;list-style:none;font-family:"JetBrains Mono",monospace;font-size:.82rem;line-height:2;color:var(--ink)}
.creed-foot{font-family:Quicksand;font-weight:500;font-size:1.15rem;max-width:34rem;margin-top:2rem}
.example{border:1.4px solid var(--ink);border-radius:14px;background:#fff;padding:1.2rem 1.5rem;max-width:32rem;margin-top:2.2rem}
.ex-l{margin:0;color:var(--muted);font-size:.85rem}
.ex-n{margin:.5rem 0 0;font-family:"JetBrains Mono",monospace;font-size:1rem}
.ex-t{color:var(--muted);margin-top:1.6rem;max-width:34rem}
.door-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.6rem;margin-top:2.2rem}
.door{display:block;text-decoration:none;color:inherit;border:1.4px solid var(--ink);border-radius:16px;padding:1.7rem 1.6rem;background:#fff;transition:transform .15s ease}
.door:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.door{transition:none}.door:hover{transform:none}}
.door p{margin:.6rem 0 0;color:var(--muted);font-size:.95rem;line-height:1.6}
.crown{font-family:Quicksand;font-weight:600;font-size:1.35rem;margin:3.2rem 0 1rem}
.search{display:flex;flex-direction:column;align-items:flex-start;max-width:34rem}
.search input{width:100%;font:inherit;padding:.9rem 1rem;border:1.5px solid var(--ink);border-radius:10px;background:#fff;min-width:0}
.search button{font:600 1rem Quicksand,sans-serif;margin-top:.6rem;padding:.9rem 1.5rem;border:1.5px solid var(--ink);border-radius:10px;background:var(--ink);color:var(--paper);cursor:pointer}
.search button:hover{background:#3a372f}
.search-status{min-height:1.4em;color:var(--muted);font-size:.9rem;margin-top:.6rem}
.vignettes{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1.6rem;max-width:38rem}
.vignettes li{border-left:3px solid var(--fox);padding:.3rem 0 .3rem 1.2rem;color:var(--muted);font-size:1.05rem}
.trustlist{list-style:none;padding:0;margin:1.8rem 0 0;max-width:38rem}
.trustlist li{padding:.8rem 0}
.site-footer{min-height:50svh;display:flex;align-items:center;color:var(--muted);font-size:.92rem}
.site-footer .inner{max-width:var(--maxw);padding:3rem clamp(1.2rem,4vw,3rem) 4rem calc(var(--rail) + 1rem)}
.site-footer a{color:inherit}
.oneliner{font-family:Quicksand;font-weight:500;font-size:1.2rem;color:var(--ink);max-width:30rem}
.foot-meta{font-family:"JetBrains Mono",monospace;font-size:.78rem;margin-top:2rem}
@media (max-width:820px){:root{--rail:64px}.brand-claim{display:none}}
@media (max-width:480px){:root{--rail:40px}}

.earlycard{cursor:default}
.wl{display:grid;gap:.55rem;margin-top:.9rem}
.wl input[type=email],.wl input[type=text]{font:inherit;padding:.6rem .7rem;border:1px solid var(--line,#E4DFD5);border-radius:9px;background:#fff;width:100%;box-sizing:border-box}
.wl-consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.82rem;line-height:1.45;color:var(--muted)}
.wl-consent input{margin-top:.2rem}
.wl button{font:inherit;font-weight:600;padding:.65rem 1.1rem;border:1.5px solid currentColor;border-radius:10px;background:transparent;cursor:pointer;justify-self:start}
.wl button[disabled]{opacity:.5;cursor:default}
.wl-msg{min-height:1.2em;font-size:.85rem;margin:0}
.wl-ok{border:1px solid var(--line,#E4DFD5);border-radius:14px;padding:1.4rem 1.6rem;max-width:26rem;background:#FBF9F4;color:#211F1B}
.wl-ok::backdrop{background:rgba(33,31,27,.35)}
.wl-ok h3{margin:0 0 .5rem}
.wl-ok button{font:inherit;font-weight:600;padding:.5rem .9rem;border:1.5px solid currentColor;border-radius:10px;background:transparent;cursor:pointer}
