@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#172a3a;--paper:#f6f7f5;--blue:#3559a6;--navy:#122939;--line:#dce2e3;--muted:#5a6973;--green:#dce9e3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #cf9333;outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.12}h2{font-size:clamp(32px,3.5vw,48px);font-weight:600;letter-spacing:-1.6px}p{color:var(--muted)}.topline{padding:8px max(5%,calc((100vw - 1240px)/2));background:var(--navy);color:#e9f0f4;font-size:10px;letter-spacing:1.5px;display:flex;gap:24px;align-items:center}.topline a{margin-left:auto;letter-spacing:.3px}.topline span{color:#b5c7cf}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:32px;justify-content:space-between;padding:17px max(5%,calc((100vw - 1240px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center;font-size:15px;letter-spacing:2px;line-height:1.15;font-weight:700;white-space:nowrap}.brand svg{height:37px;width:28px}.brand small{display:block;font-size:9px;letter-spacing:4px;margin-top:6px;font-weight:500}nav{display:flex;gap:26px;font-size:12px;align-items:center}nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 21px;min-height:48px;border-radius:6px;font-size:13px;font-weight:600;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-1px)}.primary{background:var(--blue);color:#fff}.primary:hover{background:#284885}.ghost{border-color:#a6b5c2;color:inherit;background:transparent}.header-book{font-size:12px;padding:11px 17px;min-height:42px;white-space:nowrap}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.05fr 1fr;position:relative;background:var(--navy);color:white}.hero-copy{padding:62px 50px 58px max(6%,calc((100vw - 1240px)/2));position:relative;z-index:1}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;margin-bottom:17px;color:var(--blue)}.hero .eyebrow{color:#b6c8e7}.hero h1{font-size:clamp(46px,5.1vw,72px);font-weight:600;letter-spacing:-2.8px;line-height:1.03;margin-bottom:24px}.hero h1 em{font:italic 1.1em/1 'Libre Caslon Display',Georgia,serif;color:#b3c8f0}.intro{max-width:460px;font-size:14px;line-height:1.8;color:#ced9e2}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:25px}.hero .primary{background:#fff;color:var(--navy)}.hero .primary:hover{background:#dce7f7}.hero-meta{font-size:10px;color:#b8c9d3;margin-top:25px;display:flex;gap:9px;flex-wrap:wrap}.hero-art{position:relative;min-width:0}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:55% 65%;position:absolute;inset:0}.hero-art figcaption{position:absolute;bottom:0;padding:12px 18px;width:100%;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));font-size:9px;line-height:1.5}.included{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px max(5%,calc((100vw - 1240px)/2));background:#fff;border-bottom:1px solid var(--line)}.included>p{font-size:9px;letter-spacing:1.2px;font-weight:700;max-width:115px;color:var(--ink)}.included ul{display:flex;gap:29px;list-style:none;padding:0;margin:0;font-size:12px}.included li{white-space:nowrap}.included li span{color:var(--blue);font-size:18px;margin-right:7px}.included small{font-size:10px;color:var(--muted);white-space:nowrap}.section{max-width:1360px;margin:auto;padding:65px 60px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.section-head>p{max-width:355px;font-size:13px;line-height:1.7}.rates{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.rates article{padding:25px 23px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;flex-direction:column}.rate-name{text-transform:uppercase;font-size:10px;letter-spacing:1px;font-weight:700;margin-bottom:18px;color:var(--muted)}.rates h3{font-size:40px;letter-spacing:-1.5px;margin-bottom:17px;font-weight:600}.rates h3 span{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:9px;color:var(--muted)}.rates article>p:not(.rate-name){font-size:12px;margin-bottom:20px;min-height:36px}.rates a{font-size:11px;font-weight:600;color:var(--blue);padding-top:16px;margin-top:auto;border-top:1px solid var(--line)}.rates article.monthly{background:var(--navy);color:#fff;border-color:var(--navy)}.monthly .rate-name,.monthly h3 span,.rates .monthly>p:not(.rate-name){color:#c0d0db}.rates .monthly a{color:#d5e3fc;border-color:#496273}.rate-note{font-size:10px;margin-top:16px;line-height:1.6}.proration-wrap{border:1px solid var(--line);background:#edf1f2;border-radius:7px;margin-top:26px}.proration-wrap>summary{cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:600;list-style:none}.proration-wrap>summary>span{font-size:20px}.proration-wrap[open]>summary{border-bottom:1px solid var(--line)}.proration{padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:45px}.proration h3{font-size:26px;letter-spacing:-.6px;margin-bottom:13px}.proration p:not(.eyebrow){font-size:12px}.calculator{padding:20px;background:#fff;border:1px solid var(--line);border-radius:6px}.calculator label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.calculator input{width:100%;padding:10px 12px;border-radius:5px;border:1px solid #a5b5c2;min-height:45px;background:white;color:var(--ink)}#estimate{margin-top:15px}#estimate strong{display:block;font-size:26px;color:var(--blue);letter-spacing:-.5px}#estimate span{display:block;font-size:11px;margin-top:5px}.calculator small{display:block;font-size:9px;color:var(--muted);margin-top:12px}.availability{background:#e7eeea;max-width:none;padding-inline:max(5%,calc((100vw - 1240px)/2))}.availability .section-head{margin-bottom:16px}.availability .actions{margin:0 0 13px}.textlink{font-size:12px;text-decoration:underline;text-underline-offset:4px}.availability-note{font-size:10px;max-width:700px;margin-bottom:25px}.availability .rates{grid-template-columns:repeat(3,1fr);gap:14px}.availability .rates article{background:#f7faf8;border-color:#cbd8d1;padding:19px 23px}.availability .rate-name{margin-bottom:8px}.availability .rates h3{font-size:25px;letter-spacing:-.5px;margin-bottom:7px}.availability .rates article>p:not(.rate-name){margin:0;min-height:0}.how{padding-block:45px}.how h2{font-size:32px;letter-spacing:-1px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:27px}.steps article{padding-left:40px;position:relative}.steps article>span{position:absolute;left:0;top:0;display:flex;width:27px;height:27px;align-items:center;justify-content:center;border-radius:50%;background:#e1e8f5;color:var(--blue);font-size:10px;font-weight:700}.steps h3{font-size:15px;margin-bottom:9px}.steps p{font-size:12px;line-height:1.7}.location{border-top:1px solid var(--line)}.town-intro{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;margin-bottom:30px}.town-photo img{display:block;width:100%;height:255px;object-fit:cover;border-radius:7px}.town-photo figcaption{font-size:9px;color:var(--muted);margin-top:7px}.town-intro h3{font-size:29px;letter-spacing:-.8px;margin-bottom:15px}.town-intro p{font-size:13px}.route-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.route-tags span{font-size:10px;background:#e7ecef;color:#3e576c;border-radius:4px;padding:7px 10px}.local-links{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.local-links article{border:1px solid var(--line);border-radius:8px;padding:24px;background:#fff;display:flex;flex-direction:column;align-items:start}.local-links article>span{font-size:9px;letter-spacing:1.4px;font-weight:700;color:var(--blue);margin-bottom:10px}.local-links h3{font-size:22px;letter-spacing:-.6px;margin-bottom:12px}.local-links p{font-size:12px;line-height:1.7;margin-bottom:16px;max-width:510px}.local-links a{font-size:12px;font-weight:600;color:var(--blue);text-decoration:underline;text-underline-offset:4px;margin-top:auto}.local-links a.secondary-local{font-size:10px;font-weight:400;margin-top:10px;color:var(--muted)}.local-links .night-out{background:#eef0f8;border-color:#d2d9ed}.payment{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line)}.payment h2{font-size:35px;letter-spacing:-1px;margin-bottom:20px}.payment p{font-size:12px;max-width:440px}.payment .small{margin-top:12px;font-size:11px}.pay-panel{padding:27px;border:1px solid var(--line);border-radius:8px;background:#fff}.square-mark{display:none}.pay-panel h3{font-size:20px;margin-bottom:9px}.pay-panel p{margin-bottom:18px}.pay-panel .button{width:100%}.pay-panel #payment-note{font-size:10px;margin:12px 0}.pay-panel .textlink{font-size:11px}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;border-top:1px solid var(--line)}.faq-list details{padding:18px 0;border-bottom:1px solid var(--line)}.faq-list details:first-child{padding-top:0}.faq-list summary{position:relative;font-size:13px;font-weight:500;cursor:pointer;padding-right:30px;list-style:none}.faq-list summary::after{content:'+';position:absolute;right:2px;font-size:20px;color:var(--blue);top:-5px}.faq-list details[open] summary::after{content:'−'}.faq-list p{font-size:12px;line-height:1.8;margin-top:13px}.contact{background:var(--navy);color:#fff;padding:45px max(5%,calc((100vw - 1240px)/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.contact .eyebrow{color:#b8c9e6;font-size:9px}.contact h2{font-size:34px;letter-spacing:-1px}.contact p:last-child{color:#c1d0da;font-size:12px;margin-top:12px}.contact .actions{margin:0;flex-shrink:0}.contact .primary{background:#fff;color:var(--ink)}footer{padding:27px max(5%,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}footer .brand{font-size:12px;color:var(--ink)}footer .brand small{font-size:8px}footer p{font-size:10px}.photo-credits{font-size:9px;line-height:1.6;max-width:1360px;padding:0 60px 25px;margin:auto}.photo-credits a{text-decoration:underline}.mobile-bar{display:none}.skip{position:fixed;top:-80px;left:12px;background:#fff;padding:12px;z-index:100}.skip:focus{top:5px}
@media(min-width:1500px){.hero-copy{padding-left:65px}}@media(max-width:1050px){header{gap:18px}nav{gap:17px;font-size:11px}.hero-copy{padding:45px 32px}.hero h1{font-size:58px}.hero .button{font-size:11px;padding:13px 15px}.included ul{gap:15px}.included{gap:12px}.section{padding-inline:5%}.rates{gap:10px}.rates article{padding:22px 17px}.rates h3{font-size:35px}.contact{flex-direction:column;align-items:start}.photo-credits{padding-inline:5%}}
@media(max-width:760px){html{scroll-padding-top:90px}body{padding-bottom:66px}.topline{font-size:9px;padding-inline:5%;gap:10px}.topline span{display:none}header{padding:13px 5%;flex-wrap:wrap;gap:12px}.brand{font-size:13px}.brand svg{height:31px;width:24px}.brand small{font-size:8px}.header-book{margin-left:auto;font-size:11px;min-height:40px;padding:9px 13px}nav{order:3;width:100%;justify-content:space-between;border-top:1px solid #edf0f1;padding-top:11px;gap:8px;font-size:11px}.hero{grid-template-columns:1fr}.hero-copy{padding:34px 5% 30px}.hero h1{font-size:56px;letter-spacing:-2px}.hero h1 br:nth-child(2){display:none}.hero h1 em{display:block;margin-top:4px}.intro{font-size:13px;max-width:510px}.hero .actions{margin-top:22px}.hero .button{font-size:12px;min-height:47px}.hero-meta{margin-top:20px;font-size:9px;gap:7px}.hero-art{height:255px}.hero-art img{object-position:50% 70%}.hero-art figcaption{font-size:8px}.included{padding:18px 5%;flex-wrap:wrap;gap:13px}.included>p{max-width:none;width:100%;font-size:9px}.included ul{width:100%;justify-content:space-between;gap:8px;font-size:10px}.included li span{margin-right:3px;font-size:15px}.included small{font-size:9px}.section{padding:42px 5%}.section-head{display:block;margin-bottom:22px}h2{font-size:34px;letter-spacing:-1px}.section-head>p{max-width:100%;margin-top:14px;font-size:12px}.rates{grid-template-columns:repeat(2,1fr);gap:11px}.rates article{padding:20px 16px}.rates h3{font-size:36px}.rate-name{font-size:9px;margin-bottom:16px}.rates article>p:not(.rate-name){font-size:11px;min-height:32px;margin-bottom:12px}.rates a{font-size:10px;padding-top:12px}.rates h3 span{font-size:10px}.rate-note{font-size:9px}.proration-wrap>summary{font-size:11px;padding:15px;line-height:1.6}.proration{grid-template-columns:1fr;gap:20px;padding:18px}.proration h3{font-size:24px}.proration p:not(.eyebrow){font-size:11px}.availability .rates{grid-template-columns:1fr;gap:9px}.availability .rates article{padding:15px 18px;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;align-items:center}.availability .rate-name{grid-column:1/-1;margin:0;font-size:8px}.availability .rates h3{font-size:22px;margin:0}.availability .rates article>p:not(.rate-name){font-size:10px;text-align:right;min-height:0;margin:0}.availability .actions{gap:16px}.availability .button{width:100%}.availability-note{font-size:9px}.steps{grid-template-columns:1fr;gap:24px}.how h2{font-size:29px}.steps p{font-size:12px}.town-intro{grid-template-columns:1fr;gap:23px;margin-bottom:25px}.town-photo img{height:auto;aspect-ratio:16/9;object-fit:cover}.town-intro h3{font-size:26px}.town-intro p{font-size:12px}.local-links{grid-template-columns:1fr;gap:13px}.local-links article{padding:22px}.local-links h3{font-size:22px}.payment,.faq{grid-template-columns:1fr;gap:25px}.payment h2{font-size:31px}.faq-list summary{font-size:12px}.faq-list details{padding-block:17px}.contact{padding:35px 5%;gap:22px}.contact h2{font-size:30px}.contact .actions{width:100%}.contact .button{font-size:11px;flex:1;padding:12px}.contact p:last-child{font-size:11px}footer{flex-wrap:wrap;gap:18px;padding:25px 5%}footer>span{width:100%;font-size:9px}.photo-credits{font-size:8px;padding-bottom:25px}.mobile-bar{display:grid;grid-template-columns:1fr 1.5fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;box-shadow:0 -3px 18px #142b3b1a;padding:8px 5%;padding-bottom:calc(8px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line)}.mobile-bar a{min-height:43px;font-size:12px;font-weight:600;display:flex;justify-content:center;align-items:center;border:1px solid var(--line);border-radius:5px}.mobile-bar a.primary{border-color:var(--blue)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.topline{flex-wrap:wrap;font-size:11px;letter-spacing:.3px;gap:8px 24px}.topline .park-address{margin-left:0}.topline .top-directions{margin-left:auto;text-decoration:underline;text-underline-offset:3px}.topline .top-phone{margin-left:0;white-space:nowrap}.topline a:hover{text-decoration:underline}.contact .actions{flex-wrap:wrap;flex-shrink:1}.contact>div:first-child{min-width:260px}@media(max-width:760px){.topline{font-size:10px;gap:5px 18px;padding-block:9px}.topline .park-address{width:100%;font-size:11px}.topline .top-directions{margin-left:0}.topline .top-phone{margin-left:auto}.contact .actions{max-width:100%}.contact .button{flex:1 1 140px}}
