@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-vietnamese-wght-normal.CtlIRbEm.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-ext-wght-normal.MQgHevqp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-wght-normal.DdeTHZLK.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0b1220;--ink2:#14213d;--ridge:#1f3358;--accent:#ffd36b;--accent2:#ffb347;--teal:#5fb7c4;--text-on-dark:#f4f7ff;--bg:#f7f8fb;--card:#fff;--text:#16203a;--muted:#4d5872;--line:#dde2ec;--radius:14px;--wrap:1120px;--display:"Fraunces Variable", Georgia, "Times New Roman", serif;--body:"Public Sans Variable", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--body);color:var(--text);background:var(--bg);font-size:1.0625rem;line-height:1.6}h1,h2,.foot-big{font-family:var(--display);letter-spacing:-.015em;font-weight:650}img{max-width:100%;height:auto;display:block}a{color:#1d5f9e}a:hover{color:var(--ink2)}:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 16px}.gold{background:linear-gradient(90deg, var(--accent), var(--accent2));color:#0000;-webkit-background-clip:text;background-clip:text}.skip{z-index:10;background:#fff;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.top{color:var(--text-on-dark);z-index:5;background:#2a7483;border-bottom:1px solid #0b122059;position:sticky;top:0;box-shadow:0 2px 10px #0b122040}.top .gold{color:var(--accent);background:0 0}.top-row{justify-content:space-between;align-items:center;gap:12px;min-height:64px;display:flex}.brand{color:var(--text-on-dark);align-items:center;gap:10px;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.brand:hover,.foot a:hover{color:var(--text-on-dark)}.route-end a:hover{color:var(--accent2)}.brand:hover>span{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px;text-decoration-thickness:2px}.brand:hover img{transform:rotate(-8deg)}.brand img{transition:transform .2s}.top nav{align-items:center;gap:18px;display:flex}.top nav a{color:var(--text-on-dark);font-size:.95rem;text-decoration:none}.top nav a:hover{color:var(--accent)}@media (width<=620px){.top nav a:not(.btn){display:none}.brand span{font-size:1.17rem;line-height:1.15}}.btn{background:linear-gradient(90deg, var(--accent), var(--accent2));cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;display:inline-block;color:var(--ink)!important}.btn:hover{filter:brightness(1.05)}.btn-small{white-space:nowrap;padding:8px 14px;font-size:.9rem}.btn-ghost{background:0 0;border:2px solid #f4f7ff80;color:var(--text-on-dark)!important}.hero,.route{background-color:var(--ink);color:var(--text-on-dark);background-image:radial-gradient(80% 70% at 70% 40%,#1f3358e6,#0000 70%),linear-gradient(#5fb7c40f 1px,#0000 1px),linear-gradient(90deg,#5fb7c40f 1px,#0000 1px);background-size:auto,48px 48px,48px 48px}.hero{padding:56px 0 40px}.hero-grid{align-items:center;gap:8px;display:grid}@media (width>=900px){.hero-grid{grid-template-columns:1fr 1.05fr;gap:32px}.hero{padding:72px 0 56px}}.hero h1{max-width:14ch;font-size:clamp(2.2rem,6.4vw,3.9rem);line-height:1.05}.hero p.lead{color:#dfe6f5;max-width:40ch;margin-top:18px;font-size:clamp(1.05rem,2.4vw,1.25rem)}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.lake-map{margin:0}.lake-map svg{width:100%;height:auto;max-height:560px;display:block}.lake-map figcaption{color:#8b96ad;text-align:center;margin-top:2px;font-size:.8rem}.lake-map figcaption a{color:#8b96ad}.lake-map [class^=m-]{fill:none;stroke-linecap:round;stroke-linejoin:round}.m-primary{stroke:#f4f7ff21;stroke-width:1.1px}.m-trunk{stroke:#f4f7ff33;stroke-width:1.6px}.m-motorway{stroke:#ffb34773;stroke-width:2.6px}.m-river{stroke:#5fb7c48c;stroke-width:1.8px}.lake-map svg .m-lake{fill:#2f7f8f;stroke:#5fb7c4;stroke-width:1.2px}.state{fill:#f4f7ff38;font:600 24px var(--body);letter-spacing:.3em}.lake-name{fill:#bfe6ec;font:italic 500 34px var(--display);paint-order:stroke;stroke:var(--ink);stroke-width:6px}.town-name{fill:var(--text-on-dark);font:600 30px var(--body);paint-order:stroke;stroke:var(--ink);stroke-width:6px;stroke-linejoin:round}.pin path{fill:var(--accent)}.pin circle{fill:var(--ink)}.town .shadow{fill:#00000073}.ring{fill:none;stroke:var(--accent);stroke-width:2px;opacity:0}@keyframes pin-drop{0%{opacity:0;transform:translateY(-90px)}55%{opacity:1;transform:translateY(3px)}75%{transform:translateY(-7px)}to{opacity:1;transform:none}}@keyframes pin-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.6)}}.town .pin,.town .town-name{animation:.75s cubic-bezier(.3,1.2,.5,1) both pin-drop;animation-delay:var(--d)}.town .ring{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-out both pin-ring;animation-delay:calc(var(--d) + .4s)}section{padding:72px 0}section.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-size:.8rem;font-weight:700}section.alt .eyebrow,#services .eyebrow,#about .eyebrow{color:#2b7f8c}h2{max-width:22ch;margin:6px 0 14px;font-size:clamp(1.75rem,4.4vw,2.6rem);line-height:1.12}h3{margin-bottom:6px;font-size:1.12rem}.intro{max-width:60ch;color:var(--muted)}.route .intro{color:#cfd8ea}.grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:32px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 22px 54px;position:relative}.card:before{content:"";background:var(--accent2);width:18px;height:24px;clip-path:path("M9 24 C 5 18 0 13 0 8.5 A 9 9 0 1 1 18 8.5 C 18 13 13 18 9 24 Z");position:absolute;top:24px;left:20px}.card p{color:var(--muted)}.route-body{--p:1;max-width:780px;margin-top:36px;padding-left:58px;position:relative}.channel{background:repeating-linear-gradient(#5fb7c48c 0 8px,#0000 8px 16px);border-radius:2px;width:4px;position:absolute;top:14px;bottom:14px;left:18px}.channel-done{width:4px;height:calc(var(--p) * 100%);background:var(--accent);border-radius:2px;position:absolute;top:0;left:0;box-shadow:0 0 12px #ffd36b8c}.boat{left:2px;top:calc(var(--p) * 100%);width:32px;height:32px;position:absolute;transform:translate(-50%,-60%)}.boat svg path{fill:var(--text-on-dark)}.boat svg .sail{fill:var(--accent)}.route-stop{font-family:var(--display);font-size:1.2rem;font-weight:600;position:relative}.route-stop:before{content:"";background:var(--teal);border:3px solid var(--ink);border-radius:50%;width:16px;height:16px;margin-top:-8px;position:absolute;top:50%;left:-46px}.route-end a{color:var(--accent)}.route-end:before{background:var(--accent)}.markers{counter-reset:exit;gap:14px;margin:18px 0;padding:0;list-style:none;display:grid}.marker{counter-increment:exit;border-radius:var(--radius);background:#ffd36b14;border:1px solid #ffd36b59;padding:14px 18px;transition:background .4s,border-color .4s;position:relative}.marker strong{color:#fff;display:block}.marker span:last-child{color:#cfd8ea;font-size:.95rem}.buoy{background:var(--accent);width:28px;height:28px;color:var(--ink);border-radius:50%;place-items:center;font-size:.9rem;font-weight:800;transition:background .4s,color .4s,box-shadow .4s;display:grid;position:absolute;top:12px;left:-54px;box-shadow:0 0 0 4px #ffd36b2e,0 0 16px #ffd36b80}.buoy:before{content:counter(exit)}.route-live .marker:not(.lit){background:#ffffff0a;border-color:#ffffff1f}.route-live .marker:not(.lit) .buoy{background:var(--ink2);color:var(--teal);box-shadow:0 0 0 2px var(--teal)}.tip{background:var(--card);border-left:5px solid var(--accent2);border-radius:var(--radius);max-width:680px;box-shadow:0 1px 0 var(--line);margin-top:24px;padding:22px}section.alt .tip{background:var(--bg)}.tip blockquote{font-size:1.05rem;font-style:italic}.copy-btn{background:var(--ink2);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;margin-top:14px;padding:8px 16px;font-size:.9rem}.about{grid-template-columns:1fr;align-items:center;gap:32px;display:grid}@media (width>=760px){.about{grid-template-columns:220px 1fr}}.about img{border-radius:50%;width:220px}.areas{flex-wrap:wrap;gap:8px;margin-top:16px;padding:0;list-style:none;display:flex}.areas li{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.9rem}.contact{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=860px){.contact{grid-template-columns:1fr 1.3fr}}.contact-direct p{margin-top:10px}.contact-direct a{font-size:1.2rem;font-weight:700}.your-pin svg{width:220px;height:auto;margin:0 0 8px -10px}.your-pin .water{fill:none;stroke:var(--teal);stroke-width:2.5px;opacity:.6}.your-pin .pin path{fill:var(--accent2)}.your-pin .pin circle{fill:#fff}.your-pin text{font:600 20px var(--display);fill:var(--text)}.your-pin.waiting .pin,.your-pin.waiting text{opacity:0}.your-pin.dropped .pin,.your-pin.dropped text{animation:.75s cubic-bezier(.3,1.2,.5,1) both pin-drop}.your-pin.dropped .ring{stroke:var(--accent2);transform-box:fill-box;transform-origin:50%;animation:1.1s ease-out .4s both pin-ring}form{gap:14px;display:grid}label{gap:6px;font-size:.95rem;font-weight:600;display:grid}input,textarea,select{font:inherit;color:var(--text);background:#fff;border:1px solid #b9c2d3;border-radius:10px;width:100%;padding:12px 14px}textarea{resize:vertical;min-height:130px}.hp{width:1px;height:1px;position:absolute;left:-5000px;overflow:hidden}.form-note{color:var(--muted);font-size:.85rem}.form-status{font-weight:600}.form-status.ok{color:#1a7a43}.form-status.err{color:#b3261e}.prose{max-width:70ch;padding:56px 16px 72px}.prose h1{margin-bottom:8px;font-size:clamp(1.8rem,5vw,2.4rem)}.prose h2{max-width:none;margin-top:28px;font-size:1.3rem}.prose p,.prose ul{margin-top:10px}.foot{background:var(--ink);color:#c7d0e3;padding:40px 0 24px;font-size:.95rem;overflow:hidden}.foot a{color:var(--text-on-dark)}.foot-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.foot-name{color:#fff;font-weight:700}.foot-big{color:var(--text-on-dark);margin-top:36px;font-size:clamp(2.4rem,7.6vw,6.6rem);line-height:1}.fine{color:#8b96ad;margin-top:24px;font-size:.8rem}@media (prefers-reduced-motion:reduce){.town .pin,.town .town-name,.town .ring,.your-pin .pin,.your-pin text,.your-pin .ring{animation:none!important}.marker,.buoy{transition:none}}
