/* Reinforce Lab — shared page kit (D-044). Served as a cached file for every page whose wrapper has class "rl-page".
   Rules here were byte-identical across the AISO, GEO and LLM pages; page files keep only their own rules. */
.rl-page{position:relative;width:100vw;margin-left:calc(50% - 50vw);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6}
.rl-page *{box-sizing:border-box}
.rl-page a{text-decoration:none;color:inherit}
.rl-page p{margin:0}
.rl-page h1,.rl-page h2,.rl-page h3,.rl-page h4{font-family:var(--f-display);font-weight:600;text-transform:uppercase;margin:0;line-height:1.02;letter-spacing:.01em;text-wrap:balance;color:var(--ink)}
.rl-page .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.rl-page section{position:relative;padding-block:clamp(56px,8vw,96px)}
.rl-page .band{border-top:1px solid var(--line)}
.rl-page .band.alt{background:radial-gradient(90% 60% at 15% 0%,rgba(153,0,0,.10),transparent 55%),var(--bg-2)}
.rl-page :focus-visible{outline:2px solid var(--red-2);outline-offset:3px}
.rl-page .ey{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);display:inline-flex;flex-wrap:wrap;row-gap:.2em;gap:.5em;align-items:center}
.rl-page .ey b{color:var(--red-2);font-weight:500}
.rl-page .lede{color:var(--ink-dim);font-size:clamp(16px,1.6vw,19px);max-width:62ch}
.rl-page .lede a,.rl-page .faq p a,.rl-page .inl{color:var(--ink);border-bottom:1px solid var(--red-line)}
.rl-page .lede a:hover,.rl-page .faq p a:hover,.rl-page .inl:hover{color:var(--red-3)}
.rl-page .head{max-width:64ch;margin-bottom:clamp(32px,5vw,52px)}
.rl-page .head h2{font-size:clamp(28px,4.2vw,48px);margin-top:14px}
.rl-page .head p{margin-top:18px}
.rl-page .crumbs{padding-top:clamp(18px,2.4vw,28px);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}
.rl-page .crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6em}
.rl-page .crumbs li+li::before{content:"/";color:var(--red-2);margin-right:.6em}
.rl-page .crumbs a:hover{color:var(--ink)}
.rl-page .crumbs [aria-current]{color:var(--ink-dim)}
.rl-page .btn{font-family:var(--f-display);text-transform:uppercase;font-weight:600;letter-spacing:.05em;font-size:14px;padding:15px 26px;display:inline-flex;align-items:center;gap:.55em;border:1px solid transparent;cursor:pointer;transition:.2s;position:relative}
.rl-page .btn::before{content:"+";font-family:var(--f-mono);font-weight:500;color:var(--red-3);font-size:1.15em;line-height:0}
.rl-page .btn.p{background:linear-gradient(180deg,#241a1c,#120e0f);color:#fff;border-color:var(--red-line);box-shadow:14px 0 44px -14px var(--red-glow),inset 0 1px 0 var(--glass-hi)}
.rl-page .btn.p:hover{border-color:var(--red-2);transform:translateY(-1px)}
.rl-page .btn.g{background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);border-color:var(--glass-line)}
.rl-page .btn.g::before{color:var(--ink-faint)}
.rl-page .btn.g:hover{border-color:var(--red-line);color:#fff}
.rl-page .ar{transition:transform .2s}
.rl-page .btn:hover .ar{transform:translateX(4px)}
.rl-page .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.rl-page .hero{padding-block:clamp(36px,6vw,80px)}
.rl-page .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(28px,4vw,56px);align-items:center}
@media(max-width:940px){.rl-page .hero-grid{grid-template-columns:1fr;gap:34px}}
.rl-page .h1{font-size:clamp(34px,5.1vw,64px);font-weight:700;letter-spacing:-.01em;margin-top:14px}
.rl-page .h1 .r{color:var(--red-2)}
.rl-page .hero .lede{margin-top:18px}
.rl-page .tscroll{overflow-x:auto;position:relative;border:1px solid var(--glass-line);background:var(--glass)}
.rl-page table{width:100%;border-collapse:collapse;min-width:760px;font-size:14.5px}
.rl-page th,.rl-page td{padding:16px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.rl-page thead th{font-family:var(--f-display);text-transform:uppercase;font-weight:600;font-size:15px;letter-spacing:.03em;color:var(--ink);background:rgba(255,255,255,.02)}
.rl-page thead th.us{color:var(--red-3);background:rgba(153,0,0,.10)}
.rl-page tbody th{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:500;width:15%}
.rl-page td{color:var(--ink-dim)}
.rl-page td.us{color:var(--ink);background:rgba(153,0,0,.06)}
.rl-page tbody tr:last-child th,.rl-page tbody tr:last-child td{border-bottom:0}
.rl-page td a{color:var(--red-3);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.rl-page .cols{display:grid;gap:16px}
.rl-page .c3{grid-template-columns:repeat(3,1fr)}
.rl-page .c2{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.rl-page .c3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.rl-page .c3,.rl-page .c2{grid-template-columns:1fr}}
.rl-page .cell{background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-line);padding:24px;box-shadow:inset 0 1px 0 var(--glass-hi);transition:.2s;display:flex;flex-direction:column;gap:10px}
.rl-page .cell:hover{border-color:var(--red-line)}
.rl-page .cell .n{font-family:var(--f-mono);font-size:11.5px;color:var(--red-3);letter-spacing:.1em;text-transform:uppercase}
.rl-page .cell h3{font-size:18px}
.rl-page .cell p{color:var(--ink-dim);font-size:14.5px}
.rl-page .cell .fix{font-size:14px;color:var(--ink);border-top:1px solid var(--line);padding-top:10px;margin-top:auto}
.rl-page .cell .fix b{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;color:var(--red-3);font-weight:500;text-transform:uppercase;margin-right:6px}
.rl-page .steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media(max-width:1000px){.rl-page .steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.rl-page .steps{grid-template-columns:1fr}}
.rl-page .step{background:var(--glass);border:1px solid var(--glass-line);padding:22px;box-shadow:inset 0 1px 0 var(--glass-hi)}
.rl-page .step .k{font-family:var(--f-display);font-size:30px;color:var(--red-2);font-weight:700;opacity:.85}
.rl-page .step h3{font-size:16px;margin:6px 0 8px}
.rl-page .step p{color:var(--ink-dim);font-size:14px}
.rl-page .ticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.rl-page .ticks{grid-template-columns:1fr}}
.rl-page .ticks li{border:1px solid var(--glass-line);background:var(--glass);padding:16px 18px 16px 42px;position:relative;color:var(--ink-dim);font-size:15px;box-shadow:inset 0 1px 0 var(--glass-hi)}
.rl-page .ticks li::before{content:"→";position:absolute;left:18px;top:16px;color:var(--red-3);font-family:var(--f-mono)}
.rl-page .ticks b{color:var(--ink);font-weight:600}
.rl-page .metric{border-left:2px solid var(--red-2);padding:4px 0 4px 18px}
.rl-page .metric h3{font-size:17px}
.rl-page .metric p{color:var(--ink-dim);font-size:14.5px;margin-top:6px}
.rl-page .honest{border:1px solid var(--red-line);background:linear-gradient(180deg,rgba(153,0,0,.10),var(--glass));padding:clamp(24px,4vw,40px);box-shadow:inset 0 1px 0 var(--glass-hi)}
.rl-page .honest h2{font-size:clamp(24px,3.2vw,36px)}
.rl-page .honest p{color:var(--ink-dim);margin-top:14px;max-width:75ch}
.rl-page .chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.rl-page .chips a,.rl-page .chips span{display:inline-block;border:1px solid var(--glass-line);background:var(--glass);padding:11px 15px;font-family:var(--f-display);text-transform:uppercase;font-size:14.5px;letter-spacing:.03em;transition:.2s}
.rl-page .chips a:hover{border-color:var(--red-line);color:#fff}
.rl-page .cell .more{margin-top:auto;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--red-3)}
.rl-page a.cell:hover{background:var(--glass-2)}
.rl-page .sub{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 14px}
.rl-page .faq details{border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-bottom:12px;box-shadow:inset 0 1px 0 var(--glass-hi)}
.rl-page .faq summary{cursor:pointer;padding:20px 24px;font-family:var(--f-display);text-transform:uppercase;font-size:16px;letter-spacing:.02em;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.rl-page .faq summary::-webkit-details-marker{display:none}
.rl-page .faq summary::after{content:"+";color:var(--red-2);font-family:var(--f-mono);font-size:20px}
.rl-page .faq details[open] summary::after{content:"–"}
.rl-page .faq p{padding:0 24px 22px;color:var(--ink-dim);font-size:15px;max-width:75ch}
.rl-page .final{position:relative;overflow:hidden;border:1px solid var(--red-line);background:#0b090a;padding:clamp(48px,7vw,92px) clamp(24px,5vw,64px);text-align:center;box-shadow:inset 0 1px 0 var(--glass-hi),0 0 130px -46px var(--red-glow)}
.rl-page .final::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(58% 96% at 50% 128%,rgba(226,59,59,.6),rgba(153,0,0,.28) 38%,transparent 70%),linear-gradient(180deg,transparent 40%,rgba(153,0,0,.10))}
.rl-page .final::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(102deg,#0b090a 0%,rgba(11,9,10,.55) 28%,transparent 47%),linear-gradient(258deg,#0b090a 0%,rgba(11,9,10,.55) 28%,transparent 47%)}
.rl-page .final>*{position:relative;z-index:2}
.rl-page .final h2{font-size:clamp(30px,5vw,56px);margin-top:14px}
.rl-page .final .lede{margin:20px auto 0}
.rl-page .final .cta-row{justify-content:center}
