/* Page-scoped treatment of the selected Winter Navy concept. */
.page-winter {
  --winter-navy: #172f3e;
  --winter-ink: #142c3b;
  --winter-muted: #456073;
  --winter-blue: #dfedf2;
  --winter-red: #db1241;
  background: #fff;
  color: var(--winter-ink);
  overflow-x: clip;
}
.page-winter .site-header.site-header--stacked,
.page-winter .site-header.site-header--stacked::before,
.page-winter .site-header .nav-row--stacked,
.page-winter .site-header .nav-row__top { background: #fff; }
.page-winter .site-header { box-shadow: 0 1px 0 #dce3e8; }
.page-winter .site-header .nav-row--stacked::before { background: #fff; border-color: #e2e8ed; }
.page-winter .site-header .brand--stacked::before,
.page-winter .site-header .brand--stacked::after { display: none; }
.page-winter .site-header .brand--stacked img { opacity: 1; visibility: visible; clip-path: none; -webkit-mask: none; mask: none; object-fit: contain; }
.page-winter .site-header .header-survey-cta { box-shadow: none; }
.page-winter .site-header .menu-toggle { background: #fff; border-color: #b7c5ce; color: var(--winter-ink); box-shadow: none; }
.page-winter #main { background: #fff; }
.winter-page { font-family: var(--font-body); }
.winter-page *, .winter-dialog * { box-sizing: border-box; }
.winter-page h1, .winter-page h2, .winter-page h3,
.winter-dialog h2 {
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .005em;
  margin: 0;
  color: inherit;
}
.winter-page p { margin: 0; }
.winter-page figure { margin: 0; }
.winter-page a { color: inherit; }
.winter-page button, .winter-page input, .winter-dialog input,
.winter-dialog select, .winter-dialog textarea, .winter-dialog button { font: inherit; }
.winter-hero { display: grid; grid-template-columns: 1fr 1fr; background: var(--winter-navy); color: #fff; }
.winter-hero__copy { min-width: 0; padding: 6.5vw 5.7vw 5.5vw 6.25vw; }
.winter-hero__eyebrow { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 2.8vw; }
.winter-hero__eyebrow span { color: #c4d9e5; font-size: clamp(12px, 1.35vw, 21px); font-weight: 500; letter-spacing: .2em; }
.winter-hero__eyebrow img { width: clamp(30px, 4.2vw, 62px); height: auto; filter: invert(86%) sepia(12%) saturate(415%) hue-rotate(162deg) brightness(95%); }
.winter-hero h1 { font-size: clamp(72px, 8.5vw, 136px); line-height: 1.035; }
.winter-hero h1 span { display: block; white-space: nowrap; }
.winter-hero__intro { max-width: 100%; margin-top: 3.2vw !important; color: #c7dbe6; font-size: clamp(20px, 2.14vw, 34px); line-height: 1.4; letter-spacing: -.018em; }
.winter-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 2.7vw; margin-top: 3vw; }
.winter-button { display: inline-flex; justify-content: center; align-items: center; min-height: 64px; padding: 20px 28px; border: 1px solid var(--winter-red); border-radius: 3px; background: var(--winter-red); color: #fff !important; font-size: clamp(15px, 1.44vw, 23px); font-weight: 600; line-height: 1.25; text-decoration: none; cursor: pointer; transition: background-color .16s ease; }
.winter-button:hover { background: #ba1037; border-color: #ba1037; }
.winter-quiet-link { font-size: clamp(15px, 1.45vw, 23px); line-height: 1.6; text-decoration: none; border-bottom: 1px solid currentColor; }
.winter-hero__photo { position: relative; min-width: 0; overflow: hidden; }
.winter-hero__photo > img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%; }
.winter-hero__photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 18px 24px; background: rgb(20 44 59 / 77%); color: #fff; font-size: clamp(13px, 1.25vw, 19px); }
.winter-priorities { padding: 4.5vw 7.2vw 4.8vw; }
.winter-priorities h2 { font-size: clamp(35px, 5.12vw, 82px); line-height: 1.1; }
.winter-priorities__intro { margin-top: 1.2vw !important; font-size: clamp(18px, 2.04vw, 32px); line-height: 1.45; color: var(--winter-muted); letter-spacing: -.022em; }
.winter-priorities__grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 3.6vw; }
.winter-priority { display: flex; flex-direction: column; align-items: flex-start; padding: 0 3.2vw; border-left: 1px solid #c5d1db; }
.winter-priority:first-child { border: 0; padding-left: 0; }
.winter-priority:last-child { padding-right: 0; }
.winter-priority h3 { font-size: clamp(20px, 2.15vw, 34px); letter-spacing: .005em; line-height: 1.3; }
.winter-priority p { max-width: 23ch; margin-top: .8vw; font-size: clamp(17px, 1.83vw, 29px); letter-spacing: -.025em; line-height: 1.4; color: var(--winter-muted); }
.winter-priority__link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; margin-top: 8px; margin-left: -8px; }
.winter-arrow { width: 32px; height: 32px; filter: invert(18%) sepia(92%) saturate(3789%) hue-rotate(332deg) brightness(87%) contrast(101%); }
.winter-checklist { display: grid; grid-template-columns: 1.26fr 1fr; gap: 5.1vw; align-items: center; padding: 3.7vw 6.1vw 3.2vw; background: var(--winter-blue); }
.winter-checklist__photo { width: 100%; height: auto; aspect-ratio: 1.22; object-fit: cover; object-position: center 44%; }
.winter-checklist h2 { font-size: clamp(36px, 5.25vw, 84px); line-height: 1.03; }
.winter-checklist__items { display: grid; gap: 1.4vw; margin: 2.5vw 0 2.7vw; padding: 0; list-style: none; }
.winter-checklist label { display: flex; align-items: center; gap: 1.5vw; min-height: 44px; font-size: clamp(17px, 1.77vw, 28px); line-height: 1.4; color: var(--winter-muted); cursor: pointer; }
.winter-checklist input { flex: 0 0 auto; width: 26px; height: 26px; margin: 0; accent-color: var(--winter-navy); cursor: pointer; }
.winter-text-action { display: inline-flex; align-items: center; gap: 1.8vw; max-width: 100%; border-bottom: 1px solid var(--winter-ink); padding-bottom: 7px; font-size: clamp(17px, 1.8vw, 28px); line-height: 1.4; text-decoration: none; letter-spacing: -.025em; }
.winter-next { display: grid; grid-template-columns: 56% 44%; min-height: 470px; color: #fff; background: var(--winter-navy); }
.winter-next__copy { position: relative; z-index: 1; padding: 5vw 6.5vw; }
.winter-next h2 { font-size: clamp(32px, 3.8vw, 61px); line-height: 1.15; letter-spacing: .005em; }
.winter-next p { max-width: 40ch; margin: 1.8vw 0 2.7vw; font-size: clamp(18px, 1.85vw, 30px); line-height: 1.45; color: #c7dbe6; letter-spacing: -.02em; }
.winter-next__photo { position: relative; min-width: 0; overflow: hidden; }
.winter-next__photo img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; }
.winter-page :focus-visible, .winter-dialog :focus-visible { outline: 3px solid #2b83ab; outline-offset: 5px; }
.winter-page .winter-button:focus-visible { outline-color: #b7deef; }
.winter-dialog { width: min(640px, calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: clamp(24px, 4vw, 48px); border: 0; border-radius: 8px; background: #fff; color: var(--winter-ink); font-family: var(--font-body); overflow-y: auto; }
.winter-dialog::backdrop { background: rgb(12 27 38 / 70%); }
.winter-dialog h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.1; padding-right: 26px; }
.winter-dialog__intro { color: var(--winter-muted); font-size: 16px; line-height: 1.5; margin: 14px 0 24px; }
.winter-dialog__close { position: absolute; top: 14px; right: 14px; min-width: 44px; min-height: 44px; border: 0; background: transparent; color: var(--winter-ink); font-size: 14px; text-decoration: underline; cursor: pointer; }
.winter-dialog form { display: grid; gap: 16px; }
.winter-dialog label { display: grid; gap: 7px; font-size: 14px; font-weight: 500; }
.winter-dialog input, .winter-dialog select, .winter-dialog textarea { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid #adbfcc; border-radius: 3px; background: #fff; color: var(--winter-ink); font-size: 16px; line-height: 1.4; }
.winter-dialog textarea { min-height: 105px; resize: vertical; }
.winter-dialog__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.winter-dialog .winter-button { min-height: 52px; font-size: 16px; }
.winter-dialog__note, .winter-dialog [data-form-status] { font-size: 14px; line-height: 1.5; margin: 0; }
.winter-dialog .form-status:empty { display: none; }
.winter-dialog .form-status.is-success { color: #155b3a; }
.winter-dialog .form-status.is-error { color: #a61132; }
.winter-dialog__preview { color: #456073; font-size: 14px; margin: 0 0 20px; line-height: 1.5; }
.page-winter.winter-enquiry-open { overflow: hidden; }
@media (min-width: 1600px) {
  .winter-hero__copy { padding: 100px; }
  .winter-hero__eyebrow { margin-bottom: 45px; }
  .winter-hero__intro { margin-top: 52px !important; }
  .winter-hero__actions { margin-top: 48px; gap: 40px; }
  .winter-priorities { padding: 72px max(7.2vw, calc((100vw - 1400px) / 2)); }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .winter-hero__copy { padding-right: 4vw; }
  .winter-hero h1 { font-size: 8.15vw; }
  .winter-button { min-height: 50px; padding: 16px 22px; }
  .winter-hero__actions { gap: 20px; }
  .winter-next { min-height: 360px; }
}
@media (max-width: 960px) {
  .page-winter .site-header .nav-links { background: #fff; color: var(--winter-ink); }
  .page-winter .site-header .nav-link,
  .page-winter .site-header .nav-item > .nav-link,
  .page-winter .site-header .dropdown a,
  .page-winter .site-header .dropdown-link,
  .page-winter .site-header .dropdown-col__title { color: var(--winter-ink); background: #fff; border-color: #d7e0e7; box-shadow: none; }
  .page-winter .site-header .nav-link[href="/contact-us/"] { background: var(--winter-red); color: #fff; }
  .page-winter .site-header .nav-links--stacked > .nav-item.is-open > .nav-link,
  .page-winter .site-header .nav-links--stacked > .nav-item > .nav-link:hover,
  .page-winter .site-header .nav-links--stacked > .nav-item > .nav-link:focus-visible { color: var(--winter-ink); background: #edf4f7; }
  .page-winter .site-header .nav-links::before { background: #fff; }
  .page-winter .site-header .nav-menu-close { color: var(--winter-ink); }
  .page-winter .site-header .mobile-menu-head__wordmark,
  .page-winter .site-header .mobile-menu-head__close { color: var(--winter-ink); }
  .page-winter .site-header .mobile-menu-head__close { border-color: #b7c5ce; background: #f2f6f8; }
}
@media (max-width: 760px) {
  .winter-hero { grid-template-columns: 1fr; }
  .winter-hero__copy { padding: 38px 24px 36px; }
  .winter-hero__eyebrow { margin-bottom: 28px; }
  .winter-hero__eyebrow span { font-size: 11px; letter-spacing: .18em; }
  .winter-hero__eyebrow img { width: 32px; }
  .winter-hero h1 { font-size: clamp(57px, 12.5vw, 92px); line-height: 1.02; }
  .winter-hero__intro { max-width: 28ch; margin-top: 25px !important; font-size: 20px; line-height: 1.4; }
  .winter-hero__actions { gap: 22px; margin-top: 28px; }
  .winter-button { min-height: 50px; padding: 16px 19px; font-size: 15px; }
  .winter-quiet-link { font-size: 15px; }
  .winter-hero__photo { height: min(110vw, 550px); }
  .winter-hero__photo > img { object-position: center 31%; }
  .winter-hero__photo figcaption { padding: 13px 24px; font-size: 12px; }
  .winter-priorities { padding: 40px 24px; }
  .winter-priorities h2 { font-size: clamp(34px, 8.4vw, 48px); line-height: 1.1; }
  .winter-priorities__intro { margin-top: 16px !important; font-size: 18px; }
  .winter-priorities__grid { grid-template-columns: 1fr; margin-top: 26px; }
  .winter-priority, .winter-priority:first-child, .winter-priority:last-child { padding: 22px 0 16px; border: 0; border-top: 1px solid #c5d1db; }
  .winter-priority h3 { font-size: 23px; }
  .winter-priority p { max-width: 32ch; margin-top: 8px; font-size: 18px; }
  .winter-priority__link { margin-top: 2px; }
  .winter-checklist { grid-template-columns: 1fr; padding: 30px 24px 38px; gap: 32px; }
  .winter-checklist__photo { aspect-ratio: 1.18; }
  .winter-checklist h2 { font-size: clamp(36px, 10vw, 54px); max-width: 12ch; }
  .winter-checklist__items { margin: 24px 0; gap: 10px; }
  .winter-checklist label { gap: 15px; font-size: 16px; }
  .winter-checklist input { width: 23px; height: 23px; }
  .winter-text-action { font-size: 17px; gap: 20px; }
  .winter-next { grid-template-columns: 1fr; min-height: 0; }
  .winter-next__copy { padding: 38px 24px; }
  .winter-next h2 { font-size: 32px; }
  .winter-next p { margin: 18px 0 24px; font-size: 18px; }
  .winter-next__photo { height: 340px; }
  .winter-next__photo img { object-position: center 64%; }
  .winter-dialog__row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .winter-page *, .winter-dialog * { scroll-behavior: auto; transition: none; } }

/* Decorative, compositor-animated snow. It never receives pointer or focus events. */
.page-winter .winter-snow { position: fixed; inset: 0; z-index: 400; overflow: hidden; pointer-events: none; contain: strict; }
.page-winter .winter-snow__particle { position: absolute; top: -28px; left: var(--snow-x); width: var(--snow-size); height: var(--snow-size); max-width: none; opacity: var(--snow-opacity); filter: drop-shadow(0 0 1px rgb(20 44 59 / 38%)); animation: winter-snow-fall var(--snow-duration) var(--snow-delay) linear infinite; }
.page-winter .winter-snow__particle--flake { filter: invert(1) drop-shadow(0 0 1px rgb(20 44 59 / 28%)); }
.page-winter .winter-snow[data-suspended="true"] .winter-snow__particle { animation-play-state: paused; }
.page-winter.nav-open .winter-snow,
.page-winter.winter-enquiry-open .winter-snow { opacity: .2; }
@keyframes winter-snow-fall {
  0% { transform: translate3d(0, -32px, 0) rotate(0deg); }
  50% { transform: translate3d(var(--snow-middle), 52vh, 0) rotate(calc(var(--snow-turn) / 2)); }
  100% { transform: translate3d(var(--snow-drift), calc(100vh + 64px), 0) rotate(var(--snow-turn)); }
}
@media (prefers-reduced-motion: reduce) {
  .page-winter .winter-snow { display: none; }
  .page-winter .winter-snow__particle { animation: none; }
}
@media print { .page-winter .winter-snow { display: none; } }
