:root{
  --ground:#F6F8FB; --navy:#0A2540; --blue:#1E5FD0; --blue-soft:rgba(30,95,208,.12);
  --ink:#0A2540; --ink-2:#4A5B70; --muted:#69788C; --line:#0A2540;
  --hair:#DFE5EE; --surface:#FFFFFF;
  --sans:"Archivo",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ground:#0A0F17; --navy:#0C1B2E; --blue:#5E9BFF; --blue-soft:rgba(94,155,255,.13);
  --ink:#EAF0F7; --ink-2:#B7C4D4; --muted:#94A5B8; --line:#EAF0F7; --hair:#1D2836; --surface:#111926;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0; background:var(--ground); color:var(--ink); font-family:var(--sans);
  font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--blue); outline-offset:3px; border-radius:3px}
.wrap{max-width:760px; margin:0 auto; padding:0 22px}
nav{border-bottom:1px solid var(--hair)}
.nav-in{max-width:1180px; margin:0 auto; padding:16px 22px; display:flex; align-items:center; gap:18px}
.logo{font-size:21px; letter-spacing:-.035em; line-height:1; text-decoration:none; white-space:nowrap}
.logo .a{font-weight:800; color:var(--blue)}
.logo .b{font-weight:200; color:var(--ink)}
.sp{flex:1}
.back{font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-2); text-decoration:none; border:1px solid var(--hair); padding:8px 12px; border-radius:8px}
.back:hover{border-color:var(--blue); color:var(--blue)}
main{padding:56px 0 80px}
.mono{font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); display:block}
h1{margin:14px 0 0; font-weight:800; letter-spacing:-.028em; line-height:1.08;
  font-size:clamp(32px,7vw,46px)}
.upd{margin:16px 0 0; color:var(--muted); font-size:15px}
h2{margin:46px 0 0; font-weight:800; letter-spacing:-.02em; font-size:22px}
h3{margin:30px 0 0; font-weight:700; font-size:17.5px}
p,li{color:var(--ink-2); font-size:16.5px}
p{margin:14px 0 0}
ul{margin:14px 0 0; padding-inline-start:22px}
li{margin:7px 0}
a{color:var(--blue)}
strong{color:var(--ink)}
table{width:100%; border-collapse:collapse; margin-top:18px; font-size:15.5px}
th,td{text-align:start; padding:10px 12px 10px 0; border-bottom:1px solid var(--hair); color:var(--ink-2)}
th{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); font-weight:500}
.note{margin-top:26px; border:1px solid var(--hair); border-inline-start:2px solid var(--blue);
  background:var(--surface); border-radius:0 10px 10px 0; padding:18px 20px}
.note p{margin:0; font-size:16px}
.note p+p{margin-top:10px}
@media (min-width:860px){ body{font-size:18px} main{padding:76px 0 100px} }

/* pieces the shared footer relies on */
.logo{font-family:var(--sans); font-size:21px; letter-spacing:-.035em; line-height:1; white-space:nowrap; text-decoration:none; color:inherit}
.logo .a{font-weight:800; color:var(--blue)}
.logo .b{font-weight:200; color:var(--ink)}
.mono{font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); display:inline-block}
footer .wrap{max-width:1180px}
/* ---- footer (shared) ---- */
footer{position:relative; border-top:1px solid var(--hair);
  padding:56px 0 56px}
.ft-top{display:grid; grid-template-columns:1fr; gap:34px}
.ft-col .mono{display:block; margin-bottom:14px}
.ft-brand .logo{font-size:34px}
.ftcta{display:inline-block; margin-top:20px; border:0; cursor:pointer; white-space:nowrap;
  font-family:var(--sans); font-size:15px; font-weight:700; line-height:1;
  background:var(--navy); color:#fff; padding:14px 24px; border-radius:100px;
  transition:transform .15s ease, box-shadow .15s ease;
  box-shadow:0 6px 20px -12px rgba(10,37,64,.6)}
.ftcta:hover{transform:translateY(-2px); box-shadow:0 12px 26px -14px rgba(10,37,64,.75)}
:root[data-theme="dark"] .ftcta{background:var(--blue); color:#08111E}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ftcta{background:var(--blue); color:#08111E}}
.ft-col .hours{display:block; margin-top:12px; color:var(--muted); font-size:14.5px}
.stamp{font-family:var(--mono); opacity:.7; letter-spacing:.1em}
.ftsay{font-family:var(--sans); font-size:14px; letter-spacing:0; text-transform:none}
.ft-col a{display:block; text-decoration:none; color:var(--ink-2); font-size:16px; padding:5px 0; transition:color .15s ease}
.ft-col a:hover{color:var(--blue)}
.ft-col p{margin:0; color:var(--ink-2); font-size:16px; max-width:34ch}
.ft-col .em{color:var(--ink); font-weight:500}
.ft-legal{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:44px; padding-top:18px; border-top:1px solid var(--hair);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.ft-legal a{color:inherit; text-decoration:none}
.ft-legal a:hover{color:var(--blue)}
.ftsp{flex:1 0 0; min-width:0}
.giant{display:block; width:100%; margin-top:36px; padding-bottom:34px}
.giant svg{display:block; width:100%; height:auto}
.giant .a{font-family:var(--sans); font-weight:800; letter-spacing:-.045em}
.giant .b{font-family:var(--sans); font-weight:200; letter-spacing:-.045em; fill:var(--ink)}
@media (min-width:860px){
  footer{padding:76px 0 72px}
  .ft-brand .logo{font-size:44px}
  .ft-top{grid-template-columns:1.4fr 1fr 1fr; gap:48px}
}

.ftcta{text-decoration:none}
.ft-col a.ftcta{display:inline-block; color:#fff; font-size:15px; padding:14px 24px; margin-top:20px}

/* header (shared with the homepage) */
.sp{flex:1}
.nav-links{display:none; gap:24px; font-size:15px; color:var(--ink-2); margin-inline-start:34px}
.nav-links a{text-decoration:none; color:inherit; transition:color .15s ease}
.nav-links a:hover{color:var(--blue)}
.nav-links a[aria-current]{color:var(--ink); font-weight:700}
.ghost{font-family:var(--sans); font-size:14.5px; font-weight:500; border:0; background:transparent;
  color:var(--ink-2); padding:8px 4px; cursor:pointer; line-height:1; transition:color .15s ease}
.ghost:hover{color:var(--blue)}
.navcta{display:inline-block; text-decoration:none; white-space:nowrap; font-family:var(--sans);
  font-size:14.5px; font-weight:700; line-height:1; background:var(--navy); color:#fff;
  padding:11px 18px; border-radius:100px; transition:transform .15s ease, box-shadow .15s ease;
  box-shadow:0 4px 14px -10px rgba(10,37,64,.8)}
.navcta:hover{transform:translateY(-2px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .navcta{background:var(--blue); color:#08111E}}
@media (max-width:479px){.navcta{font-size:13.5px; padding:10px 14px} .ghost{font-size:13.5px}}
@media (min-width:860px){.nav-links{display:flex}}
/* ---- mobile menu ---- */
.burger{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px;
  border:1px solid var(--hair); border-radius:10px; background:transparent; cursor:pointer;
  padding:0; flex:none; transition:border-color .15s ease}
.burger span, .burger span::before, .burger span::after{content:""; display:block; width:17px;
  height:1.6px; background:var(--ink); border-radius:2px}
.burger span{position:relative}
.burger span::before{position:absolute; top:-5.5px}
.burger span::after{position:absolute; top:5.5px}
.burger:hover{border-color:var(--blue)}
.mnav{position:fixed; inset:0; z-index:70; background:var(--ground);
  display:flex; flex-direction:column; padding:14px 22px calc(28px + env(safe-area-inset-bottom));
  overflow-y:auto}
.mnav[hidden]{display:none}
.mnav-top{display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-bottom:20px; border-bottom:1px solid var(--hair)}
.mnav .xbtn{flex:none; width:40px; height:40px; border:1px solid var(--hair); border-radius:10px;
  background:transparent; cursor:pointer; position:relative}
.mnav .xbtn::before,.mnav .xbtn::after{content:""; position:absolute; left:50%; top:50%;
  width:16px; height:1.6px; background:var(--ink); border-radius:2px}
.mnav .xbtn::before{transform:translate(-50%,-50%) rotate(45deg)}
.mnav .xbtn::after{transform:translate(-50%,-50%) rotate(-45deg)}
.mnav-links{display:flex; flex-direction:column; padding:8px 0 0}
.mnav-links a{text-decoration:none; color:var(--ink); font-size:24px; font-weight:700;
  letter-spacing:-.02em; padding:16px 0; border-bottom:1px solid var(--hair)}
.mnav-links a:last-child{border-bottom:0}
.mnav-foot{margin-top:auto; padding-top:26px; display:flex; align-items:center; gap:16px}
.mnav-foot .ghost{font-size:16px; padding:12px 4px}
.navcta.wide{flex:1; text-align:center; padding:15px 18px; font-size:16px}
@media (min-width:860px){.burger{display:none} .mnav{display:none !important}}
@media (max-width:859px){.deskonly{display:none}}
@media (prefers-reduced-motion:no-preference){
  .mnav:not([hidden]){animation:mfade .28s cubic-bezier(.22,1,.36,1)}
  .mnav:not([hidden]) .mnav-links a{animation:mrise .28s cubic-bezier(.22,1,.36,1) both}
  .mnav:not([hidden]) .mnav-links a:nth-child(1){animation-delay:.04s}
  .mnav:not([hidden]) .mnav-links a:nth-child(2){animation-delay:.10s}
  .mnav:not([hidden]) .mnav-links a:nth-child(3){animation-delay:.16s}
  .mnav:not([hidden]) .mnav-links a:nth-child(4){animation-delay:.22s}
  .mnav:not([hidden]) .mnav-links a:nth-child(5){animation-delay:.28s}
  @keyframes mfade{from{opacity:0} to{opacity:1}}
  @keyframes mrise{from{opacity:.35; transform:translateY(14px)} to{opacity:1; transform:none}}
}
/* ---- scroll progress ---- */
.prog{position:fixed; inset-inline:0; top:0; z-index:80; height:3px; background:transparent; pointer-events:none}
.prog i{display:block; height:100%; width:0; background:var(--blue); border-radius:0 2px 2px 0}

