:root{--max:1200px}*,:after,:before{box-sizing:border-box}body,html{margin:0}body{background:#fff;color:#1b2d45;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5}img{display:block;height:auto;max-width:100%}a{color:#1b2d45;text-decoration:none}a:hover{text-decoration:underline}.container{margin:0 auto;max-width:var(--max);padding:16px}.grid{display:grid;gap:24px}@media (min-width:900px){.grid.two{grid-template-columns:1fr 1fr}}.site-header{border-bottom:1px solid #e6ecf1}.header-row{align-items:center;display:flex;justify-content:space-between;padding:12px 0}.logo{font-weight:700}.main-nav{position:relative}.top-level{align-items:center;display:flex;gap:20px;list-style:none;margin:0;padding:0}.top-level>li>a{padding:8px 0}@media (min-width:900px){.header-row{gap:200px;justify-content:flex-start}}.mega-toggle,.nav-toggle{background:transparent;border:0;color:#1b2d45;cursor:pointer;font:inherit}.nav-toggle{display:none;font-size:22px}.has-mega{position:relative}.has-mega>.mega-toggle{padding:8px 0}.mega{background:#fff;border:1px solid #e6ecf1;box-shadow:0 6px 24px rgba(0,0,0,.06);display:none;gap:16px;grid-template-columns:repeat(3,minmax(180px,1fr));left:0;margin-top:0;padding:16px;position:absolute;top:100%;width:min(980px,96vw);z-index:50}.has-mega:focus-within .mega,.has-mega:hover .mega,.has-mega[aria-expanded=true] .mega{display:grid}.mega-col h3{color:#444;font-size:14px;margin:6px 0 8px}.mega-col ul{list-style:none;margin:0;padding:0}.mega-col li{margin:2px 0}.mega-col a{font-size:14px}.has-mega.two .mega{grid-template-columns:2fr 1fr}.mega .featured-links{display:grid;gap:16px;list-style:none;margin:0;padding:0}.mega .featured-links a{display:block;text-decoration:none}.mega .featured-links img{border-radius:8px;display:block;height:auto;width:100%}.mega .featured-links span{color:#1b2d45;display:block;margin-top:8px}.top-level .has-mega>.mega-toggle:after{content:"▾";font-size:12px;line-height:1;margin-left:6px}@media (max-width:900px){.nav-toggle{display:block}.top-level{display:none;flex-direction:column;gap:0}.main-nav[aria-expanded=true] .top-level{display:flex}.has-mega .mega{border:0;box-shadow:none;margin:8px 0 0;position:static;width:100%}.mega{grid-template-columns:1fr}.mega-col ul{column-count:2;column-gap:24px}}.section{padding:32px 0}.hero h1{font-size:clamp(28px,4vw,40px);margin:0 0 8px}.lede{color:#40546b;font-size:18px;max-width:65ch}.stack>*+*{margin-top:12px}@media (min-width:900px){.stack>*+*{margin-top:14px}}.content h2{margin-top:24px}.content h3{color:#444;font-size:16px;margin-top:16px}.list{padding-left:18px}.list li{margin:6px 0}.sidebar{border-left:1px solid #e6ecf1;padding-left:16px}.card{background:#fff;border:1px solid #e6ecf1;border-radius:10px;padding:16px}.card h2,.card h3{margin:0 0 6px}@media (max-width:900px){.sidebar{border:0;padding:0}.grid.two{grid-template-columns:1fr!important}}.logos-wrap{border-bottom:1px solid #e6ecf1;border-top:1px solid #e6ecf1;margin:24px 0;overflow:hidden;padding:12px 0}.logos-track{animation:scroll 30s linear infinite;gap:48px}.logos{align-items:center;display:flex;gap:48px;list-style:none;margin:0;padding:0}.logos img{height:40px;opacity:.85;width:auto}.logos img:hover{opacity:1}.logos-wrap:hover .logos-track{animation-play-state:paused}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.site-footer{border-top:1px solid #e6ecf1;color:#40546b;padding:24px 0}.footer-grid{display:grid;gap:24px}@media (min-width:900px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.footer-col h3{color:#40546b;font-size:14px;margin:0 0 8px}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin:4px 0}.nolink{color:#637991}.footer-legal{border-top:1px solid #e6ecf1;color:#40546b;margin-top:24px;padding-top:16px;text-align:center}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.bg-blue-40{background:rgba(179,218,255,.4)}.bg-blue2-40{background:rgba(179,219,255,.4)}.bg-salmon-40{background:hsla(3,100%,85%,.4)}.bg-fafafa{background:#fafafa}.shadow{box-shadow:0 8px 24px rgba(0,0,0,.08)}.list.checks{list-style:none;padding-left:0}.list.checks li{padding-left:28px;position:relative}.list.checks li:before{content:"✔";font-weight:700;left:0;position:absolute;top:.1em}.list.checks.big li{font-size:18px}.list.checks.big li:before{font-size:20px}.table-wrap{overflow-x:auto}.clean-table{border-collapse:collapse;width:100%}.clean-table td,.clean-table th{border-bottom:1px solid #e6ecf1;padding:10px 12px;text-align:left}.clean-table thead th{background:#fff;font-weight:600}.muted{color:#637991}.grid.cards{display:grid;gap:20px}@media (min-width:720px){.grid.cards{grid-template-columns:repeat(3,1fr)}}.flip{perspective:1000px}.flip-inner{height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%}.flip:hover .flip-inner{transform:rotateY(180deg)}.flip-back,.flip-front{align-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;border:1px solid #e6ecf1;border-radius:12px;display:flex;justify-content:center;min-height:220px;overflow:hidden;padding:12px}.flip-back{inset:0;position:absolute;text-align:center;transform:rotateY(180deg)}html.reduce-motion .flip-inner{transition:none!important}html.reduce-motion .flip:hover .flip-inner{transform:none!important}html.reduce-motion .logos-track{animation:none!important}.ralph-row{align-items:center;gap:16px;grid-template-columns:300px 1fr}.portrait-ralph{border-radius:12px;display:block;height:auto;max-width:100%;width:300px}@media (max-width:900px){.ralph-row{grid-template-columns:200px 1fr}}@media (max-width:600px){.ralph-row{grid-template-columns:1fr}}.has-mega.wide .mega{grid-template-columns:repeat(4,minmax(180px,1fr))}.has-mega.right .mega{left:auto;right:0}.logos li{flex:0 0 auto}.logos img{display:block;height:60px!important}.logos-wrap{min-height:64px}.logos,.logos li{align-items:center;display:flex;gap:48px}.logos img{height:90px!important;opacity:1!important;visibility:visible!important;width:auto!important}.logos-track{display:flex;width:max-content}.logos-track,html.reduce-motion .logos-track{animation:logos-marquee 28s linear infinite!important}@keyframes logos-marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}