:root{--blue:#0071E3;--blue-h:#0077ED;--link:#06c;--ink:#1D1D1F;--grey:#6E6E73;--grey-l:#86868B;--line:#D2D2D7;--hair:#E8E8ED;--panel:#F5F5F7;--green:#248A3D;--acid:#D1FF00;
--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",system-ui,sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-tap-highlight-color:rgba(0,0,0,0);scroll-behavior:smooth}
.mnavb{display:flex;border:0;background:none;cursor:pointer;color:var(--ink);padding:6px;margin-left:2px;-webkit-tap-highlight-color:transparent}
.mmov{position:fixed;inset:0;background:#FBFBFD;z-index:220;display:block;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .32s ease,visibility 0s linear .32s;padding:96px 38px 34px;overflow:auto}
.mmov.open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .32s ease}
.mmx{position:absolute;top:18px;right:20px;border:0;background:none;cursor:pointer;font-size:21px;color:var(--ink);padding:8px;line-height:1;transition:opacity .32s ease}
.mmx:hover,.mmx:active{opacity:.5}
.mmov nav{max-width:920px;margin:0 auto}
.mmov nav a{display:block;font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.01em;color:var(--ink);padding:16px 0;text-decoration:none;opacity:0;transform:translateY(14px);transition:color .32s ease}
.mmov nav a.msub{font-size:clamp(20px,2.2vw,26px);font-weight:500;padding-left:22px;color:#6e6e73}
.mmov nav a:hover,.mmov nav a:active{text-decoration:none;color:#86868B}
.mmov.open nav a{animation:mmin .46s cubic-bezier(.2,.6,.2,1) forwards;animation-delay:calc(var(--i)*38ms)}
@keyframes mmin{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mmov nav a{opacity:1;transform:none}.mmov.open nav a{animation:none}}
body{background:#fff;color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.47;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
::selection{background:var(--blue);color:#fff}
.gnav{height:44px;background:rgba(250,250,252,.8);backdrop-filter:saturate(1.8) blur(20px);-webkit-backdrop-filter:saturate(1.8) blur(20px);border-bottom:1px solid rgba(0,0,0,.07);position:sticky;top:0;z-index:30}
.gnav .in{max-width:1024px;margin:0 auto;height:100%;padding:0 22px;display:flex;align-items:center;justify-content:center;gap:40px;font-size:12px;letter-spacing:-.01em}
.gnav a{text-decoration:none;color:rgba(29,29,31,.8);transition:color .1s ease}
.gnav a:hover{color:#000;text-decoration:none}
.gnav .lg{height:15.4px;width:68px;color:var(--ink);display:block}
.gnav .ndrop{position:relative;display:inline-flex;align-items:center}
.gnav .ndrop>.ntop{cursor:pointer}
.gnav .nmenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:184px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 14px 38px rgba(0,0,0,.16);padding:7px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:130}
.gnav .nmenu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.gnav .nmenu a{display:block;color:var(--ink);font-size:13.5px;font-weight:400;padding:9px 14px;border-radius:8px;white-space:nowrap}
.gnav .nmenu a:hover{background:#f5f5f7;color:#000;text-decoration:none}
.gnav .ndrop:hover .nmenu,.gnav .ndrop:focus-within .nmenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(2px)}
/* .localbar / sub-nav design moved to the shared single source: assets/localnav.css */
.head{max-width:760px;margin:0 auto;padding:64px 24px 30px;text-align:center}
.head h1{font-size:clamp(38px,6.4vw,60px);font-weight:600;letter-spacing:-.01em;line-height:1.05}
.head .sub{margin-top:16px;font-size:21px;color:var(--ink);font-weight:400;line-height:1.4}
.head .sub.grey{color:var(--grey);font-size:17px}
main{max-width:980px;margin:0 auto;padding:10px 24px 40px}
.btn{display:inline-block;background:var(--blue);color:#fff;border-radius:12px;padding:12px 28px;font-size:16px;letter-spacing:-.016em;text-decoration:none;border:0;cursor:pointer;font-family:var(--sans);transition:background .15s}
.btn:hover{background:var(--blue-h);text-decoration:none}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:#86868B}
h2.sec{font-size:clamp(24px,3vw,30px);font-weight:600;letter-spacing:-.01em;margin:52px 0 6px;text-align:center}
.sec-sub{text-align:center;color:var(--grey);font-size:16px;max-width:56ch;margin:0 auto 22px}
.ld{opacity:0;transform:translateY(10px);animation:pin .6s cubic-bezier(.2,.6,.2,1) forwards;animation-delay:var(--d,0s)}
@keyframes pin{to{opacity:1;transform:none}}
a:focus-visible,button:focus-visible{outline:4px solid rgba(0,125,250,.6);outline-offset:1px;border-radius:8px}
@media (prefers-reduced-motion:reduce){.ld{animation:none;opacity:1;transform:none}}
.sipill{background:var(--blue);color:#fff !important;border-radius:999px;padding:4.5px 13px;line-height:1;display:inline-flex;align-items:center;white-space:nowrap;transition:background .15s}
.sipill:hover{background:var(--blue-h);text-decoration:none !important;color:#fff}
.gnav.agnav .in{justify-content:flex-end;max-width:1024px;padding:0 22px;gap:28px}
.gnav.agnav .in > a:first-child{margin-right:auto}
.agnav .gico{display:flex !important;color:var(--ink)}
.agnav .mnavb{display:none}
/* footer */
.afoot{background:var(--panel);border-top:1px solid var(--hair);font-size:12px;color:var(--grey);margin-top:60px}
.afoot .in{max-width:1024px;margin:0 auto;padding:0 22px}
.afoot a{text-decoration:none;color:#424245}
.afoot a:hover{text-decoration:underline}
.fcrumb{display:flex;align-items:center;gap:10px;padding:17px 0;border-bottom:1px solid var(--line);font-size:11.5px;color:var(--grey)}
.fcrumb .here{color:var(--ink)}
.dir{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.dir h6{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:9px}
.dir h6.gap{margin-top:22px}
.dir ul{list-style:none;padding:0}
.dir li{margin-bottom:8px;font-size:12px}
.more{padding:13px 0;border-bottom:1px solid var(--line);color:var(--grey)}
.more a{color:#06C}
.legalrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 0 26px;color:var(--grey-l);font-size:11.5px}
.legalrow .c{margin-right:auto}
.legalrow .links a{padding:0 10px;border-right:1px solid var(--line);color:#424245}
.legalrow .links a:last-child{border-right:0}
@media (max-width:740px){
  .gnav .in{gap:20px;padding:0 14px}
  .gnav.agnav .in{gap:18px;padding:0 16px}
  .gnav.agnav .in > a:not(:first-child):not(.gico){display:none}
  .gnav.agnav .in > .ndrop{display:none}
  .gnav.agnav .in > .sipill{display:inline-flex !important}
  .agnav .mnavb{display:flex}
  .localbar .in{padding:0 16px;height:48px}
  .localbar .t{font-size:16px}
  .localbar .r{gap:14px;font-size:12px}
  .head{padding:44px 20px 24px}
  .head h1{font-size:clamp(32px,9vw,40px)}
  .head .sub{font-size:17px}
  main{padding:8px 16px 40px}
  .pcards,.bens,.tiers{grid-template-columns:1fr;gap:14px}
  h2.sec{margin-top:38px}
  .dir{display:block;padding:0}
  .dir h6{position:relative;margin:0;padding:14px 0;border-top:1px solid var(--line);cursor:pointer}
  .dir>div:first-child h6:first-child{border-top:0}
  .dir h6.gap{margin-top:0}
  .dir h6::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-size:17px;font-weight:300;color:var(--grey-l)}
  .dir h6.open::after{content:"−"}
  .dir ul{display:none;padding:0 0 14px}
  .dir h6.open+ul{display:block}
  .legalrow .c{margin-right:0;width:100%}
}
/* a11y: taller tap targets for icon-only controls, without inflating width (keeps the nav aligned) */
.gnav .gico{align-items:center;justify-content:center;min-height:44px;padding:0 5px}
.mnavb{align-items:center;justify-content:center;min-height:44px}

/* Apple "localnav" sub-nav design lives in the single source: assets/localnav.css */
