/* Puurk static site: tokens, base type, nav, buttons, footer.
   Shared by the static pages; each page keeps its own rules in an inline <style>.
   Bump the ?v= on every <link> to this file when it changes. */
:root{
  color-scheme:light;
  --bg:#F6F8F8; --surface:#FFFFFF; --surface2:#EEF3F4; --fg:#0F172A; --fg2:#5B6B7A; --rule:#DCE4E6;
  --navy:#0B1524; --ink:#0F172A; --paper:#F6F8F8;
  --teal:#1DC6C4; --teal-deep:#0E8F8D; --teal-bright:#5FE0DE; --mint:#DDF6F5; --coral:#F08A7A; --coral-deep:#C9584A;
  --accent-text:#0E8F8D;
  --shadow:15,23,42;
  --serif:'DM Serif Display',Georgia,'Times New Roman',serif;
  --head:'Manrope','Segoe UI',Helvetica,Arial,sans-serif;
  --body:'DM Sans','Segoe UI',Helvetica,Arial,sans-serif;
  --gutter:clamp(16px,5vw,72px);
  --max:1180px;
  --r:20px;
}
.dark{color-scheme:dark;--bg:#0B1524;--surface:#121E30;--surface2:#0F1D31;--fg:#EEF3F5;--fg2:#9AAAB8;--rule:#243346;--accent-text:#5FE0DE;--shadow:0,0,0;background:var(--bg);color:var(--fg)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--teal-deep) var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;caret-color:var(--teal)}
::selection{background:var(--teal);color:var(--navy)}
img,video{max-width:100%;display:block}
a{color:inherit;text-underline-offset:.18em}
h1,h2,h3{text-wrap:balance;margin:0;font-family:var(--head);font-weight:800;letter-spacing:-0.035em;line-height:1.02}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;line-height:1.1;text-wrap:balance;margin:0}
p{margin:0}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}
section{position:relative;padding-block:clamp(80px,11vw,150px)}
.muted{color:var(--fg2)}
.lead{font-size:clamp(18px,1.6vw,21px);max-width:60ch}
.tabnum{font-variant-numeric:tabular-nums}
.h2{font-size:clamp(34px,4.6vw,60px)}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:8px}
.ico{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ambient glow, per brand kit: top-right + bottom-left */
.glow{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.glow::before,.glow::after{content:"";position:absolute;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(29,198,196,.22),transparent 60%)}
.glow::before{top:-30vw;right:-20vw}
.glow::after{bottom:-35vw;left:-25vw;opacity:.45}
.glow::before{background:radial-gradient(circle,rgba(29,198,196,.16),transparent 60%)}
.dark .glow::before{background:radial-gradient(circle,rgba(29,198,196,.22),transparent 60%)}

/* 3D canvas */
main{position:relative;z-index:1;overflow-x:clip}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:calc(68px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--gutter) 0;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.solid{background:rgba(246,248,248,.86);backdrop-filter:blur(12px);border-color:var(--rule)}
.nav .mark img{height:24px;width:auto}
.nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.nav ul a{text-decoration:none;font-weight:500;color:var(--ink);font-size:15px;opacity:.82;white-space:nowrap}
.nav ul a:hover{opacity:1;color:var(--teal-deep)}
/* Two levels in one list. li.aud: the three audience pages, the same on every
   page, with the current one filled in. li.sub: links for the page you are on
   (its own sections, or the provider pages), set apart by a rule. */
.nav li.aud a{display:block;padding:7px 14px;border-radius:999px;font-weight:700;opacity:1}
.nav li.aud+li.aud{margin-left:-14px}
.nav li.aud a:hover{background:var(--surface2)}
.nav li.aud a.on,.nav li.aud a.on:hover{background:var(--ink);color:#fff}
.nav li.aud+li.sub{padding-left:22px;border-left:1px solid var(--rule)}
.nav li.sub a{font-size:14px;opacity:.72}
.nav li.sub a[aria-current]{opacity:1;color:var(--teal-deep)}
.nav .menu{display:none;flex:none;width:44px;height:44px;margin-left:-8px;margin-right:-10px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center}
.nav .menu svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(max-width:1100px){.nav ul{display:none}.nav .menu{display:inline-flex}.nav .btn{margin-left:auto}
.nav.open{background:var(--bg);border-color:var(--rule)}
.nav.open ul{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:100%;left:0;right:0;padding:4px var(--gutter) 14px;background:var(--bg);border-bottom:1px solid var(--rule);box-shadow:0 28px 44px -28px rgba(15,23,42,.35)}
.nav.open ul li+li{border-top:1px solid var(--rule)}
.nav.open ul a{display:block;padding:15px 0;font-size:17px;opacity:1}
.nav.open li.aud+li.aud{margin-left:0}
.nav.open li.aud a,.nav.open li.aud a:hover{padding:15px 0;border-radius:0;background:none}
.nav.open li.aud a.on,.nav.open li.aud a.on:hover{background:none;color:var(--teal-deep)}
.nav.open li.aud+li.sub{padding-left:0;border-left:0}
.nav.open li.sub a{padding:13px 0 13px 18px;font-size:15px;opacity:1;color:var(--fg2)}}
@media(max-width:350px){.nav{gap:10px}.nav .btn.small{padding:10px 13px;font-size:13px}.nav .btn .ico{display:none}}

/* buttons: pill for every interactive, 20px for surfaces */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--head);font-weight:800;font-size:16px;letter-spacing:-.01em;text-decoration:none;padding:15px 24px;border-radius:999px;border:2px solid transparent;transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .2s,background .2s,border-color .2s;cursor:pointer;line-height:1;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn.primary{background:var(--teal);color:var(--navy);box-shadow:0 14px 32px -10px rgba(14,143,141,.55)}
.btn.primary:hover{background:var(--teal-bright)}
.btn.ghost{border-color:rgba(15,23,42,.22);color:var(--fg)}
.btn.ghost:hover{border-color:var(--teal-deep)}
.dark .btn.ghost{border-color:rgba(238,243,245,.3)}
.btn .ico{transition:transform .2s}
.btn:hover .ico{transform:translateX(3px)}
.btn.small{padding:11px 18px;font-size:14px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* footer */
footer{position:relative;z-index:2;background:#070E19;color:#EEF3F5;--fg:#EEF3F5;--fg2:#9AAAB8;--rule:#243346;border-top:1px solid var(--rule);padding:56px var(--gutter) calc(40px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding:0}
footer h4{margin:0 0 12px;font-family:var(--head);font-weight:800;font-size:14px;color:var(--fg)}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:15px;color:var(--fg2)}
footer a{text-decoration:none;color:var(--fg2)}
footer a:hover{color:var(--teal-bright)}
footer .legal{grid-column:1/-1;margin-top:20px;padding-top:20px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--fg2);max-width:96ch;line-height:1.6}
footer .mark img{height:24px;width:auto;margin-bottom:14px}
footer .mark p{font-size:14px;color:var(--fg2);max-width:34ch}
@media(max-width:800px){footer .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:480px){footer .wrap{grid-template-columns:1fr}}
