@font-face{font-family:Plex;src:url('/static/fonts/plex-sans-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/static/fonts/plex-sans-medium.woff2') format('woff2');font-weight:500 700;font-display:swap}
:root{color-scheme:light;--paper:#f5f7f6;--surface:#fff;--ink:#1b302c;--muted:#60716b;--line:#dfe7e3;--green:#146951}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font:16px/1.55 Plex,system-ui,sans-serif}
header,footer{padding:22px clamp(18px,5vw,56px);display:flex;justify-content:space-between;align-items:center;gap:16px}
.brand{color:var(--ink);font-weight:500;text-decoration:none}.brand span{color:var(--muted);margin-left:6px}
header a.home{color:var(--muted);font-size:14px;text-decoration:none}header a.home:hover{color:var(--green)}
main{flex:1;width:min(1040px,100%);margin:0 auto;padding:clamp(28px,7vw,80px) clamp(18px,5vw,56px)}
.eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--green)}
h1{margin:0;font-size:clamp(30px,5vw,46px);line-height:1.12;font-weight:500}
.deck{margin:14px 0 0;max-width:560px;color:var(--muted)}
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:44px 0 0;padding:0;list-style:none}
.app{display:flex;flex-direction:column;gap:12px;height:100%;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.app:hover,.app:focus-visible{border-color:var(--green);box-shadow:0 8px 28px #183c2c14;transform:translateY(-2px)}
.app:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.app img{width:64px;height:64px;border-radius:14px;object-fit:contain}
.app h2{margin:6px 0 0;font-size:22px;font-weight:500}.app p{margin:0;color:var(--muted);font-size:15px}
.app .kind{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--green)}
.app .go{margin-top:auto;padding-top:10px;color:var(--green);font-weight:500;font-size:14px}
footer{color:var(--muted);font-size:13px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Pharos:start */
:root {
  --oxford-blue: #002147;
  --oxford-sky-blue: #B9D6F2;
  --oxford-royal-blue: #1D42A6;
  --oxford-charcoal: #211D1C;
  --oxford-ash-grey: #61615F;
  --oxford-stone-grey: #D9D8D6;
  --oxford-shell-grey: #F1EEE9;
  --oxford-off-white: #F2F0F0;
  --white: #FFFFFF;
  --navy-04: #F5F6F8;
  --navy-08: #EBEDF0;
  --navy-16: #D6DBE2;
  --navy-50: #8090A3;
}
:root {
  --paper: var(--oxford-off-white);
  --ink: var(--oxford-blue);
  --muted: var(--oxford-ash-grey);
  --line: var(--oxford-stone-grey);
  --green: var(--oxford-blue);
}
.apps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.app { border-radius: 18px; padding: 28px; }
.app:hover, .app:focus-visible { box-shadow: 0 10px 32px rgb(0 33 71 / 8%); }
.app:focus-visible { outline: 3px solid var(--oxford-royal-blue); }
.app--pharos { border-top: 3px solid var(--oxford-blue); padding-top: 26px; }
.app--pharos .kind { color: var(--oxford-blue); }
@media (max-width: 640px) {
  .apps { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 32px; }
  .app { padding: 24px; }
  .app--pharos { padding-top: 22px; }
}
/* Pharos:end */
