/* Shared header and footer for every page except the homepage (which carries
   its own inline copy) and the client onboarding page. Generated markup lives
   in tools/chrome.py; edit both together. Selectors are namespaced (.site-hdr,
   .site-foot) so page stylesheets with bare header/footer/p/a rules can't
   reach in. Values match the homepage at 1440, 1020 and 620 breakpoints. */
@font-face{font-family:'Display';src:url(/fonts/display-700.woff2) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Display';src:url(/fonts/display-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url(/fonts/inter-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url(/fonts/inter-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Inter';src:url(/fonts/inter-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Inter';src:url(/fonts/inter-700.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--amber:#fdae26;--amber-hover:#e89a15;--ink:#221e1e;--bg0:#171413;--bg1:#1d1a18;--card:#2B2523;
 --paper:#FBF8F3;--cream:#F4EEE2;--p86:rgba(251,248,243,.9);--p72:rgba(251,248,243,.8);
 --p62:rgba(251,248,243,.68);--hair:rgba(251,248,243,.13);
 --display:'Display','Arial Narrow',sans-serif;--body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
html{overflow-x:clip;scrollbar-gutter:stable}
body.has-chrome{padding-top:88px}

.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:98;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}

.glass{background:linear-gradient(180deg,rgba(251,248,243,.085) 0%,rgba(251,248,243,.045) 100%);
  backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
  border:1px solid rgba(251,248,243,.16);
  box-shadow:inset 0 1px 0 rgba(251,248,243,.14),inset 0 -1px 0 rgba(0,0,0,.2),0 12px 34px rgba(0,0,0,.3)}

/* header */
.site-hdr{position:fixed;top:0;left:0;right:0;z-index:100;transition:transform .35s ease;
  background:rgba(23,20,19,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--hair);font-family:var(--body)}
.site-hdr.hide{transform:translateY(-100%)}
.site-hdr .bar{display:flex;align-items:center;justify-content:space-between;height:88px;padding:0 28px}
.site-hdr .logo,.site-foot .logo{display:block;color:var(--amber);text-decoration:none;line-height:0}
.site-hdr .logo svg{display:block;height:26px;width:auto}
.site-hdr nav{display:flex;align-items:center;gap:14px}
.site-hdr .hlink,.site-hdr .hbook{display:inline-flex;align-items:center;justify-content:center;font-family:var(--body);
  font-size:15px;font-weight:600;line-height:1;padding:13px 24px;border-radius:4px;text-decoration:none;white-space:nowrap}
.site-hdr .hlink{color:var(--p86);transition:color .2s ease,border-color .25s ease,background .25s ease}
.site-hdr .hlink:hover{color:var(--paper);border-color:rgba(253,174,38,.5);text-decoration:none}
.site-hdr .hbook{background:var(--amber);color:var(--ink);border:1.5px solid transparent;
  transition:background .18s ease,box-shadow .25s ease}
.site-hdr .hbook:hover{background:var(--amber-hover);box-shadow:0 4px 16px rgba(253,174,38,.12);text-decoration:none}
.site-hdr a:focus-visible,.site-foot a:focus-visible,#totop:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.site-hdr .chapters{position:absolute;left:0;right:0;bottom:-2px;height:4px;background:rgba(251,248,243,.14)}
.site-hdr .cfill{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--amber);
  transform-origin:0 50%;transform:scaleX(0);will-change:transform;box-shadow:0 0 14px rgba(253,174,38,.4)}

/* footer */
.site-foot{background:var(--bg0);padding:0 0 52px;position:relative;overflow:hidden;border-top:1px solid var(--hair);
  font-family:var(--body);line-height:1.5;margin:0}
.site-foot .wm{position:absolute;left:50%;bottom:-.16em;transform:translateX(-50%);font-family:var(--display);
  font-weight:400;font-size:25.7vw;line-height:1;letter-spacing:.015em;color:transparent;
  -webkit-text-stroke:1px rgba(251,248,243,.05);pointer-events:none;user-select:none;white-space:nowrap}
.site-foot .fwrap{position:relative;z-index:1;padding:0 clamp(36px,4vw,72px)}
.site-foot .foot-top{padding-top:56px;display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.site-foot .logo svg{display:block;height:30px;width:auto}
.site-foot .desc{font-size:15px;color:var(--p72);max-width:34ch;margin:16px 0 0;line-height:1.7}
.site-foot .foot-right{display:flex;gap:84px;flex-wrap:wrap}
.site-foot .foot-col{display:flex;flex-direction:column;gap:14px;font-size:15px}
.site-foot .foot-col .h{font-family:var(--display);font-size:13px;letter-spacing:.18em;color:var(--p62);
  text-transform:uppercase;margin-bottom:4px;font-weight:700;line-height:1.5}
.site-foot .foot-col a{color:var(--p86);text-decoration:none;font-size:15px;line-height:1.5}
.site-foot .foot-col a:hover{color:var(--amber);text-decoration:none}
.site-foot .credit{margin-top:60px;font-size:13px;color:var(--p62);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-foot .credit a{color:var(--p62);text-decoration:none;text-underline-offset:3px}
.site-foot .credit a:hover{color:var(--amber);text-decoration:underline}

/* back to top */
#totop{position:fixed;right:26px;bottom:26px;z-index:90;width:52px;height:52px;border-radius:5px;cursor:pointer;padding:0;
  display:flex;align-items:center;justify-content:center;border:1px solid rgba(251,248,243,.16);
  opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,border-color .25s ease}
#totop.show{opacity:1;transform:none;pointer-events:auto}
#totop:hover{border-color:rgba(253,174,38,.6)}
#totop svg{transition:transform .2s ease}
#totop:hover svg{transform:translateY(-2px)}

@media (max-width:1020px){
  .site-foot .foot-top{justify-content:center;text-align:center}
  .site-foot .foot-top>div:first-child{display:flex;flex-direction:column;align-items:center}
  .site-foot .desc{text-align:center;margin-left:auto;margin-right:auto}
  .site-foot .desc .dbreak{display:block}
  .site-foot .foot-col{align-items:center}
  .site-foot .credit{justify-content:center;align-items:center;text-align:center}
}
@media (max-width:900px){.site-hdr .chapters{height:3px}}
@media (max-width:620px){
  body.has-chrome{padding-top:72px}
  .site-hdr .bar{height:72px;padding:0 18px}
  .site-hdr .logo svg{height:18px}
  .site-hdr .hlink{display:none}
  .site-hdr .hbook{padding:11px 16px;font-size:14px}
  .site-foot{padding-bottom:108px}
  .site-foot .wm{font-size:19.5vw}
  .site-foot .logo svg{height:22px}
  .site-foot .foot-top{gap:34px}
  .site-foot .foot-right{display:grid;grid-template-columns:1fr 1fr;gap:26px;width:100%}
  .site-foot .desc{max-width:none}
  .site-foot .credit{margin-top:38px;flex-direction:column;gap:8px}
  #totop{right:14px;bottom:14px;width:46px;height:46px}
}
@media (prefers-reduced-motion:reduce){.site-hdr,#totop{transition:none}}
