:root {
  --lake:#234f74;
  --lake-deep:#163b59;
  --mist:#dcecf3;
  --sky:#9fc6da;
  --ink:#17242d;
  --paper:#f7f5ef;
  --white:#fff;
  --green:#67866f;
  --line:#c8d5dc;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,92vw);margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(247,245,239,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(23,36,45,.12)}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-weight:700;letter-spacing:.02em}
.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%}
.links{display:flex;gap:24px;font-size:14px;font-weight:700;color:#35505d}
.cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:var(--lake-deep);color:white;font-weight:800}
.hero{position:relative;background:linear-gradient(180deg,#eff5f8 0%, #f7f5ef 100%);color:var(--ink);padding:30px 0 38px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.82fr);gap:54px;align-items:center}
.hero-copy{padding:36px 0 22px}
.hero .kicker{color:var(--lake)}
.hero h1{color:var(--lake-deep)}
.hero p{color:#3f5562}
.hero-visual{position:relative;aspect-ratio:4/5;max-height:690px;border-radius:34px;overflow:hidden;box-shadow:0 24px 50px rgba(22,59,89,.16)}
.hero-visual::after{content:'';position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(180deg,rgba(6,26,37,0) 0%, rgba(6,26,37,.12) 100%)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero .btn.light{background:var(--lake-deep);color:white}
.hero .btn.ghost{border:1px solid rgba(35,79,116,.4);color:var(--lake-deep);background:rgba(255,255,255,.45)}
.hero .container{padding:0}
.kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.hero h1{font-family:Georgia,serif;font-size:clamp(44px,7vw,92px);line-height:.95;max-width:820px;margin:14px 0 20px;font-weight:500}
.hero p{font-family:Georgia,serif;font-size:clamp(20px,2.4vw,28px);max-width:760px;margin:0 0 18px}
.hero-note{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:14px!important;line-height:1.5;color:#607783!important;margin:0 0 28px!important;max-width:620px!important}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;font-weight:800}
.btn.light{background:white;color:var(--lake-deep)} .btn.ghost{border:1px solid rgba(255,255,255,.65);color:white;background:rgba(0,0,0,.08)}
section{padding:84px 0}
.section-title{font-family:Georgia,serif;font-size:clamp(36px,4vw,56px);line-height:1.05;margin:0 0 18px;color:var(--lake-deep)}
.section-lede{font-family:Georgia,serif;font-size:22px;max-width:760px;color:#405561}
.intro-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:50px;align-items:center}
.affiliation{padding:24px;border:1px solid var(--line);background:white;border-radius:22px}
.affiliation img{max-height:90px;object-fit:contain;margin-bottom:16px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.card{background:white;border-radius:22px;overflow:hidden;border:1px solid rgba(23,36,45,.08);box-shadow:0 10px 30px rgba(22,59,89,.07)}
.card img{aspect-ratio:4/3;object-fit:cover}
.card .body{padding:20px}
.card h3{font-family:Georgia,serif;font-size:24px;margin:0 0 8px;color:var(--lake-deep)}
.card p{color:#50636d;margin:0 0 12px}
.link{font-weight:800;color:var(--lake)}
.blue{background:var(--lake-deep);color:white}
.blue .section-title,.blue .section-lede{color:white}
.boats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.boat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:22px;overflow:hidden}
.boat img{aspect-ratio:4/3;object-fit:cover}
.boat .body{padding:18px} .boat h3{font-family:Georgia,serif;font-size:27px;margin:0 0 6px}
.video-wrap{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.video{position:relative;padding-top:56.25%;border-radius:22px;overflow:hidden;box-shadow:0 16px 36px rgba(22,59,89,.14)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lake-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}
.bigimg{border-radius:24px;width:100%;height:100%;object-fit:cover;min-height:480px}
.story-stack{display:grid;gap:18px}
.story{background:white;border-radius:22px;overflow:hidden;border:1px solid rgba(23,36,45,.08)}
.story img{aspect-ratio:16/8;object-fit:cover}
.story .body{padding:18px}
.story h3{font-family:Georgia,serif;font-size:26px;margin:0 0 6px;color:var(--lake-deep)}
.audio{background:linear-gradient(135deg,var(--mist),#eef5f7);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}
.split img{border-radius:24px;aspect-ratio:16/10;object-fit:cover}
.visit{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
.panel{background:white;border-radius:22px;padding:28px;border:1px solid rgba(23,36,45,.08)}
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.support-card{border-radius:24px;padding:32px;background:var(--mist)} .support-card.alt{background:#dfe9df}

.new-feature{background:linear-gradient(135deg,#eef5f7,#f7f5ef);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.story-teaser{padding-top:18px}
.story-teaser-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:26px;align-items:stretch}
.story-teaser-note{background:var(--mist);border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;justify-content:center}
.story-teaser-note strong{font-family:Georgia,serif;font-size:28px;color:var(--lake-deep)}
.volunteer-card{padding:0;overflow:hidden;display:grid;grid-template-columns:.8fr 1.2fr;background:#dfe9df}
.volunteer-card img{width:100%;height:100%;min-height:330px;object-fit:cover}
.support-card-copy{padding:30px}

.support-card h3{font-family:Georgia,serif;font-size:34px;margin:0 0 10px;color:var(--lake-deep);overflow-wrap:anywhere}
footer{background:#102d44;color:#d8e7ee;padding:48px 0 32px}
footer a{color:#d8e7ee}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:28px}
.footer-logo{display:flex;gap:14px;align-items:center} .footer-logo img{width:70px;height:70px;border-radius:50%;object-fit:cover}
.small{font-size:13px;color:#66808b}

@media(min-width:1200px){
 .hero{min-height:auto}
 .hero-copy{padding:20px 0}
 .hero-visual{max-height:660px}
}

@media(max-width:900px){
 .links{display:none}
 .cards{grid-template-columns:1fr 1fr}
 .boats{grid-template-columns:1fr}
 .intro-grid,.video-wrap,.lake-grid,.split,.visit,.footer-grid,.hero-grid,.story-teaser-grid{grid-template-columns:1fr}
 .hero{min-height:70vh;display:flex;align-items:end;background:
linear-gradient(180deg,rgba(6,26,37,.10),rgba(6,26,37,.58)),
url('/assets/hero.webp') center/cover no-repeat;color:white;padding:0}
 .hero-copy{padding:110px 0 52px}
 .hero .kicker,.hero h1,.hero p{color:white}
 .hero-visual{display:none}
 .hero .btn.light{background:white;color:var(--lake-deep)}
 .hero .btn.ghost{border:1px solid rgba(255,255,255,.65);color:white;background:rgba(0,0,0,.08)}
}
@media(max-width:620px){
 .support-grid{grid-template-columns:1fr;gap:14px}
 .volunteer-card{grid-template-columns:1fr}
 .volunteer-card img{min-height:260px;max-height:360px}
 .support-card{padding:26px 24px}
 .support-card h3{font-size:32px}
 .nav{height:70px}
 .brand span{font-size:15px}
 .brand img{width:44px;height:44px}
 .cta{font-size:13px;padding:11px 14px}
 section{padding:62px 0}
 .cards{grid-template-columns:1fr}
 .hero .container{padding-bottom:0}
 .hero h1{font-size:52px}
 .hero p{font-size:20px}
}

/* ---- Visit / FAQ pages (v10) ---- */
.page-hero{background:linear-gradient(135deg,#eaf3f7,#f7f5ef);padding:70px 0 56px}
.page-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center}
.page-hero h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,72px);line-height:.98;color:var(--lake-deep);margin:12px 0 18px;font-weight:500}
.page-hero p{font-family:Georgia,serif;font-size:21px;color:#405561}
.page-hero img{width:100%;border-radius:26px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 18px 40px rgba(22,59,89,.14)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
.fact{background:white;border:1px solid rgba(23,36,45,.09);border-radius:20px;padding:22px}
.fact strong{display:block;font-family:Georgia,serif;color:var(--lake-deep);font-size:23px;margin-bottom:5px}
.faq-list{max-width:900px;margin:26px auto 0}
.faq-list details{background:white;border:1px solid rgba(23,36,45,.09);border-radius:18px;margin:0 0 12px;padding:0 20px}
.faq-list summary{cursor:pointer;list-style:none;font-family:Georgia,serif;color:var(--lake-deep);font-size:22px;font-weight:700;padding:18px 30px 18px 0;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:0;top:14px;font-family:Inter,sans-serif;font-size:28px;color:var(--lake)}
.faq-list details[open] summary:after{content:'–'}
.faq-list details p,.faq-list details ul{margin:0 0 20px;color:#4a5d67}
.faq-group{padding-top:26px}
.faq-group h2{font-family:Georgia,serif;color:var(--lake-deep);font-size:36px;margin-bottom:10px}
.visit-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.visit-panel{background:white;border:1px solid rgba(23,36,45,.09);border-radius:22px;padding:26px}
.visit-panel h3{font-family:Georgia,serif;color:var(--lake-deep);font-size:28px;margin:0 0 10px}
.badge-new{display:inline-block;background:var(--lake);color:white;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.quick-faq{display:grid;gap:12px}
.quick-faq details{background:white;border:1px solid rgba(23,36,45,.09);border-radius:16px;padding:0 18px}
.quick-faq summary{font-weight:800;color:var(--lake-deep);padding:16px 0;cursor:pointer}
.quick-faq p{margin:0 0 16px;color:#4a5d67}
@media(max-width:900px){ .page-hero-grid,.visit-grid{grid-template-columns:1fr} .facts{grid-template-columns:1fr} }

/* ---- Our Story / Volunteer pages (v10) ---- */
.content-narrow{max-width:850px}
.story-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.info-card{background:white;border:1px solid rgba(23,36,45,.09);border-radius:22px;padding:26px}
.info-card h3{font-family:Georgia,serif;font-size:28px;color:var(--lake-deep);margin:0 0 10px}
.timeline{border-left:2px solid var(--sky);padding-left:26px}
.timeline-item{position:relative;margin:0 0 30px}
.timeline-item:before{content:'';position:absolute;left:-34px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--lake)}
.timeline-item h3{font-family:Georgia,serif;color:var(--lake-deep);font-size:27px;margin:0 0 6px}
.volunteer-opps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.opportunity{background:white;border:1px solid rgba(23,36,45,.09);border-radius:20px;padding:22px}
.opportunity h3{font-family:Georgia,serif;color:var(--lake-deep);font-size:24px;margin:0 0 8px}
.contact-band{background:var(--lake-deep);color:white;border-radius:28px;padding:34px}
.contact-band h2{font-family:Georgia,serif;font-size:38px;margin:0 0 10px}
.contact-band a{color:white;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){ .story-columns{grid-template-columns:1fr} .volunteer-opps{grid-template-columns:1fr 1fr} }
@media(max-width:620px){ .page-hero{padding:54px 0 42px} .page-hero h1{font-size:48px} .volunteer-opps{grid-template-columns:1fr} }

/* ---- v11 additions ---- */

/* Fade-in on scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none} html{scroll-behavior:auto}}

/* Boats carousel */
.carousel{position:relative;margin-top:28px}
.carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 8px;scroll-padding:0}
.carousel-track::-webkit-scrollbar{display:none}
.carousel-track .boat{flex:0 0 min(84vw,400px);scroll-snap-align:start}
.carousel-nav{display:flex;align-items:center;gap:12px;margin-top:14px}
.carousel-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:white;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.carousel-btn:hover,.carousel-btn:focus-visible{background:rgba(255,255,255,.2)}
.carousel-btn:disabled{opacity:.35;cursor:default}
.carousel-dots{display:flex;gap:8px;margin-left:6px}
.carousel-dots button{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer}
.carousel-dots button[aria-current="true"]{background:white}
.carousel-hint{margin-left:auto;font-size:13px;color:rgba(255,255,255,.7)}
@media(min-width:1000px){.carousel-hint{display:none}.carousel-track .boat{flex-basis:calc((100% - 36px)/3)}.carousel.fits .carousel-nav{display:none}}

/* Combined Visit + Support */
.visit-support{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.visit-support .support-grid{grid-column:1 / -1;margin-top:10px}
@media(max-width:900px){.visit-support{grid-template-columns:1fr}}

/* Living Lake / Visitor Center pages */
.page-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.btn.outline{border:1px solid var(--line);color:var(--lake-deep);background:white}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}

/* Temporary update banner (removed by setting SHOW_UPDATE_BANNER=false in site.js) */
.update-banner{background:var(--lake-deep);color:#e6f0f5;font-size:14px;line-height:1.4}
.update-banner .container{display:flex;align-items:center;gap:16px;padding:10px 0}
.update-banner a{color:white;text-decoration:underline;text-underline-offset:2px}
.update-banner button{margin-left:auto;background:none;border:0;color:white;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}

/* Hero slideshow (v11.6) */
.hero-slides{position:relative}
.hero-slide{position:absolute;inset:0;display:block;opacity:0;transition:opacity 1.2s ease;color:white}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1);transition:transform 9s linear}
.hero-slide.is-active img{transform:scale(1.06)}
.hero-caption{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;font-weight:800;font-size:17px;line-height:1.3;text-shadow:0 1px 8px rgba(6,26,37,.6)}
.hero-caption small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;opacity:.9;margin-bottom:4px}
.hero-slides::after{z-index:1;height:48%;background:linear-gradient(180deg,rgba(6,26,37,0) 0%,rgba(6,26,37,.62) 100%)}
.hero-dots{position:absolute;right:20px;top:18px;z-index:3;display:flex;gap:7px}
.hero-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.5);cursor:pointer}
.hero-dots button[aria-current="true"]{background:white}
.hero-slides:hover .hero-slide.is-active img{transition-duration:14s}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide img{transition:none;transform:none!important}}

/* Full-bleed hero (v11.9) */
.hero-full{padding:0;min-height:min(78vh,760px);display:flex;align-items:center;color:white;background:var(--lake-deep);overflow:hidden}
.hero-full .hero-slides{position:absolute;inset:0;aspect-ratio:auto;max-height:none;border-radius:0;box-shadow:none}
.hero-full .hero-slides::after{display:none}
.hero-full .hero-slide::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,26,37,.8) 0%,rgba(6,26,37,.58) 42%,rgba(6,26,37,.18) 75%,rgba(6,26,37,.4) 100%)}
.hero-full .hero-caption{z-index:2}
.hero-full .hero-copy{position:relative;z-index:2;padding:96px 24px 110px;max-width:1180px;width:100%}
.hero-full .kicker,.hero-full h1,.hero-full p{color:white}
.hero-full .kicker{color:#cfe3ec}
.hero-full h1{text-shadow:0 2px 18px rgba(6,26,37,.35)}
.hero-full .hero-note{color:#d5e3ea!important}
.hero-full .btn.light{background:white;color:var(--lake-deep)}
.hero-full .btn.ghost{border:1px solid rgba(255,255,255,.55);color:white;background:rgba(255,255,255,.08)}
.hero-full .hero-caption{left:auto;right:36px;bottom:34px;max-width:320px;text-align:right}
.hero-full .hero-dots{top:auto;bottom:38px;left:50%;transform:translateX(-50%);right:auto}
.hero-full .hero-slide{pointer-events:none}
.hero-full .hero-slide.is-active{pointer-events:auto}
.hero-full .hero-slide .hero-caption{pointer-events:auto}
@media(max-width:900px){
  .hero-full{min-height:560px}
  .hero-full .hero-copy{padding:72px 20px 120px}
  .hero-full .hero-slide::before{background:linear-gradient(180deg,rgba(6,26,37,.42) 0%,rgba(6,26,37,.78) 100%)}
  .hero-full .hero-caption{left:20px;right:20px;bottom:64px;text-align:left;max-width:none}
  .hero-full .hero-dots{bottom:26px}
}
/* Cards: whole card clickable, lifts on hover */
.card{position:relative;transition:transform .25s ease,box-shadow .25s ease}
.card .link::after{content:'';position:absolute;inset:0}
.card:hover,.card:focus-within{transform:translateY(-4px);box-shadow:0 18px 40px rgba(22,59,89,.14)}
.card:hover .link{text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}

.footer-legal{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.footer-legal p{color:#8fb0c2;margin:0}
.footer-legal a{color:inherit}

/* soft edge on the photo side of the hero */
.hero-full .hero-slide::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 78% 50%,rgba(6,26,37,0) 45%,rgba(6,26,37,.35) 100%)}
.hero-full .hero-slide img{transition-duration:12s}
.hero-full .hero-slide.is-active img{transform:scale(1.08)}
