/* LaterStages v1.6 enhancement layer. Scoped to ls-* to preserve compiled Astro styling. */
.ls-main{max-width:70rem}
.ls-main .ls-block{display:grid;gap:1.1rem}
.ls-block{display:grid;gap:.95rem;min-width:0}
.ls-block>h2{font-size:clamp(1.5rem,2.7vw,2rem)}
.ls-block p,.ls-intro p{line-height:1.65}
.ls-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.105em;font-weight:800;color:var(--accent)}
.ls-banner .wrap{padding-block:2.1rem 2.3rem}
.ls-banner h1{max-width:23ch}
.ls-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(13rem,.65fr);gap:1.3rem;align-items:center;border:1px solid var(--line);padding:clamp(1.2rem,2vw,1.8rem);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow)}
.ls-intro>div:first-child{display:grid;gap:.65rem}
.ls-intro h2{font-size:clamp(1.5rem,3vw,2.3rem);max-width:24ch}
.ls-feature-n{display:grid;justify-items:center;align-content:center;text-align:center;min-height:12rem;padding:1rem;border-radius:14px;background:linear-gradient(145deg,var(--accent-soft),var(--band));border:1px solid var(--line)}
.ls-feature-n b{font-family:var(--display);font-weight:750;font-size:clamp(2.6rem,5vw,4.2rem);line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.ls-feature-n span{font-size:.84rem;color:var(--muted);max-width:20ch;line-height:1.4}
.ls-tagline{display:flex;flex-wrap:wrap;gap:.4rem}
.ls-tag{display:inline-block;padding:.23rem .56rem;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:750;letter-spacing:.02em;border-radius:999px}
.ls-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem;padding:1rem;background:var(--band);border-radius:14px;border:1px solid var(--line)}
.ls-controls label{display:grid;gap:.35rem;font-size:.82rem;font-weight:700;min-width:min(100%,13.5rem);flex:1 1 13.5rem}
.ls-controls input,.ls-controls select{width:100%;min-height:2.8rem;border-radius:9px;padding:.65rem .75rem;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:.96rem}
.ls-controls :is(input,select,button):focus-visible,.ls-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.ls-results-count{padding:.72rem 0;font-size:.83rem;font-weight:600;color:var(--muted)}
.ls-results-status{font-size:.93rem;color:var(--muted)}
.ls-community-grid,.ls-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr));gap:.9rem;align-items:stretch}
.ls-community-card,.ls-card,.ls-tile{display:grid;align-content:start;gap:.75rem;padding:1.15rem 1.2rem;border-radius:14px;border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);min-width:0}
.ls-community-card h3,.ls-tile h3{font-family:var(--display);font-weight:650;font-size:1.35rem;line-height:1.18}
.ls-community-card h3 a{color:var(--ink);text-decoration:none}
.ls-community-card h3 a:hover{color:var(--accent);text-decoration:underline}
.ls-community-card[hidden]{display:none!important}
.ls-meta{font-weight:600;color:var(--muted);font-size:.87rem}
.ls-card-actions{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-top:auto;font-size:.85rem;font-weight:700}
.ls-card-actions .ls-source{color:var(--muted);font-weight:500}
.ls-tile{text-decoration:none;color:var(--ink)}
.ls-tile:hover{border-color:var(--accent);box-shadow:0 8px 22px rgb(0 0 0 / .09)}
.ls-tile span{color:var(--accent);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.ls-tile p{color:var(--muted);font-size:.91rem}
.ls-linkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.6rem}
.ls-linkgrid a{display:flex;align-items:center;min-height:3.3rem;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:.65rem .8rem;text-decoration:none;font-weight:650;color:var(--ink);line-height:1.4}
.ls-linkgrid a:hover{border-color:var(--accent);background:var(--accent-soft)}
.ls-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ls-split ul,.ls-block ol{padding-left:1.2rem;display:grid;gap:.6rem;line-height:1.5}
.ls-inline-list{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;list-style:none;padding:0}
.ls-inline-list li{padding:0}
.ls-disclaimer{font-size:.83rem;color:var(--muted);border-left:3px solid var(--accent);padding:.75rem .9rem;background:var(--band);border-radius:0 8px 8px 0}
.ls-btn{display:inline-flex;justify-content:center;align-items:center;gap:.35rem;cursor:pointer;font:inherit;font-size:.92rem;line-height:1.3;font-weight:700;border:1px solid var(--accent);border-radius:10px;padding:.77rem 1rem;background:var(--accent);color:var(--accent-ink);text-decoration:none}
.ls-btn:hover{filter:brightness(.94)}
.ls-btn.ls-outline{color:var(--accent);background:var(--card)}
.ls-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px}
.ls-table{border-collapse:collapse;width:100%;min-width:33rem;background:var(--card);font-size:.91rem}
.ls-table th,.ls-table td{padding:.8rem .85rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ls-table th{color:var(--muted);font-size:.77rem;text-transform:uppercase;letter-spacing:.055em;background:var(--band)}
.ls-table tr:last-child td{border-bottom:0}
.ls-facts{display:grid;gap:.6rem;padding:1rem;background:var(--band);border:1px solid var(--line);border-radius:12px;font-size:.84rem}
.ls-facts span{display:flex;justify-content:space-between;gap:.7rem;color:var(--muted)}
.ls-facts strong{color:var(--ink);text-align:right;font-weight:750}
.ls-ctas{display:flex;flex-wrap:wrap;gap:.5rem}
.ls-empty{padding:2rem;text-align:center;color:var(--muted)}
.ls-explore-list{display:grid;gap:.65rem}
.ls-result{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem 1rem;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:12px}
.ls-result h3{font-family:var(--body);font-size:1rem;font-weight:750}
.ls-result h3 a{color:var(--ink);text-decoration:none}
.ls-result h3 a:hover{text-decoration:underline;color:var(--accent)}
.ls-result p{font-size:.83rem;color:var(--muted);line-height:1.45}
.ls-result .ls-tag{white-space:nowrap}
.ls-checklist-paper{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:1.5rem;display:grid;gap:1.2rem;box-shadow:var(--shadow)}
.ls-checklist-paper ol{display:grid;gap:.9rem;padding-left:1.6rem;line-height:1.5}
.ls-checklist-paper li{padding-bottom:.65rem;border-bottom:1px solid var(--line)}
.ls-checklist-paper li:after{content:'Your notes: _______________________________________________________';display:block;margin-top:.7rem;color:var(--muted);font-size:.74rem;overflow-wrap:anywhere}
.ls-checklist-paper h3{font-family:var(--display);font-size:1.5rem}
.ls-door-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.ls-door{display:grid;gap:.5rem;align-content:start;padding:1.25rem 1.4rem;background:var(--card);border:1.5px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
.ls-door:hover{border-color:var(--accent);transform:translateY(-1px)}
.ls-door-title{font-size:1.28rem;font-family:var(--display);font-weight:700}
.ls-door p{font-size:.9rem;color:var(--muted)}
.ls-door-cta{color:var(--accent);font-weight:700;font-size:.87rem}
.ls-nav-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--sun);color:#2a1d00;min-width:1.45rem;padding:0 .37rem;font-size:.68rem;font-weight:800;margin-left:.25rem}
.ls-page-related{padding:1.2rem 1.3rem;border:1px solid var(--line);border-radius:14px;background:var(--band);display:grid;gap:.85rem}
.ls-page-related h2{font-size:1.35rem}
.ls-page-related p{font-size:.85rem;color:var(--muted)}
.ls-page-related .ls-linkgrid a{font-size:.84rem;min-height:2.9rem}
.ls-top-links{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;margin-top:.3rem}
.ls-top-links a{display:inline-flex;align-items:center;padding:.4rem .65rem;border:1px solid var(--line);border-radius:999px;font-size:.83rem;text-decoration:none;font-weight:600;color:var(--ink);background:var(--card)}
.ls-top-links a:hover{border-color:var(--accent)}
.ls-footerlinks{display:flex;gap:.7rem 1.4rem;flex-wrap:wrap;font-size:.83rem;margin-top:.65rem}
.ls-footerlinks a{color:var(--on-header)}
@media(max-width:900px){.ls-intro{grid-template-columns:1fr}.ls-feature-n{min-height:7.5rem}.ls-feature-n b{font-size:2.8rem}}
@media(max-width:640px){.ls-split,.ls-door-grid{grid-template-columns:1fr}.ls-controls{padding:.8rem}.ls-card-actions{gap:.8rem}.ls-results-count{width:100%}}
@media print{header.site,.ls-controls,.ls-ctas,.ls-page-related,.ls-footerlinks,footer.site,.scrim,.drawer,.ls-banner .crumbs,.ls-btn,.ls-linkgrid{display:none!important}.ls-checklist-paper{border:0;box-shadow:none;padding:0}.ls-checklist-paper li{break-inside:avoid}body{background:#fff;color:#000}.ls-main{padding:0!important}.ls-checklist-paper{display:block}.ls-checklist-paper li:after{color:#777}}

/* Collapsible mobile navigation activated only after JS loads; usable no-JS fallback. */
.ls-mobile-toggle{display:none;background:var(--sun);color:#2a1d00;border:0;border-radius:9px;padding:.54rem .75rem;min-height:2.6rem;font:inherit;font-size:.84rem;font-weight:750;cursor:pointer}
.ls-mobile-toggle span{font-size:1.1rem;margin-right:.28rem}
@media(max-width:720px){
 html.ls-js header.site .wrap{gap:.6rem 1rem;justify-content:space-between}
 html.ls-js .ls-mobile-toggle{display:inline-flex;align-items:center;order:3;margin-left:0}
 html.ls-js header.site nav.site{display:none;width:100%;order:4;margin-left:0;padding-block:.3rem .55rem;align-items:flex-start}
 html.ls-js header.site nav.site.ls-mobile-open{display:flex;gap:.45rem;flex-direction:column;align-items:stretch}
 html.ls-js header.site nav.site > details.menu{width:100%}
 html.ls-js header.site nav.site > details.menu >summary{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;background:#ffffff0b}
 html.ls-js header.site .sl-open{order:2;margin-left:auto}
 html.ls-js .menu-panel{width:100%;margin-top:0;border-radius:0 0 12px 12px}
}
/* Desktop research-preview illustration within the existing hero. */
.hero .wrap{position:relative}
.ls-hero-visual{position:absolute;right:1.25rem;top:3rem;width:min(30%,20.5rem);padding:1.35rem;border-radius:16px;background:linear-gradient(152deg,#0e3037,#0a232b 78%);color:#eaf8f4;border:1px solid #386067;box-shadow:0 18px 34px rgb(14 46 56 / .15);display:grid;gap:1rem}
.ls-hero-visual .ls-vis-label{font-size:.7rem;letter-spacing:.12em;color:#f6bd57;font-weight:800;text-transform:uppercase}
.ls-hero-visual h2{color:#fff;font-family:var(--display);font-size:1.55rem}
.ls-vis-steps{display:grid;gap:.52rem}
.ls-vis-step{display:flex;align-items:center;gap:.65rem;border:1px solid #35525a;padding:.65rem .72rem;border-radius:9px;background:#ffffff0b;font-size:.82rem;line-height:1.35}
.ls-vis-step span{border-radius:50%;background:#f6bd57;color:#152d34;font-size:.74rem;font-weight:800;width:1.55rem;height:1.55rem;display:inline-flex;align-items:center;justify-content:center;flex:none}
.ls-hero-visual p{color:#b0d6d5;font-size:.78rem}
.ls-hero-visual a{color:#f6bd57;font-size:.83rem;font-weight:700;text-decoration:none}
.ls-hero-visual a:hover{text-decoration:underline}
@media(max-width:1100px){.ls-hero-visual{display:none}}
