@font-face{font-family:"FV Ribbon";src:url("fonts/BebasNeue-Regular.ttf") format("truetype");font-display:swap}
@font-face{font-family:"FV Brush";src:url("fonts/Allura-Regular.ttf") format("truetype");font-display:swap}
:root{--paper:#fcf8ed;--ink:#18304a;--navy:#113b69;--green:#4f7d3a;--pink:#d94970;--teal:#1e9b9b;--gold:#e99b1b;--purple:#76559b;--coral:#e46f4d;--cream:#f4efe2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 Arial,sans-serif}
.sitebar{height:62px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #a9b99d;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}
.sitebar a{font:700 1.12rem Georgia,serif;color:var(--navy);text-decoration:none;text-transform:none;letter-spacing:0}
.hero{min-height:690px;margin:18px;position:relative;border:2px solid var(--green);border-radius:20px;overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,248,237,.98),rgba(252,248,237,.82) 34%,rgba(252,248,237,.08) 64%)}
.hero-copy{position:relative;z-index:1;width:min(540px,47%);padding:6.5rem 5vw}
.eyebrow,.mini,.time{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--green)}
h1{display:flex;flex-direction:column;align-items:flex-start;font:400 clamp(7rem,13vw,12rem)/.62 "FV Brush",cursive;margin:.1em 0 .28em;color:var(--navy)}
h1 em{margin-left:.38em;color:var(--teal);font-style:normal}
.hero-copy>p:not(.eyebrow){font:1.15rem/1.6 Georgia,serif}
.pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.pills span{padding:.4rem .7rem;border:1px solid #809b72;border-radius:999px;background:#fffdf5;font-size:.72rem;font-weight:700}
.choose,.itinerary,.river{max-width:1240px;margin:7rem auto;padding:0 5vw}
.section-heading{max-width:800px}
.section-heading.centered{text-align:center;margin:0 auto}
.section-heading h2,.sunset h2{font:700 clamp(2.7rem,5vw,5rem)/1 Georgia,serif;margin:.28em 0;color:var(--navy)}
.lead{font:1.17rem/1.7 Georgia,serif}
.ribbon{--r:var(--green);position:relative;z-index:1;display:inline-block;margin-left:1rem;padding:.5rem 1.8rem .38rem;background:var(--r);color:#fff;font:400 1.3rem/1 "FV Ribbon",Impact,sans-serif;text-transform:uppercase;letter-spacing:.17em;filter:drop-shadow(0 3px 0 #113b6922)}
.ribbon:before,.ribbon:after{content:"";position:absolute;z-index:-1;top:.45rem;width:1.35rem;height:100%;background:color-mix(in srgb,var(--r),white 12%)}
.ribbon:before{left:-1.05rem;clip-path:polygon(0 10%,100% 0,82% 50%,100% 100%,0 88%,28% 50%)}
.ribbon:after{right:-1.05rem;clip-path:polygon(0 0,100% 10%,72% 50%,100% 88%,0 100%,18% 50%)}
.coral{--r:var(--coral)}.teal-ribbon{--r:var(--teal)}.purple-ribbon{--r:var(--purple)}
.lake-cards{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;margin-top:2.5rem}
.lake-card{position:relative;min-height:420px;padding:2.3rem;border:2px solid var(--accent);border-radius:20px;background:#fffdf7;overflow:hidden}
.lake-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:var(--accent)}
.lake-card.flathead{--accent:var(--teal)}.lake-card.whitefish{--accent:var(--coral)}
.round-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:var(--accent);box-shadow:0 5px 0 color-mix(in srgb,var(--accent),black 17%)}
.round-icon svg{width:48px;height:48px;fill:none;stroke:white;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.lake-card .mini{margin-top:1.6rem;color:var(--accent)}
.lake-card h3,.route-line h3,.cherry-note h3,.river-grid h3{font:700 2rem/1.05 Georgia,serif;color:var(--navy);margin:.2em 0 .55em}
.lake-card dl{margin:1.5rem 0 0;border-top:1px dashed var(--accent)}
.lake-card dl div{display:grid;grid-template-columns:115px 1fr;gap:1rem;padding:.65rem 0;border-bottom:1px dashed #bbc8b4}
.lake-card dt{font:400 .93rem "FV Ribbon",sans-serif;text-transform:uppercase;letter-spacing:.09em;color:var(--accent)}
.lake-card dd{margin:0;font-size:.9rem}
.itinerary{max-width:1320px}
.route-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.route-line:before{content:"";position:absolute;left:8%;right:8%;top:37px;border-top:4px dotted var(--gold)}
.route-line article{position:relative;padding:1.4rem;border:1.5px solid var(--accent);border-radius:18px;background:#fffdf7}
.route-line article:nth-child(1){--accent:var(--navy)}.route-line article:nth-child(2){--accent:var(--coral)}.route-line article:nth-child(3){--accent:var(--teal)}.route-line article:nth-child(4){--accent:var(--pink)}
.route-line article>span{position:absolute;right:1rem;top:.8rem;font:400 1.35rem "FV Ribbon";color:var(--accent)}
.route-icon{position:relative;z-index:1;width:74px;height:74px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:white;font:700 2rem Georgia,serif;box-shadow:0 5px 0 color-mix(in srgb,var(--accent),black 17%)}
.route-icon.cherry{font-size:1rem;letter-spacing:-.1em}
.route-line .time{color:var(--accent);margin:1.3rem 0 .2rem}
.route-line h3{font-size:1.55rem}
.route-line article>p:last-child{font-size:.9rem}
.cherry-note{margin:2rem 0 0;padding:1.3rem 1.6rem;display:grid;grid-template-columns:90px 1fr 1.3fr;gap:1.2rem;align-items:center;border:2px solid var(--pink);border-radius:18px;background:#fff8f4}
.cherry-cluster{position:relative;width:72px;height:64px}
.cherry-cluster:before,.cherry-cluster:after{content:"";position:absolute;top:0;width:3px;height:34px;background:var(--green);transform-origin:top}
.cherry-cluster:before{left:34px;transform:rotate(25deg)}.cherry-cluster:after{left:37px;transform:rotate(-25deg)}
.cherry-cluster i{position:absolute;width:28px;height:28px;border-radius:50%;background:var(--pink);border:2px solid #a52d4e;bottom:3px}
.cherry-cluster i:nth-child(1){left:6px}.cherry-cluster i:nth-child(2){left:31px}.cherry-cluster i:nth-child(3){left:20px;bottom:24px}
.cherry-note .mini{color:var(--pink);margin:0}.cherry-note h3{font-size:1.25rem;margin:.2rem 0}.cherry-note>p{margin:0}
.sunset{max-width:1240px;margin:8rem auto;display:grid;grid-template-columns:1.1fr .9fr;border:2px solid var(--teal);border-radius:20px;overflow:hidden;background:#f8f3e7}
.sunset>img{width:100%;height:100%;object-fit:cover}
.sunset-copy{padding:3rem}
.sunset ol{list-style:none;padding:0;margin:1.5rem 0 0;counter-reset:steps}
.sunset li{counter-increment:steps;display:grid;grid-template-columns:36px 110px 1fr;gap:.8rem;padding:.75rem 0;border-top:1px dashed var(--teal)}
.sunset li:before{content:counter(steps,decimal-leading-zero);font:400 1.1rem "FV Ribbon";color:var(--coral)}
.sunset li b{font-family:Georgia,serif;color:var(--navy)}
.sunset li span{font-size:.88rem}
.river-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:1rem;margin-top:2rem}
.river-grid>article,.river-grid>aside{padding:1.7rem;border:1.5px solid var(--accent);border-radius:18px;background:#fffdf7}
.river-grid>article:first-child{--accent:var(--teal)}.river-grid>article:nth-child(2){--accent:var(--purple)}.river-grid>aside{--accent:var(--gold);background:#fff6da}
.river-grid .round-icon{width:64px;height:64px}.river-grid .round-icon svg{width:42px;height:42px}.river-grid .fish{--accent:var(--teal)}.river-grid .raft{--accent:var(--purple)}
.river-grid .mini{color:var(--accent);margin-top:1.4rem}.river-grid h3{font-size:1.55rem}
footer{padding:2rem 5vw;background:var(--navy);color:white;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
@media(max-width:850px){
  .sitebar span{display:none}.hero{min-height:780px}.hero-wash{background:linear-gradient(180deg,rgba(252,248,237,.96),rgba(252,248,237,.72) 57%,rgba(252,248,237,.06))}
  .hero-copy{width:100%;padding:4rem 8vw}.lake-cards,.sunset,.river-grid{grid-template-columns:1fr}.route-line{grid-template-columns:1fr 1fr}.route-line:before{display:none}
  .cherry-note{grid-template-columns:80px 1fr}.cherry-note>p{grid-column:1/-1}.sunset{margin:5rem 18px}.sunset-copy{padding:2rem}
}
@media(max-width:520px){
  h1{font-size:7rem}.route-line{grid-template-columns:1fr}.choose,.itinerary,.river{margin-top:5rem}.lake-card{padding:1.6rem;min-height:auto}
  .sunset li{grid-template-columns:32px 1fr}.sunset li span{grid-column:2}.cherry-note{grid-template-columns:1fr}.cherry-cluster{margin:auto}
  footer{display:block}footer span{display:block;margin:.3rem 0}
}
