/* V6.42 Lorain County page. Prefix lo-. No inline styles. */
.lo-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:max(720px,92svh);padding:8.5rem 0 11rem;background:#05060a}
.lo-hero__bg{position:absolute;right:0;bottom:4.5rem;width:66%;aspect-ratio:16/9;z-index:-2;margin:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%),linear-gradient(0deg,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 24%),linear-gradient(0deg,#000 70%,transparent 100%);mask-composite:intersect}
.lo-hero__bg img{width:100%;height:100%;object-fit:cover;transform-origin:70% 50%;animation:lo-kb 36s ease-in-out infinite alternate}
@keyframes lo-kb{from{transform:scale(1)}to{transform:scale(1.06)}}
.lo-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#050505 0%,rgba(5,5,5,0) 22%)}
.lo-hero h1{font-size:clamp(2.7rem,6vw,5.4rem);max-width:13ch;margin-bottom:1.3rem}
.lo-hero .lede{max-width:31rem}
.lo-hero .crumbs{margin-bottom:1.4rem}
.lo-strip{position:absolute;left:0;right:0;bottom:clamp(1.2rem,3vw,2.4rem);z-index:2}
.lo-strip ul{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:0;padding:0;list-style:none}
.lo-strip li{padding:.95rem 1.1rem;border:1px solid var(--line);border-radius:var(--r-sm);background:rgba(10,10,14,.55);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.lo-strip b{display:block;font:700 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:.25rem}
.lo-strip span{font-weight:600;font-size:.98rem}
.lo-head{max-width:46rem;margin-bottom:2.6rem}
.lo-head .eyebrow{justify-content:flex-start}
.lo-head h2{font-size:clamp(2rem,4.2vw,3.5rem);margin-bottom:1rem}
.lo-head .lede{margin-bottom:0}
/* silent-loss lanes */
.lo-lanes{display:grid;gap:1.4rem}
.lo-lane{padding:1.6rem clamp(1.2rem,3vw,2.2rem);border-radius:var(--r)}
.lo-lane h3{font:700 .8rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:1.3rem}
.lo-lane--win h3{color:var(--orange)}
.lo-lane--win{border-color:rgba(246,147,29,.45);box-shadow:0 30px 90px -40px rgba(246,147,29,.45),inset 0 1px 0 rgba(255,255,255,.14)}
.lo-path{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none;counter-reset:p}
.lo-path li{position:relative;padding:0 1.1rem 0 0;counter-increment:p}
.lo-path li::before{content:counter(p);display:grid;place-items:center;width:2.2rem;height:2.2rem;margin-bottom:.8rem;border-radius:50%;border:1px solid var(--line);background:var(--glass-2);font:700 .85rem var(--sans);position:relative;z-index:1}
.lo-path li::after{content:"";position:absolute;left:2.4rem;right:.2rem;top:1.05rem;height:1px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.28) 0 6px,transparent 6px 12px)}
.lo-path li:last-child::after{display:none}
.lo-path strong{display:block;font-size:1.02rem;margin-bottom:.3rem}
.lo-path span{display:block;color:var(--mute);font-size:.93rem;line-height:1.45}
.lo-lane--win .lo-path li::before{background:linear-gradient(135deg,var(--orange),var(--ember));border-color:transparent;color:#120800;box-shadow:0 0 22px rgba(246,147,29,.6)}
.lo-lane--win .lo-path li::after{background:repeating-linear-gradient(90deg,rgba(246,147,29,.8) 0 6px,transparent 6px 12px)}
.lo-lane--lose .lo-path li:last-child strong{color:#ff9d8a}
/* journey with funnel */
.lo-duo{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.lo-duo--rev{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.lo-frame{position:relative;margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 100px -50px #000,0 0 0 1px rgba(255,255,255,.03)}
.lo-frame img{display:block;width:100%;height:auto}
.lo-chip{position:absolute;padding:.5rem .85rem;border:1px solid var(--line);border-radius:999px;background:rgba(10,10,14,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:700 .78rem var(--sans);letter-spacing:.12em;text-transform:uppercase;animation:lo-float 6s ease-in-out infinite}
.lo-chip--a{left:5%;top:9%}.lo-chip--b{left:40%;bottom:12%;animation-delay:-2s}.lo-chip--c{right:5%;bottom:30%;border-color:rgba(246,147,29,.7);color:var(--orange);animation-delay:-4s}
@keyframes lo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.lo-steps{margin:1.6rem 0 0;padding:0;list-style:none;display:grid;gap:.8rem}
.lo-steps li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--glass)}
.lo-steps .ct-ico{margin:0}
.lo-steps h3{font:700 1.05rem var(--sans);letter-spacing:0;line-height:1.25;margin-bottom:.25rem}
.lo-steps p{margin:0;color:var(--mute);font-size:.95rem;line-height:1.5}
/* compare */
.lo-cmp{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.lo-card{padding:1.8rem clamp(1.2rem,3vw,2.2rem);border-radius:var(--r)}
.lo-card h3{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:1.1rem}
.lo-card ul{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}
.lo-card li{position:relative;padding-left:1.9rem;color:var(--mute);line-height:1.5}
.lo-card li::before{position:absolute;left:0;top:.05rem;font-weight:800}
.lo-card--no li::before{content:"\00D7";color:#ff9d8a;font-size:1.3rem;top:-.12rem}
.lo-card--yes{border-color:rgba(246,147,29,.45)}
.lo-card--yes li{color:var(--ink)}
.lo-card--yes li::before{content:"\2713";color:var(--orange)}
/* coverage map */
.lo-map{position:relative;padding:clamp(1rem,2.5vw,1.8rem);border-radius:var(--r)}
.lo-map svg{display:block;width:100%;height:auto}
.lo-map .lk{stroke:rgba(246,147,29,.45);stroke-width:1.2;fill:none;stroke-dasharray:4 5}
.lo-map .nd{fill:#f6931d}
.lo-map .nd--hub{fill:#ff6a1a}
.lo-map .ring{fill:none;stroke:rgba(246,147,29,.5);stroke-width:1.2;transform-origin:center;transform-box:fill-box;animation:lo-ring 3.2s ease-out infinite}
@keyframes lo-ring{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.6);opacity:0}}
.lo-map .tx{fill:#f7f3ec;font:600 11.5px "Manrope",system-ui,sans-serif}
.lo-map .tx--hub{font-weight:800;font-size:14px;fill:#ffb04a}
.lo-map .coast{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1.4}
.lo-map .tx--sm{fill:#8f8a80;font:600 9.5px "Manrope",system-ui,sans-serif;letter-spacing:.14em}
.lo-note{margin-top:.9rem;color:var(--dim);font-size:.88rem}
/* meet */
.lo-meet{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.lo-meet>div{padding:1.5rem;border-radius:var(--r)}
.lo-meet h3{font:700 1.1rem var(--sans);letter-spacing:0;line-height:1.25;margin:.9rem 0 .4rem}
.lo-meet p{margin:0;color:var(--mute);font-size:.97rem;line-height:1.55}
@media(max-width:980px){
 .lo-strip{position:static;margin-top:2.2rem;width:100%}
 .lo-hero>.wrap{width:min(var(--max),calc(100% - 2*var(--gut)))}
 .lo-hero{padding:6.4rem 0 3rem;align-items:flex-start;min-height:0}
 .lo-hero__bg{position:relative;right:auto;bottom:auto;width:calc(100% - 2*var(--gut));margin:0 auto 1.4rem;border-radius:var(--r);overflow:hidden;-webkit-mask-image:none;mask-image:none;order:-1}
 .lo-hero{flex-direction:column}
 .lo-hero>.wrap{width:min(var(--max),calc(100% - 2*var(--gut)))}
 .lo-strip ul{grid-template-columns:1fr 1fr}
 .lo-duo,.lo-duo--rev{grid-template-columns:1fr}
 .lo-duo--rev .lo-frame{order:-1}
 .lo-cmp,.lo-meet{grid-template-columns:1fr}
 .lo-path{grid-template-columns:1fr;gap:1.1rem}
 .lo-path li{padding:0 0 0 3.1rem}
 .lo-path li::before{position:absolute;left:0;top:0;margin:0}
 .lo-path li::after{left:1.05rem;right:auto;top:2.3rem;bottom:-1rem;width:1px;height:auto;background:repeating-linear-gradient(180deg,rgba(255,255,255,.28) 0 6px,transparent 6px 12px)}
 .lo-lane--win .lo-path li::after{background:repeating-linear-gradient(180deg,rgba(246,147,29,.8) 0 6px,transparent 6px 12px)}
}
@media(max-width:560px){.lo-strip ul{grid-template-columns:1fr}.lo-chip{font-size:.68rem;padding:.4rem .65rem}}
@media(prefers-reduced-motion:reduce){.lo-hero__bg img,.lo-chip,.lo-map .ring{animation:none}}
@media(prefers-reduced-data:reduce){.lo-hero__bg img{animation:none}}
/* Also serving: route board over the Cleveland skyline */
.lo-reach{position:relative;isolation:isolate;overflow:hidden;padding:clamp(5rem,10vw,8.5rem) 0 clamp(4rem,8vw,6.5rem);background:#05060a}
.lo-reach__bg{position:absolute;inset:0;z-index:-2;margin:0}
.lo-reach__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;opacity:.85}
.lo-reach::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#050505 0%,rgba(5,6,10,.3) 38%,rgba(5,6,10,.5) 72%,#050505 100%)}
.lo-reach .eyebrow{justify-content:flex-start}
.lo-reach h2{font-size:clamp(2.2rem,5vw,4.2rem);margin-bottom:1rem;max-width:16ch}
.lo-reach .lede{margin-bottom:1.6rem}
.lo-origin{display:inline-flex;align-items:center;gap:.7rem;padding:.55rem 1rem;border:1px solid rgba(246,147,29,.55);border-radius:999px;background:rgba(10,10,14,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:700 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.lo-routes{position:relative;margin-top:.4rem}
.lo-routes__svg{display:block;width:100%;height:clamp(70px,10vw,134px);overflow:visible}
.lo-rt{fill:none;stroke:rgba(246,147,29,.75);stroke-width:1.6;stroke-dasharray:6 8;vector-effect:non-scaling-stroke;animation:lo-flow 1.6s linear infinite;filter:drop-shadow(0 0 4px rgba(246,147,29,.7))}
@keyframes lo-flow{to{stroke-dashoffset:-28}}
.lo-rt-end,.lo-rt-origin{fill:#ff6a1a}
.lo-routes__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.lo-route{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:1.3rem 1.2rem 1.3rem;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03)),rgba(8,8,12,.55);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);color:var(--ink);text-decoration:none;box-shadow:0 30px 70px -40px #000,inset 0 1px 0 rgba(255,255,255,.14);transition:transform .4s var(--ease),border-color .3s,box-shadow .4s}
.lo-route:hover,.lo-route:focus-visible{transform:translateY(-6px);border-color:rgba(246,147,29,.75);box-shadow:0 30px 80px -30px rgba(246,147,29,.55),inset 0 1px 0 rgba(255,255,255,.2)}
.lo-route__n{font:700 .68rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.lo-route__pin{position:absolute;right:1.1rem;top:1.2rem;width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 12px 3px rgba(246,147,29,.8);animation:ct-pulse 2.4s ease-in-out infinite}
.lo-route strong{font:400 clamp(1.7rem,2.6vw,2.3rem)/1.05 var(--serif);letter-spacing:-.02em;margin-top:.5rem}
.lo-route em{font:700 .72rem var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.lo-route span:last-child{color:var(--mute);font-size:.95rem;line-height:1.45;margin-top:.5rem}
.lo-route--hub{border-color:rgba(246,147,29,.6);box-shadow:0 30px 90px -35px rgba(246,147,29,.6),inset 0 1px 0 rgba(255,255,255,.18)}
@media(max-width:980px){.lo-routes__svg{display:none}.lo-routes__grid{grid-template-columns:1fr 1fr;margin-top:1.4rem}}
@media(max-width:560px){.lo-routes__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lo-rt,.lo-route__pin{animation:none}.lo-route{transition:none}}
.lo-reach .lede,.lo-reach h2{text-shadow:0 2px 24px rgba(0,0,0,.85)}

.lo-maplist{display:none}
@media(max-width:700px){
 .lo-map svg{display:none}
 .lo-maplist{display:block}
 .lo-maplist__hub{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:0 0 1.2rem;padding:.9rem 1.1rem;border:1px solid rgba(246,147,29,.6);border-radius:var(--r-sm);background:rgba(246,147,29,.08);font:400 1.7rem/1 var(--serif)}
 .lo-maplist__hub em{font:700 .7rem var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
 .lo-maplist ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
 .lo-maplist li{display:flex;align-items:center;gap:.6rem;padding:.75rem .8rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--glass);font-weight:600;font-size:.93rem;line-height:1.2}
 .lo-maplist li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 10px 2px rgba(246,147,29,.7);animation:ct-pulse 2.6s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){.lo-maplist li::before{animation:none}}
