.home-refresh { --home-ink:#20364b; --home-muted:#526477; color:var(--home-ink); overflow-wrap:anywhere; }
.home-refresh *, .home-refresh *::before, .home-refresh *::after { box-sizing:border-box; }
.home-intro { display:grid; grid-template-columns:1.05fr 1fr; gap:3rem; align-items:center; padding:2.5rem 0 3rem; }
.home-eyebrow { color:#96233c; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; font-weight:700; margin:0 0 .75rem; }
.home-intro h1 { font-size:clamp(2rem,3.5vw,3.25rem); line-height:1.12; font-weight:800; letter-spacing:-.035em; margin:0 0 1.25rem; color:var(--home-ink); }
.home-lead { font-size:1.1rem; line-height:1.75; color:var(--home-muted); }
.home-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:.35rem; margin:1.25rem 0; }
.home-price strong { font-size:2rem; }
.home-price span { flex-basis:100%; color:var(--home-muted); font-size:.9rem; }
.home-main-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.25rem 0; }
.home-refresh .btn { min-height:48px; padding:.75rem 1rem; border-radius:.6rem; font-weight:600; white-space:normal; }
.home-main-actions .btn i { margin-left:.5rem; }
.home-signin,.home-tagline { font-size:.9rem; color:var(--home-muted); }
.home-tagline { margin:1.25rem 0 0; }
.home-signin a { color:#91253b; text-underline-offset:3px; }
.home-account-note { font-size:.9rem; color:var(--home-muted); margin-top:1.25rem; }
.home-account-note i { margin-right:.4rem; }
.home-photo { margin:0; border-radius:1.2rem; overflow:hidden; background:#20364b; }
.home-photo img { width:100%; aspect-ratio:1.2; object-fit:cover; display:block; }
.home-photo figcaption { padding:1rem 1.25rem; color:#fff; line-height:1.5; font-size:.9rem; }
.home-section-heading { margin-bottom:1.5rem; }
.home-section-heading h2 { font-size:clamp(1.5rem,2.5vw,2rem); font-weight:700; }
.home-section-heading p:not(.home-eyebrow) { color:var(--home-muted); }
.home-benefits { padding:2.5rem 0; border-top:1px solid #dce5ee; scroll-margin-top:160px; }
.home-benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.home-benefit-grid article { border:1px solid #dce5ee; border-radius:1rem; background:#fff; padding:1.4rem; }
.home-benefit-grid i { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; background:#eaf3ff; color:#1264f5; border-radius:.7rem; margin-bottom:1rem; font-size:1.25rem; }
/* Distinct accents for each membership benefit. */
.home-benefit-grid article:nth-child(2) > i { background:#e8f7ee; color:#198754; }
.home-benefit-grid article:nth-child(3) > i { background:#f0eaff; color:#7040b5; }
.home-benefit-grid article:nth-child(4) > i { background:#fff4dc; color:#946200; }
.home-benefit-grid h3 { font-size:1.1rem; font-weight:700; }
.home-benefit-grid p { color:var(--home-muted); line-height:1.7; margin:0; }
.home-news { display:flex; align-items:center; gap:2rem; padding:1.5rem; background:linear-gradient(135deg,#1b70ff 0%,#1264f5 58%,#0954d7 100%); color:#fff; border:1px solid #1264f5; border-radius:1rem; margin:.5rem 0 2.5rem; }
.home-news-icon { display:flex; align-items:center; justify-content:center; flex:0 0 76px; width:76px; height:76px; border-radius:50%; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); color:#fff; font-size:2rem; }
.home-news-copy { flex:1; min-width:0; }
.home-news h2 { font-size:1.3rem; font-weight:700; color:#fff; }
.home-news .home-eyebrow { color:#fff; }
.home-news p:last-child { margin:0; max-width:none; color:#fff; line-height:1.65; }
.home-news a { flex-shrink:0; margin-left:0; }
.home-news .btn { color:#fff; border-color:#fff; }
.home-news .btn:hover,.home-news .btn:active { color:#0b52cf; background:#fff; border-color:#fff; }
.home-news a:focus-visible { outline-color:#fff; }
.home-joining { padding:2.5rem 0; }
.home-joining ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding-left:1.25rem; }
.home-joining li { padding-left:.25rem; }
.home-joining li::marker { color:#a02740; font-weight:700; }
.home-joining li strong,.home-joining li span { display:block; }
.home-joining li span { color:var(--home-muted); line-height:1.7; margin-top:.5rem; }
.home-joining > .btn { margin-top:1rem; }
.home-refresh :is(a,button):focus-visible { outline:3px solid #1667b4; outline-offset:3px; }
.home-refresh .text-muted { color:var(--home-muted) !important; }
.home-refresh .nscou-faq-cats { flex-wrap:wrap; }
.home-refresh .nscou-faq-cat { white-space:normal; }
@media(min-width:768px) and (max-width:1199.98px) {
 body:has(.home-refresh) .nscou-navbar > .container-lg { flex-wrap:wrap!important; }
 body:has(.home-refresh) #mainNav { flex-basis:100%; width:100%; }
 body:has(.home-refresh) .nscou-navbar .offcanvas-body { flex-wrap:wrap!important; }
 body:has(.home-refresh) .nscou-navbar .nscou-logo { width:72px; height:72px; }
}
@media(max-width:991.98px) { .home-intro { grid-template-columns:1fr; gap:1.5rem; padding-top:1.5rem; } .home-photo img { aspect-ratio:1.8; } .home-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .home-news { flex-direction:column; align-items:flex-start; gap:1rem; } }
@media(max-width:575.98px) { .home-intro h1 { font-size:2rem; } .home-main-actions { flex-direction:column; } .home-benefit-grid,.home-joining ol { grid-template-columns:1fr; } .home-benefit-grid article { padding:1.15rem; } .home-news { padding:1.15rem; } .home-refresh .home-faq > .container-lg,.home-refresh .home-reviews > .container { padding-inline:0!important; } }
/* Blue accents in the homepage FAQ. */
.home-faq .text-primary,
.home-faq a { color:#0d6efd !important; }
.home-faq a:hover { color:#0a58ca !important; }
.home-faq .nscou-faq-cat:hover { color:#0d6efd; background:#f0f6ff; }
.home-faq .nscou-faq-cat.active { color:#0d6efd; background:#eaf3ff; border-left-color:#0d6efd; }
.home-faq .nscou-faq-list .accordion-button:not(.collapsed),
.home-faq .nscou-faq-list .accordion-button:not(.collapsed)::after { color:#0d6efd; }
.home-faq :is(a,button):focus-visible { outline-color:#0d6efd; }
@media(max-width:991.98px) { .home-faq .nscou-faq-cat.active { border-color:#0d6efd; } }

/* Individual cards for the three joining steps. */
.home-joining ol { padding-left:0; list-style:none; counter-reset:joining-step; gap:1rem; }
.home-joining li { position:relative; counter-increment:joining-step; padding:1.4rem 1.25rem 1.4rem 3.5rem; background:#fff; border:1px solid #dce5ee; border-radius:1rem; }
.home-joining li::before { content:counter(joining-step); position:absolute; top:1.35rem; left:1rem; display:flex; align-items:center; justify-content:center; width:1.75rem; height:1.75rem; border-radius:50%; background:#000; color:#fff; font-weight:700; }/* Keep white text on red calls to action within the FAQ. */
.home-faq a.home-join-red,
.home-faq a.home-join-red:hover,
.home-faq a.home-join-red:focus-visible,
.home-faq a.home-join-red:active { color:#fff !important; }
/* Persistent joining action for visitors on phones. */
.home-mobile-join { display:none; }
@media(max-width:767.98px) {
    .home-mobile-join { display:block; position:fixed; bottom:0; left:0; right:0; z-index:1020; padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid #dce5ee; box-shadow:0 -3px 12px #20364b12; }
    .home-mobile-join .btn { display:flex; align-items:center; justify-content:center; width:100%; min-height:50px; padding:.75rem 1rem; font-size:1.05rem; font-weight:700; border-radius:.65rem; color:#fff!important; }
    .home-mobile-join .btn:focus-visible { outline:3px solid #7d1128; outline-offset:3px; }
    body:has(.home-mobile-join) { padding-bottom:calc(76px + env(safe-area-inset-bottom,0px)); }
}

@media(max-width:991.98px) { .home-news-icon { flex-basis:auto; width:56px; height:56px; font-size:1.5rem; } .home-news-copy { flex:auto; } .home-news > .btn { align-self:flex-end; } }
