:root{--ink:#18232e;--paper:#f5f3ee;--teal:#126b62;--line:#dedfd8;--muted:#55646d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,sans-serif}a{color:var(--teal);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #bb5a24;outline-offset:5px}button,input{font:inherit}header.top{background:#f5f3eef5;border-bottom:1px solid var(--line);padding:18px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.wordmark{text-decoration:none;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.5px}.mark{display:inline-grid;place-items:center;background:var(--teal);color:white;width:33px;height:33px;border-radius:10px;margin-right:10px;font-size:15px}.top nav{display:flex;gap:24px;font-size:14px;font-weight:600}.top nav a{color:var(--ink);text-decoration:none}.hero{padding:72px max(5vw,24px) 62px;background:#172c35;color:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:800;color:#abe0c9;display:block;margin-bottom:23px}.hero h1{font-size:clamp(42px,5.4vw,78px);line-height:1.02;letter-spacing:-3px;margin:0 0 25px;max-width:750px}.hero h1 em{font-style:normal;color:#b7ebcd}.hero p{max-width:550px;color:#ccdade;font-size:19px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{padding:13px 20px;background:#c5edb4;color:#182c25;text-decoration:none;font-weight:750;border-radius:7px;font-size:14px}.button.secondary{background:transparent;border:1px solid #6e858c;color:white}.hero-art{width:100%;max-width:540px;justify-self:center}.stats{display:flex;justify-content:center;border-bottom:1px solid var(--line);background:white;padding:24px}.stats div{padding:0 50px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{font-size:25px;display:block}.stats span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}main.catalog{max-width:1200px;margin:auto;padding:64px 24px}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:25px}.section-head h2{font-size:34px;letter-spacing:-1px;margin:0}.section-head p{margin:7px 0;color:var(--muted)}.search{max-width:310px}input[type=search]{width:100%;padding:12px 16px;border:1px solid #c4cbc5;background:white;border-radius:8px}.module-label{margin:42px 0 16px;font-size:12px;letter-spacing:2px;font-weight:800;color:var(--muted);text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.session{position:relative;background:white;border:1px solid var(--line);border-radius:14px;padding:25px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.session:hover{transform:translateY(-3px);box-shadow:0 12px 30px #18232e0c}.session .num{font:800 14px ui-monospace,monospace;color:var(--teal);background:#e4f3eb;border-radius:8px;width:42px;height:40px;display:grid;place-items:center}.session:nth-child(3n+2) .num{color:#6553aa;background:#f0ecfc}.session:nth-child(3n+3) .num{color:#995c22;background:#faf0de}.session .meta{position:absolute;right:25px;top:31px;font-size:12px;color:var(--muted)}.session h3{font-size:22px;line-height:1.25;letter-spacing:-.6px;margin:22px 0 10px}.session p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 20px}.session nav{margin-top:auto;border-top:1px solid #eee;padding-top:15px;display:flex;flex-wrap:wrap;gap:12px;font-size:13px}.session nav a:first-child{font-weight:750}.downloads{font-size:12px;margin-top:15px;color:var(--muted)}.toolstrip{border:1px solid var(--line);border-radius:14px;padding:27px;margin-top:55px;background:#eeeaf5}.toolstrip h2{font-size:23px;margin:0 0 8px}.toolstrip p{font-size:15px}.chips{display:flex;gap:9px;flex-wrap:wrap}.chips span{border:1px solid #d3cde1;border-radius:20px;background:white;padding:5px 13px;font-size:12px}footer{border-top:1px solid var(--line);padding:30px max(5vw,24px);font-size:13px;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px}footer nav{display:flex;gap:20px}.document{max-width:880px;margin:50px auto;padding:0 24px 60px}.document h1{font-size:42px;letter-spacing:-1.5px;line-height:1.15}.document h2{margin-top:42px;font-size:25px}.document table{border-collapse:collapse;display:block;overflow:auto;font-size:14px}.document td,.document th{border:1px solid var(--line);padding:12px;text-align:left}.document th{background:#e4eee7}.document pre{padding:20px;background:#172c35;color:#d7eee4;border-radius:9px;overflow:auto}.document code{font-size:.88em}.document blockquote{border-left:4px solid var(--teal);margin-left:0;padding:15px 22px;background:#e6f1e9}.document img{max-width:100%}.breadcrumb{font-size:13px}.hidden{display:none!important}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:30px}.hero-art{max-width:400px}.grid{grid-template-columns:repeat(2,1fr)}.stats div{padding:0 25px}.hero h1{letter-spacing:-2px}}@media(max-width:560px){.grid{grid-template-columns:1fr}.hero{padding:45px 24px}.hero-art{max-width:320px}.stats{flex-wrap:wrap;gap:20px}.stats div{padding:0 17px}.section-head{display:block}.search{margin-top:18px;max-width:none}.top nav{gap:15px}.document h1{font-size:33px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.session{transition:none}.session:hover{transform:none}}
:is(.grid){grid-template-columns:repeat(4,1fr)}
.module:first-of-type .session{grid-column:1/-1;background:#e5eee8;}
.module:first-of-type .session p{max-width:650px;}
@media(max-width:1000px){:is(.grid){grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){:is(.grid){grid-template-columns:1fr}}
.wordmark{display:flex;align-items:center;gap:12px;font-size:24px;line-height:1.2;letter-spacing:-.8px}
.brand-logo{width:52px;height:52px;object-fit:contain;flex-shrink:0}
.wordmark small{display:block;font-size:9px;letter-spacing:2px;color:var(--teal);margin-top:5px}
.top nav{flex-wrap:wrap}
select:focus-visible{outline:3px solid #bb5a24;outline-offset:5px}
