
@font-face{font-family:'Roboto';src:url('/assets/Roboto-Regular.woff2') format('woff2');
font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Roboto';src:url('/assets/Roboto-Bold.woff2') format('woff2');
font-weight:700;font-style:normal;font-display:swap}

:root{
  --ink:#10131a; --ink-2:#1a2030; --ink-3:#262f42;
  --lime:#d3e512; --lime-2:#eef79a; --lime-ink:#1d2206;
  --paper:#ffffff; --paper-2:#f5f7ec; --paper-3:#eef1e0;
  --line:#e0e5cf; --line-2:#cdd4b6;
  --text:#161a21; --muted:#5d6577;
  --rad:14px; --rad-s:9px;
  --wrap:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);
  font:400 17px/1.68 'Roboto',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#3c4a06;text-underline-offset:3px}
h1,h2,h3{line-height:1.2;letter-spacing:-.015em;margin:0 0 .5em}
h1{font-size:clamp(28px,5.4vw,46px);font-weight:700}
h2{font-size:clamp(23px,3.6vw,32px);font-weight:700}
h3{font-size:clamp(18px,2.4vw,21px);font-weight:700}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.15em;padding-left:1.25em}
li{margin:0 0 .45em}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px;width:100%}

/* ---------- header ---------- */
.mastrow{background:var(--ink);color:#fff;position:sticky;top:0;z-index:40;
  border-bottom:1px solid #000}
.mastrow .wrap{display:flex;align-items:center;gap:16px;min-height:66px}
.mastrow__logo{display:flex;align-items:center;flex:0 0 auto}
.mastrow__logo img{width:150px;height:33px}
.mastrow__menu{display:none;margin-left:auto;gap:22px}
.mastrow__menu a{color:#e8ecd8;text-decoration:none;font-size:15px;font-weight:700;
  letter-spacing:.01em;padding:6px 0;border-bottom:2px solid transparent}
.mastrow__menu a:hover{color:var(--lime);border-bottom-color:var(--lime)}
.mastrow__cta{display:none}
.touchbar-view{margin-left:auto;display:flex;align-items:center;gap:10px}
.burger{width:44px;height:40px;border:1px solid #39435b;border-radius:10px;
  background:var(--ink-2);display:grid;place-items:center;cursor:pointer;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--lime);
  box-shadow:0 -6px 0 var(--lime),0 6px 0 var(--lime)}
.mastrow__mobile-nav{display:none;background:var(--ink-2);border-top:1px solid #333d55}
.mastrow__mobile-nav.is-open{display:block}
.mastrow__mobile-nav a{display:block;color:#e8ecd8;text-decoration:none;
  padding:13px 4px;border-bottom:1px solid #2b3346;font-weight:700;font-size:16px}
.mastrow__mobile-nav a:last-child{border-bottom:0}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:#f2f5e6;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto -10% -40% 40%;height:70%;
  background:radial-gradient(60% 60% at 50% 50%,rgba(211,229,18,.17),transparent 70%);
  pointer-events:none}
.hero__inner{position:relative;z-index:1;display:grid;gap:30px;padding:38px 0 44px}
.hero__eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);
  border:1px solid #3d4a12;background:#1b2208;border-radius:999px;padding:6px 13px;
  margin:0 0 16px}
.hero h1{color:#fff;margin-bottom:.45em}
.hero h1 b{color:var(--lime);font-weight:700}
.hero .leadpara{font-size:18px;color:#cfd6c0;max-width:60ch}
.hero__device{display:flex;justify-content:center;align-items:center}
.hero__device svg{width:100%;max-width:250px;height:auto;display:block;
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.45))}
.hero__routes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 0}
.route{display:flex;flex-direction:column;gap:3px;padding:14px 15px;border-radius:var(--rad);
  background:var(--ink-2);border:1px solid #333d55;text-decoration:none;color:#fff}
.route:hover{border-color:var(--lime);background:var(--ink-3)}
.route b{font-size:16px}
.route span{font-size:13px;color:#a9b2c4}
.route .pict__svg{width:22px;height:22px;fill:var(--lime);margin-bottom:5px}

/* ---------- promo widget ---------- */
.promo{margin:24px 0 0;background:#1b2208;border:1px dashed #56651b;border-radius:var(--rad);
  padding:15px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.promo__label{font-size:13px;color:#b9c4a2;flex:1 1 150px;margin:0}
.promo__code{font:700 19px/1 'Roboto',monospace;letter-spacing:.16em;color:var(--lime);
  background:#0c1004;border:1px solid #56651b;border-radius:var(--rad-s);padding:11px 15px}
.copybtn{border:0;border-radius:var(--rad-s);background:var(--lime);color:var(--lime-ink);
  font:700 14px/1 'Roboto',sans-serif;padding:12px 15px;cursor:pointer}
.copybtn:hover{background:#e3f43a}
.copybtn.is-done{background:#9fb00c;color:#0c1004}

/* ---------- buttons ---------- */
.btn-v19{display:inline-block;text-decoration:none;font-weight:700;border-radius:var(--rad-s);
  padding:14px 26px;text-align:center;border:1px solid transparent;font-size:16px}
.join-button{background:var(--lime);color:var(--lime-ink);border-color:#b5c60f;
  box-shadow:0 6px 0 #9aa90c}
.join-button:hover{background:#e3f43a}
.join-button:active{transform:translateY(3px);box-shadow:0 3px 0 #9aa90c}
.hero .join-button{margin-top:22px;padding:16px 34px;font-size:17px}
.hero--slim .hero__inner{padding:30px 0 34px}
.hero--slim h1{margin-bottom:.3em}
.inline-cta{margin:26px 0 30px;text-align:center}

/* ---------- content bands ---------- */
.material{display:block}
.band{padding:44px 0 6px;background:var(--paper)}
.band--white{background:#fff}
.band--paper{background:var(--paper-2);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)}
.band--paper + .band--paper{border-top:0}
.band p,.band li{max-width:74ch}

.stepcrumb{background:var(--paper-3);font-size:13px;color:var(--muted);padding:9px 0}
.stepcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0}
.stepcrumb li::after{content:"›";margin-left:7px;color:var(--line-2)}
.stepcrumb li:last-child::after{content:""}
.stepcrumb a{color:var(--muted)}

/* ---------- table of contents ---------- */
.outlinebox{margin:30px 0 8px;background:var(--paper-2);border:1px solid var(--line);
  border-left:5px solid var(--lime);border-radius:var(--rad);padding:18px 20px}
.outlinebox h2{font-size:14px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  margin:0 0 12px}
.outlinebox ol{counter-reset:toc;list-style:none;margin:0;padding:0;
  columns:2;column-gap:26px}
.outlinebox li{counter-increment:toc;break-inside:avoid;margin:0 0 9px}
.outlinebox a{color:var(--text);text-decoration:none;font-weight:700;font-size:15px}
.outlinebox a::before{content:counter(toc,decimal-leading-zero);color:#8d9a2f;
  font-size:12px;margin-right:9px}
.outlinebox a:hover{color:#5c6a0a;text-decoration:underline}

/* ---------- figures ---------- */
.lead-image-view{margin:22px 0 26px;border-radius:var(--rad);overflow:hidden;
  border:1px solid var(--line-2);background:#0d1004}
.lead-image-view img{width:100%;height:auto}
.lead-image-view figcaption{font-size:13px;color:var(--muted);background:var(--paper-2);
  padding:10px 14px;border-top:1px solid var(--line)}

/* ---------- stat tiles ---------- */
.statgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:8px 0 26px}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--rad);
  padding:16px 15px}
.band--paper .stat{background:#fff}
.stat b{display:block;font-size:26px;line-height:1.1;color:#4d5a08}
.stat span{display:block;font-size:13px;color:var(--muted);margin-top:5px}

/* ---------- callout ---------- */
.callout{background:#fbfdf0;border:1px solid var(--line-2);border-left:5px solid var(--lime);
  border-radius:var(--rad);padding:16px 18px;margin:8px 0 26px}
.callout p:last-child{margin-bottom:0}
.callout b{color:#43500a}

/* ---------- route switcher ---------- */
.switch{margin:8px 0 26px;border:1px solid var(--line-2);border-radius:var(--rad);
  background:#fff;overflow:hidden}
.switch__tabs{display:flex;background:var(--paper-3);border-bottom:1px solid var(--line-2)}
.switch__tabs button{flex:1;border:0;background:transparent;cursor:pointer;
  font:700 15px/1 'Roboto',sans-serif;color:var(--muted);padding:15px 8px;
  border-bottom:3px solid transparent}
.switch__tabs button[aria-selected="true"]{color:var(--text);background:#fff;
  border-bottom-color:var(--lime)}
.switch__panel{padding:18px 18px 6px}
.switch__panel[hidden]{display:none}

/* ---------- stepper ---------- */
.stepper{margin:8px 0 10px;padding:0;list-style:none;position:relative}
.stepper::before{content:"";position:absolute;left:17px;top:12px;bottom:12px;width:2px;
  background:var(--line-2)}
.step{position:relative;padding:0 0 18px 50px;margin:0}
.step__num{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;
  background:var(--ink);color:var(--lime);display:grid;place-items:center;
  font:700 15px/1 'Roboto',sans-serif;border:2px solid var(--lime)}
.step b{display:block;margin-bottom:3px}
.step>span:not(.step__num){display:block;font-size:16px;color:#333a47}
.step__done{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-size:13px;
  color:var(--muted);cursor:pointer;user-select:none}
.step__done input{width:17px;height:17px;accent-color:#8d9a2f}
.step.is-done .step__num{background:var(--lime);color:var(--lime-ink)}
.progress{height:8px;border-radius:99px;background:var(--line);overflow:hidden;margin:4px 0 8px}
.progress i{display:block;height:100%;width:0;background:var(--lime);transition:width .25s}
.progress__label{font-size:13px;color:var(--muted);margin:0 0 22px}

/* ---------- checklist ---------- */
.checklist{margin:8px 0 8px;padding:0;list-style:none;
  border:1px solid var(--line-2);border-radius:var(--rad);background:#fff;overflow:hidden}
.chk{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;
  border-bottom:1px solid var(--line);margin:0;cursor:pointer}
.checklist li{margin:0;list-style:none}
.checklist li:last-child .chk{border-bottom:0}
.chk input{margin-top:4px;width:18px;height:18px;accent-color:#8d9a2f;flex:0 0 auto}
.chk b{display:block}
.chk span{font-size:14px;color:var(--muted)}
.chk-count{font-size:14px;color:var(--muted);margin:10px 0 26px}
.chk-count b{color:#4d5a08}

/* ---------- table ---------- */
.matrix-pane{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 26px;
  border:1px solid var(--line-2);border-radius:var(--rad);background:#fff}
table{border-collapse:collapse;width:100%;min-width:480px;font-size:15px}
th,td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--line)}
th{background:var(--ink);color:#eef2df;font-weight:700;font-size:13px;
  letter-spacing:.05em;text-transform:uppercase}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even) td{background:var(--paper-2)}

/* ---------- faq ---------- */
.askboard{margin:10px 0 8px;border:1px solid var(--line-2);border-radius:var(--rad);
  background:#fff;overflow:hidden}
.qa-block{border-bottom:1px solid var(--line)}
.qa-block:last-child{border-bottom:0}
.topicline{cursor:pointer;list-style:none;padding:16px 46px 16px 18px;position:relative;
  font-weight:700;font-size:17px}
.topicline::-webkit-details-marker{display:none}
.topicline::after{content:"";position:absolute;right:18px;top:23px;width:10px;height:10px;
  border-right:2px solid #8d9a2f;border-bottom:2px solid #8d9a2f;transform:rotate(45deg);
  transition:transform .2s}
.qa-block[open] .topicline::after{transform:rotate(-135deg);top:26px}
.query-body{padding:0 18px 16px;color:#333a47}
.query-body p:last-child{margin-bottom:0}

/* ---------- footer ---------- */
.tailband{background:var(--ink);color:#aeb7c6;margin-top:46px;padding:40px 0 30px;
  font-size:15px}
.tailband__logo img{width:160px;height:35px;margin-bottom:14px}
.footer-grid-v19{display:grid;gap:28px}
.foot-nav{list-style:none;margin:0;padding:0}
.foot-nav li{margin:0 0 9px}
.foot-nav a{color:#dbe2cd;text-decoration:none}
.foot-nav a:hover{color:var(--lime)}
.menu_heading{font-size:13px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--lime);margin:0 0 13px;font-weight:700}
.foot-credentials{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 12px}
.foot-agelimit{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  border:2px solid var(--lime);color:var(--lime);font-weight:700;font-size:14px;flex:0 0 auto}
.footer-license-text-node18{font-size:13px;line-height:1.55;color:#8d97a8;margin:0}
.footerlegal-mark{border-top:1px solid #2b3346;margin-top:26px;padding-top:18px}
.foot-signature{font-size:13px;color:#79839a;margin:0}

/* ---------- back to top ---------- */
.topjump-btn{position:fixed;right:14px;bottom:14px;width:46px;height:46px;border-radius:50%;
  background:var(--lime);color:var(--lime-ink);border:0;cursor:pointer;display:none;
  place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.28);z-index:50;font-size:20px;
  font-weight:700;line-height:1}
.topjump-btn.is-visible{display:grid}

/* ---------- 404 ---------- */
.evenpane{text-align:center;padding:60px 0 20px}
.evenpane .btn-v19{margin-top:14px}

/* ---------- responsive ---------- */
@media (max-width:420px){
  .wrap{padding:0 18px}
  .outlinebox ol{columns:1}
  .hero__routes{grid-template-columns:1fr}
}
@media (min-width:760px){
  .statgrid{grid-template-columns:repeat(4,1fr)}
  .band{padding:56px 0 10px}
  .hero__inner{padding:52px 0 60px}
}
@media (min-width:960px){
  .mastrow__menu{display:flex}
  .mastrow__cta{display:inline-block;margin-left:20px;padding:10px 20px;font-size:15px}
  .touchbar-view{display:none}
  .hero__inner{grid-template-columns:1.12fr .88fr;align-items:center;gap:48px}
  .footer-grid-v19{grid-template-columns:1.35fr 1fr 1fr}
}
