:root{--ink:#17302f;--soft:#4c6360;--paper:#f8f5ec;--panel:#ece7d7;--deep:#12353a;--deep2:#0b2428;--gold:#e8b65a;--line:#d6cfba;--wa:#128c4f;--link:#0f6263;--pad:clamp(16px,4vw,32px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;overflow-x:clip}
img,iframe,svg{max-width:100%}img{display:block}
h1,h2,h3,.brand{font-family:"Iowan Old Style",Palatino,"Palatino Linotype",Georgia,serif;line-height:1.08;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,8.5vw,5.6rem);margin:.15em 0 .25em}h2{font-size:clamp(1.8rem,5vw,3rem);margin:0}h3{font-size:1.5rem;margin:0}
a{color:var(--link)}.wrap{width:min(1180px,100%);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.ic{width:1.25em;height:1.25em;flex:none;vertical-align:-.25em}
#bar{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;z-index:30}
.top{position:sticky;top:0;z-index:20;background:rgba(18,53,58,.94);backdrop-filter:blur(8px);color:#fff}
.top-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 24px;padding-top:9px;padding-bottom:9px}
.brand{display:flex;align-items:center;gap:.35em;font-size:1.25rem;font-weight:700;color:inherit;text-decoration:none;margin:0}.brand span{color:var(--gold)}.brand .ic{color:var(--gold)}
.top nav{display:flex;gap:18px;overflow-x:auto;scrollbar-width:none;max-width:100%}.top nav::-webkit-scrollbar{display:none}
.top nav a{position:relative;color:#e9efe9;text-decoration:none;font-size:.95rem;padding:7px 0;white-space:nowrap}.top nav a:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}.top nav a:hover:after,.top nav a[aria-current]:after{transform:scaleX(1)}
.kicker{display:flex;align-items:center;gap:.5em;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;font-weight:700;margin:0;color:var(--gold)}
.lead{font-size:clamp(1.12rem,2.6vw,1.5rem);max-width:30em;margin:0 0 1.2em}
.bg,.slides,.slide,.slide img,.shade{position:absolute;inset:0;width:100%;height:100%}.bg,.slide img{object-fit:cover}
.shade{background:linear-gradient(180deg,rgba(9,32,36,.5),rgba(9,32,36,.28) 45%,rgba(9,32,36,.72))}
.hero{position:relative;min-height:min(100svh,860px);color:#fff;overflow:hidden;background:var(--deep);display:flex;align-items:center}
.hero-in{position:relative;padding-top:60px;padding-bottom:130px;width:min(1180px,100%)}
.slide{opacity:0;transition:opacity 1.6s}.slide.on{opacity:1}.slide img{transform:scale(1.02)}.slide.on img{animation:kb 9s ease-out both}.kb{animation:kb 14s ease-out both}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.14) translateY(-1.5%)}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.r2{animation-delay:.15s}.r3{animation-delay:.3s}.r4{animation-delay:.45s}@keyframes rise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
.waves{position:absolute;left:0;bottom:-1px;width:200%;height:clamp(44px,8vw,86px);max-width:none;fill:var(--paper)}.w1{opacity:.5;animation:drift 14s linear infinite}.w2{animation:drift 9s linear infinite reverse}@keyframes drift{to{transform:translateX(-50%)}}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:12px 24px;font-weight:700;text-decoration:none;border-radius:40px;color:#fff;transition:transform .2s,box-shadow .2s,filter .2s}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.28);filter:brightness(1.08)}.btn .ic{width:1.4em;height:1.4em}
.wa{background:var(--wa)}.ig{background:linear-gradient(45deg,#d9770f,#d01f58 55%,#8d2db0)}.btn.dark{background:var(--deep)}
.fabs{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));z-index:25;display:flex;flex-direction:column;gap:10px}
.fab{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .2s}.fab:hover{transform:scale(1.1)}.fab .ic{width:30px;height:30px}
.fab.wa:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa);z-index:-1;animation:pulse 2.2s ease-out infinite}@keyframes pulse{to{transform:scale(1.7);opacity:0}}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:#10282b;color:#fff;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.3s;z-index:40;width:max-content;max-width:calc(100vw - 110px);font-size:.95rem}#toast.on{opacity:1;transform:translate(-50%,0)}
.sec{padding:clamp(52px,9vw,100px) 0}.sec.tight{padding-bottom:30px}.alt{background:var(--panel)}
.title{margin-bottom:clamp(24px,4vw,42px)}.eyebrow{display:flex;align-items:center;gap:.5em;margin:0 0 8px;color:var(--link);font-weight:700;font-size:.95rem}
.exps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.exp{position:relative;display:block;overflow:hidden;border-radius:18px;aspect-ratio:3/4;background:var(--deep);color:#fff;text-decoration:none}.exp img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.exp:hover img{transform:scale(1.1)}
.exp:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(7,28,31,.9))}.exp-t{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:22px}.exp-t>.ic{width:36px;height:36px;color:var(--gold);transition:transform .35s}.exp:hover .exp-t>.ic{transform:translateY(-6px) rotate(-6deg)}.exp-t h3{font-size:clamp(1.7rem,3vw,2.2rem);margin:.15em 0}.exp-t p{margin:0}.go{display:inline-flex;gap:.4em;align-items:center;color:var(--gold);font-weight:700;margin-top:8px}.go .ic{transition:transform .25s}.exp:hover .go .ic{transform:translateX(6px)}
.lake-sec{background:var(--deep);color:#f3f1e6;padding:clamp(52px,9vw,100px) 0}.lake-sec .eyebrow{color:var(--gold);justify-content:center}.lake-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,64px);align-items:center}.gauge-box{text-align:center}.gauge-box p:not(.eyebrow){max-width:24em;margin:18px auto 10px}.link{display:inline-flex;gap:.4em;align-items:center;color:var(--gold);font-weight:700}
.gauge{position:relative;width:min(240px,62vw);aspect-ratio:1;margin:14px auto 0;border-radius:50%;border:5px solid var(--gold);overflow:hidden;background:#0b2428}.fill{position:absolute;left:-60%;width:220%;aspect-ratio:1;top:105%;border-radius:42%;background:linear-gradient(#58b0b4,#1f7c85);animation:spin 9s linear infinite;transition:top 2.4s cubic-bezier(.2,.7,.2,1)}.gauge.in .fill{top:6%}@keyframes spin{to{transform:rotate(360deg)}}.gauge strong{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 clamp(3rem,10vw,4.2rem)/1 "Iowan Old Style",Palatino,Georgia,serif;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.ba{position:relative;aspect-ratio:900/640;border-radius:16px;overflow:hidden;background:#0b2428}.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba .before{clip-path:inset(0 calc(100% - var(--x)) 0 0)}.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.handle{position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:#fff;pointer-events:none}.handle i{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:#fff;color:var(--deep);display:grid;place-items:center}.tagb{position:absolute;top:12px;background:rgba(7,28,31,.78);color:#fff;font-size:.85rem;font-weight:700;padding:4px 10px;border-radius:20px;pointer-events:none}.tagb.l{left:12px}.tagb.r{right:12px}.note{font-size:.88rem;opacity:.75;margin:10px 0 0}
.marquee{overflow:hidden}.track{display:flex;width:max-content;gap:12px;animation:mq 46s linear infinite}.marquee:hover .track{animation-play-state:paused}.track figure{margin:0;width:clamp(240px,34vw,430px);aspect-ratio:3/2;border-radius:14px;overflow:hidden;flex:none}.track img{width:100%;height:100%;object-fit:cover}@keyframes mq{to{transform:translateX(calc(-50% - 6px))}}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mosaic .slot:first-child:nth-last-child(6){grid-column:span 2;grid-row:span 2}.slot{position:relative;margin:0;min-height:180px;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--deep)}.mosaic .slot:first-child:nth-last-child(6){aspect-ratio:auto}.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}.slot:hover img{transform:scale(1.07)}.slot figcaption{display:none}.slot.empty{background:repeating-linear-gradient(135deg,#f6f1e2 0 16px,#efe8d4 16px 32px);outline:2px dashed #b4a87f;outline-offset:-8px}.slot.empty figcaption{position:absolute;inset:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;color:var(--soft);font-weight:700}.slot figcaption .ic{width:34px;height:34px;color:var(--link);animation:bob 2.4s ease-in-out infinite}.slot small{font-weight:400;font-size:.78rem}@keyframes bob{50%{transform:translateY(-6px)}}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}.step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.step>.ic{width:76px;height:76px;padding:20px;border-radius:50%;background:var(--deep);color:var(--gold);transition:transform .3s}.step:hover>.ic{transform:scale(1.1) rotate(-5deg)}.step strong{font-size:1.2rem;margin-top:6px}.step span{color:var(--soft)}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tiles.wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.tile{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;transition:transform .25s,box-shadow .25s}.tile:hover{transform:translateY(-5px);box-shadow:0 12px 24px rgba(23,48,47,.13)}.tile .ic{width:34px;height:34px;color:var(--link)}.tile strong{font-size:1.08rem;line-height:1.25}.tile span{color:var(--soft);font-size:.95rem}
.map-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.route-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px;background:var(--panel);border-radius:16px;padding:clamp(14px,3vw,26px)}.route{width:100%;height:auto;overflow:visible}.lake{fill:#6cb6b8}.road{fill:none;stroke-width:5;stroke-linecap:round}.road.base{stroke:#cbc2a7}.road.draw{stroke:#c9562d;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s ease-in-out .2s}.in .road.draw{stroke-dashoffset:0}.stop circle{fill:var(--deep);stroke:var(--gold);stroke-width:4}.stop text{font:700 23px -apple-system,Segoe UI,Roboto,sans-serif;fill:var(--ink)}.tag{font:600 18px -apple-system,Segoe UI,Roboto,sans-serif;fill:var(--soft)}.stop{opacity:0;transition:opacity .5s}.in .stop{opacity:1}.in .s2{transition-delay:1.5s}.in .s3{transition-delay:2.6s}.map{border-radius:16px;overflow:hidden;min-height:380px;background:var(--panel)}.map iframe{display:block;width:100%;height:100%;min-height:380px;border:0}
.closing{position:relative;overflow:hidden;color:#fff;text-align:center;padding:clamp(90px,16vw,170px) 0}.closing-in{position:relative}.closing h2{font-size:clamp(2.2rem,7vw,4.4rem);margin-bottom:24px}.closing .cta{justify-content:center}
.phead{position:relative;overflow:hidden;color:#fff;background:var(--deep);padding:clamp(70px,13vw,150px) 0 clamp(100px,14vw,170px)}.phead-in{position:relative}
.prose{max-width:820px}.prose h1{font-size:clamp(2.2rem,6vw,3.4rem)}.prose h2{margin-bottom:.5em}.prose h3{margin-top:1.6em;font-size:1.2rem}
.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{font-weight:700;cursor:pointer}.faq p{margin:.5em 0 0}.sources{font-size:.92rem;padding-left:18px}
.credits{list-style:none;padding:0;margin:0}.credits li{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:.92rem;overflow-wrap:anywhere}.credits img{width:96px;height:72px;object-fit:cover;border-radius:8px;flex:none}
.foot{background:var(--deep2);color:#d9e0d8;padding:32px 0 100px;font-size:.95rem}.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 48px}.foot p{margin:0 0 6px}.foot a{color:var(--gold)}
.js .reveal{opacity:0;transform:translateY(30px) scale(.985);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}.js .reveal.in{opacity:1;transform:none}
a:focus-visible,summary:focus-visible,input:focus-visible+*{outline:3px solid #5fb7c0;outline-offset:2px}
@media(max-width:860px){.lake-in,.map-grid{grid-template-columns:minmax(0,1fr)}.exps{grid-template-columns:minmax(0,1fr)}.exp{aspect-ratio:16/11}.mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.slot{min-height:0}.mosaic .slot:first-child:nth-last-child(6){grid-column:span 2;grid-row:auto;aspect-ratio:16/10}.mosaic .slot:nth-child(3):last-child,.mosaic .slot:nth-child(6):last-child{grid-column:span 2;aspect-ratio:16/9}.steps{grid-template-columns:minmax(0,1fr)}.step{flex-direction:row;text-align:left;flex-wrap:wrap;column-gap:14px}.step>.ic{width:60px;height:60px;padding:15px;grid-row:span 2}.step strong{margin:0;flex:1 1 60%}.step span{flex-basis:100%;padding-left:74px;margin-top:-26px}.map,.map iframe{min-height:300px}}
@media(max-width:520px){.cta .btn{flex:1 1 130px;padding:12px 14px}.fab{width:52px;height:52px}.fab .ic{width:27px;height:27px}.brand{font-size:1.15rem}.top nav{gap:15px}.top nav a{font-size:.9rem}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles.wide{grid-template-columns:minmax(0,1fr)}.tile{padding:15px}.tiles:not(.wide) .tile:nth-child(3):last-child{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.road.draw{stroke-dashoffset:0}.stop{opacity:1}.fill{top:6%}}
