@font-face{font-family:Inter;src:url('assets/inter-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter-bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:dark;--graphite:#0D1117;--paper:#F8FBFD;--aqua:#47C5CD;--muted:#B0BDCB;--line:#29343f;font-family:Inter,Arial,sans-serif;background:var(--graphite);color:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid var(--aqua);outline-offset:6px}
.gateway{width:min(1120px,calc(100% - 112px));min-height:100svh;margin:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto}
.masthead,main,.institutional-footer{min-width:0}.masthead{display:flex;align-items:center;gap:42px;padding:40px 0 16px}
.brand{display:block;flex:0 0 272px;height:88px;overflow:hidden}.brand img{display:block;width:272px;height:auto;transform:translateY(-7px)}
h1{font-size:17px;line-height:1.65;font-weight:400;color:var(--muted);border-left:1px solid var(--line);padding:6px 0 6px 35px;margin:0;max-width:600px;text-wrap:balance}.descriptor-tail{white-space:nowrap}
main{display:flex;flex-direction:column;padding:22px 0 0}
/* Same viewBox as the untouched SVG. Lines start at the outer miter vertices. */
.system{--mark-size:290px;--mark-top:52px;position:relative;width:min(680px,100%);height:calc(var(--mark-top) + var(--mark-size)*.96482664 + 60px);margin:0 auto 40px}
.system-mark,.system-connectors{position:absolute;width:var(--mark-size);height:auto;left:50%;top:var(--mark-top);transform:translateX(-50%)}
.system-connectors{aspect-ratio:308 / 273.166604984;overflow:visible;pointer-events:none}.system-connectors path{fill:none;stroke:#465562;stroke-width:1;vector-effect:non-scaling-stroke}
.os-node{position:absolute;display:flex;align-items:center;gap:6px;min-height:44px}.os-label{font-size:17px;white-space:nowrap}
.info-trigger{display:grid;place-items:center;width:24px;min-width:24px;height:24px;padding:0;background:transparent;border:0;color:var(--muted);font-size:15px;cursor:pointer}.info-trigger:hover{color:var(--aqua)}
.at-left,.at-right{top:calc(var(--mark-top) - 22px)}
.at-left{right:calc(50% + var(--mark-size)*.55704357 + 8px)}.at-right{left:calc(50% + var(--mark-size)*.55704357 + 8px)}
.at-bottom{left:50%;top:calc(var(--mark-top) + var(--mark-size)*.96482664 + 8px);transform:translateX(-50%);gap:0}.at-bottom>.info-trigger{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%)}
.os-copy{position:fixed;inset:auto;margin:auto;width:min(278px,calc(100vw - 32px));padding:14px 16px;background:#151e28;color:var(--paper);border:1px solid #34424f;box-shadow:0 8px 24px #0004;z-index:5;font-size:13px;line-height:1.55}
.os-copy:not([data-positioned]){inset:0;height:fit-content}.os-copy p{margin:0}.os-copy::backdrop{background:transparent}
/* Reference: centred destinations, raised surface, inset Aqua separator. */
.destinations{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:40px 36px;background:#111922;border:1px solid var(--line);border-radius:18px}
.destinations:after{content:'';position:absolute;left:calc(50% - 1.5px);top:48px;bottom:48px;width:3px;background:var(--aqua)}
.destination{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 28px}
.destination-mark{margin:0 0 24px;font-size:48px;line-height:1;font-weight:700;letter-spacing:-.035em;height:64px;min-height:64px;display:flex;align-items:center;justify-content:center}
.protocol-mark{font-size:54px}.protocol-mark sup{font-size:28px;align-self:flex-start;line-height:1.1;margin-top:2px}
.destination-name{margin:0;font-size:16px;line-height:1.5;font-weight:700;letter-spacing:.025em}
.destination-meta{display:flex;align-items:center;justify-content:center;gap:7px;min-height:18px;margin:8px 0 22px;color:var(--muted);font-size:10px;line-height:1.8;letter-spacing:.09em}
.live-dot{width:5px;height:5px;border-radius:50%;background:#ef6666;flex:none;animation:live-pulse 2.8s ease-in-out infinite}
@keyframes live-pulse{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.25)}}
.destination-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:auto;border-bottom:2px solid #586571;font-size:16px;font-weight:700;line-height:1.4}
.destination-link span[aria-hidden]{font-size:20px;font-weight:400}.destination-link:hover{color:var(--aqua);border-color:var(--aqua)}
/* The footer has its own rule, after a distinct buffer below the cards. */
.institutional-footer{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.15fr) minmax(0,.9fr) max-content;align-items:start;gap:28px;margin-top:64px;padding:38px 0 36px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted)}
.institutional-footer section{min-width:0}.institutional-footer h2{font-size:9px;line-height:1.4;font-weight:400;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px}
.institutional-footer p{display:flex;flex-direction:column;gap:4px;margin:0}.presence-line{white-space:nowrap}.coming{font-size:10px}
.institutional-footer a{min-height:32px;display:inline-flex;align-items:center}.institutional-footer a:hover{color:var(--aqua)}
.footer-email{text-align:left}.footer-publications{justify-self:end}.footer-publications a{display:flex;gap:8px;min-height:30px}.footer-publications img{object-fit:contain;flex:none}.external-arrow{font-size:12px;margin-left:2px}
.skip-link{position:fixed;left:16px;top:-90px;background:var(--paper);color:var(--graphite);padding:12px;z-index:10}.skip-link:focus{top:16px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:1280px){.masthead{padding-top:52px}.system{--mark-size:320px}}
@media(max-width:900px){.gateway{width:calc(100% - 64px)}.masthead{gap:25px}.brand{flex-basis:240px}.brand img{width:240px}h1{font-size:15px;padding-left:24px}.os-label{font-size:15px}.system{--mark-size:260px}.destinations{padding:36px 16px}.destination{padding:0 20px}.destination-name{font-size:14px}.institutional-footer{gap:20px;font-size:11px}.presence-line{white-space:normal}}
@media(max-width:600px){
 .gateway{width:calc(100% - 40px)}.masthead{display:block;padding:25px 0 16px}.brand{width:240px;height:88px;margin:0 auto 12px}.brand img{width:240px;transform:translateY(-5px)}
 h1{border:0;padding:0;text-align:center;font-size:14px;line-height:1.65;max-width:370px;margin:auto}
 main{padding-top:10px}.system{--mark-size:224px;--mark-top:64px;margin-bottom:30px}.at-left,.at-right{top:0}.at-left{left:0;right:auto}.at-right{left:auto;right:0}.os-label{font-size:14px}
 .destinations{grid-template-columns:1fr;padding:34px 24px;gap:62px;border-radius:16px}.destinations:after{left:24px;right:24px;top:calc(50% - 1.5px);bottom:auto;height:3px;width:auto}
 .destination{padding:0}.destination-mark{font-size:43px;height:56px;min-height:56px;margin-bottom:20px}.protocol-mark{font-size:49px}.protocol-mark sup{font-size:25px}
 .destination-name{font-size:14px}.destination-meta{margin-bottom:16px}.destination-link{font-size:15px}
 .institutional-footer{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto auto;gap:24px 18px;margin-top:40px;padding:28px 0 30px;font-size:11px}
 .footer-presence{grid-column:1;grid-row:1}.footer-tech{grid-column:2;grid-row:1}.footer-email{grid-column:1;grid-row:2;text-align:left}.footer-publications{grid-column:2;grid-row:2;justify-self:start}
 .institutional-footer h2{font-size:9px;margin-bottom:8px}.institutional-footer p{gap:3px}.footer-publications a{min-height:32px}.footer-publications img{width:18px;height:17px}
 .presence-line{white-space:normal}.institutional-footer a{min-height:30px}
}
@media(max-width:359px){.gateway{width:calc(100% - 32px)}.system{--mark-size:210px}.institutional-footer{font-size:10px;column-gap:14px}.footer-publications a{gap:5px}.destinations{padding:32px 18px}.destination-name{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.system-mark,.brand img{forced-color-adjust:none}.system-connectors path{stroke:CanvasText}.destinations{border-color:CanvasText}.destinations:after{background:CanvasText}.os-copy{border-color:CanvasText}}

/* Pointer hover belongs to the glyph; the compact button retains keyboard/tap access. */
.info-trigger>span{display:block;line-height:1;pointer-events:auto}
@media(hover:hover) and (pointer:fine){.info-trigger{pointer-events:none}}

/* Four existing-style footer groups; responsive rows follow the approved reference. */
.footer-tech nav{display:flex;flex-direction:column}
.footer-tech a{display:flex;width:fit-content;max-width:100%;min-height:30px}
.footer-tech a span:first-child{min-width:0}
@media(min-width:601px) and (max-width:900px){
 .institutional-footer{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);row-gap:24px}
 .footer-presence{grid-column:1;grid-row:1}.footer-tech{grid-column:2;grid-row:1}
 .footer-email{grid-column:1;grid-row:2}.footer-publications{grid-column:2;grid-row:2;justify-self:start}
}

/* Category descenders must remain visible without changing header geometry. */
@media(min-width:601px){.masthead .brand{overflow:visible}}

/* Keep the geographic name intact; mobile has an intentional two-line address. */
.presence-city,.presence-region{white-space:nowrap}
@media(max-width:600px){.presence-region{display:block}}
