/* Home page redesign. Every rule is scoped to body.home-v2 so no other page is affected. */
.home-v2{background:var(--cream)}
.home-v2 .top-banner img{max-height:300px}
.home-v2 .site-title{padding:22px 15px 20px}
.home-v2 .site-title h1{letter-spacing:.06em}
.home-v2 .site-title p{margin-top:6px;font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:#d9c48f}
.home-v2 .nav{gap:2px;padding:8px 12px;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px #00000026}
.home-v2 .nav a{font-size:.9rem;letter-spacing:.02em;padding:9px 13px;border-bottom:2px solid transparent;border-radius:0}
.home-v2 .nav a:hover{background:transparent;border-bottom-color:var(--gold)}
.home-v2 .nav a[aria-current="page"]{border-bottom-color:var(--gold);color:#f3e6c4}
.home-v2 main{max-width:1180px;padding:40px 24px 64px}

/* Hero */
.home-v2 .home-hero{margin-bottom:56px}
.home-v2 .home-hero-media{position:relative;margin:0;border-radius:14px;overflow:hidden;background:var(--navy);box-shadow:0 14px 34px #0c294726}
.home-v2 .home-hero-media img{display:block;width:100%;height:520px;object-fit:cover;object-position:center 40%}
.home-v2 .home-hero-text{position:absolute;left:0;right:0;bottom:37px;padding:90px 48px 40px;background:linear-gradient(to top,#0c2947f2 0%,#0c2947b3 55%,#0c294700 100%);color:#fff}
.home-v2 .home-eyebrow{margin:0 0 8px;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.home-v2 .home-hero-text h2{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,2.9rem);line-height:1.15;color:#fff;max-width:720px}
.home-v2 .home-hero-text p{margin:0;font-size:1.15rem;max-width:620px;color:#e8eef3}
.home-v2 .home-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.home-v2 .home-hero-actions .button{margin:0}
.home-v2 .button.home-ghost{background:transparent;border:2px solid #ffffffcc;padding:9px 17px}
.home-v2 .button.home-ghost:hover{background:#ffffff1f}
.home-v2 .home-hero-media figcaption{position:relative;text-align:center;padding:9px 12px;color:#58636b;font-size:.86rem;background:#fff;height:37px;box-sizing:border-box}

/* Section rhythm */
.home-v2 .home-section-head{text-align:center;margin:0 0 28px}
.home-v2 .home-section-head h2{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:2rem}
.home-v2 .home-rule{display:block;width:64px;height:3px;background:var(--gold);margin:14px auto 0;border-radius:2px}

/* Cards */
.home-v2 .home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.home-v2 .home-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:12px;padding:26px 24px 24px;box-shadow:0 6px 18px #0c294712;transition:transform .15s ease,box-shadow .15s ease}
.home-v2 .home-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0c29471f}
.home-v2 .home-card h3{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.3rem;line-height:1.25}
.home-v2 .home-card p{margin:0 0 20px;color:#3f4b54;flex:1}
.home-v2 .home-card .button{align-self:flex-start;margin:0}
.home-v2 .button{transition:background .15s ease}
.home-v2 .button:hover{background:var(--navy)}
.home-v2 .button.gold:hover{background:#735722}
.home-v2 .button:focus-visible,.home-v2 .nav a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* Footer */
.home-v2 footer{background:var(--navy);border-top:5px solid var(--gold);padding:40px 16px 36px}
.home-v2 footer img{width:min(170px,45vw);border-radius:12px;box-shadow:0 6px 18px #00000040;margin-bottom:16px}
.home-v2 footer p{color:#d7e1ea;font-size:.9rem}
.home-v2 footer p:first-of-type{font-family:Georgia,"Times New Roman",serif;font-size:1.1rem;color:#fff;letter-spacing:.02em}
.home-v2 footer .footer-tag{color:var(--gold);letter-spacing:.08em;font-size:.82rem;text-transform:uppercase}
.home-v2 footer .footer-revenue{color:#f3e6c4}

/* About This Site note */
.home-v2 .home-about{margin-top:56px}
.home-v2 .home-about-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;max-width:1000px;margin:0 auto;align-items:stretch}
.home-v2 .home-note{margin:0;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;padding:24px 28px;box-shadow:0 6px 18px #0c294712;color:#3f4b54}
.home-v2 .home-note p{margin:0 0 12px}
.home-v2 .home-note p:last-child{margin-bottom:0}
.home-v2 .home-revenue{font-weight:700;color:var(--navy)}
/* Donated to the LVLOA Road Fund box */
.home-v2 .donation-box{background:var(--navy);color:#fff;border:2px solid var(--gold);border-radius:12px;padding:22px 22px 20px;text-align:center;box-shadow:0 10px 26px #0c294733;display:flex;flex-direction:column;justify-content:center}
.home-v2 .donation-box p{margin:0}
.home-v2 .donation-label{font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);line-height:1.4}
.home-v2 .donation-total{font-family:Georgia,"Times New Roman",serif;font-size:3rem;line-height:1.1;font-weight:700;color:#fff;margin:12px 0 4px}
.home-v2 .donation-since{font-size:1rem;color:#f3e6c4}
.home-v2 .donation-updated{font-size:.82rem;color:#b9c7d4;margin-top:6px}
.home-v2 .donation-by{font-size:.78rem;color:#b9c7d4;border-top:1px solid #c7a45a66;margin-top:14px;padding-top:12px}
.home-v2 footer .footer-donation{background:transparent;color:#f3e6c4;border-color:var(--gold)}
.home-v2 footer .footer-donation strong{color:var(--gold)}
.home-v2 footer .footer-donation-asof{color:#b9c7d4}

@media(max-width:960px){.home-v2 .home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-v2 .home-about-grid{grid-template-columns:1fr;max-width:860px}}
@media(max-width:720px){
 .home-v2 .top-banner img{max-height:200px}
 .home-v2 .site-title p{letter-spacing:.12em;font-size:.74rem}
 .home-v2 .nav{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:6px 8px}
 .home-v2 .nav a{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;padding:10px 4px;font-size:.84rem}
 /* 9 links = 3 even rows of 3 on phones */
 .home-v2 main{padding:26px 16px 48px}
 .home-v2 .home-hero{margin-bottom:40px}
 .home-v2 .home-hero-media img{height:240px}
 .home-v2 .home-hero-text{position:static;background:var(--navy);padding:24px 20px 26px}
 .home-v2 .home-hero-text h2{font-size:1.75rem}
 .home-v2 .home-hero-text p{font-size:1.02rem}
 .home-v2 .home-hero-actions .button{flex:1 1 100%;text-align:center}
 .home-v2 .home-hero-media figcaption{height:auto}
 .home-v2 .home-grid{grid-template-columns:1fr;gap:16px}
 .home-v2 .home-card{padding:22px 20px}
 .home-v2 .home-card .button{align-self:stretch;text-align:center}
 .home-v2 .home-section-head h2{font-size:1.65rem}
 .home-v2 .home-about{margin-top:40px}
 .home-v2 .home-note{padding:20px 18px}
}

/* Rotating hero (assets/hero-rotator.js). The first slide stays in normal flow and sets the height;
   the other slides are stacked on top of it and crossfade in. Without JS only the first photo shows. */
.home-v2 .home-hero-slides{position:relative;z-index:0;overflow:hidden;background:var(--navy)}
.home-v2 .home-hero-slide{opacity:0;transition:opacity 0s linear}
.home-v2 .home-hero-slides>.home-hero-slide:first-child{position:relative}
.home-v2 .home-hero-slides>.home-hero-slide:not(:first-child){position:absolute;top:0;left:0;width:100%;height:100%}
.home-v2 .home-hero-slides>picture.home-hero-slide{display:block}
.home-v2 .home-hero-slides>picture.home-hero-slide img{height:100%}
.home-v2 .home-hero-slide--lake img{object-position:center 45%}
.home-v2 .home-hero-slide.is-prev{opacity:1;z-index:1}
.home-v2 .home-hero-slide.is-active{opacity:1;z-index:2;transition:opacity 1.8s ease-in-out}
.home-v2 .home-hero-text{z-index:1}
.home-v2 .home-hero-controls{position:absolute;top:14px;right:14px;z-index:3;display:flex;align-items:center;gap:2px;padding:3px 8px;border-radius:999px;background:#0c2947a6}
.home-v2 .home-hero-controls button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.home-v2 .home-hero-controls button:focus-visible{outline:3px solid var(--gold);outline-offset:1px}
.home-v2 .home-hero-dot::before{content:"";display:block;width:9px;height:9px;border-radius:50%;border:1.5px solid #ffffffd9;box-sizing:border-box}
.home-v2 .home-hero-dot:hover::before{background:#ffffff66}
.home-v2 .home-hero-dot[aria-current="true"]::before{background:var(--gold);border-color:var(--gold)}
.home-v2 .home-hero-pause svg{width:12px;height:12px;fill:currentColor}
.home-v2 .home-hero-pause:hover{background:#ffffff26}
@media(max-width:720px){.home-v2 .home-hero-controls{top:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.home-v2 .home-hero-slide.is-active{transition:none}}

/* Photo of the Month feature (filled from assets/photo-of-the-month.json by assets/photo-of-the-month.js) */
.home-v2 .home-potm{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:860px;margin:-16px auto 56px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #0c294712}
.home-v2 .home-potm-img{display:block;min-height:200px;background:var(--navy);position:relative}
.home-v2 .home-potm-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.home-v2 .home-potm-img:hover img{transform:scale(1.03)}
.home-v2 .home-potm-img:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.home-v2 .home-potm-body{padding:22px 26px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.home-v2 .home-potm-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b6b2e}
.home-v2 .home-potm-eyebrow .potm-medal{width:28px;height:34px}
.home-v2 .home-potm-caption{margin:0 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;line-height:1.3;color:var(--navy)}
.home-v2 .home-potm-credit{margin:0 0 16px;color:#58636b;font-size:.95rem}
.home-v2 .home-potm-note{margin:-8px 0 16px;color:#58636b;font-size:.9rem}
.home-v2 .home-potm-note[hidden]{display:none}
.home-v2 .button.home-ghost-dark{margin:0;background:transparent;color:var(--navy);border:2px solid var(--navy);padding:9px 17px}
.home-v2 .button.home-ghost-dark:hover{background:var(--navy);color:#fff}
@media(max-width:720px){
 .home-v2 .home-potm{grid-template-columns:1fr;margin:-8px 0 40px;border-left:1px solid var(--line);border-top:5px solid var(--gold)}
 .home-v2 .home-potm-img{min-height:0;height:220px}
 .home-v2 .home-potm-body{padding:18px 18px 20px}
 .home-v2 .home-potm-body .button{align-self:stretch;text-align:center}
}
@media(prefers-reduced-motion:reduce){.home-v2 .home-potm-img img{transition:none}.home-v2 .home-potm-img:hover img{transform:none}}

/* Animal Watch teaser strip (under the Photo of the Month card; filled by assets/animal-watch.js) */
.home-v2 .home-aw{display:flex;align-items:center;gap:18px;max-width:860px;margin:-36px auto 56px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:12px;padding:14px 20px;box-shadow:0 6px 18px #0c294712}
.home-v2 .home-aw-text{flex:1;min-width:0}
.home-v2 .home-aw-title{margin:0 0 2px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8b6b2e}
.home-v2 .home-aw-latest{margin:0;color:#3f4b54}
.home-v2 .home-aw-latest strong{color:var(--navy)}
.home-v2 .home-aw .button{flex:0 0 auto}
@media(max-width:720px){.home-v2 .home-aw{flex-direction:column;align-items:stretch;gap:10px;margin:-24px 0 40px;padding:14px 16px}.home-v2 .home-aw .button{text-align:center}}

/* Donation box link to donations.html + footer Donations link (home page colors) */
.home-v2 .donation-link{display:inline-block;align-self:center;margin-top:12px;color:var(--gold);font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}
.home-v2 .donation-link:hover{color:#fff}
.home-v2 .donation-link:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.home-v2 footer .footer-links a{color:var(--gold)}

/* Merch teaser strip (links to merch.html); sits just under the Animal Watch strip */
.home-v2 .home-merch{margin-top:-40px;border-left-color:var(--gold)}
.home-v2 .home-merch-img{flex:0 0 64px;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#f1efea}
.home-v2 .home-merch-img img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12)}
@media(max-width:720px){.home-v2 .home-merch{margin-top:-28px;display:grid;grid-template-columns:56px 1fr;align-items:center}.home-v2 .home-merch-img{width:56px;height:56px}.home-v2 .home-merch .button{grid-column:1/-1}}
