/* Homepage banners and shared landscape article cards. */
.lv-home-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lv-home-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin-bottom:48px;min-width:0}
.lv-home-hero--single,.lv-home-hero--sides{grid-template-columns:minmax(0,1fr)}
#lv-featured-slider{position:relative;min-width:0;overflow:hidden;background:#202830;height:500px}
.lv-featured-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;direction:ltr;height:100%}
.lv-featured-track::-webkit-scrollbar{display:none}
.lv-featured-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.lv-banner{display:block;position:relative;overflow:hidden;background:linear-gradient(135deg,#651a21,#253744);color:#fff;text-decoration:none;isolation:isolate}
.lv-banner img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .45s ease}
.lv-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,13,20,0) 20%,rgba(6,13,20,.86) 100%);z-index:1;pointer-events:none}
.lv-banner:hover img{transform:scale(1.035)}
.lv-banner:focus-visible{outline:3px solid var(--primary,#651a21);outline-offset:4px}
.lv-banner-copy{position:absolute;left:0;right:0;bottom:0;padding:24px;z-index:2}
.lv-banner--main .lv-banner-copy{padding:36px 48px 56px}
.lv-banner h2{color:#fff;margin:0;font-size:clamp(25px,2.5vw,36px);line-height:1.15;font-weight:500;letter-spacing:-.03em;text-shadow:0 2px 12px #0006;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.lv-side-banners{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.lv-banner--side{min-height:0}
.lv-banner--side h2{font-size:clamp(18px,1.7vw,24px);line-height:1.2;letter-spacing:-.025em;-webkit-line-clamp:3}
.lv-home-hero--sides .lv-side-banners{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;height:300px}
#lv-featured-slider .lv-featured-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:52px;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none;color:#fff;font:42px/1 var(--site-font);cursor:pointer;display:flex;align-items:center;justify-content:center;text-shadow:0 1px 6px #000b}
#lv-featured-slider .lv-featured-arrow:hover{background:transparent;color:#fff}
.lv-featured-prev{left:4px}.lv-featured-next{right:4px}
.lv-featured-controls{position:absolute;bottom:17px;left:48px;right:48px;display:flex;align-items:center;z-index:3}
.lv-featured-dots{display:flex;gap:3px;align-items:center;overflow-x:auto;max-width:100%;scrollbar-width:none}
.lv-featured-dot{flex:none;display:flex;align-items:center;justify-content:center;width:25px;height:26px;padding:0;border:0;background:transparent;cursor:pointer}
.lv-featured-dot::before{content:"";display:block;width:7px;height:7px;background:#ffffff88}
.lv-featured-dot[aria-current="true"]::before{width:18px;background:#fff}
#lv-featured-slider button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lv-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:28px;margin-bottom:48px}
.lv-post-card{min-width:0}
.lv-post-link{display:block;color:#111;text-decoration:none}
.lv-post-media{aspect-ratio:16/9;position:relative;overflow:hidden;background:#f1f5f9}
.lv-post-media img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv-post-title{margin:12px 0 0;color:#111;font-size:20px;font-weight:500;line-height:1.4;letter-spacing:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;max-height:2.8em}
.lv-post-link:hover .lv-post-title{text-decoration:underline;text-underline-offset:3px}
.lv-post-link:focus-visible{outline:2px solid var(--primary,#651a21);outline-offset:5px}
@media(max-width:900px){#lv-featured-slider{height:440px}.lv-banner--side .lv-banner-copy{padding:18px}.lv-banner--main .lv-banner-copy{padding:30px 42px 54px}}
@media(max-width:768px){.lv-home-hero{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:32px}#lv-featured-slider{height:410px}.lv-side-banners{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:12px}.lv-banner--side{aspect-ratio:1.45}.lv-banner--side h2{font-size:20px}.lv-banner--main h2{font-size:30px}.lv-home-hero--sides .lv-side-banners{height:auto}}
@media(max-width:640px){.lv-post-grid{column-gap:12px;row-gap:22px}.lv-post-title{font-size:17px;margin-top:10px}.lv-banner--main .lv-banner-copy{padding:26px 40px 54px}.lv-featured-controls{left:40px;right:40px}}
@media(max-width:480px){#lv-featured-slider{height:370px}.lv-banner--main h2{font-size:27px}.lv-side-banners,.lv-home-hero--sides .lv-side-banners{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.lv-banner--side{aspect-ratio:1.9}.lv-banner--side h2{font-size:22px}.lv-post-title{font-size:15px;line-height:1.4}}
@media(prefers-reduced-motion:reduce){.lv-banner img{transition:none}}
