/* Last Nation V7 — public pages only. Does not affect /ticket or NEXUS. */
:root { --ln7-mint:#8ef3bd;--ln7-cyan:#65d9dd;--ln7-red:#ed6485;--ln7-focus:#c3ffaf; }
html { scroll-padding-top:110px; }
body { overflow-wrap:break-word; }

:where(.site-header,.site-footer,.hero,.subhero,.section-space,.statbar,.artist-teaser,.spotlight-section,.ln7-strip){ isolation:isolate; }
:where(.site-header,.site-footer) a:focus-visible,
:where(.hero,.subhero,.section-space,.ln7-strip) :is(a,button):focus-visible,
#ln-roster-section :is(a,button):focus-visible { outline:3px solid var(--ln7-focus);outline-offset:4px; }
:where(.site-header,.hero,.subhero,.section-space,.site-footer) img { max-width:100%;height:auto; }
.site-header { z-index:60; }
.site-header .nav-shell { gap:clamp(12px,2vw,30px); }
.site-header :is(.nav-action,.mobile-toggle) { min-height:44px; }
.site-header .site-nav a { text-underline-offset:6px; }
.site-header .site-nav a:hover,.site-header .site-nav a:focus-visible { color:#ddfff4; }
:where(.feature-card,.contact-card,.spotlight-card) { transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 :where(.feature-card,.spotlight-card):hover { transform:translateY(-3px); }
}
:where(.hero,.subhero) h1 { text-wrap:balance; }
:where(.section-heading,.subhero-copy,.hero-copy) :is(h1,h2,h3) { overflow-wrap:anywhere; }
:where(.feature-card,.contact-card,.spotlight-card) :is(p,a,code) { overflow-wrap:anywhere; }
:where(.section-space,.subhero,.spotlight-section) .container { max-width:min(100% - 32px,1250px); }
/* Action strip on homepage: one focused entry to each active community area */
.ln7-strip { position:relative;padding:18px 0 5px;background:#07181b; }
.ln7-strip .ln7-inner { max-width:1200px;margin:0 auto;padding:0 clamp(18px,4vw,36px); }
.ln7-strip .ln7-heading { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;margin:12px 0 18px; }
.ln7-strip .ln7-kicker { font-size:11px;font-weight:800;letter-spacing:.2em;color:#83c5b9; }
.ln7-strip h2 { color:#f0fff8;letter-spacing:-.035em;line-height:1.1;margin:4px 0 0;font-size:clamp(23px,3.2vw,32px); }
.ln7-strip .ln7-items { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px; }
.ln7-strip .ln7-tile { position:relative;display:flex;min-height:118px;flex-direction:column;justify-content:space-between;gap:12px;padding:18px 20px;text-decoration:none;color:#effff8;background:linear-gradient(135deg,#103533,#102225);border:1px solid #33615a;border-radius:15px;box-shadow:0 9px 28px #0002;transition:transform .2s ease,border-color .2s ease; }
.ln7-strip .ln7-tile:nth-child(1) { background:linear-gradient(125deg,#35191e,#1c2024);border-color:#723c4b; }
.ln7-strip .ln7-tile:nth-child(2) { background:linear-gradient(125deg,#0b3542,#122327);border-color:#27616f; }
.ln7-strip .ln7-tile:hover { border-color:#9df2bd;transform:translateY(-2px); }
.ln7-strip .ln7-tile strong { display:block;font-size:clamp(16px,2vw,21px);line-height:1.3; }
.ln7-strip .ln7-tile small { color:#b2c9c3;font-size:12px;line-height:1.5; }
.ln7-strip .ln7-tile .ln7-arrow { position:absolute;top:16px;right:18px;font-size:23px;color:#a2e6cc; }
/* Roster: mobile card layout, links, focus, spacing — existing red/black design retained. */
#ln-roster-section { scroll-margin-top:100px; }
#ln-roster-section .ln5-group { margin-block:10px 5px; }
#ln-roster-section .ln4-member { overflow:hidden; }
#ln-roster-section .ln4-member :is(a,button) { min-height:44px; }
#ln-roster-section .ln6-profile-link { line-height:1.3;min-height:48px;border-radius:10px; }
#ln-roster-section .ln4-person { align-items:center; }
#ln-roster-section .ln4-avatar-image { width:100%;height:100%;object-fit:cover; }
/* Footer and accessibility helpers */
.ln7-to-top { position:fixed;right:18px;bottom:max(18px,env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #52877d;border-radius:15px;background:#0c302fee;color:#e5fff5;box-shadow:0 8px 25px #0008;cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;backdrop-filter:blur(8px); }
.ln7-to-top[aria-hidden="false"] { opacity:1;transform:none;pointer-events:auto; }
.ln7-to-top:focus-visible { outline:3px solid var(--ln7-focus);outline-offset:4px; }
@media(max-width:900px) {
 .ln7-strip .ln7-items {grid-template-columns:repeat(2,minmax(0,1fr));}
 .ln7-strip .ln7-tile:last-child {grid-column:1/-1;min-height:92px;}
}
@media(max-width:620px) {
 html {scroll-padding-top:85px;}
 .ln7-strip {padding-top:14px;}
 .ln7-strip .ln7-items {grid-template-columns:minmax(0,1fr);gap:10px;}
 .ln7-strip .ln7-tile,.ln7-strip .ln7-tile:last-child {grid-column:auto;min-height:95px;padding:15px 18px;}
 :where(.hero,.subhero,.section-space) .container {width:auto;max-width:calc(100% - 28px);}
 .hero .hero-buttons :is(a,button) {max-width:100%;}
 #ln-roster-section .ln5-heading {align-items:center;}
 #ln-roster-section .ln4-person {gap:12px;}
 #ln-roster-section .ln4-member .ln6-profile-link {width:100%;max-width:100%;text-align:center;}
 .ln7-to-top {right:13px;bottom:max(14px,env(safe-area-inset-bottom));}
}
@media(max-width:370px) {
 #ln-roster-section .ln4-person {flex-wrap:wrap;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto!important;}
 .ln7-strip .ln7-tile,.ln7-to-top,:where(.feature-card,.contact-card,.spotlight-card) {transition:none!important;transform:none!important;}
}
