/* ============================================================
   Livonia Banquets — Horizon editorial redesign
   Deep navy, sky, coral and warm white
============================================================ */
:root {
  --hz-navy: #17223b;
  --hz-navy-deep: #0d1426;
  --hz-blue: #6575d8;
  --hz-sky: #dce8f4;
  --hz-sky-strong: #b9d1e7;
  --hz-coral: #df6a4f;
  --hz-coral-dark: #bf4f37;
  --hz-cream: #f7f4ed;
  --hz-white: #fffefa;
  --hz-ink: #20283a;
  --hz-copy: #60697a;
  --hz-line: rgba(23,34,59,.14);
  --hz-shadow: 0 28px 70px rgba(23,34,59,.13);
}

html { scroll-padding-top: 92px; }
body.redesign-page {
  overflow-x: hidden;
  background: var(--hz-cream);
  color: var(--hz-ink);
  font-family: 'Manrope', Arial, sans-serif;
}
.redesign-page h1,
.redesign-page h2,
.redesign-page h3 { text-wrap: balance; }
.redesign-page p { text-wrap: pretty; }
.redesign-page .container { width: min(1180px, calc(100% - 48px)); max-width: none; }
.redesign-page .section { padding: clamp(90px, 10vw, 150px) 0; overflow: clip; }

/* Header */
.redesign-page #site-header.fresh-header {
  height: 82px;
  padding: 0;
  display: flex;
  align-items: center;
  background: rgba(247,244,237,.94);
  border: 0;
  border-bottom: 1px solid var(--hz-line);
  box-shadow: none;
  backdrop-filter: blur(18px);
}
.fresh-header .header-inner {
  width: 100%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}
.fresh-header .header-logo img { width: auto; height: 50px; }
.fresh-header #main-nav { justify-self: center; display: flex; align-items: center; gap: 4px; }
.fresh-header #main-nav a:not(.btn) {
  padding: 10px 13px;
  color: var(--hz-ink);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
}
.fresh-header #main-nav a:not(.btn)::after { background: var(--hz-coral); }
.fresh-header .btn-nav {
  margin-left: 9px;
  padding: 11px 18px;
  border: 1px solid var(--hz-navy);
  border-radius: 999px;
  background: var(--hz-navy);
  color: var(--hz-white) !important;
  font-size: .69rem;
}
.fresh-header .btn-nav:hover { border-color: var(--hz-coral); background: var(--hz-coral); }
.header-call { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; white-space: nowrap; }
.header-call small { color: var(--hz-copy); font-size: .62rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.header-call strong { margin-top: 5px; color: var(--hz-navy); font-size: .86rem; }

/* Shared type and buttons */
.nova-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  color: var(--hz-coral);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}
.nova-kicker span { width: 32px; height: 2px; background: currentColor; }
.nova-kicker.light { color: #f3a18f; }
.btn-coral,
.redesign-page .btn-coral {
  justify-content: center;
  border: 1px solid var(--hz-coral);
  border-radius: 999px;
  background: var(--hz-coral);
  color: var(--hz-white);
  box-shadow: 0 14px 34px rgba(223,106,79,.25);
}
.btn-coral:hover { border-color: var(--hz-coral-dark); background: var(--hz-coral-dark); transform: translateY(-3px); }
.btn-sky { border-radius: 999px; background: var(--hz-sky); color: var(--hz-navy); }
.btn-sky:hover { background: var(--hz-white); transform: translateY(-3px); }
.nova-text-link { display: inline-flex; align-items: center; gap: 12px; color: var(--hz-navy); font-weight: 800; }
.nova-text-link span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--hz-line); border-radius: 50%; transition: transform .25s, background .25s; }
.nova-text-link:hover span { transform: rotate(45deg); background: var(--hz-sky); }
.path-link { display: inline-flex; align-items: center; gap: 18px; padding-bottom: 7px; border-bottom: 1px solid currentColor; color: var(--hz-navy); font-size: .78rem; font-weight: 800; letter-spacing: .05em; }
.path-link span { transition: transform .25s; }
.path-link:hover span { transform: translateX(6px); }

/* Homepage hero */
.nova-hero {
  position: relative;
  min-height: 850px;
  padding: 180px 0 92px;
  background: linear-gradient(135deg, #f7f4ed 0%, #eef2f6 58%, #dce8f4 100%);
  isolation: isolate;
  overflow: hidden;
}
.nova-orbit { position: absolute; z-index: -1; border: 1px solid rgba(101,117,216,.2); border-radius: 50%; pointer-events: none; }
.nova-orbit-one { width: 540px; height: 540px; right: -210px; top: 55px; animation: orbitFloat 12s ease-in-out infinite; }
.nova-orbit-two { width: 190px; height: 190px; left: 42%; bottom: -70px; background: rgba(223,106,79,.08); animation: orbitFloat 9s ease-in-out infinite reverse; }
.nova-hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(560px,1.1fr); align-items: center; gap: clamp(54px, 7vw, 100px); }
.nova-copy h1 { margin: 0; max-width: 620px; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(4.2rem, 6.7vw, 7.4rem); line-height: .88; letter-spacing: -.045em; }
.nova-copy h1 em { color: var(--hz-coral); font-weight: 600; }
.nova-lead { max-width: 560px; margin: 34px 0 34px; color: var(--hz-copy); font-size: 1.08rem; line-height: 1.85; }
.nova-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; }
.nova-actions .btn-lg { padding: 16px 30px; font-size: .73rem; }
.nova-proof { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 54px; padding-top: 24px; border-top: 1px solid var(--hz-line); }
.nova-proof span { color: var(--hz-copy); font-size: .67rem; line-height: 1.45; text-transform: uppercase; letter-spacing: .08em; }
.nova-proof b { display: block; margin-bottom: 4px; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: 1.45rem; line-height: 1; letter-spacing: 0; }
.nova-media { position: relative; min-height: 580px; }
.nova-photo { position: absolute; display: grid; overflow: hidden; border-radius: 3px; background: var(--hz-white); box-shadow: var(--hz-shadow); }
.nova-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.nova-photo:hover img { transform: scale(1.035); }
.nova-photo-main { inset: 0 155px 70px 0; grid-template-rows: 1fr auto; }
.nova-photo-side { z-index: 2; right: 0; bottom: 0; width: 300px; height: 350px; grid-template-rows: 1fr auto; border: 9px solid var(--hz-cream); }
.nova-photo-meta { min-width: 0; padding: 16px 18px; display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; background: var(--hz-white); color: var(--hz-navy); }
.nova-photo-meta small { grid-column: 1/-1; color: var(--hz-coral); font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nova-photo-meta strong { min-width: 0; overflow-wrap: anywhere; font-size: .84rem; }
.nova-photo-meta i { align-self: center; color: var(--hz-copy); font-size: .65rem; font-style: normal; white-space: nowrap; }
.nova-location-note { position: absolute; z-index: 3; top: 44px; right: 0; width: 210px; padding: 22px; background: var(--hz-navy); color: white; box-shadow: 0 18px 50px rgba(13,20,38,.22); }
.nova-location-note span { display: block; margin-bottom: 10px; color: #f3a18f; font-size: .63rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.nova-location-note strong { font-family: 'Playfair Display', Georgia, serif; font-size: 1.08rem; line-height: 1.35; }

/* Scrolling benefit strip */
.signal-strip { overflow: hidden; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); background: var(--hz-navy); color: var(--hz-white); }
.signal-track { width: max-content; min-width: 100%; padding: 21px 0; display: flex; justify-content: space-around; gap: 0; animation: signalPulse 16s ease-in-out infinite; }
.signal-track span { display: flex; align-items: center; padding: 0 30px; font-size: .67rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.signal-track span::before { content: '✦'; margin-right: 30px; color: var(--hz-coral); }

/* Homepage venue paths */
.venue-path-section { background: var(--hz-cream); }
.fresh-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.55fr); column-gap: 70px; align-items: end; margin-bottom: 62px; }
.fresh-heading .nova-kicker { grid-column: 1/-1; }
.fresh-heading h2 { margin: 0; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3rem, 5vw, 5.7rem); line-height: .98; letter-spacing: -.035em; }
.fresh-heading > p:last-child { align-self: end; color: var(--hz-copy); line-height: 1.8; }
.fresh-heading.centered { display: block; max-width: 790px; margin-inline: auto; text-align: center; }
.fresh-heading.centered .nova-kicker { justify-content: center; }
.fresh-heading.centered > p:last-child { max-width: 620px; margin: 20px auto 0; }
.venue-path-grid { display: grid; gap: 52px; }
.venue-path { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 490px; background: var(--hz-white); box-shadow: 0 18px 55px rgba(23,34,59,.08); }
.venue-path:nth-child(even) { grid-template-columns: .85fr 1.15fr; }
.venue-path:nth-child(even) .venue-path-image { order: 2; }
.venue-path-image { position: relative; overflow: hidden; min-height: 450px; }
.venue-path-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.venue-path:hover .venue-path-image img { transform: scale(1.03); }
.image-index { position: absolute; left: 22px; top: 22px; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 50%; background: var(--hz-white); color: var(--hz-navy); font-weight: 800; box-shadow: 0 8px 26px rgba(23,34,59,.15); }
.venue-path-copy { padding: clamp(38px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; }
.path-type { margin-bottom: 12px; color: var(--hz-coral); font-size: .67rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.venue-path-copy h3 { margin: 0; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.2rem, 3.5vw, 4rem); line-height: 1; }
.venue-path-copy > p:not(.path-type) { margin: 24px 0; color: var(--hz-copy); line-height: 1.78; }
.path-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin-bottom: 28px; }
.path-facts span { padding-top: 14px; border-top: 1px solid var(--hz-line); color: var(--hz-copy); font-size: .69rem; }
.path-facts b { display: block; color: var(--hz-navy); font-size: 1.05rem; }

/* Homepage comparison */
.fresh-compare { background: var(--hz-blue); color: var(--hz-white); }
.fresh-compare-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(60px, 9vw, 130px); align-items: center; }
.compare-intro h2 { margin: 0; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3.4rem, 5.4vw, 6rem); line-height: .95; }
.compare-intro > p:not(.nova-kicker) { margin: 24px 0 34px; max-width: 410px; color: #e4e7ff; line-height: 1.8; }
.compare-stack { border-top: 1px solid rgba(255,255,255,.2); }
.compare-stack article { display: grid; grid-template-columns: 1.25fr repeat(3,.7fr); gap: 20px; align-items: center; padding: 30px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.compare-stack article div span { display: block; color: #ffd2c7; font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.compare-stack article div strong { display: block; margin-top: 6px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.3rem; }
.compare-stack article p { color: #ecedff; font-size: .8rem; }
.compare-shared { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding: 24px 0; color: #e5e7ff; }
.compare-shared span { color: #ffd2c7; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

/* Use tags */
.gathering-use-section { background: var(--hz-sky); }
.use-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; border: 1px solid rgba(23,34,59,.12); background: rgba(23,34,59,.12); }
.use-grid span { min-height: 118px; padding: 22px; display: grid; place-items: center; background: #edf3f8; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: 1.15rem; text-align: center; transition: background .25s, color .25s, transform .25s; }
.use-grid span:hover { z-index: 1; background: var(--hz-coral); color: white; transform: translateY(-4px); }

/* Hotel room pair */
.room-pair-section { background: var(--hz-navy-deep); color: white; }
.room-pair-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 50px; margin-bottom: 56px; }
.room-pair-heading .nova-kicker { grid-column: 1/-1; }
.room-pair-heading h2 { margin: 0; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3.3rem, 5vw, 5.8rem); line-height: .95; }
.room-pair-heading > p:last-child { max-width: 520px; color: #bac2d7; line-height: 1.8; }
.room-pair-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.room-pair-grid figure { margin: 0; overflow: hidden; background: #202d4b; }
.room-pair-grid img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .7s ease; }
.room-pair-grid figure:hover img { transform: scale(1.025); }
.room-pair-grid figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 20px 22px; }
.room-pair-grid figcaption span { color: #f3a18f; font-size: .67rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.room-pair-grid figcaption strong { color: #d5dcee; font-size: .74rem; }

/* Contact */
.fresh-contact { background: var(--hz-navy); color: white; }
.fresh-contact-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(56px, 8vw, 110px); align-items: start; }
.fresh-contact-copy { position: sticky; top: 120px; }
.fresh-contact-copy h2 { margin: 0; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3.2rem, 5.2vw, 5.7rem); line-height: .95; }
.fresh-contact-copy > p:not(.nova-kicker) { margin: 26px 0 34px; color: #bdc6da; line-height: 1.8; }
.fresh-contact-links { display: grid; gap: 12px; }
.fresh-contact-links a { padding: 16px 0; border-top: 1px solid rgba(255,255,255,.15); }
.fresh-contact-links small,
.fresh-contact-links strong { display: block; }
.fresh-contact-links small { color: #f3a18f; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fresh-contact-links strong { margin-top: 4px; color: white; font-size: .92rem; overflow-wrap: anywhere; }
.fresh-form-card { padding: clamp(28px, 5vw, 54px); background: var(--hz-cream); color: var(--hz-ink); box-shadow: 18px 18px 0 var(--hz-coral); }
.fresh-form-card form { display: grid; gap: 16px; }
.fresh-form-card .form-group { display: flex; flex-direction: column; gap: 7px; }
.fresh-form-card label { color: var(--hz-navy); font-size: .74rem; font-weight: 800; }
.fresh-form-card input,
.fresh-form-card select,
.fresh-form-card textarea { min-height: 52px; width: 100%; padding: 13px 14px; border: 1px solid rgba(23,34,59,.2); border-radius: 2px; background: var(--hz-white); color: var(--hz-ink); font: inherit; font-size: .87rem; color-scheme: light; }
.fresh-form-card textarea { min-height: 130px; resize: vertical; }
.fresh-form-card input:focus,
.fresh-form-card select:focus,
.fresh-form-card textarea:focus { border-color: var(--hz-blue); outline: 3px solid rgba(101,117,216,.13); }
.fresh-form-card .btn-submit { width: 100%; min-height: 56px; margin-top: 4px; }
.form-location-choice { padding: 16px; border-left: 4px solid var(--hz-coral); background: #edf3f8; }
.form-location-choice small { color: var(--hz-copy); font-size: .68rem; }
.fresh-form-card .form-privacy { color: var(--hz-copy); font-size: .7rem; }
.fresh-form-card .form-privacy a { color: var(--hz-coral-dark); }
.fresh-form-card #form-success { margin-bottom: 22px; padding: 18px; border: 1px solid rgba(101,117,216,.28); background: var(--hz-sky); }
.fresh-form-card #form-success strong { color: var(--hz-navy); }

/* Footer */
.fresh-footer { padding-top: 70px; background: #080e1c; color: white; }
.fresh-footer .footer-grid { padding-bottom: 54px; border-bottom: 1px solid rgba(255,255,255,.13); }
.fresh-footer .footer-brand { color: white; font-family: 'Playfair Display', Georgia, serif; }
.fresh-footer p,
.fresh-footer a { color: #aeb8ce; }
.fresh-footer a:hover { color: #f3a18f; }
.fresh-footer .footer-bottom { color: #8b96ad; }

/* Wingate: location bar and hero */
.fresh-location-bar { margin-top: 82px; padding: 13px 0; background: var(--hz-sky); color: var(--hz-navy); }
.fresh-location-bar .container { display: flex; align-items: center; gap: 24px; }
.fresh-location-bar span { color: var(--hz-coral-dark); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fresh-location-bar strong { font-size: .78rem; }
.fresh-location-bar a { margin-left: auto; color: var(--hz-navy); font-size: .7rem; font-weight: 700; }
.wingate-focus-hero { position: relative; min-height: 780px; padding: 120px 0 90px; display: flex; align-items: center; background: var(--hz-navy-deep); color: white; overflow: hidden; }
.wingate-focus-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.wingate-focus-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,20,38,.94) 0%, rgba(13,20,38,.82) 48%, rgba(13,20,38,.34) 100%); }
.wingate-focus-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 70px; align-items: center; }
.wingate-focus-copy h1 { margin: 0; max-width: 780px; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(4.3rem, 7.5vw, 7.8rem); line-height: .88; letter-spacing: -.045em; }
.wingate-focus-copy h1 em { color: #f3a18f; }
.wingate-focus-copy > p:not(.nova-kicker) { max-width: 640px; margin: 30px 0; color: #d2d9e8; font-size: 1.04rem; line-height: 1.8; }
.wingate-hero-facts { display: flex; gap: 36px; margin: 0 0 34px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.wingate-hero-facts span { color: #b9c2d5; font-size: .67rem; text-transform: uppercase; letter-spacing: .06em; }
.wingate-hero-facts b { display: block; margin-bottom: 4px; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: 1.45rem; letter-spacing: 0; text-transform: none; }
.wingate-focus-copy .btn-ghost { border-radius: 999px; }
.privacy-card { position: relative; padding: 42px 34px; overflow: hidden; background: rgba(247,244,237,.96); color: var(--hz-ink); box-shadow: 20px 20px 0 var(--hz-coral); }
.privacy-card-number { position: absolute; right: -8px; top: -40px; color: rgba(101,117,216,.1); font-family: 'Playfair Display', Georgia, serif; font-size: 11rem; line-height: 1; }
.privacy-card > p:first-of-type { position: relative; color: var(--hz-coral-dark); font-size: .66rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.privacy-card h2 { position: relative; margin: 12px 0 16px; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: 2.1rem; line-height: 1.05; }
.privacy-card > p:last-of-type { position: relative; color: var(--hz-copy); font-size: .84rem; line-height: 1.65; }
.privacy-card ul { position: relative; margin-top: 24px; display: grid; gap: 10px; }
.privacy-card li { display: flex; align-items: center; gap: 9px; color: var(--hz-navy); font-size: .76rem; font-weight: 700; }
.privacy-card li::before { content: '✓'; color: var(--hz-coral); }
.wingate-purpose-strip { padding: 22px 0; background: var(--hz-coral); color: white; }
.wingate-purpose-strip .container { display: flex; justify-content: space-between; gap: 22px; }
.wingate-purpose-strip span { font-size: .66rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; white-space: nowrap; }
.wingate-purpose-strip span + span::before { content: '•'; margin-right: 22px; opacity: .55; }

/* Wingate positioning */
.wingate-positioning { background: var(--hz-cream); }
.positioning-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 8vw, 120px); align-items: center; }
.positioning-grid .fresh-heading { display: block; margin: 0; }
.positioning-grid .fresh-heading > p:last-of-type { margin: 26px 0; }
.room-format-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.room-format-tags span { padding: 9px 13px; border: 1px solid var(--hz-line); border-radius: 999px; color: var(--hz-navy); font-size: .67rem; font-weight: 700; background: var(--hz-white); }
.positioning-photo { margin: 0; position: relative; }
.positioning-photo img { width: 100%; aspect-ratio: 4/3; object-fit: cover; box-shadow: var(--hz-shadow); }
.positioning-photo figcaption { position: absolute; right: -24px; bottom: -28px; padding: 20px 24px; background: var(--hz-navy); color: white; }
.positioning-photo figcaption span,
.positioning-photo figcaption strong { display: block; }
.positioning-photo figcaption span { color: #f3a18f; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.positioning-photo figcaption strong { margin-top: 5px; font-family: 'Playfair Display', Georgia, serif; }

/* Wingate packages */
.wingate-package-section { background: var(--hz-navy); color: white; }
.package-heading-row { display: grid; grid-template-columns: 1fr .8fr; gap: 60px; align-items: end; margin-bottom: 58px; }
.package-heading-row h2 { margin: 0; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3.3rem, 5vw, 5.7rem); line-height: .95; }
.package-heading-row > p { color: #bdc6da; line-height: 1.8; }
.package-heading-row > p strong { color: #f3a18f; }
.wingate-package-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.focus-package { position: relative; min-height: 470px; padding: 40px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.14); background: #202d4b; transition: transform .3s, border-color .3s, background .3s; }
.focus-package:hover { transform: translateY(-6px); border-color: rgba(243,161,143,.6); background: #263657; }
.focus-package.featured { background: var(--hz-blue); }
.package-number { position: absolute; right: 28px; top: 28px; color: rgba(255,255,255,.16); font-family: 'Playfair Display', Georgia, serif; font-size: 3.2rem; }
.package-use { color: #f3a18f; font-size: .63rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.focus-package h3 { margin: 10px 0 0; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: 2.25rem; }
.package-price { margin: 10px 0; color: white; font-size: 1.5rem; font-weight: 800; }
.package-ideal { min-height: 56px; color: #c6cee0; font-size: .82rem; line-height: 1.6; }
.focus-package ul { margin: 24px 0 30px; display: grid; gap: 10px; }
.focus-package li { color: #e3e7f1; font-size: .78rem; }
.focus-package li::before { content: '—'; margin-right: 10px; color: #f3a18f; }
.focus-package .path-link { margin-top: auto; align-self: flex-start; color: white; }
.wingate-package-note { max-width: 850px; margin: 34px auto 0; color: #aeb8ce; font-size: .73rem; line-height: 1.7; text-align: center; }

/* Included */
.wingate-included-section { background: var(--hz-sky); }
.wingate-included-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: rgba(23,34,59,.14); border: 1px solid rgba(23,34,59,.14); }
.wingate-included-grid article { min-height: 245px; padding: 28px; background: #edf3f8; transition: background .25s, transform .25s; }
.wingate-included-grid article:hover { z-index: 1; background: var(--hz-white); transform: translateY(-4px); }
.wingate-included-grid article span { color: var(--hz-coral); font-size: .65rem; font-weight: 800; }
.wingate-included-grid h3 { margin: 44px 0 12px; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; }
.wingate-included-grid p { color: var(--hz-copy); font-size: .78rem; line-height: 1.65; }

/* Add-ons */
.wingate-addons-section { background: var(--hz-coral); color: white; }
.addons-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: center; }
.addons-copy h2 { margin: 0; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3.2rem, 5vw, 5.5rem); line-height: .95; }
.addons-copy > p:not(.nova-kicker) { margin: 24px 0; color: #fff0ec; line-height: 1.8; }
.av-callout { padding: 20px; border: 1px solid rgba(255,255,255,.28); background: rgba(23,34,59,.13); }
.av-callout strong { font-size: .77rem; text-transform: uppercase; letter-spacing: .09em; }
.av-callout p { margin-top: 7px; color: #fff3ef; font-size: .76rem; line-height: 1.6; }
.addon-list { display: grid; grid-template-columns: 1fr 1fr; background: rgba(255,255,255,.28); gap: 1px; }
.addon-list span { min-height: 132px; padding: 26px; display: flex; flex-direction: column; justify-content: space-between; background: var(--hz-coral-dark); font-family: 'Playfair Display', Georgia, serif; font-size: 1.12rem; }
.addon-list b { color: #ffc9bd; font: 800 .64rem 'Manrope', sans-serif; }

/* Fresh Wingate gallery */
.wingate-gallery-fresh { background: var(--hz-cream); }
.fresh-gallery-grid { display: grid; grid-template-columns: 1.4fr .6fr; grid-template-rows: repeat(3,250px); gap: 12px; }
.fresh-gallery-grid figure { position: relative; margin: 0; overflow: hidden; }
.fresh-gallery-grid .gallery-primary { grid-row: 1/4; }
.fresh-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.fresh-gallery-grid figure:hover img { transform: scale(1.035); }
.fresh-gallery-grid figcaption { position: absolute; left: 14px; bottom: 14px; padding: 8px 12px; background: rgba(13,20,38,.88); color: white; font-size: .67rem; font-weight: 700; }

/* Access sequence */
.wingate-access-section { padding: 0 !important; background: var(--hz-navy-deep); color: white; }
.access-grid { width: 100% !important; max-width: none !important; display: grid; grid-template-columns: 1fr 1fr; }
.access-grid figure { margin: 0; min-height: 640px; }
.access-grid figure img { width: 100%; height: 100%; object-fit: cover; }
.access-copy { padding: clamp(60px, 8vw, 120px); display: flex; flex-direction: column; justify-content: center; }
.access-copy h2 { margin: 0; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3rem, 4.8vw, 5.2rem); line-height: .98; }
.access-copy ol { margin-top: 40px; display: grid; gap: 0; }
.access-copy li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 20px 0; border-top: 1px solid rgba(255,255,255,.15); }
.access-copy li > span { color: #f3a18f; font-size: .65rem; font-weight: 800; }
.access-copy li strong { display: block; margin-bottom: 4px; font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; }
.access-copy li p { color: #b7c0d3; font-size: .76rem; }

/* FAQ */
.wingate-faq-fresh { background: var(--hz-sky); }
.wingate-faq-fresh .faq-layout-v2 { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.wingate-faq-fresh h2 { margin: 0; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(3rem, 4.6vw, 5.2rem); }
.wingate-faq-fresh .faq-layout-v2 > div:first-child > p:last-child { margin-top: 20px; color: var(--hz-copy); }
.wingate-faq-fresh .faq-list { border-top: 1px solid var(--hz-line); }
.wingate-faq-fresh .faq-item { border-bottom: 1px solid var(--hz-line); }
.wingate-faq-fresh .faq-item summary { color: var(--hz-navy); }
.wingate-faq-fresh .faq-item p { color: var(--hz-copy); }

.selected-location-card { margin: 24px 0; padding: 20px; border-left: 4px solid var(--hz-coral); background: rgba(255,255,255,.07); }
.selected-location-card small,
.selected-location-card strong,
.selected-location-card span { display: block; }
.selected-location-card small { color: #f3a18f; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.selected-location-card strong { margin-top: 7px; color: white; font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; }
.selected-location-card span { margin-top: 5px; color: #bdc6da; font-size: .72rem; }

/* Bring the Quality page into the new color system without changing its content hierarchy */
.quality-location-page { --editorial-paper: var(--hz-cream); --editorial-paper-deep: var(--hz-sky); --editorial-white: var(--hz-white); --editorial-ink: var(--hz-navy); --editorial-green: var(--hz-navy); --editorial-green-soft: #202d4b; --editorial-bronze: var(--hz-coral); --editorial-bronze-light: #f3a18f; --editorial-copy: var(--hz-copy); --editorial-line: var(--hz-line); }
.quality-location-page #site-header { background: rgba(247,244,237,.95); }
.quality-location-page .btn-gold { background: var(--hz-coral); }
.quality-location-page .btn-gold:hover { background: var(--hz-coral-dark); }
.quality-location-page .bg-dark,
.quality-location-page #contact { background: var(--hz-navy); }
.quality-location-page .package-featured { border-color: #f3a18f; background: #29375a; }
.quality-location-page .mobile-action-bar { background: rgba(23,34,59,.97); }

/* August polish pass — stronger contrast, restrained green, and clean alignment */
:root {
  --hz-navy: #142238;
  --hz-navy-deep: #0b1626;
  --hz-blue: #24384a;
  --hz-sky: #e5ece5;
  --hz-sky-strong: #c7d7c9;
  --hz-coral: #66816d;
  --hz-coral-dark: #425f4b;
  --hz-cream: #f7f3ea;
  --hz-white: #fffdf8;
  --hz-ink: #182630;
  --hz-copy: #414d54;
  --hz-line: rgba(20,34,56,.16);
  --hz-shadow: 0 28px 70px rgba(20,34,56,.14);
}

html { scroll-padding-top: 126px; }
.top-contact-strip {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 240;
  height: 34px;
  display: flex;
  align-items: center;
  color: var(--hz-white);
  background: var(--hz-navy-deep);
  border-bottom: 1px solid rgba(255,255,255,.11);
}
.top-contact-strip .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.top-contact-strip a { color: #f6faf6; font-size: .75rem; font-weight: 800; letter-spacing: .045em; }
.top-contact-strip a:hover { color: #cfe0d2; }
.top-contact-strip span { color: #c6d0cb; font-size: .64rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.has-contact-strip #site-header { top: 34px; }
.quality-location-page .location-context-bar { top: 107px; }

.redesign-page #site-header.fresh-header { background: rgba(247,243,234,.97); }
.fresh-header .header-inner { padding-inline: 8px; }
.fresh-header .header-logo,
.quality-location-page .header-logo { width: 128px; height: 58px; overflow: hidden; display: block; flex: 0 0 auto; }
.fresh-header .header-logo img,
.quality-location-page .header-logo img { width: 128px; height: 128px; max-width: none; transform: translateY(-34px); }

.nova-kicker.light,
.nova-location-note span,
.wingate-focus-copy h1 em,
.positioning-photo figcaption span,
.package-heading-row > p strong,
.package-use,
.focus-package li::before,
.access-copy li > span,
.selected-location-card small { color: #cfe0d2; }
.btn-coral,
.redesign-page .btn-coral { box-shadow: 0 14px 34px rgba(66,95,75,.23); }
.nova-hero { background: linear-gradient(135deg, #f7f3ea 0%, #f0f1eb 58%, #e1eae2 100%); }
.nova-orbit { border-color: rgba(102,129,109,.22); }
.nova-orbit-two { background: rgba(102,129,109,.09); }
.nova-copy h1 { max-width: 650px; font-size: clamp(4rem, 6vw, 6.6rem); line-height: .9; }
.fresh-compare { background: var(--hz-blue); }
.compare-intro > p:not(.nova-kicker),
.compare-stack article p,
.compare-shared { color: #e6ece8; }
.compare-stack article div span,
.compare-shared span { color: #cfe0d2; }
.use-grid span,
.wingate-included-grid article { background: #f3f6f1; }
.room-pair-heading > p:last-child,
.fresh-contact-copy > p:not(.nova-kicker),
.package-heading-row > p,
.wingate-package-note,
.selected-location-card span { color: #d0d9d3; }
.room-pair-grid figure,
.focus-package { background: #1d3042; }
.focus-package:hover { border-color: rgba(143,171,150,.72); background: #253d50; }
.focus-package.featured { background: #2c4657; }
.package-ideal,
.focus-package li,
.access-copy li p { color: #d7e0da; }
.room-pair-grid figcaption span,
.fresh-contact-links small { color: #cfe0d2; }
.room-pair-grid figcaption strong { color: #e5ebe7; }
.fresh-form-card input:focus,
.fresh-form-card select:focus,
.fresh-form-card textarea:focus { border-color: var(--hz-coral-dark); outline-color: rgba(102,129,109,.18); }
.form-location-choice { background: #eef3ed; }
.fresh-form-card #form-success { border-color: rgba(102,129,109,.34); }
.privacy-card-number { color: rgba(102,129,109,.13); }
.wingate-purpose-strip { background: var(--hz-coral-dark); }
.wingate-addons-section { background: var(--hz-blue); }
.addons-copy > p:not(.nova-kicker),
.av-callout p { color: #f0f5f1; }
.addon-list b { color: #d7e8da; }

.fresh-location-bar { margin-top: 116px; }
.fresh-footer { padding-top: 70px; background: #07121f; }
.fresh-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.05fr 1.35fr .9fr;
  gap: clamp(38px, 7vw, 90px);
  align-items: start;
  padding-bottom: 54px;
}
.fresh-footer .footer-column { min-width: 0; display: grid; align-content: start; justify-items: start; gap: 10px; text-align: left; }
.fresh-footer .footer-brand { color: #fff; font-size: 1.55rem; }
.fresh-footer .footer-column > strong:not(.footer-brand) { margin-bottom: 4px; color: #cfe0d2; font-size: .67rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.fresh-footer p,
.fresh-footer a { color: #c6d0cb; }
.fresh-footer a { display: block; margin: 0; font-size: .82rem; line-height: 1.55; overflow-wrap: anywhere; }
.fresh-footer a:hover { color: #e3eee5; }
.fresh-footer a b,
.fresh-footer a span { display: block; }
.fresh-footer a b { color: #f4f7f4; font-size: .83rem; }
.fresh-footer a span { margin-top: 2px; color: #aebbb4; font-size: .75rem; line-height: 1.55; }
.fresh-footer .footer-locations { gap: 16px; }
.fresh-footer .footer-contact { gap: 8px; }
.fresh-footer .footer-manager { margin-top: 12px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); }
.fresh-footer .footer-manager b,
.fresh-footer .footer-manager span { display: block; }
.fresh-footer .footer-manager b { color: #f4f7f4; }
.fresh-footer .footer-manager span { margin-top: 3px; color: #aebbb4; font-size: .75rem; }
.fresh-footer .footer-bottom { margin-top: 0; color: #9ba9a2; }

.wingate-reviews-section { background: var(--hz-cream); }
.wingate-review-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.wingate-review-card { min-height: 290px; padding: 34px; display: flex; flex-direction: column; border-top: 4px solid var(--hz-coral); background: var(--hz-white); box-shadow: 0 18px 48px rgba(20,34,56,.08); }
.wingate-review-card .review-stars { color: var(--hz-coral-dark); letter-spacing: .16em; }
.wingate-review-card blockquote { margin: 28px 0; color: var(--hz-navy); font-family: 'Playfair Display', Georgia, serif; font-size: 1.1rem; line-height: 1.7; }
.wingate-review-card > p:last-child { margin-top: auto; color: var(--hz-copy); font-size: .76rem; font-weight: 700; }
.manager-card { margin: 24px 0 8px; padding: 18px; display: flex; align-items: center; gap: 14px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); }
.manager-monogram { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--hz-coral); color: #fff; font-size: .76rem; font-weight: 800; }
.manager-card small,
.manager-card strong,
.manager-card div > span { display: block; }
.manager-card small { color: #cfe0d2; font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.manager-card strong { margin-top: 4px; color: #fff; }
.manager-card div > span { margin-top: 2px; color: #d0d9d3; font-size: .76rem; }

/* Keep the original Quality photograph sharp by displaying it at, not beyond, its native size. */
.quality-location-page .hero {
  isolation: isolate;
  text-align: left;
  background:
    radial-gradient(circle at 76% 45%, rgba(102,129,109,.2), transparent 36%),
    linear-gradient(120deg, #0b1626 0%, #142a37 58%, #203b43 100%);
}
.quality-location-page .hero::before {
  content: '';
  position: absolute;
  z-index: 0;
  right: max(4vw, 36px);
  top: 50%;
  width: min(44vw, 600px);
  aspect-ratio: 3 / 2;
  transform: translateY(-44%);
  background: url('/images/quality-ballroom-hero.jpg') center / 600px 400px no-repeat;
  border: 10px solid rgba(255,253,248,.92);
  box-shadow: 0 30px 80px rgba(0,0,0,.32);
}
.quality-location-page .hero::after { z-index: 1; background: linear-gradient(90deg, rgba(11,22,38,.18), transparent 55%); }
.quality-location-page .hero-overlay { z-index: 1; background: linear-gradient(90deg, rgba(11,22,38,.34), rgba(11,22,38,.02)); }
.quality-location-page .hero-content { z-index: 2; }
.quality-location-page .hero h1,
.quality-location-page .hero-sub,
.quality-location-page .hero-address,
.quality-location-page .hero-actions { max-width: min(560px, 46vw); }
.quality-location-page .hero-sub { color: #e8eee9; }
.quality-location-page .hero-address { color: #d9e2dc; }
.quality-location-page { --editorial-bronze-light: #cfe0d2; }
.quality-location-page #site-header { background: rgba(247,243,234,.97); }
.quality-location-page .package-featured { border-color: #91a997; background: #213746; }
.quality-location-page .header-phone { display: none; }
.quality-location-page footer { background: #07121f; }
.quality-location-page .footer-brand p,
.quality-location-page .footer-links a,
.quality-location-page .footer-legal { color: #c0cbc5; }
.quality-location-page .footer-right { max-width: 460px; align-items: flex-end; }

/* Motion */
.motion-ready .reveal { opacity: 1; transform: none; }
.motion-ready .reveal.is-visible { animation: revealUp .72s cubic-bezier(.2,.65,.2,1) both; }
.motion-ready .reveal.reveal-delay.is-visible { animation-delay: .1s; }
@keyframes revealUp { from { opacity: .72; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes orbitFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-14px,18px,0); } }
@keyframes signalPulse { 0%,100% { transform: translateX(0); } 50% { transform: translateX(-18px); } }

/* Tablet */
@media (max-width: 1060px) {
  .fresh-header .header-inner { grid-template-columns: auto 1fr auto; }
  .fresh-header #main-nav { justify-self: end; }
  .header-call { display: none; }
  .nova-hero-grid { grid-template-columns: 1fr; }
  .nova-copy { max-width: 760px; }
  .nova-media { min-height: 620px; }
  .nova-photo-main { right: 220px; }
  .fresh-compare-grid,
  .positioning-grid,
  .addons-layout { grid-template-columns: 1fr; }
  .compare-intro { max-width: 720px; }
  .compare-stack article { grid-template-columns: 1.1fr repeat(3,.7fr); }
  .use-grid { grid-template-columns: repeat(2,1fr); }
  .wingate-focus-grid { grid-template-columns: 1fr; }
  .privacy-card { max-width: 600px; }
  .wingate-purpose-strip .container { overflow-x: auto; justify-content: flex-start; }
  .wingate-included-grid { grid-template-columns: repeat(2,1fr); }
  .fresh-contact-grid { grid-template-columns: 1fr; }
  .fresh-contact-copy { position: static; max-width: 680px; }
}

/* Mobile */
@media (max-width: 760px) {
  html { scroll-padding-top: 76px; }
  .redesign-page { padding-bottom: 70px; }
  .redesign-page .container { width: min(100% - 32px, 1180px); }
  .redesign-page .section { padding: 78px 0; }
  .redesign-page #site-header.fresh-header { height: 70px; }
  .fresh-header .header-inner { grid-template-columns: 1fr auto; gap: 12px; }
  .fresh-header .header-logo img { height: 43px; }
  .fresh-header .nav-toggle { display: flex; }
  .fresh-header #main-nav {
    position: fixed;
    left: 0;
    right: 0;
    top: 70px;
    z-index: 220;
    display: none;
    padding: 18px 16px 22px;
    align-items: stretch;
    background: rgba(247,244,237,.99);
    border-bottom: 1px solid var(--hz-line);
    box-shadow: 0 20px 45px rgba(23,34,59,.14);
  }
  .fresh-header #main-nav.is-open { display: flex; flex-direction: column; }
  .fresh-header #main-nav a:not(.btn) { padding: 13px 10px; }
  .fresh-header .btn-nav { margin: 8px 0 0; justify-content: center; }
  .fresh-header .nav-toggle span { background: var(--hz-navy); }

  .nova-hero { min-height: 0; padding: 128px 0 76px; }
  .nova-hero-grid { gap: 54px; }
  .nova-copy h1 { font-size: clamp(3.45rem, 17vw, 5rem); line-height: .9; overflow-wrap: normal; }
  .nova-copy h1 br { display: initial; }
  .nova-lead { font-size: .96rem; }
  .nova-actions { align-items: stretch; }
  .nova-actions .btn { width: 100%; }
  .nova-text-link { justify-content: center; }
  .nova-proof { grid-template-columns: 1fr; gap: 13px; }
  .nova-proof span { display: grid; grid-template-columns: 90px 1fr; align-items: center; }
  .nova-proof b { margin: 0; }
  .nova-media { min-height: 585px; }
  .nova-photo { position: relative; inset: auto; width: 100%; height: auto; border: 0; }
  .nova-photo img { aspect-ratio: 4/3; }
  .nova-photo-side { position: absolute; width: 72%; right: -10px; bottom: 0; }
  .nova-photo-side img { aspect-ratio: 4/3; }
  .nova-photo-main { margin-right: 38px; }
  .nova-location-note { top: 260px; right: auto; left: 0; width: 180px; }
  .nova-photo-meta { padding: 13px; }
  .nova-photo-meta i { display: none; }

  .signal-track { justify-content: flex-start; animation-duration: 12s; }
  .fresh-heading { display: block; margin-bottom: 40px; }
  .fresh-heading h2 { font-size: clamp(2.8rem, 13vw, 4.1rem); }
  .fresh-heading > p:last-child { margin-top: 22px; }
  .venue-path,
  .venue-path:nth-child(even) { grid-template-columns: 1fr; }
  .venue-path:nth-child(even) .venue-path-image { order: 0; }
  .venue-path-image { min-height: 300px; }
  .venue-path-copy { padding: 32px 24px; }
  .path-facts { grid-template-columns: 1fr 1fr; }
  .fresh-compare-grid { gap: 48px; }
  .compare-stack article { grid-template-columns: 1fr 1fr; }
  .compare-stack article div { grid-column: 1/-1; }
  .compare-stack article p { padding-top: 7px; border-top: 1px solid rgba(255,255,255,.12); }
  .compare-stack article p:last-child { grid-column: 1/-1; }
  .compare-shared { grid-template-columns: 1fr; }
  .use-grid { grid-template-columns: 1fr 1fr; }
  .use-grid span { min-height: 100px; padding: 14px; font-size: .95rem; }
  .room-pair-heading { display: block; }
  .room-pair-heading > p:last-child { margin-top: 24px; }
  .room-pair-grid { grid-template-columns: 1fr; }
  .room-pair-grid figcaption { flex-direction: column; gap: 5px; }
  .fresh-form-card { padding: 26px 18px; box-shadow: 9px 9px 0 var(--hz-coral); }
  .fresh-form-card .form-row { grid-template-columns: 1fr; }

  .fresh-location-bar { margin-top: 70px; }
  .fresh-location-bar .container { align-items: flex-start; flex-direction: column; gap: 4px; }
  .fresh-location-bar a { margin: 5px 0 0; }
  .wingate-focus-hero { min-height: 0; padding: 86px 0 80px; }
  .wingate-focus-shade { background: linear-gradient(rgba(13,20,38,.88), rgba(13,20,38,.92)); }
  .wingate-focus-copy h1 { font-size: clamp(3.5rem, 17vw, 5rem); line-height: .9; }
  .wingate-focus-copy > p:not(.nova-kicker) { font-size: .95rem; }
  .wingate-hero-facts { flex-direction: column; gap: 13px; }
  .privacy-card { padding: 34px 24px; box-shadow: 9px 9px 0 var(--hz-coral); }
  .wingate-purpose-strip .container { width: 100%; padding-inline: 16px; }
  .positioning-photo figcaption { right: 10px; bottom: -22px; }
  .package-heading-row { grid-template-columns: 1fr; gap: 22px; }
  .wingate-package-grid { grid-template-columns: 1fr; }
  .focus-package { min-height: 0; padding: 32px 24px; }
  .package-ideal { min-height: 0; }
  .wingate-included-grid { grid-template-columns: 1fr; }
  .wingate-included-grid article { min-height: 180px; }
  .wingate-included-grid h3 { margin-top: 28px; }
  .addons-layout { gap: 50px; }
  .addon-list { grid-template-columns: 1fr; }
  .addon-list span { min-height: 100px; }
  .fresh-gallery-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(4,280px); }
  .fresh-gallery-grid .gallery-primary { grid-row: auto; }
  .access-grid { grid-template-columns: 1fr; }
  .access-grid figure { min-height: 380px; }
  .access-copy { padding: 68px 24px; }
  .wingate-faq-fresh .faq-layout-v2 { grid-template-columns: 1fr; gap: 44px; }

  .redesign-page .mobile-action-bar {
    border-color: rgba(243,161,143,.4);
    background: rgba(23,34,59,.97);
  }
  .redesign-page .mobile-action-bar a:last-child { color: #f3a18f; }
}

@media (max-width: 390px) {
  .redesign-page .container { width: min(100% - 24px, 1180px); }
  .nova-copy h1,
  .wingate-focus-copy h1 { font-size: 3.35rem; }
  .nova-photo-side { width: 78%; }
  .nova-location-note { width: 160px; padding: 17px; }
  .use-grid { grid-template-columns: 1fr; }
  .path-facts { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
  .motion-ready .reveal { opacity: 1; transform: none; }
}

/* Final responsive alignment overrides */
.has-contact-strip .header-call { display: none; }
.has-contact-strip .fresh-header .header-inner { grid-template-columns: auto 1fr; }
.has-contact-strip .fresh-header #main-nav { justify-self: end; }
.quality-location-page .footer-inner { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.75fr); gap: 56px; }
.quality-location-page .footer-right { max-width: none; align-items: flex-start; text-align: left; }
.quality-location-page .footer-links { justify-content: flex-start; }

@media (max-width: 760px) {
  html { scroll-padding-top: 112px; }
  .top-contact-strip { height: 34px; }
  .top-contact-strip span { display: none; }
  .has-contact-strip #site-header { top: 34px; }
  .has-contact-strip .fresh-header .header-inner { grid-template-columns: 1fr auto; }
  .fresh-header .header-logo,
  .quality-location-page .header-logo { width: 112px; height: 50px; }
  .fresh-header .header-logo img,
  .quality-location-page .header-logo img { width: 112px; height: 112px; transform: translateY(-30px); }
  .fresh-header #main-nav { top: 104px; }
  .fresh-location-bar { margin-top: 104px; }
  .quality-location-page .location-context-bar { top: 104px; }
  .nova-hero { padding-top: 162px; }
  .nova-copy h1 { font-size: clamp(3.35rem, 16vw, 4.7rem); }
  .fresh-footer .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .fresh-footer .footer-column { width: 100%; }
  .fresh-footer .footer-locations { gap: 18px; }
  .wingate-review-grid { grid-template-columns: 1fr; }
  .wingate-review-card { min-height: 0; }
  .redesign-page .mobile-action-bar a:last-child { color: #cfe0d2; }
  .quality-location-page .hero { min-height: 820px; padding: 185px 0 350px; }
  .quality-location-page .hero::before {
    left: 0;
    right: auto;
    top: auto;
    bottom: 0;
    width: 100%;
    aspect-ratio: 3 / 2;
    transform: none;
    background-size: cover;
    border: 0;
    box-shadow: 0 -28px 70px rgba(0,0,0,.26);
  }
  .quality-location-page .hero-overlay { background: linear-gradient(#0b1626 0%, rgba(11,22,38,.98) 53%, rgba(11,22,38,.18) 78%, transparent 100%); }
  .quality-location-page .hero h1,
  .quality-location-page .hero-sub,
  .quality-location-page .hero-address,
  .quality-location-page .hero-actions { max-width: 100%; }
  .quality-location-page .footer-inner { grid-template-columns: 1fr; gap: 30px; }
}

/* ============================================================
   Evergreen hospitality direction
   High-contrast charcoal copy, warm ivory, evergreen, and brass
============================================================ */
:root {
  --hz-navy: #17332b;
  --hz-navy-deep: #0c1e19;
  --hz-blue: #27483e;
  --hz-sky: #e7ede8;
  --hz-sky-strong: #c7d8cd;
  --hz-coral: #3f6758;
  --hz-coral-dark: #294b40;
  --hz-accent: #a8743b;
  --hz-accent-light: #f1d6ac;
  --hz-cream: #e9edf2;
  --hz-white: #fffdf8;
  --hz-ink: #17231f;
  --hz-copy: #33413b;
  --hz-line: rgba(23,51,43,.18);
  --hz-shadow: 0 26px 66px rgba(12,30,25,.15);
}

body.redesign-page { background: #e9edf2; color: var(--hz-ink); }
.redesign-page #site-header.fresh-header,
.quality-location-page #site-header { background: rgba(250,247,240,.97); }
.top-contact-strip { background: #102820; }
.top-contact-strip a { color: #fff; }
.top-contact-strip span { color: #dce7e0; }
.fresh-header #main-nav a:not(.btn),
.header-call strong { color: #182720; }
.fresh-header .btn-nav { border-color: #17332b; background: #17332b; }
.fresh-header .btn-nav:hover { border-color: #294b40; background: #294b40; }

.nova-hero {
  background: linear-gradient(135deg, #eef2f5 0%, #e4eaee 62%, #dce6e2 100%);
}
.nova-hero::before {
  content: '';
  position: absolute;
  z-index: -2;
  top: 116px;
  right: 0;
  bottom: 0;
  width: 43%;
  background: #dfe8e1;
  clip-path: polygon(13% 0,100% 0,100% 100%,0 100%);
}
.nova-hero::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: -8%;
  bottom: 10%;
  width: 360px;
  height: 1px;
  background: rgba(168,116,59,.4);
  transform: rotate(-18deg);
}
.nova-orbit { display: none; }
.nova-copy h1 { color: #13271f; }
.nova-copy h1 em { color: #35604f; }
.nova-lead,
.nova-proof span,
.fresh-heading > p:last-child,
.venue-path-copy > p:not(.path-type),
.path-facts span,
.room-pair-heading > p:last-child,
.wingate-faq-fresh .faq-item p,
.wingate-faq-fresh .faq-layout-v2 > div:first-child > p:last-child { color: #33413b; }
.nova-kicker,
.path-type,
.wingate-included-grid article span { color: #7b5229; }
.nova-kicker.light,
.nova-location-note span,
.room-pair-grid figcaption span,
.fresh-contact-links small,
.positioning-photo figcaption span,
.package-use,
.package-heading-row > p strong,
.focus-package li::before,
.access-copy li > span,
.selected-location-card small,
.manager-card small { color: var(--hz-accent-light); }
.btn-coral,
.redesign-page .btn-coral { border-color: #315748; background: #315748; box-shadow: 0 14px 34px rgba(23,51,43,.22); }
.btn-coral:hover { border-color: #17332b; background: #17332b; }
.nova-text-link,
.path-link { color: #17332b; }
.nova-photo-meta small { color: #704a25; }
.nova-location-note { background: #132f27; }

.signal-strip { background: #17332b; }
.signal-track { animation: none; }
.signal-track span { color: #fff; }
.signal-track span::before { color: #d7b27b; }
.venue-path-section,
.wingate-positioning,
.wingate-gallery-fresh,
.wingate-reviews-section { background: #e9edf2; }
.venue-path,
.wingate-review-card { background: #fffdf8; }
.image-index { background: #fffdf8; color: #17332b; }
.fresh-compare { background: #23463a; }
.compare-intro > p:not(.nova-kicker),
.compare-stack article p,
.compare-shared { color: #eef4f0; }
.compare-stack article div span,
.compare-shared span { color: #f1d6ac; }
.gathering-use-section,
.wingate-included-section,
.wingate-faq-fresh { background: #e7ede8; }
.use-grid span,
.wingate-included-grid article { background: #f9fbf8; color: #17332b; }
.room-pair-section,
.fresh-contact,
.wingate-package-section,
.wingate-access-section { background: #102820; }
.room-pair-heading > p:last-child,
.fresh-contact-copy > p:not(.nova-kicker),
.package-heading-row > p,
.wingate-package-note,
.selected-location-card span,
.manager-card div > span,
.package-ideal,
.focus-package li,
.access-copy li p { color: #dbe5df; }
.room-pair-grid figure { background: #1f3c33; }
.room-pair-grid figcaption strong { color: #f2f5f3; }
.fresh-form-card { background: #f9fafb; box-shadow-color: #a8743b; }
.fresh-form-card label,
.fresh-form-card input,
.fresh-form-card select,
.fresh-form-card textarea,
.fresh-form-card .form-privacy { color: #26352f; }
.form-location-choice { background: #e5ece6; }
.fresh-location-bar { background: #e1e9e3; }
.fresh-location-bar span { color: #5e3f20; }
.wingate-focus-shade { background: linear-gradient(90deg, rgba(12,30,25,.95) 0%, rgba(12,30,25,.84) 52%, rgba(12,30,25,.38) 100%); }
.wingate-focus-copy > p:not(.nova-kicker),
.wingate-hero-facts span { color: #e5ece8; }
.privacy-card { background: rgba(250,247,240,.97); }
.privacy-card-number { color: rgba(63,103,88,.13); }
.wingate-purpose-strip { background: #9a6a35; }
.package-heading-row h2,
.focus-package h3,
.focus-package .path-link,
.addons-copy h2,
.access-copy h2,
.fresh-contact-copy h2 { color: #fff; }
.focus-package { background: #1b3b31; }
.focus-package.featured { background: #31584a; }
.focus-package:hover { background: #274d40; border-color: rgba(241,214,172,.75); }
.wingate-addons-section { background: #24483c; }
.addons-copy > p:not(.nova-kicker),
.av-callout p { color: #edf3ef; }
.addon-list span { background: #17372e; }
.addon-list b { color: #f1d6ac; }
.fresh-gallery-grid figcaption { background: rgba(12,30,25,.9); }
.wingate-review-card { border-top-color: #a8743b; }
.wingate-review-card .review-stars { color: #8a5b29; }
.wingate-review-card blockquote { color: #17231f; }
.wingate-review-card > p:last-child { color: #3a4942; }
.manager-monogram { background: #9a6a35; }
.fresh-footer,
.quality-location-page footer { background: #091a15; }
.fresh-footer p,
.fresh-footer a,
.fresh-footer a span,
.fresh-footer .footer-manager span,
.fresh-footer .footer-bottom { color: #d2ddd7; }
.fresh-footer .footer-column > strong:not(.footer-brand) { color: #f1d6ac; }
.fresh-footer a b,
.fresh-footer .footer-manager b { color: #fff; }

.quality-location-page {
  --editorial-paper: #e9edf2;
  --editorial-paper-deep: #e7ede8;
  --editorial-white: #fffdf8;
  --editorial-ink: #17231f;
  --editorial-green: #17332b;
  --editorial-green-soft: #27483e;
  --editorial-bronze: #8b5c2c;
  --editorial-bronze-light: #f1d6ac;
  --editorial-copy: #33413b;
  --editorial-line: rgba(23,51,43,.18);
}
.quality-location-page .hero {
  background:
    radial-gradient(circle at 76% 45%, rgba(168,116,59,.17), transparent 36%),
    linear-gradient(120deg, #0c1e19 0%, #17372e 58%, #2b5547 100%);
}
.quality-location-page .hero::after,
.quality-location-page .hero-overlay { background: linear-gradient(90deg, rgba(12,30,25,.42), transparent 62%); }
.quality-location-page .hero-sub,
.quality-location-page .hero-address { color: #edf3ef; }
.quality-location-page .bg-dark,
.quality-location-page #contact { background: #102820; }
.quality-location-page .bg-dark p,
.quality-location-page .bg-dark li,
.quality-location-page #contact p,
.quality-location-page #contact dd,
.quality-location-page #contact small { color: #dfe8e2; }
.quality-location-page .review-text,
.quality-location-page .section-sub,
.quality-location-page .section > .container > p { color: #33413b; }
.quality-location-page .package-featured { border-color: #b98a53; background: #24483c; }
.quality-location-page .footer-brand p,
.quality-location-page .footer-links a,
.quality-location-page .footer-legal { color: #d2ddd7; }

/* Quieter motion: a short opacity fade with no movement or blur. */
.motion-ready .reveal { opacity: 0; transform: none; filter: none; }
.motion-ready .reveal.is-visible { animation: simpleFadeIn .34s ease-out both; }
.motion-ready .reveal.reveal-delay.is-visible { animation-delay: .03s; }
@keyframes simpleFadeIn { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 760px) {
  .nova-hero::before { top: auto; left: 0; right: 0; bottom: 0; width: 100%; height: 36%; clip-path: none; background: #e0e8e1; }
  .nova-hero::after { display: none; }
  .nova-copy h1 { font-size: clamp(3.1rem, 14.8vw, 4.45rem); }
  .wingate-focus-shade { background: linear-gradient(rgba(12,30,25,.89), rgba(12,30,25,.94)); }
  .quality-location-page .hero-overlay { background: linear-gradient(#0c1e19 0%, rgba(12,30,25,.98) 53%, rgba(12,30,25,.18) 78%, transparent 100%); }
  .redesign-page .mobile-action-bar { background: rgba(12,30,25,.98); border-color: rgba(241,214,172,.35); }
  .redesign-page .mobile-action-bar a:last-child { color: #f1d6ac; }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready .reveal,
  .motion-ready .reveal.is-visible { opacity: 1; filter: none; animation: none !important; }
}

/* Explicit section backgrounds override the legacy single-location theme. */
.multi-location-home .section.venue-path-section,
.wingate-location-page .section.wingate-positioning,
.wingate-location-page .section.wingate-gallery-fresh,
.wingate-location-page .section.wingate-reviews-section { background: #e9edf2; }
.multi-location-home .section.fresh-compare { background: #23463a; }
.multi-location-home .section.fresh-compare h2,
.multi-location-home .section.fresh-compare .compare-stack article div strong { color: #fff; }
.multi-location-home .section.fresh-compare .nova-kicker,
.multi-location-home .section.fresh-compare .compare-stack article div span,
.multi-location-home .section.fresh-compare .compare-shared span { color: #f1d6ac; }
.multi-location-home .section.gathering-use-section,
.wingate-location-page .section.wingate-included-section,
.wingate-location-page .section.wingate-faq-fresh { background: #e7ede8; }
.multi-location-home .section.room-pair-section,
.multi-location-home .section.fresh-contact,
.wingate-location-page .section.wingate-package-section,
.wingate-location-page .section.wingate-access-section,
.wingate-location-page .section.fresh-contact { background: #102820; }
.wingate-location-page .section.wingate-addons-section { background: #24483c; }
.wingate-location-page .section.wingate-positioning h2,
.wingate-location-page .section.wingate-included-section h2,
.wingate-location-page .section.wingate-included-section h3,
.wingate-location-page .section.wingate-gallery-fresh h2,
.wingate-location-page .section.wingate-faq-fresh h2,
.wingate-location-page .section.wingate-reviews-section h2 { color: #17231f; }
.multi-location-home .section.room-pair-section h2,
.multi-location-home .section.fresh-contact h2,
.wingate-location-page .section.wingate-package-section h2,
.wingate-location-page .section.wingate-package-section h3,
.wingate-location-page .section.wingate-addons-section h2,
.wingate-location-page .section.wingate-access-section h2,
.wingate-location-page .section.fresh-contact h2 { color: #fff; }
.nova-lead,
.fresh-heading > p:last-child,
.venue-path-copy > p:not(.path-type),
.path-facts span,
.wingate-included-grid p,
.wingate-faq-fresh .faq-item p,
.wingate-faq-fresh .faq-layout-v2 > div:first-child > p:last-child,
.wingate-review-card > p:last-child { color: #23332c; }

/* Quality hero: full-bleed, high-resolution photography like the Wingate hero. */
.quality-location-page .hero {
  min-height: 860px;
  padding: 220px 0 140px;
  text-align: left;
  background:
    linear-gradient(90deg, rgba(8,24,19,.94) 0%, rgba(8,24,19,.81) 48%, rgba(8,24,19,.28) 78%, rgba(8,24,19,.12) 100%),
    url('/images/quality-hero-wide.jpg') center 48% / cover no-repeat;
}
.quality-location-page .hero::before { display: none; }
.quality-location-page .hero::after { z-index: 1; background: linear-gradient(transparent 62%, rgba(8,24,19,.55)); }
.quality-location-page .hero-overlay { z-index: 1; background: radial-gradient(circle at 20% 46%, rgba(168,116,59,.14), transparent 40%); }
.quality-location-page .hero h1,
.quality-location-page .hero-sub,
.quality-location-page .hero-address,
.quality-location-page .hero-actions { max-width: 620px; }
.quality-location-page .hero-sub,
.quality-location-page .hero-address { color: #f0f5f2; }

@media (max-width: 760px) {
  .quality-location-page .hero {
    min-height: 800px;
    padding: 190px 0 105px;
    background:
      linear-gradient(rgba(8,24,19,.82), rgba(8,24,19,.86)),
      url('/images/quality-hero-wide.jpg') 58% center / cover no-repeat;
  }
  .quality-location-page .hero::before { display: none; }
  .quality-location-page .hero::after { background: linear-gradient(transparent 62%, rgba(8,24,19,.5)); }
  .quality-location-page .hero-overlay { background: radial-gradient(circle at 22% 35%, rgba(168,116,59,.15), transparent 42%); }
  .quality-location-page .hero h1,
  .quality-location-page .hero-sub,
  .quality-location-page .hero-address,
  .quality-location-page .hero-actions { max-width: 100%; }
}
