:root{--yellow:#ffcb40;--purple:#34004d;--deep:#1a0033;
--blue:#0d76bc;--red:#ed1a32;--green:#27ae60;--bg:#0d0d0d;--card:#1a1a2e;
--alt:#111118;--black:#0e0507;--white:#ffffff;--text:#cccccc;
--fh:'Montserrat',sans-serif;--fb:'Lato',sans-serif;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--fb);background:var(--bg);color:var(--text);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{font-family:var(--fh);font-weight:900;color:#fff;line-height:1.2}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:820px;margin:0 auto;padding:0 24px}
.alg-live-bar{background:linear-gradient(90deg,#2a0040 0%,#34004d 50%,#2a0040 100%);border-bottom:1px solid rgba(255,203,64,.3);padding:8px 0}
.alg-live-bar:empty{display:none}
.alg-lb-container{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:nowrap}
.alg-lb-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(237,26,50,.18);border:1px solid rgba(237,26,50,.5);border-radius:50px;padding:4px 12px;font-family:var(--fh);font-weight:800;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;white-space:nowrap;flex-shrink:0}
.alg-lb-dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:lbpulse 1.4s infinite}
@keyframes lbpulse{0%,100%{opacity:1}50%{opacity:.4}}
.alg-lb-text{font-size:15px;color:#d9c8e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alg-lb-text strong{font-family:var(--fh);font-weight:800;color:#fff}
.alg-lb-cd{font-family:var(--fh);font-weight:900;font-size:16px;color:var(--yellow);letter-spacing:1px;white-space:nowrap;flex-shrink:0;order:7}
.alg-lb-cta{font-family:var(--fh);font-weight:800;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#fff!important;background:transparent;border:1.5px solid rgba(255,255,255,.45);border-radius:50px;padding:6px 18px;white-space:nowrap;flex-shrink:0}
.alg-lb-cta:hover{border-color:var(--yellow);color:var(--yellow)!important;background:rgba(255,203,64,.08)}
.alg-lb-date{display:none}
@media(max-width:768px){.alg-lb-container{gap:10px;flex-wrap:wrap}.alg-lb-text{display:none}
.alg-lb-date{display:inline;font-family:var(--fh);font-weight:700;font-size:12px;color:#fff}
.alg-lb-cta{font-size:10px;padding:6px 14px;order:0}.alg-lb-cd{font-size:15px;flex-basis:100%;text-align:center;order:5;margin-top:2px}}
.hero{background:radial-gradient(ellipse at 70% 20%,#34004d 0%,#1a0033 45%,#0d0d0d 90%);padding:72px 0 60px;text-align:center}
.hero .eyebrow{font-family:var(--fh);font-weight:700;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);margin-bottom:16px}
.hero h1{font-size:50px;max-width:840px;margin:0 auto 16px}
.hero h1 span{color:var(--yellow)}
.hero p.sub{font-size:19px;color:#cfc4dd;max-width:640px;margin:0 auto}
.search{max-width:580px;margin:30px auto 0}
.search input{width:100%;padding:16px 20px;border:1px solid rgba(255,255,255,.15);border-radius:4px;font-size:1rem;font-family:var(--fb);background:rgba(0,0,0,.35);color:#fff}
.search input::placeholder{color:#9a8fab}
.tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:20px}
.tags button,.tags span{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,203,64,.3);padding:7px 15px;border-radius:50px;font-size:.8rem;cursor:pointer;font-family:var(--fh);font-weight:700;letter-spacing:1px;text-transform:uppercase}
.tags button:hover{background:rgba(255,203,64,.12)}
.tags span{cursor:default}
.tags button.on{background:var(--yellow);color:var(--deep);border-color:var(--yellow)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;padding:54px 0}
.card{background:var(--card);border-radius:14px;overflow:hidden;border-left:4px solid var(--blue);box-shadow:0 8px 30px rgba(0,0,0,.4);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(0,0,0,.55)}
.card .thumb{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover;opacity:.95}
.card .dur{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.82);color:#fff;font-size:.72rem;padding:3px 8px;border-radius:4px;font-family:var(--fh);font-weight:700}
.card .body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.14rem;line-height:1.28;margin-bottom:10px;color:#fff}
.card h3 a{color:inherit}.card h3 a:hover{color:var(--yellow)}
.card .ex{font-size:.94rem;color:#aaa;flex:1}
.card .meta{margin-top:16px;font-size:.74rem;color:#777;font-family:var(--fh);font-weight:700;letter-spacing:.5px;text-transform:uppercase;display:flex;gap:12px}
.empty{text-align:center;padding:60px 0;color:#888}
.art{max-width:820px;margin:0 auto;padding:54px 24px 10px}
.crumb{font-size:.8rem;color:#888;font-family:var(--fh);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px}
.crumb a{color:var(--yellow)}
.art h1{font-size:42px;line-height:1.16;margin-bottom:16px}
.art .sub{color:#999;font-size:.82rem;font-family:var(--fh);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:28px;display:flex;gap:16px;flex-wrap:wrap}
.embed{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;margin:8px 0 34px;border:2px solid #222;box-shadow:0 12px 50px rgba(0,0,0,.6)}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.embed.lite{cursor:pointer;background:#000}
.embed.lite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}
.embed.lite .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 26px rgba(0,0,0,.55);transition:transform .15s,background .15s}
.embed.lite:hover .play{transform:translate(-50%,-50%) scale(1.08);background:#c4142a}
.embed.lite .play::after{content:"";border-style:solid;border-width:14px 0 14px 23px;border-color:transparent transparent transparent #fff;margin-left:5px}
.lead{font-size:21px;line-height:1.7;color:#e4e4e4;margin-bottom:30px}
.tk{background:rgba(255,203,64,.06);border-left:4px solid var(--yellow);border-radius:0 10px 10px 0;padding:26px 30px;margin:0 0 36px}
.tk h2{font-family:var(--fh);font-weight:900;color:var(--yellow);font-size:15px;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px}
.tk ul{margin-left:20px}.tk li{margin:9px 0;color:#e8e8e8;font-size:1.02rem}
.art h2.sec{font-size:30px;margin:40px 0 14px;color:#fff}
.art p{margin:0 0 22px;font-size:19px;line-height:1.9;color:var(--text)}
.art p strong{color:#fff}
.cta-band{background:linear-gradient(180deg,#1a0033 0%,#0d0d0d 100%);border-top:1px solid rgba(255,203,64,.18);border-bottom:1px solid rgba(255,203,64,.18);padding:54px 24px;text-align:center;margin:48px 0}
.cta-band.inline{border-radius:14px;margin:44px 0;border:1px solid rgba(255,203,64,.18)}
.cta-band .eyebrow{font-family:var(--fh);font-weight:700;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);margin-bottom:12px}
.cta-band h2{font-size:30px;margin-bottom:12px;max-width:680px;margin-left:auto;margin-right:auto}
.cta-band p{color:#bbb;max-width:560px;margin:0 auto 24px;font-size:1.02rem}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.offers{padding:64px 0 8px;text-align:center}
.offers .eyebrow{font-family:var(--fh);font-weight:700;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);margin-bottom:12px}
.offers h2{font-size:34px;margin-bottom:8px}
.offers h2 span{color:var(--yellow)}
.offers p.lead{color:#bbb;max-width:560px;margin:0 auto 40px;font-size:1.05rem}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}
.offer-card{background:var(--card);border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 30px rgba(0,0,0,.4);display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.offer-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.55)}
.offer-card .oc-img{aspect-ratio:16/10;overflow:hidden;background:#000}
.offer-card .oc-img img{width:100%;height:100%;object-fit:cover}
.offer-card .oc-body{padding:24px;display:flex;flex-direction:column;flex:1}
.offer-card .oc-eyebrow{font-family:var(--fh);font-weight:800;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--yellow);margin-bottom:10px}
.offer-card h3{font-size:21px;margin-bottom:10px;line-height:1.25}
.offer-card p{color:#aaa;font-size:.97rem;margin-bottom:22px;flex:1}
.offer-card .btn{width:100%;text-align:center;padding:15px 20px;font-size:13px}
.offers .quiz-below{margin-top:34px}
@media(max-width:860px){.offer-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}.offers h2{font-size:28px}}
.btn{display:inline-block;background:var(--blue);color:#fff!important;font-family:var(--fh);font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:18px 38px;border-radius:4px;font-size:15px;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(13,118,188,.5)}
.btn.ghost{background:transparent;color:var(--yellow)!important;border:2px solid var(--yellow);padding:16px 32px}
.btn.ghost:hover{background:rgba(255,203,64,.1);box-shadow:0 8px 30px rgba(255,203,64,.25)}
.btn.yt{background:var(--red)}.btn.yt:hover{box-shadow:0 8px 30px rgba(237,26,50,.45)}
.author{max-width:820px;margin:8px auto 0;padding:0 24px}
.author-card{background:var(--card);border-radius:14px;border-top:4px solid var(--blue);padding:30px 32px;display:flex;gap:24px;align-items:flex-start}
.author-card img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,203,64,.5)}
.author-card .who{font-family:var(--fh);font-weight:900;color:#fff;font-size:1.15rem;margin-bottom:2px}
.author-card .role{font-family:var(--fh);font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow);margin-bottom:12px}
.author-card .blurb{font-size:.98rem;color:#bdbdbd;line-height:1.7;margin-bottom:12px}
.author-card .more{font-family:var(--fh);font-weight:800;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow)}
@media(max-width:600px){.author-card{flex-direction:column;align-items:center;text-align:center}}
.rel{max-width:1100px;margin:10px auto 0;padding:30px 24px 0}
.rel h2{font-size:24px;margin-bottom:18px;color:#fff}
.alg-pop-ov{position:fixed;right:24px;bottom:24px;z-index:9999;max-width:340px;width:calc(100% - 48px);opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity .35s ease,transform .35s ease}
.alg-pop-ov.show{opacity:1;transform:none;pointer-events:auto}
.alg-pop{background:var(--card);border:1px solid rgba(255,203,64,.35);border-radius:14px;padding:22px 22px 18px;text-align:left;position:relative;box-shadow:0 16px 50px rgba(0,0,0,.6)}
.alg-pop .x{position:absolute;top:10px;right:12px;background:none;border:none;color:#888;font-size:20px;cursor:pointer;line-height:1}
.alg-pop .x:hover{color:#fff}
.alg-pop .eyebrow{font-family:var(--fh);font-weight:700;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--yellow);margin-bottom:8px}
.alg-pop h3{font-size:18px;margin-bottom:8px;line-height:1.25}
.alg-pop p{color:#bbb;font-size:.9rem;margin-bottom:16px;line-height:1.5}
.alg-pop .btn{display:block;width:100%;text-align:center;padding:13px 18px;font-size:13px}
.alg-pop .later{background:none;border:none;color:#888;font-size:.8rem;cursor:pointer;font-family:var(--fb);margin-top:10px;display:block;width:100%;text-align:center}
.alg-pop .later:hover{color:#bbb}
@media(max-width:600px){.alg-pop-ov{right:14px;left:14px;bottom:14px;width:auto;max-width:none}}
@media(max-width:600px){.hero h1{font-size:32px}.art h1{font-size:30px}.art p{font-size:17px}.lead{font-size:18px}body{font-size:16px}.alg-pop{padding:30px 24px}}
.tips-section{margin:6px 0 34px}
.tips-section h2{font-size:28px;color:#fff;margin-bottom:6px}
.tips-section .sub{color:#aaa;margin-bottom:22px;font-size:1rem}
.tips-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.tips-card{background:var(--card);border-radius:14px;border-top:4px solid var(--yellow);box-shadow:0 8px 30px rgba(0,0,0,.4);transition:transform .15s;padding:18px 20px}
.tips-card:hover{transform:translateY(-4px)}
.tips-card .tcount{font-family:var(--fh);font-weight:800;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow)}
.tips-card h3{font-family:var(--fh);font-weight:800;font-size:1.12rem;color:#fff;margin-top:6px;line-height:1.25}
.tips-card h3 a{color:inherit}.tips-card h3 a:hover{color:var(--yellow)}
.tips-page{max-width:1100px;margin:0 auto;padding:46px 24px 10px}
.tips-page h1{font-family:var(--fh);font-weight:900;font-size:40px;color:#fff;line-height:1.15;margin-bottom:14px}
.tip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;padding:14px 0 0}
.tip h3{font-family:var(--fh);font-weight:700;font-size:.98rem;color:#fff;margin:12px 0 6px;line-height:1.3}
.tip p{font-size:.9rem;color:#bbb;margin:0 0 8px}
.tip .ytx{font-family:var(--fh);font-weight:700;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--yellow)}
.embed.tip{aspect-ratio:9/16;margin:0;border-radius:12px}
.switcher{display:inline-flex;gap:6px;margin:28px auto 0;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:50px;padding:5px}
.switcher button{background:transparent;border:none;color:#cfc4dd;font-family:var(--fh);font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:11px 24px;border-radius:50px;cursor:pointer;transition:background .2s,color .2s}
.switcher button.on{background:var(--yellow);color:var(--deep)}
.bundle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:54px 0}
.bundle-prev{display:block;background:var(--card);border-radius:14px;overflow:hidden;border-top:4px solid var(--yellow);box-shadow:0 8px 30px rgba(0,0,0,.4);transition:transform .15s,box-shadow .15s}
.bundle-prev:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(0,0,0,.55)}
.bp-thumbs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;background:#000}
.bp-thumbs img{width:100%;aspect-ratio:9/16;object-fit:cover;opacity:.9}
.bp-body{padding:18px 20px 22px}
.bp-count{font-family:var(--fh);font-weight:800;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow)}
.bp-body h3{font-family:var(--fh);font-weight:800;font-size:1.18rem;color:#fff;margin:6px 0 10px;line-height:1.2}
.bp-go{font-family:var(--fh);font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--yellow)}
/* alg-shell:start — written by scripts/freelessons-sweep.mjs from src/lib/site-shell.ts and src/styles/shell.css; do not edit here */
:root {
  --alg-bg: #0d0d0d;
  --alg-panel: #171320;
  --alg-gold: #ffcb40;
  --alg-gold-ink: #1a1206;
  --alg-blue: #0d76bc;
  --alg-text: #ffffff;
  --alg-muted: #c9c2d4;
  /* The footer ramp, from design.md. 5.5:1 and 6.1:1 on #080808 — the old
     #555 / #666 / #777 / #444 measured 2.7 / 3.5 / 4.5 / 2.1. */
  --alg-faint: #8a8398;
  --alg-faint-hi: #9b86ab;
  --alg-container: 1100px;
  --alg-section-pad: 80px;
  /* The sticky header: 16px padding twice around a 62px logo. In-page anchors
     scroll to sit just under it instead of behind it. */
  --alg-header-h: 94px;
  --alg-font-head: 'Montserrat', sans-serif;
  --alg-font-body: 'Lato', sans-serif;
  --alg-cta: var(--alg-gold);
  --alg-cta-ink: var(--alg-gold-ink);
  --alg-cta-glow: rgba(255, 203, 64, .35);
}
html[data-cta="blue"] {
  --alg-cta: var(--alg-blue);
  --alg-cta-ink: #ffffff;
  --alg-cta-glow: rgba(13, 118, 188, .5);
}
@media (max-width: 980px) {
  :root { --alg-header-h: 70px; }
}
.alg-menu { position: sticky; top: 0; z-index: 1000; background: rgba(13,13,13,0.96); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255,255,255,0.08); padding: 16px 0; font-family: 'Lato', sans-serif; }
.alg-menu .alg-menu-container { max-width: 1100px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.alg-menu-logo img { height: 62px; width: auto; display: block; }
.alg-menu-nav { display: flex; align-items: center; gap: 22px; }
.alg-nav-link { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 1.5px; text-transform: uppercase; color: #ffffff; text-decoration: none; transition: color 0.2s; white-space: nowrap; padding: 10px 0; background: none; border: 0; cursor: pointer; line-height: inherit; }
.alg-nav-link:hover { color: #ffcb40; }
/* Dropdowns: hover or focus opens them; the button toggles for touch and
   keyboards; Escape closes. Both states are real — the menu is in the DOM
   and the accessibility tree either way, just hidden. */
.alg-dd { position: relative; }
.alg-dd-caret { display: inline-block; width: 0; height: 0; margin-left: 7px; vertical-align: 3px; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; }
.alg-dd-menu { position: absolute; top: 100%; left: -14px; min-width: 240px; padding: 10px 0; margin-top: 8px; background: rgba(13,13,13,0.98); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; box-shadow: 0 18px 50px rgba(0,0,0,0.5); display: none; flex-direction: column; z-index: 1001; }
.alg-dd-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -9px; height: 9px; }
.alg-dd:hover .alg-dd-menu, .alg-dd:focus-within .alg-dd-menu, .alg-dd.open .alg-dd-menu { display: flex; }
.alg-dd-menu a { display: block; padding: 10px 18px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 1px; text-transform: uppercase; color: #fff; text-decoration: none; white-space: nowrap; }
.alg-dd-menu a:hover, .alg-dd-menu a:focus-visible { color: #ffcb40; background: rgba(255,255,255,0.04); }
.alg-dd-group { display: block; padding: 10px 18px 4px; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 10.5px; letter-spacing: 2.2px; text-transform: uppercase; color: #9b86ab; }
.alg-dd-group + a { padding-top: 8px; }
.alg-dd-menu a + .alg-dd-group { margin-top: 6px; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 12px; }
/* 44px tall, and the token: the header CTA measured 38px and was blue while
   every page's primary button was gold; the burger was 35px and the phone
   "Join" 36px — all under the 44px a thumb needs. */
.alg-menu-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; background: var(--alg-cta); color: var(--alg-cta-ink) !important; text-transform: uppercase; letter-spacing: 2px; font-weight: 800; font-family: 'Montserrat', sans-serif; border-radius: 4px; padding: 10px 26px; font-size: 12px; text-decoration: none; transition: transform 0.2s, box-shadow 0.2s; }
.alg-menu-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 30px var(--alg-cta-glow); }
/* Login is the secondary action: same shape, outlined in the CTA colour, so
   the two buttons read as a pair (Tim, 5 Sep 2026). Join is a touch tighter
   so both fit beside the seven-item nav at 1100px. */
.alg-menu-cta-secondary { background: transparent; border: 1.5px solid var(--alg-cta); color: var(--alg-cta) !important; padding: 9px 18px; }
.alg-menu-cta-secondary:hover { background: rgba(255,203,64,0.1); box-shadow: 0 8px 30px rgba(255,203,64,0.18); }
.alg-menu-nav .alg-menu-cta { padding: 10px 18px; margin-left: 4px; }
.alg-burger { display: none; background: none; border: none; cursor: pointer; padding: 0; width: 44px; height: 44px; flex-direction: column; justify-content: center; align-items: center; flex-shrink: 0; }
.alg-burger span { display: block; width: 26px; height: 3px; background: #fff; border-radius: 2px; margin: 4px 0; transition: transform 0.25s, opacity 0.25s; }
.alg-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.alg-burger.open span:nth-child(2) { opacity: 0; }
.alg-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.alg-mobile-panel { display: none; background: rgba(13,13,13,0.98); border-bottom: 1px solid rgba(255,255,255,0.1); padding: 8px 24px 24px; max-height: calc(100vh - 70px); overflow-y: auto; }
.alg-mobile-panel.open { display: block; }
.alg-mobile-panel a.alg-m-link { display: block; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 2px; text-transform: uppercase; color: #fff; text-decoration: none; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.alg-mobile-panel a.alg-m-link:active { color: #ffcb40; }
.alg-mobile-panel .alg-m-group { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 11px; letter-spacing: 2.4px; text-transform: uppercase; color: #9b86ab; margin: 18px 0 4px; }
.alg-mobile-panel a.alg-m-sub { font-size: 14px; letter-spacing: 1.2px; padding: 12px 0 12px 14px; text-transform: none; font-weight: 700; }
.alg-mobile-panel .alg-m-group-sub { margin: 12px 0 2px 14px; color: #7e6c8d; }
.alg-mobile-panel .alg-m-join { display: block; background: var(--alg-cta); color: var(--alg-cta-ink) !important; text-align: center; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; border-radius: 4px; padding: 16px; margin-top: 20px; text-decoration: none; min-height: 44px; box-sizing: border-box; }
.alg-mobile-right { display: none; align-items: center; gap: 10px; }
.alg-m-cta-bar { padding: 10px 22px; font-size: 13px; }
@media (max-width: 980px) {
  .alg-menu { padding: 10px 0; }
  .alg-menu-logo img { height: 50px; }
  .alg-menu-nav { display: none; }
  .alg-mobile-right { display: flex; }
  .alg-burger { display: flex; }
}
/* The footer's greys — #555 / #666 / #777 / #444 on #080808 — measured 2.7,
   3.5, 4.5 and 2.1 to one. These are the design.md ramp: 5.5:1 and 6.1:1. */
.alg-footer { background: #080808; padding: 56px 0 40px; font-size: 14px; color: var(--alg-faint); font-family: 'Lato', sans-serif; }
.alg-footer .alg-ft-container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
.alg-ft-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.alg-footer h5 { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: var(--alg-faint-hi); margin: 0 0 16px; font-family: 'Montserrat', sans-serif; font-weight: 700; }
.alg-footer ul { list-style: none; margin: 0; padding: 0; }
.alg-footer ul li { margin-bottom: 12px; }
.alg-footer ul a { color: var(--alg-faint); font-size: 14px; text-decoration: none; }
.alg-footer ul a:hover { color: #ffcb40; }
.alg-ft-tagline { font-size: 13px; color: var(--alg-faint); line-height: 1.7; }
.alg-ft-bottom { border-top: 1px solid rgba(255,255,255,0.06); padding-top: 24px; text-align: center; }
.alg-ft-disclaimer { max-width: 640px; margin: 12px auto 0; font-size: 12px; color: var(--alg-faint); line-height: 1.6; }
@media (max-width: 768px) {
  .alg-ft-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
}
/* alg-shell:end */
