/* EWT site chrome (header, mobile menu, floating CTA, footer).
   Loaded on every page by nav.js, so re-skinned pages get it too.
   Palette = ewt_brand.py white theme. */
:root{
  --ewt-white:#FFFFFF; --ewt-card:#F1F5F9; --ewt-line:#E2E8F0;
  --ewt-banner:#1A5CB6; --ewt-accent:#1A73E8; --ewt-heading:#0A1628; --ewt-body:#1A1A2E;
  --ewt-muted:#5B6678; --ewt-green:#10B981; --ewt-red:#EF4444; --ewt-amber:#F59E0B;
}
/* Sticky menu: the wrapper sticks (the header alone has no room inside it). */
#ewt-nav{position:sticky;top:0;z-index:50}
body.ewt-legacy{overflow-x:clip!important}   /* some legacy pages set overflow-x:hidden, which would cancel sticky */
.ewt-hdr{position:relative;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--ewt-line);font-family:"Outfit",system-ui,sans-serif}
.ewt-hdr__in{max-width:1160px;margin:0 auto;padding:0 24px;height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.ewt-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ewt-heading)}
.ewt-logo img{height:44px;width:auto;display:block}
.ewt-ftr .ewt-logo img{height:38px}
@media (max-width:520px){.ewt-logo img{height:38px}}
.ewt-logo b{display:block;font:700 15px/1.1 "Outfit",sans-serif;letter-spacing:.06em;color:#009BFD} /* same blue as the pi mark */
.ewt-logo small{display:block;font:500 10px/1.3 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.1em;color:var(--ewt-muted)}
.ewt-nav{display:flex;gap:4px;align-items:center}
.ewt-nav a{white-space:nowrap;font:500 14.5px/1 "Outfit",sans-serif;color:#2A4470;text-decoration:none;padding:10px 11px;border-radius:7px}
.ewt-nav a:hover{color:#0A4FA8;background:#E3F3FF}
.ewt-nav a.is-current{color:var(--ewt-accent)}
.ewt-actions{display:flex;gap:8px;align-items:center}
.ewt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:11px 18px;font:600 15px/1 "Outfit",sans-serif;text-decoration:none;white-space:nowrap;border:1.5px solid #009BFD;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.ewt-btn--pri{background:var(--ewt-accent);color:#fff}
.ewt-btn--pri:hover{background:var(--ewt-banner);box-shadow:0 0 0 4px rgba(0,155,253,.22)}
.ewt-btn--ghost{background:#fff;color:var(--ewt-banner);border-color:#7CCBFF}
.ewt-btn--ghost:hover{background:#E3F3FF;border-color:#009BFD;color:#0A4FA8;box-shadow:0 0 0 4px rgba(0,155,253,.15)}
.ewt-btn--sm{padding:9px 14px;font-size:14px}
.ewt-burger{display:none;width:44px;height:44px;border:0;background:transparent;border-radius:8px;cursor:pointer;position:relative}
.ewt-burger span,.ewt-burger::before,.ewt-burger::after{content:"";position:absolute;left:11px;right:11px;height:2px;background:var(--ewt-heading);border-radius:2px;transition:transform .2s,opacity .2s}
.ewt-burger::before{top:15px}.ewt-burger span{top:21px}.ewt-burger::after{top:27px}
.ewt-hdr.is-open .ewt-burger::before{transform:translateY(6px) rotate(45deg)}
.ewt-hdr.is-open .ewt-burger span{opacity:0}
.ewt-hdr.is-open .ewt-burger::after{transform:translateY(-6px) rotate(-45deg)}
.ewt-mnav{display:none}
.ewt-float{display:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--ewt-accent);outline-offset:2px}

@media (max-width:1120px){
  .ewt-nav,.ewt-actions .hide-m{display:none}
  .ewt-burger{display:block}
  .ewt-hdr__in{padding:0 16px}
  .ewt-mnav{display:none;flex-direction:column;padding:8px 16px 18px;border-top:1px solid var(--ewt-line);background:#fff}
  .ewt-hdr.is-open .ewt-mnav{display:flex}
  .ewt-mnav a:not(.ewt-btn){font:500 17px/1 "Outfit",sans-serif;color:var(--ewt-heading);text-decoration:none;padding:14px 4px;border-bottom:1px solid var(--ewt-card)}
  .ewt-mnav .ewt-btn{margin-top:14px;padding:14px}
  .ewt-float{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);border-top:1px solid var(--ewt-line);gap:8px}
  .ewt-float .ewt-btn{flex:1;padding:14px}
  body{padding-bottom:76px}
}

.ewt-ftr{background:var(--ewt-heading);color:#AEBBCD;font:14px/1.6 "IBM Plex Sans","Outfit",system-ui,sans-serif;margin-top:0}
.ewt-ftr__in{max-width:1160px;margin:0 auto;padding:56px 24px 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.ewt-ftr h4{font:600 12px/1 "JetBrains Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.ewt-ftr a{color:#C9D3E1;text-decoration:none;display:block;padding:5px 0}
.ewt-ftr a:hover{color:#fff}
.ewt-ftr .ewt-logo{color:#fff}
.ewt-ftr .ewt-logo small{color:#8FA3BF}
.ewt-ftr p{margin:14px 0 0;max-width:34ch}
.ewt-ftr__legal{max-width:1160px;margin:0 auto;padding:18px 24px 30px;border-top:1px solid #22324B;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#8FA3BF}
@media (max-width:760px){.ewt-ftr__in{grid-template-columns:1fr 1fr;padding:40px 16px 20px}.ewt-ftr__in > div:first-child{grid-column:1/-1}.ewt-ftr__legal{padding:16px}}

/* Phone fixes for the re-skinned legacy pages (wide stat rows and tables). */
html,body{overflow-x:clip}
@media (max-width:600px){
  .ewt-legacy table{display:block;max-width:100%;overflow-x:auto}
  .ewt-legacy .toggle{flex-wrap:wrap}
}

/* Footer in brand blue on every page (homepage design). */
.ewt-ftr{background:linear-gradient(135deg,#0A3F91 0%,#1A5CB6 60%,#1A73E8 100%);color:#DCEBFF}
.ewt-ftr a{color:#EAF2FF}
.ewt-ftr a:hover{color:#fff}
.ewt-ftr .ewt-logo b{color:#fff}
.ewt-ftr .ewt-logo small{color:#BFD6F5}
.ewt-ftr__legal{border-top-color:rgba(255,255,255,.2);color:#C9DDF7}
/* header/menu buttons: same shape on every page (10px corners, extra-bold) */
.ewt-btn{border-radius:10px;font-weight:800}
.ewt-btn--ghost{border-color:#009BFD;color:#0A6FD6}

/* Back to top (every page): deep brand blue, white arrow, bottom-right */
.ewt-top{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:45;
  width:50px;height:50px;border-radius:50%;border:3px solid #fff;background:#0E3A7A;cursor:pointer;display:grid;place-items:center;
  box-shadow:0 0 0 2px #009BFD,0 14px 30px -8px rgba(10,22,40,.6);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s,background .15s,box-shadow .15s}
.ewt-top.is-on{opacity:1;visibility:visible}
.ewt-top:hover{background:#1A5CB6;box-shadow:0 0 0 2px #009BFD,0 0 0 7px rgba(0,155,253,.25),0 14px 30px -8px rgba(10,22,40,.6)}
.ewt-top svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1120px){.ewt-top{bottom:calc(88px + env(safe-area-inset-bottom,0px));right:calc(14px + env(safe-area-inset-right,0px));width:44px;height:44px}}
/* the old pages' own back-to-top buttons are replaced by this one */
#scrollTop,.scroll-top,.back-to-top{display:none!important}

/* legal links on the bottom line of every page */
.ewt-ftr__links a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ewt-ftr__links a:hover{color:#BFE3FF}
