/* Shared by every page: top navigation and footer links.
   Needs the page tokens --ink --body --muted --hair --fill --ui --head and the .w wrapper. */
.site-nav{position:sticky;top:0;z-index:50;background:#FFFFFF;border-bottom:1px solid var(--hair)}
.site-nav .nav-in{display:flex;align-items:stretch;justify-content:space-between;gap:12px;min-height:76px}
.site-nav .brand{display:flex;align-items:center;flex:none}
.site-nav .brand img{height:56px;width:auto;display:block}
.site-nav .tabs{display:flex;align-items:stretch;gap:clamp(2px,1.6vw,14px);list-style:none;margin:0 auto 0 clamp(8px,4vw,48px);padding:0}
.site-nav .tabs>li{display:flex;position:relative}
.site-nav .tabs>li>a{display:flex;align-items:center;padding:0 12px;font-family:var(--ui);font-weight:500;font-size:15px;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px;min-height:44px}
.site-nav .tabs>li>a:hover{color:var(--ink)}
.site-nav .tabs>li>a[aria-current="page"]{color:var(--ink);font-weight:700;border-bottom-color:var(--ink)}
.site-nav .dd>a::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:-4px 0 0 8px}
/* Features dropdown: opens on hover or keyboard focus, the Features link itself still goes to the overview */
.site-nav .ddm{display:none;position:absolute;left:0;top:100%;background:#FFFFFF;border:1.5px solid var(--ink);width:360px;padding:6px 0;z-index:60}
.site-nav .dd:hover .ddm,.site-nav .dd:focus-within .ddm{display:block}
.site-nav .ddm ul{list-style:none;margin:0;padding:0}
.site-nav .ddm a{display:block;padding:10px 18px;text-decoration:none;color:var(--ink)}
.site-nav .ddm a:hover,.site-nav .ddm a[aria-current="page"]{background:var(--fill)}
.site-nav .ddm b{display:block;font-family:var(--ui);font-weight:700;font-size:15px}
.site-nav .ddm span{display:block;font-family:var(--text);font-size:13.5px;line-height:1.4;color:var(--muted);margin-top:2px}
.site-nav .ddm .all{border-top:1px solid var(--hair);margin-top:6px}
.site-nav .nav-act{display:flex;align-items:center;gap:8px;flex:none}
.site-nav .login,.site-nav .cta,.site-nav .mbtn{font-family:var(--ui);font-weight:700;font-size:13px;line-height:1.2;text-decoration:none;border:1.5px solid var(--ink);padding:12px 18px;white-space:nowrap;border-radius:0;cursor:pointer}
.site-nav .login,.site-nav .mbtn{color:var(--ink);background:#FFFFFF}
.site-nav .cta{color:#FFFFFF;background:var(--ink)}
.site-nav .mbtn{display:none}
.site-nav a:focus-visible,.site-nav button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
/* phone menu panel */
.site-nav .mnav{border-top:1px solid var(--hair);background:#FFFFFF;max-height:calc(100vh - 64px);overflow:auto}
.site-nav .mnav[hidden]{display:none}
.site-nav .mnav ul{list-style:none;margin:0;padding:0}
.site-nav .mnav>.w>ul>li{border-bottom:1px solid var(--hair)}
.site-nav .mnav a{display:flex;align-items:center;min-height:52px;font-family:var(--ui);font-weight:700;font-size:17px;color:var(--ink);text-decoration:none}
.site-nav .mnav li ul{padding:0 0 10px 14px}
.site-nav .mnav li ul a{min-height:44px;font-weight:500;font-size:16px;color:var(--body)}
@media (max-width:820px){
  .site-nav .tabs{display:none}
  .site-nav .mbtn{display:inline-flex}
  .site-nav .nav-in{min-height:64px;gap:8px}
  .site-nav .brand img{height:44px}
  .site-nav .cta .more{display:none}
  .site-nav .login,.site-nav .cta,.site-nav .mbtn{padding:11px 12px;font-size:12.5px}
  .site-nav .nav-act{gap:6px}
}
@media (max-width:360px){.site-nav .brand img{height:34px}.site-nav .login,.site-nav .cta,.site-nav .mbtn{padding:10px 8px;font-size:12px}.site-nav .nav-act{gap:4px}}
@media (min-width:821px){.site-nav .mnav{display:none!important}}
/* shared blocks: feature cards, help videos, "see more" links */
.fcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-top:24px}
.fcard{display:flex;flex-direction:column;border:1.5px solid var(--ink);text-decoration:none;color:var(--body);background:#FFFFFF}
.fcard:hover{background:var(--fill)}
.fcard img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;border-bottom:1px solid var(--hair);background:#FFFFFF}
.fcard>div{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.fcard h2,.fcard h3{font-size:21px;letter-spacing:0}
.fcard p{font-size:16px;line-height:1.45;margin:0}
.fcard .go2{margin-top:auto;padding-top:6px;font-family:var(--ui);font-weight:700;font-size:14px;color:var(--ink)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:28px;margin-top:24px;align-items:start}
.vcard{margin:0;min-width:0}
.vcard video{width:100%;height:auto;display:block;background:#000000;border:1px solid var(--hair)}
.vcard.tall video{max-width:260px}
.vcard figcaption{margin-top:10px}
.vcard h2,.vcard h3{font-size:20px;letter-spacing:0}
.vcard p{margin:6px 0 0;font-size:16px;line-height:1.45}
.vcard .mins{display:inline-block;margin-top:6px;font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
a.go{display:inline-flex;align-items:center;min-height:44px;font-family:var(--ui);font-weight:700;font-size:15px;color:var(--ink)}
[id]{scroll-margin-top:84px}
footer .w.foot{display:flex;flex-direction:column;gap:28px}
footer .foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px}
footer .flinks{display:flex;flex-wrap:wrap;gap:4px 24px;list-style:none;margin:0;padding:0;font-family:var(--ui);font-weight:500;font-size:16px}
footer .flinks a{color:var(--ink);text-decoration:none;padding:12px 0;display:inline-block;min-height:44px}
footer .flinks a:hover{text-decoration:underline}
footer .flinks a[aria-current="page"]{font-weight:700}
footer .legal{font-family:var(--ui);font-size:14px;color:var(--muted);line-height:1.6}
footer .legal a{color:var(--muted)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* picture links that open a larger view */
a.zoom{display:block;position:relative;cursor:zoom-in}
a.zoom .zhint{display:none}
@media (max-width:760px){a.zoom .zhint{display:block;position:absolute;right:8px;bottom:8px;background:#111;color:#fff;font-family:var(--ui);font-weight:700;font-size:13px;padding:6px 10px}}
dialog.zdlg{border:0;padding:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#fff}
dialog.zdlg::backdrop{background:rgba(0,0,0,.6)}
.zdlg .zbar{position:sticky;top:0;display:flex;justify-content:flex-end;padding:10px;background:#fff;border-bottom:1px solid var(--hair);z-index:1}
.zdlg .zbar button{font-family:var(--ui);font-weight:700;font-size:15px;min-height:44px;padding:0 20px;background:#111;color:#fff;border:0;cursor:pointer}
.zdlg .zscroll{overflow:auto;height:calc(100dvh - 65px);-webkit-overflow-scrolling:touch}
.zdlg img{max-width:none;width:max(100%,1000px);height:auto;display:block}
.zdlg img.tallimg{width:min(100%,700px);margin-inline:auto}
