@font-face{font-family:Newsreader;font-style:normal;font-weight:300 500;font-display:swap;src:url(/fonts/newsreader-latin-wght.woff2)format("woff2-variations")}@font-face{font-family:Fredoka;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/fredoka-latin-wght.woff2)format("woff2-variations")}:root{--sky:#4fa8ff;--sun:#ffc93c;--leaf:#58c47a;--berry:#ff6b9a;--ember:#ff6a1f;--ink:#2a2438;--cream:#fff8ec;--font-dark:"Newsreader", "Iowan Old Style", Georgia, serif;--font-light:"Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--font-ui:system-ui, -apple-system, "Segoe UI", sans-serif;--ease-heavy:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--gutter:clamp(1.25rem, 4vw, 4rem);--measure:65ch}:root,.theme-dark{--bg:#0d0c0b;--bg-2:#1a1715;--fg:#e8e2d9;--muted:#a89e92;--accent:#ff6a1f;--line:#3b342e;--radius:2px;--font-display:var(--font-dark);--glass:color-mix(in srgb, var(--bg-2) 46%, transparent);--glass-edge:color-mix(in srgb, var(--fg) 16%, transparent)}.theme-light{--bg:#fff8ec;--bg-2:#ffefd4;--fg:#2a2438;--muted:#5b516b;--accent:#4fa8ff;--line:#eadcc4;--radius:20px;--font-display:var(--font-light);--glass:#ffffffb8;--glass-edge:color-mix(in srgb, var(--fg) 10%, transparent)}[data-theme=dark]{--font-display:var(--font-dark)}[data-theme=light]{--font-display:var(--font-light)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-ui);margin:0;font-size:1.0625rem;line-height:1.6;transition:color .4s}.theme-light body{font-family:var(--font-light)}h1,h2,h3{font-family:var(--font-display);margin:0 0 .6em;font-weight:400;line-height:1.15}.theme-light h1,.theme-light h2,.theme-light h3{font-weight:600}p{margin:0 0 1em}a{color:inherit;text-underline-offset:.2em}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}img,svg,canvas{max-width:100%;display:block}.skip{z-index:100;background:var(--fg);color:var(--bg);border-radius:8px;padding:.6rem 1rem;transition:transform .2s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip:focus-visible{transform:none}.skip+.skip:focus-visible{top:3.75rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-nav{z-index:20;padding:.9rem var(--gutter);font-family:var(--font-ui);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:transform .5s var(--ease-heavy), visibility .5s;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex;position:fixed;top:0;left:0;right:0}.theme-light .site-nav{font-family:var(--font-light)}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.1rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{min-height:44px;padding:.6rem .1rem;text-decoration:none;display:inline-block}.site-nav a[aria-current=page],.site-nav a:hover{text-decoration:underline;text-decoration-thickness:2px}.site-nav__home{font-weight:600}.site-nav__lang a,.lang-float a{letter-spacing:.04em;font-weight:600}.lang-float{top:.6rem;right:var(--gutter);z-index:19;font-family:var(--font-ui);font-size:.85rem;position:fixed}.lang-float ul{gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lang-float a{min-width:44px;min-height:44px;color:inherit;border:1px solid var(--line);border-radius:var(--radius,2px);background:color-mix(in srgb, var(--bg) 70%, transparent);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.lang-float a:hover{text-decoration:underline}.site-nav:not(.is-hidden)~.lang-float{display:none}html:not(.is-3d) .site-nav{position:sticky}.is-3d .site-nav.is-hidden{visibility:hidden;transform:translateY(-110%)}.rail{z-index:15;display:none;position:fixed;top:50%;right:1.1rem;transform:translateY(-50%)}.is-3d .rail{display:block}.rail ol{gap:.15rem;margin:0;padding:0;list-style:none;display:grid}.rail a{justify-content:flex-end;align-items:center;width:44px;height:26px;display:flex;position:relative}.rail a:after{content:"";border:1px solid var(--muted);width:6px;height:6px;transition:all .4s var(--ease-heavy);border-radius:50%}.rail a.is-past:after{background:var(--muted)}.rail a.is-active:after{background:var(--accent);border-color:var(--accent);border-radius:2px;width:3px;height:22px}.rail span{white-space:nowrap;font-family:var(--font-ui);color:var(--fg);opacity:0;pointer-events:none;font-size:.75rem;transition:all .25s;position:absolute;right:22px;transform:translate(6px)}.rail a:hover span,.rail a:focus-visible span{opacity:1;transform:none}.button{border-radius:var(--radius);min-width:44px;min-height:44px;font:inherit;cursor:pointer;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--fg);transition:transform .35s var(--ease-spring), box-shadow .35s ease;justify-content:center;align-items:center;padding:.7rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}[data-theme=light] .button,.theme-light .button{background:var(--sun);color:var(--ink);border-color:#0000;box-shadow:0 4px #e2a91f}.button:hover{transform:translateY(-2px)}.button:active{box-shadow:none;transform:translateY(1px)}.link-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;min-height:44px;text-decoration:underline}.inspect{z-index:30;max-width:18rem;font-family:var(--font-display);border-radius:var(--radius);border:1px solid var(--glass-edge);background:var(--glass);-webkit-backdrop-filter:blur(12px);color:var(--fg);pointer-events:none;opacity:0;padding:.5rem .85rem;font-size:1rem;line-height:1.35;transition:opacity .25s;position:fixed;top:0;left:0;transform:translate(-9999px)}.inspect.is-on{opacity:1}.gate{z-index:50;background:var(--bg);place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.gate[hidden]{display:none}.gate__card{text-align:center;max-width:22rem;font-family:var(--font-display);justify-items:center;gap:.9rem;display:grid}.gate__card h2{margin:0;font-size:1.8rem}.gate__phone{border:3px solid var(--fg);width:44px;height:76px;animation:turn 2.6s var(--ease-heavy) infinite;border-radius:10px}@keyframes turn{0%,20%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}.fs-button{z-index:40;border:1px solid var(--glass-edge);background:var(--glass);min-height:44px;color:var(--fg);font:inherit;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:.5rem 1rem;position:fixed;bottom:1rem;right:1rem}.fs-button[hidden]{display:none}.extra{justify-items:start;gap:1.5rem;display:grid}.rotation{width:min(22rem,34vw,52vh);min-width:14rem;margin:0}.rotation svg{width:100%;height:auto;overflow:visible}.rotation figcaption{color:var(--muted);font-family:var(--font-light);margin-top:.4rem;font-size:.95rem}.rot__table text{font-family:var(--font-light);fill:var(--ink);font-size:16px;font-weight:700}.rot__arrow,.rot__head{stroke:var(--muted);stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round}.rot__arrow{stroke-dasharray:4 5}.rot__child{fill:var(--ink)}.rot__child:nth-child(2){fill:#6c5fa8}.rot__child:nth-child(3){fill:#a0679a}.rot__group{animation:rotate-stations 10s var(--ease-heavy) infinite}.rotation:hover .rot__group{animation-play-state:paused}@keyframes rotate-stations{0%,18%{transform:translate(60px,60px)}25%,43%{transform:translate(180px,60px)}50%,68%{transform:translate(180px,180px)}75%,93%{transform:translate(60px,180px)}to{transform:translate(60px,60px)}}.programmes{max-width:48rem;font-family:var(--font-light);text-align:center;margin:2.5rem auto 0}.programmes__intro{color:var(--muted)}.programmes ul{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.programme{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2);text-align:left;padding:1.1rem 1.3rem}.programme__name{font-weight:600;display:block}.programme__why{color:var(--muted);margin-top:.4rem;display:block}.text-link{align-items:center;min-height:44px;font-weight:600;text-decoration-thickness:2px;display:inline-flex}.extra--fields{justify-items:stretch;width:min(30rem,46vw)}.fields{aspect-ratio:1;width:100%;max-width:64vh;margin:0 auto;position:relative}.fields__lines{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.fields__lines line{stroke:color-mix(in srgb, var(--fg) 22%, transparent);stroke-width:1.5px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke;transition:stroke .3s,stroke-width .3s}.fields__lines line.is-spoke{stroke-dasharray:none;stroke-width:2px}.fields__lines line.is-lit{stroke:var(--accent);stroke-width:3px;stroke-dasharray:none}.fields__nodes{margin:0;padding:0;list-style:none}.field-node{left:var(--x);top:var(--y);position:absolute;transform:translate(-50%,-50%)}.field-node a{font-family:var(--font-light);border-radius:var(--radius);justify-items:center;gap:.3rem;min-width:44px;min-height:44px;padding:.3rem;font-weight:600;text-decoration:none;display:grid}.field-node__dot{background:var(--tint);width:2.6rem;height:2.6rem;box-shadow:0 0 0 4px var(--bg), 0 0 0 6px color-mix(in srgb, var(--tint) 45%, transparent);transition:transform .4s var(--ease-spring), box-shadow .3s ease;border-radius:50%}.field-node__name{background:var(--bg);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.1rem .65rem}.field-node--main a{gap:0}.field-node--main .field-node__dot{width:7.5rem;height:7.5rem;box-shadow:0 0 0 10px color-mix(in srgb, var(--sun) 30%, transparent), 0 18px 40px -18px #2a243873}.field-node--main .field-node__name{color:var(--ink);background:0 0;border:none;font-size:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.field-node a:hover .field-node__dot,.field-node a:focus-visible .field-node__dot,.field-node.is-lit .field-node__dot{transform:scale(1.12)}.fields__relation{text-align:center;min-height:3em;color:var(--fg);font-family:var(--font-light);margin-top:1.25rem;font-size:1.05rem}.closing{z-index:2;padding:clamp(3rem, 10vh, 6rem) var(--gutter) clamp(4rem, 12vh, 8rem);text-align:center;font-family:var(--font-light);border-top:1px solid var(--line);background:var(--bg);color:var(--fg);position:relative}.closing__thanks{font-size:clamp(1.4rem,2.4vw,2rem);font-weight:600}.closing__links{flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;margin:0;padding:0;list-style:none;display:flex}.closing__links a{align-items:center;min-height:44px;font-weight:600;display:inline-flex}@media (max-width:720px){.extra--fields{width:100%}.field-node--main .field-node__dot{width:5.5rem;height:5.5rem}.field-node__dot{width:2rem;height:2rem}}.fn{font-family:var(--font-ui);vertical-align:super;margin-left:.15em;font-size:.55em;font-weight:700;line-height:0}.fn__ref{text-align:center;min-width:1.6em;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border-radius:999px;padding:.35em .3em;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.fn__ref:hover,.fn__ref.is-open{color:var(--bg);background:var(--accent)}.fn-pop{z-index:60;border:1px solid var(--glass-edge);border-radius:min(var(--radius), 14px);background:var(--bg);width:min(24rem,100vw - 32px);max-height:min(60vh,28rem);color:var(--fg);font-family:var(--font-ui);padding:.9rem 1.1rem;font-size:.88rem;line-height:1.5;position:fixed;top:0;left:0;overflow:auto;box-shadow:0 18px 50px -20px #00000073}.fn-pop[hidden]{display:none}.fn-pop.is-pinned{border-color:var(--accent)}.note__gloss{margin:0 0 .5rem}.note__sources{color:var(--muted);margin:0;padding-left:1.1rem;font-size:.92em}.note__sources li+li{margin-top:.35rem}.note__sources a,.note__back{color:var(--accent)}.notes{z-index:2;padding:clamp(3rem, 8vh, 5rem) var(--gutter);border-top:1px solid var(--line);background:var(--bg);color:var(--fg);font-family:var(--font-ui);position:relative}.notes h2,.notes ol{max-width:var(--measure);margin-inline:auto}.notes h2{margin-bottom:1.2rem;font-size:1.2rem}.notes ol{padding-left:1.4rem}.notes .note{margin-bottom:1.2rem;scroll-margin-top:5rem;font-size:.95rem;line-height:1.55}.notes .note:target{outline:2px solid var(--accent);outline-offset:6px;border-radius:4px}.note__back{justify-content:center;align-items:center;min-width:24px;min-height:24px;text-decoration:none;display:inline-flex}
