/* Memories field guide: navy, lake blue, orange, and room to choose. */
[hidden] { display: none !important; }
body { overflow-wrap: break-word; }
address { font-style: normal; line-height: 1.6; }
:focus-visible { outline: 3px solid #00789e; outline-offset: 4px; }
button { cursor: pointer; }
.site-header { background: #071722; }
.site-header .primary-nav { gap: 1rem; }
.site-header .brand { width: 175px; }
.primary-nav a, .primary-nav button { min-height: 44px; display: inline-flex; align-items: center; }
.primary-nav > a.nav-phone { font-size: .875rem; }
.site-footer { padding-bottom: 3rem; }
.site-footer address { font-size: .9375rem; color: #d8e8ee; }
.site-footer .footer-brand p { font-size: .9375rem; }
.site-footer a { min-height: 32px; }
.page-hero h1 { font-size: clamp(2.3rem, 4.6vw, 4.25rem); line-height: 1.08; }
.page-hero { padding-bottom: 3.5rem; }
.section.page-content { padding-top: 3.5rem; }
.section.related-section, .section.page-faq { padding-block: 4rem; }
.page-hero__media img { height: 100%; object-fit: cover; }
.page-jump-links { display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; padding:1rem 0 2.5rem; }
.page-jump-links a { font-weight:750; text-decoration:underline; text-underline-offset:.2em; min-height:44px; display:flex; align-items:center; }
.content-block h2 { font-size:clamp(1.65rem,3vw,2.4rem); line-height:1.16; }
.booking-options { margin-top:0; }
.booking-options h2 { font-size:clamp(2rem,4vw,3.2rem); }
.booking-option .button { white-space:normal; text-align:center; }
.article-arrival { padding:1rem 1.25rem; background:#e7f4fa; border-left:4px solid #006c90; margin:1.5rem 0 2rem; }
.article-arrival a { text-decoration:underline; }
.article-booking { padding:2rem; background:#071722; color:#fff; border-radius:18px; margin:2rem 0; }
.article-booking h2 { font-size:2rem; }
.article-booking p { color:#c8dce5; }
.home-masthead { padding:8.75rem 0 0; color:#fff; background:#071722; }
.home-masthead__grid { display:grid; grid-template-columns:1.05fr 1fr; gap:3rem; align-items:center; }
.home-masthead h1 { font-size:clamp(2.8rem,5.8vw,5.25rem); line-height:1.02; margin-bottom:1.5rem; }
.home-masthead h1 span { color:#ff8e38; }
.home-lede { max-width:37rem; color:#d4e1e8; font-size:1.15rem; line-height:1.65; }
.home-trust { margin:1.6rem 0 2rem; font-size:.9375rem; color:#fff; font-weight:750; }
.home-trust span { color:#b3cbd8; font-size:.875rem; font-weight:450; }
.home-masthead__photo { margin:0; position:relative; overflow:hidden; border-radius:22px 22px 70px 22px; background:#14344a; }
.home-masthead__photo img { width:100%; height:420px; object-fit:cover; }
.home-masthead__photo figcaption { padding:1.1rem 1.4rem 1.3rem; background:#10334a; display:grid; gap:.2rem; }
.home-masthead__photo figcaption span { color:#a9c8d9; font-size:.875rem; }
.home-masthead__photo figcaption a { font-weight:800; }
.home-quicklinks { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #315061; margin-top:2.5rem; }
.home-quicklinks a { padding:1.3rem .8rem; text-align:center; font-size:.9375rem; font-weight:750; border-right:1px solid #315061; }
.home-quicklinks a:last-child { border:0; }
.home-quicklinks a:hover { background:#163b52; color:#fff; }
.home-chooser { padding-block:4.5rem; }
.finder-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:1.75rem; }
.finder-heading h2 { font-size:clamp(2rem,4vw,3.4rem); line-height:1.1; margin:0; }
.finder-heading > p { max-width:24rem; margin:0; }
.finder-filters { display:flex; flex-wrap:wrap; gap:.55rem; }
.finder-filters button { background:#fff; color:#071722; border:1px solid #a9b7bf; border-radius:999px; padding:.65rem 1.1rem; min-height:44px; font-weight:750; }
.finder-filters button[aria-pressed="true"] { color:#fff; background:#071722; border-color:#071722; }
.finder-count { font-size:.9375rem; margin:.8rem 0 1.4rem; }
.finder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.finder-card { background:#fff; border:1px solid #d5dde0; border-radius:18px; overflow:hidden; display:flex; flex-direction:column; }
.finder-card > a { display:block; }
.finder-card img { width:100%; height:200px; object-fit:cover; }
.finder-card__body { padding:1.4rem; flex:1; display:flex; flex-direction:column; }
.finder-tag { font-size:.875rem; color:#006079; font-weight:800; margin-bottom:.6rem; }
.finder-card h3 { font-size:1.55rem; line-height:1.16; letter-spacing:-.03em; }
.finder-card p { line-height:1.6; }
.finder-card__actions { margin-top:auto; display:grid; gap:.8rem; }
.finder-card__actions .button { text-align:center; white-space:normal; min-height:48px; padding:.75rem 1rem; font-size:.9375rem; }
.finder-card__actions .text-link { font-size:.9375rem; }
.finder-card .finder-note { font-size:.875rem; margin:1rem 0 0; color:#53656e; }
.finder-card__word { display:flex; flex-direction:column; justify-content:center; height:200px; padding:1.2rem 1.5rem; background:#08799a; color:#fff; font-weight:950; font-size:3.4rem; line-height:.96; letter-spacing:-.04em; }
.finder-footer { margin:1.2rem 0 0; font-size:.9375rem; }
.finder-footer a { color:#004f6c; text-decoration:underline; font-weight:750; }
.activity-finder { margin-bottom:3rem; scroll-margin-top:100px; }
.activity-finder--home { margin-bottom:0; }
.home-planning { background:#e6f1f6; padding:4.5rem 0; }
.trip-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.trip-grid > a { display:block; padding:2rem; background:#fff; border-top:4px solid #08799a; }
.trip-grid span { font-size:.875rem; color:#006079; font-weight:800; }
.trip-grid h3 { font-size:1.8rem; margin:1rem 0; line-height:1.1; }
.trip-grid strong { font-size:.9375rem; }
.trip-grid a:hover h3, .journal-grid a:hover { text-decoration:underline; text-underline-offset:.2em; }
.home-season { padding:4.5rem 0; background:#fff; }
.home-season__grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.home-season article { display:grid; grid-template-columns:1fr; background:#f0f5f6; border-radius:18px; overflow:hidden; }
.home-season article img { width:100%; height:255px; object-fit:cover; }
.home-season article > div { padding:2rem; }
.home-season h2 { font-size:2.4rem; line-height:1.1; }
.home-arrival { background:#0d2b3e; color:#fff; padding:4.5rem 0; }
.home-arrival__grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.home-arrival h2 { font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.1; }
.home-arrival p { color:#c5d9e3; }
.home-arrival address { color:#fff; margin-bottom:1rem; }
.home-arrival .button { margin-top:.5rem; }
.arrival-steps { padding:2rem; border:1px solid #47616f; border-radius:18px; }
.arrival-steps h3 { font-size:1.7rem; line-height:1.15; }
.arrival-steps ol { padding-left:1.25rem; }
.arrival-steps li { padding-left:.5rem; margin-bottom:1rem; }
.arrival-steps a { font-weight:800; text-decoration:underline; text-underline-offset:.25em; }
.home-journal { padding:4.5rem 0; }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.journal-grid article { padding:1.5rem; background:#fff; border:1px solid #d5dde0; border-radius:16px; }
.journal-grid h3 { font-size:1.45rem; line-height:1.25; }
.weekend-link { margin-top:1.5rem; border-top:1px solid #cad6dc; padding:1.5rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.weekend-link a { text-decoration:underline; }
.home-faq { padding:4.5rem 0; background:#fff; }
.home-faq h2 { font-size:clamp(2.1rem,4vw,3.5rem); }
.home-faq a { text-decoration:underline; }
.home-final { padding:4.5rem 0; background:#071722; color:#fff; }
.home-final h2 { font-size:clamp(2.3rem,5vw,4rem); }
.related-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
.js .reveal { opacity:1; transform:none; }
@media (max-width: 1190px) and (min-width:1041px) { .site-header .primary-nav { gap:.7rem; font-size:.875rem; } .site-header .brand { width:145px; } .site-header .nav-shell { gap:1rem; } .primary-nav .nav-phone { display:none; } }
@media (max-width:1040px) { .primary-nav a { display:flex; } .home-masthead { padding-top:7rem; } .home-masthead__grid { gap:2rem; } .home-masthead__photo img { height:380px; } .home-arrival__grid { gap:2rem; } }
@media (max-width:800px) { .home-masthead__grid, .home-arrival__grid { grid-template-columns:1fr; } .home-masthead h1 { font-size:clamp(2.8rem,8.5vw,4.5rem); } .home-masthead__photo img { height:300px; } .home-masthead__photo { border-radius:18px; } .home-quicklinks { grid-template-columns:1fr 1fr; } .home-quicklinks a { border-bottom:1px solid #315061; } .home-quicklinks a:nth-child(2) { border-right:0; } .finder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .finder-heading { display:block; } .finder-heading > p, .finder-heading > a { margin-top:1rem; display:block; } .trip-grid,.journal-grid { grid-template-columns:1fr; } .home-season__grid { gap:1rem; } .home-season h2 { font-size:2rem; } .home-season article > div { padding:1.4rem; } }
@media (max-width:540px) { .finder-grid, .home-season__grid { grid-template-columns:1fr; } .home-masthead__photo img { height:230px; } .home-quicklinks a { padding:1rem .5rem; font-size:.875rem; } .home-chooser,.home-planning,.home-season,.home-arrival,.home-journal,.home-faq,.home-final { padding-block:3rem; } .finder-card img,.finder-card__word { height:210px; } .home-season article img { height:220px; } .home-arrival__grid { gap:1.5rem; } .arrival-steps { padding:1.3rem; } .home-masthead .hero-actions { display:grid; } .home-masthead .hero-actions a { text-align:center; } .site-footer { padding-bottom:6rem; } .finder-heading h2 { font-size:2rem; } .page-hero h1 { font-size:2.25rem; } .page-jump-links { gap:.3rem 1rem; } .blog-heading h1 { font-size:2.2rem; line-height:1.1; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
@media (max-width:600px) { .page-hero .season-shortcuts { flex-wrap:nowrap; overflow-x:auto; white-space:nowrap; gap:1.1rem; padding-bottom:.5rem; margin-bottom:1.3rem; } .page-hero .season-shortcuts a { flex:0 0 auto; } .page-hero { padding-top:110px; } }

@media (max-width:1040px) { .primary-nav { visibility:hidden; } .primary-nav.is-open { visibility:visible; } }
@media (max-width:1040px) { .primary-nav { visibility:hidden; } .primary-nav.is-open { visibility:visible; } }
/* Supplied partner marks retain their original colors, proportions and clearspace. */
.partner-strip { background: #fff; color: #071722; border-bottom: 1px solid #e3e8ea; }
.partner-strip__inner { display: grid; grid-template-columns: minmax(180px, .65fr) 1.6fr; gap: 2rem; align-items: center; padding-block: 2rem; }
.partner-strip__intro .kicker { margin: 0 0 .5rem; }
.partner-strip__intro h2 { font-size: clamp(1.6rem, 2.3vw, 2rem); line-height: 1.15; margin: 0; }
.partner-strip__logos { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.partner-mark { display: flex; flex-direction: column; align-items: center; gap: .5rem; color: #344b57; text-decoration: none; text-align: center; font-size: .875rem; line-height: 1.5; border-radius: .5rem; }
.partner-mark:hover { color: #075793; text-decoration: underline; text-underline-offset: 4px; }
.partner-mark__image { display: flex; align-items: center; justify-content: center; width: 100%; height: 180px; }
.partner-mark img { display: block; object-fit: contain; max-width: 100%; height: auto; }
.partner-mark .partner-mark__polaris { width: 240px; }
.partner-mark .partner-mark__resort { width: 125px; }
@media (max-width: 700px) {
  .partner-strip__inner { grid-template-columns: 1fr; gap: .75rem; padding-block: 1.5rem; }
  .partner-strip__intro { text-align: center; }
  .partner-strip__logos { gap: 1rem; }
  .partner-mark__image { height: 150px; }
  .partner-mark .partner-mark__resort { width: 115px; }
}
@media (max-width: 360px) {
  .partner-strip__logos { grid-template-columns: 1fr; }
}
