@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Cormorant Garamond'; src: url('../fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'DM Sans'; src: url('../fonts/dm-sans-latin-500-normal.woff2') format('woff2'); font-weight: 500 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'WL CTA Sans'; src: url('../fonts/dm-sans-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
:root { --wl-cream: #f9f6ef; --wl-paper: #fffcf6; --wl-blue: #0b3d62; --wl-dark: #233f45; --wl-gold: #ff861f; --wl-cta-hover: #e96c09; --wl-text: #53625f; --wl-line: #dcd7cb; --wl-serif: 'Cormorant Garamond', Georgia, serif; --wl-sans: 'DM Sans', Arial, sans-serif; --wl-header: 96px; }
* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: calc(var(--wl-header) + 20px); }
body { margin: 0; background: var(--wl-cream); color: var(--wl-dark); font-family: var(--wl-sans); font-size: 15px; line-height: 1.8; -webkit-font-smoothing: antialiased; }
body.wl-scroll-locked { overflow: hidden; }
::selection { background: var(--wl-gold); color: var(--wl-dark); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; text-underline-offset: 5px; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
button, input, select, textarea { border-radius: 0; }
button { color: inherit; }
button:disabled { cursor: default; }
:focus-visible { outline: 2px solid #a77738; outline-offset: 5px; }
h1, h2, h3, h4 { margin: 0; font-family: var(--wl-serif); font-weight: 400; line-height: 1.05; letter-spacing: -.035em; }
h1 { font-size: clamp(58px, 6.7vw, 104px); }
h2 { font-size: clamp(42px, 4.15vw, 64px); }
h3 { font-size: clamp(30px, 3vw, 44px); }
em { font-weight: 400; }
p { margin: 0 0 22px; }
button .wl-icon, a .wl-icon { flex: 0 0 auto; }
.wl-icon { width: 24px; height: 24px; display: inline-block; vertical-align: middle; }
.wl-container { width: min(1200px, calc(100% - 112px)); margin-inline: auto; }
.wl-section { padding-block: 112px; }
.wl-eyebrow { display: block; font-size: 10px; font-weight: 500; letter-spacing: .2em; line-height: 1.6; text-transform: uppercase; margin-bottom: 22px; }
.wl-button { display: inline-flex; justify-content: center; align-items: center; gap: 28px; padding: 19px 26px; background: var(--wl-gold); border: 1px solid var(--wl-gold); color: var(--wl-dark); font-size: 11px; font-weight: 500; line-height: 1.5; text-transform: uppercase; letter-spacing: .1em; transition: background .25s, color .25s, border-color .25s; }
.wl-button .wl-icon { width: 20px; height: 20px; transition: transform .25s; }
.wl-button:hover { background: var(--wl-dark); color: var(--wl-paper); border-color: var(--wl-dark); }
.wl-button:hover .wl-icon, .wl-text-link:hover .wl-icon { transform: translateX(4px); }
.wl-button-light { background: var(--wl-paper); border-color: var(--wl-paper); }
.wl-button-light:hover { background: var(--wl-gold); border-color: var(--wl-gold); color: var(--wl-dark); }
.wl-text-link { display: inline-flex; align-items: center; gap: 20px; padding-block: 10px; border-bottom: 1px solid var(--wl-gold); font-size: 11px; font-weight: 500; line-height: 1.65; text-transform: uppercase; letter-spacing: .07em; }
.wl-text-link .wl-icon { width: 20px; transition: transform .25s; }
.wl-text-link:hover { color: #846032; }
.wl-skip-link { position: fixed; top: -120px; left: 16px; z-index: 999999; background: var(--wl-dark); color: white; padding: 12px 20px; }
.wl-skip-link:focus { top: 15px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
[hidden] { display: none !important; }
.wl-topbar { height: 34px; padding-inline: 40px; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--wl-blue); color: #fff; font-size: 9px; letter-spacing: .06em; }
.wl-topbar .wl-icon { width: 12px; height: 12px; margin-right: 5px; }
.wl-topbar a:hover { text-decoration: underline; }
.wl-header { position: sticky; top: 0; z-index: 100; background: var(--wl-cream); border-bottom: 1px solid transparent; transition: border-color .25s, box-shadow .25s; }
.wl-header.wl-is-scrolled { border-color: var(--wl-line); box-shadow: 0 3px 24px #233f4508; }
.admin-bar .wl-header { top: 32px; }
.wl-header-inner { display: flex; align-items: center; justify-content: space-between; min-height: var(--wl-header); gap: 28px; padding-inline: 40px; }
.wl-brand { display: inline-flex; align-items: center; gap: 13px; flex-shrink: 0; font-family: var(--wl-serif); font-size: 26px; letter-spacing: -.02em; line-height: 1.2; }
.wl-brand-mark { width: 38px; height: 47px; }
.wl-brand small { display: block; font-family: var(--wl-sans); font-size: 7px; line-height: 1.7; letter-spacing: .18em; margin-top: 7px; text-transform: uppercase; }
.custom-logo-link { display: block; flex: 0 0 auto; }
.custom-logo-link img { width: auto; max-width: 240px; max-height: 64px; object-fit: contain; }
.wl-menu { display: flex; align-items: center; gap: 27px; padding: 0; margin: 0; list-style: none; }
.wl-menu > li { position: relative; }
.wl-menu a { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .075em; padding: 10px 0; }
.wl-menu a:hover, .wl-menu .current-menu-item > a { color: #8c6835; }
.wl-menu .sub-menu { position: absolute; top: 100%; left: -20px; min-width: 230px; list-style: none; padding: 15px 20px; background: var(--wl-paper); box-shadow: 0 8px 24px #233f451a; opacity: 0; visibility: hidden; transform: translateY(5px); transition: .2s; }
.wl-menu li:hover > .sub-menu, .wl-menu li:focus-within > .sub-menu, .wl-menu li.wl-submenu-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.wl-submenu-toggle { margin-left: 5px; background: none; border: 0; padding: 8px; }
.wl-menu .menu-item-has-children > a { display: inline-block; }
.wl-header-book { padding: 15px 21px; gap: 18px; white-space: nowrap; }
.wl-menu-toggle, .wl-mobile-book { display: none; }
.wl-hero { height: min(720px, 75vw); min-height: 600px; position: relative; color: white; overflow: hidden; }
.wl-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 57%; }
.wl-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #102f3ab0 0%, #14334265 50%, #18354115 100%), linear-gradient(0deg, #102f3a50, transparent 45%); }
.wl-hero-content { position: relative; height: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-bottom: 64px; }
.wl-hero h1 { max-width: 760px; margin: 0 0 28px; line-height: .97; text-wrap: balance; }
.wl-hero .wl-eyebrow { display: flex; align-items: center; gap: 16px; letter-spacing: .25em; margin-bottom: 27px; }
.wl-hero .wl-eyebrow::before { content: ''; width: 38px; height: 1px; background: var(--wl-gold); }
.wl-hero p { max-width: 370px; font-size: 14px; line-height: 1.8; margin-bottom: 35px; }
.wl-hero-bottom { position: absolute; bottom: 63px; left: 40px; right: 40px; display: flex; justify-content: space-between; align-items: center; font-size: 9px; letter-spacing: .09em; }
.wl-hero-bottom a { display: inline-flex; gap: 20px; align-items: center; }
.wl-down-arrow { font-size: 24px; font-weight: 400; }
.wl-arrival-wrap { margin-top: -40px; position: relative; z-index: 2; }
.wl-arrival { background: var(--wl-paper); display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 123px; padding: 25px 34px; box-shadow: 0 13px 35px #283e4510; }
.wl-arrival-title { display: flex; align-items: center; gap: 22px; }
.wl-arrival-title > .wl-icon { width: 42px; height: 49px; color: #927245; }
.wl-arrival .wl-eyebrow { font-size: 8px; margin: 0 0 7px; }
.wl-arrival-title p { font-family: var(--wl-serif); font-size: 28px; line-height: 1.2; margin: 0; letter-spacing: -.025em; }
.wl-arrival-detail { display: flex; align-items: center; gap: 15px; padding-left: 30px; border-left: 1px solid var(--wl-line); font-size: 11px; line-height: 1.7; }
.wl-arrival-detail strong { font-weight: 400; color: var(--wl-text); }
.wl-arrival-detail .wl-icon { width: 28px; height: 28px; color: #94764e; }
.wl-welcome { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 115px; padding-top: 116px; padding-bottom: 130px; }
.wl-welcome-images { position: relative; padding: 0 67px 70px 0; }
.wl-welcome-main { height: 455px; overflow: hidden; }
.wl-welcome-main img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
.wl-welcome-detail { position: absolute; right: 0; bottom: 16px; box-sizing: border-box; width: 53%; height: auto; aspect-ratio: 3 / 2; border: 8px solid var(--wl-cream); }
.wl-welcome-detail img { height: 100%; width: 100%; object-fit: cover; }
.wl-stamp { position: absolute; right: 0; top: 32px; width: 116px; height: 116px; border: 1px solid #b59564; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--wl-cream); color: #83663c; transform: rotate(12deg); outline: 6px solid var(--wl-cream); }
.wl-stamp span { font-size: 7px; letter-spacing: .15em; text-transform: uppercase; }
.wl-stamp .wl-icon { height: 35px; width: 35px; margin: 5px 0; }
.wl-image-caption { position: absolute; bottom: 2px; left: 0; font-family: var(--wl-serif); font-style: italic; font-size: 17px; }
.wl-welcome-copy h2 { max-width: 470px; }
.wl-rule { display: block; width: 48px; height: 1px; background: var(--wl-gold); margin: 28px 0; }
.wl-welcome-copy p { color: var(--wl-text); font-size: 13px; line-height: 1.95; }
.wl-welcome-copy .wl-text-link { margin-top: 6px; font-size: 10px; }
.wl-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 45px; }
.wl-section-heading .wl-eyebrow { margin-bottom: 16px; }
.wl-section-heading p { max-width: 310px; font-size: 12px; margin: 0 0 4px; }
.wl-section-heading .wl-text-link { white-space: nowrap; margin-bottom: 7px; }
.wl-rooms { isolation: isolate; position: relative; padding-top: 88px; }
.wl-rooms::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 410px; background: var(--wl-blue); z-index: -1; }
.wl-rooms-heading { color: var(--wl-paper); }
.wl-rooms-heading h2 { font-size: clamp(42px, 3.8vw, 60px); }
.wl-rooms-heading .wl-eyebrow { color: #ecd6b0; }
.wl-room-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.wl-room-photo { height: 375px; display: block; position: relative; overflow: hidden; }
.wl-room-photo > img { height: 100%; width: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.wl-room-photo:hover > img, .wl-offer-card:hover > img, .wl-gallery-item:hover > img { transform: scale(1.04); }
.wl-photo-label { position: absolute; top: 21px; left: 21px; background: var(--wl-paper); padding: 8px 14px; font-size: 8px; letter-spacing: .11em; text-transform: uppercase; }
.wl-circle-arrow { position: absolute; bottom: 23px; right: 23px; display: flex; justify-content: center; align-items: center; width: 44px; height: 44px; background: var(--wl-paper); border-radius: 50%; color: var(--wl-dark); }
.wl-circle-arrow .wl-icon { width: 20px; height: 20px; }
.wl-room-info { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0 27px; border-bottom: 1px solid var(--wl-line); }
.wl-room-info h3 { font-size: 34px; margin-bottom: 9px; }
.wl-room-info p { color: var(--wl-text); font-size: 11px; margin: 0; }
.wl-room-info > a { padding: 12px; }
.wl-amenities { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--wl-line); padding: 55px 0; text-align: center; gap: 20px; }
.wl-amenities > div { border-right: 1px solid var(--wl-line); }
.wl-amenities > div:last-child { border: 0; }
.wl-amenities .wl-icon { display: block; width: 34px; height: 34px; margin: 0 auto 15px; color: #997445; }
.wl-amenities span { display: block; font-family: var(--wl-serif); font-size: 24px; line-height: 1.25; margin-bottom: 8px; }
.wl-amenities small { font-size: 10px; color: var(--wl-text); }
.wl-celebrate-intro { text-align: center; margin-bottom: 43px; }
.wl-celebrate-intro .wl-eyebrow { margin-bottom: 19px; }
.wl-tab-buttons { display: flex; justify-content: center; gap: 45px; border-bottom: 1px solid var(--wl-line); width: fit-content; max-width: 100%; margin: 0 auto 44px; }
.wl-tab-buttons button { background: none; border: 0; border-bottom: 2px solid transparent; padding: 15px 4px; margin-bottom: -1px; font-size: 11px; letter-spacing: .05em; }
.wl-tab-buttons button span { font-size: 8px; margin-left: 25px; color: #967042; }
.wl-tab-buttons button[aria-selected='true'] { border-bottom-color: #ae8650; color: #896230; }
.wl-tab-panel { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 85px; }
.wl-celebrate-photo { height: 420px; overflow: hidden; }
.wl-celebrate-photo img { width: 100%; height: 100%; object-fit: cover; }
.wl-celebrate-copy { padding-right: 38px; }
.wl-celebrate-copy .wl-eyebrow { font-size: 9px; }
.wl-celebrate-copy h3 { font-size: 49px; margin-bottom: 24px; }
.wl-celebrate-copy p { font-size: 13px; line-height: 1.95; color: var(--wl-text); }
.wl-celebrate-copy .wl-text-link { font-size: 10px; }
.wl-dining { display: grid; grid-template-columns: 1fr 1fr; background: var(--wl-blue); color: var(--wl-paper); min-height: 640px; }
.wl-dining-copy { padding: 80px max(56px, calc((100vw - 1200px) / 2)); padding-right: 90px; }
.wl-dining-copy .wl-eyebrow { color: #ecd6b0; font-size: 9px; }
.wl-dining-copy h2 { font-size: clamp(48px, 4.5vw, 70px); margin-bottom: 27px; }
.wl-dining-copy p { font-size: 13px; line-height: 1.95; max-width: 370px; }
.wl-dining-copy .wl-button { margin-top: 9px; }
.wl-dining-note { display: block; font-family: var(--wl-serif); font-size: 19px; font-style: italic; margin-top: 31px; color: #ecdbc1; }
.wl-dining-photo { position: relative; min-height: 100%; overflow: hidden; }
.wl-dining-photo img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.wl-photo-note { position: absolute; bottom: 30px; right: 34px; padding: 5px 10px; background: #233f4533; font-family: var(--wl-serif); font-size: 23px; font-style: italic; color: white; }
.wl-offers { padding-bottom: 80px; }
.wl-offers .wl-section-heading h2 { font-size: clamp(40px, 4vw, 61px); }
.wl-offer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.wl-offer-card { height: 405px; position: relative; display: block; overflow: hidden; color: white; }
.wl-offer-card > img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.wl-offer-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, #132f38e6, #18313912 80%); }
.wl-offer-content { position: absolute; left: 34px; right: 34px; bottom: 34px; z-index: 1; padding-right: 45px; }
.wl-offer-content .wl-eyebrow { font-size: 8px; margin: 0 0 12px; }
.wl-offer-content h3 { font-size: 39px; margin-bottom: 12px; }
.wl-offer-content p { font-size: 11px; margin: 0; }
.wl-offer-content .wl-circle-arrow { right: 0; bottom: 0; background: transparent; color: white; border: 1px solid #ffffff88; }
.wl-interlude { text-align: center; padding: 35px 0 85px; }
.wl-small-sun { display: block; margin-bottom: 18px; color: #a27a43; }
.wl-small-sun .wl-icon { width: 32px; height: 32px; }
.wl-interlude .wl-eyebrow { margin-bottom: 22px; font-size: 8px; }
.wl-interlude > p { font-family: var(--wl-serif); font-size: clamp(42px, 4.5vw, 66px); line-height: 1.1; letter-spacing: -.035em; margin: 0; }
.wl-interlude-line { display: block; width: 1px; height: 50px; margin: 30px auto 0; background: var(--wl-gold); }
.wl-escape { height: 600px; position: relative; }
.wl-escape-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wl-escape > .wl-container { height: 100%; display: flex; justify-content: flex-end; align-items: center; position: relative; }
.wl-escape-card { background: var(--wl-cream); padding: 45px 48px; max-width: 470px; }
.wl-escape-card .wl-eyebrow { font-size: 9px; }
.wl-escape-card h2 { font-size: 52px; margin-bottom: 25px; }
.wl-escape-card p { font-size: 12px; color: var(--wl-text); }
.wl-gallery { padding-block: 100px; }
.wl-gallery .wl-section-heading h2 { font-size: clamp(40px, 3.8vw, 60px); }
.wl-gallery-hint { font-size: 10px; white-space: nowrap; margin-bottom: 8px; }
.wl-gallery-hint .wl-icon { width: 17px; margin-left: 18px; }
.wl-gallery-grid { display: grid; grid-template-columns: 1.1fr .85fr .85fr 1.1fr; align-items: center; gap: 20px; }
.wl-gallery-item { display: block; height: 300px; overflow: hidden; position: relative; }
.wl-gallery-item:nth-child(2), .wl-gallery-item:nth-child(3) { height: 240px; }
.wl-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.wl-gallery-item > span { position: absolute; right: 12px; bottom: 12px; width: 30px; height: 30px; display: grid; place-items: center; background: var(--wl-paper); }
.wl-gallery-item > span .wl-icon { width: 18px; height: 18px; }
.wl-faq { padding-block: 90px; background: #eeeae1; }
.wl-faq-layout { display: grid; grid-template-columns: .9fr 1.3fr; gap: 90px; }
.wl-faq h2 { font-size: 55px; margin-bottom: 28px; }
.wl-faq .wl-eyebrow { font-size: 9px; }
.wl-faq p { font-size: 12px; color: var(--wl-text); }
.wl-faq-list { padding-top: 3px; }
.wl-faq details { border-bottom: 1px solid #cfcbbf; }
.wl-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; font-size: 13px; padding: 24px 0; }
.wl-faq summary::-webkit-details-marker { display: none; }
.wl-faq summary .wl-icon { width: 18px; height: 18px; color: #8b6736; flex: 0 0 auto; transition: transform .25s; }
.wl-faq details[open] summary .wl-icon { transform: rotate(45deg); }
.wl-faq details p { max-width: 480px; margin: 0 0 25px; }
.wl-connect { background: var(--wl-blue); color: var(--wl-paper); padding-block: 65px; }
.wl-connect-inner { display: flex; justify-content: space-between; align-items: center; gap: 50px; }
.wl-connect .wl-eyebrow { font-size: 8px; color: #ecd6b0; margin-bottom: 13px; }
.wl-connect h2 { font-size: 42px; margin-bottom: 14px; }
.wl-connect p { font-size: 11px; margin: 0; max-width: 430px; }
.wl-connect-action { max-width: 450px; flex-shrink: 0; }
.wl-connect-action > small { display: block; text-align: center; font-size: 9px; margin-top: 12px; }
.wl-connect-action input, .wl-connect-action select { max-width: 100%; }
.wl-footer { background: var(--wl-cream); padding-top: 65px; }
.wl-footer-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 50px; border-bottom: 1px solid var(--wl-line); }
.wl-footer-top .wl-eyebrow { font-size: 8px; margin-bottom: 16px; }
.wl-footer-heading { font-family: var(--wl-serif); font-size: clamp(44px, 5.3vw, 80px); letter-spacing: -.04em; line-height: 1.1; margin: 0; }
.wl-footer-book { display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid #b5996b; border-radius: 50%; transition: background .25s; }
.wl-footer-book:hover { background: var(--wl-gold); }
.wl-footer-book .wl-icon { width: 32px; height: 32px; }
.wl-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.1fr; gap: 40px; padding-block: 50px; }
.wl-footer-grid .wl-brand { font-size: 25px; }
.wl-footer-grid .wl-brand-mark { width: 32px; }
.wl-footer-grid h3 { font-family: var(--wl-sans); font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .09em; margin: 7px 0 20px; }
.wl-footer-grid > div > a:not(.wl-brand):not(.wl-text-link) { display: block; font-size: 11px; color: var(--wl-text); margin: 7px 0; overflow-wrap: anywhere; }
.wl-footer-grid a:hover { color: #866339; }
.wl-footer-grid address { font-style: normal; font-size: 10px; max-width: 230px; margin: 18px 0 6px; color: var(--wl-text); }
.wl-footer-grid .wl-text-link { font-size: 8px; }
.wl-socials { display: flex; flex-wrap: wrap; gap: 15px; font-size: 10px; margin-top: 20px; }
.wl-footer-bottom { border-top: 1px solid var(--wl-line); min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 24px; font-size: 9px; color: var(--wl-text); }
.wl-footer-bottom nav ul { display: flex; gap: 20px; padding: 0; margin: 0; list-style: none; }
.wl-dialog { border: 0; padding: 50px; background: var(--wl-cream); color: var(--wl-dark); width: min(610px, calc(100% - 32px)); max-height: calc(100dvh - 48px); overflow-y: auto; overscroll-behavior: contain; }
.wl-dialog::backdrop { background: #142d37c9; backdrop-filter: blur(5px); }
.wl-dialog-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; background: var(--wl-cream); border: 1px solid var(--wl-line); width: 38px; height: 38px; z-index: 2; }
.wl-dialog > .wl-eyebrow { font-size: 9px; }
.wl-dialog h2 { font-size: 56px; margin-bottom: 20px; }
.wl-dialog p { font-size: 12px; }
.wl-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.wl-form-grid label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
input:not([type='checkbox']):not([type='radio']):not([type='submit']), textarea, select { border: 1px solid #c6c9bf; background: var(--wl-paper); color: var(--wl-dark); padding: 12px; max-width: 100%; min-width: 0; }
.wl-form-grid input, .wl-form-grid select { display: block; width: 100%; margin-top: 6px; font-size: 13px; min-height: 48px; }
.wl-form-status { color: #7e4219; margin: 18px 0 10px; min-height: 0; }
.wl-booking-dialog form > .wl-button { width: 100%; }
.wl-form-note { display: block; font-size: 10px; line-height: 1.7; margin-top: 15px; color: var(--wl-text); }
.wl-dialog-contact { padding-top: 23px; margin-top: 22px; border-top: 1px solid var(--wl-line); font-size: 11px; }
.wl-dialog-contact a { text-decoration: underline; }
.wl-lightbox { width: min(1120px, calc(100% - 32px)); padding: 14px 14px 10px; background: var(--wl-paper); }
.wl-lightbox figure { margin: 0; }
.wl-lightbox figure img { width: 100%; height: min(70vh, 750px); object-fit: contain; background: var(--wl-dark); }
.wl-lightbox figcaption { text-align: center; font-family: var(--wl-serif); font-size: 25px; padding: 13px 20px 4px; }
.wl-lightbox-controls { display: flex; justify-content: center; align-items: center; gap: 25px; }
.wl-lightbox-controls button { background: none; border: 0; padding: 8px 15px; font-size: 24px; }
.wl-lightbox-controls span { font-size: 11px; }
.wl-page-hero { background: var(--wl-blue); color: var(--wl-paper); position: relative; padding: 105px 0; overflow: hidden; }
.wl-page-hero h1 { font-size: clamp(48px, 5.7vw, 85px); overflow-wrap: anywhere; }
.wl-page-hero .wl-eyebrow { color: #ecd6b0; }
.wl-page-hero > .wl-container { position: relative; z-index: 1; }
.wl-page-hero-image { min-height: 400px; display: flex; align-items: center; }
.wl-page-hero-image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0b273fc2 0%, #0b273f72 55%, #0b273f20 100%); }
.wl-page-cover { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.wl-content { max-width: 780px; overflow-wrap: anywhere; }
.wl-content > * + * { margin-top: 24px; }
.wl-content h2 { font-size: 44px; margin-top: 45px; }
.wl-content h3 { font-size: 34px; margin-top: 30px; }
.wl-content h4 { font-size: 28px; }
.wl-content p, .wl-content li { color: var(--wl-text); }
.wl-content a:not(.wp-block-button__link) { text-decoration: underline; }
.wl-content img { height: auto; }
.wl-content figure { margin-left: 0; margin-right: 0; }
.wl-content .alignwide { width: min(1100px, calc(100vw - 112px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.wl-content .alignfull { width: calc(100vw - 20px); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.wl-content blockquote { border-left: 2px solid var(--wl-gold); padding-left: 28px; margin-left: 0; font-family: var(--wl-serif); font-size: 28px; }
.wl-content pre { background: #ede9de; padding: 20px; overflow: auto; max-width: 100%; }
.wl-content table { width: 100%; border-collapse: collapse; }
.wl-content td, .wl-content th { border: 1px solid var(--wl-line); padding: 12px; }
.wl-history-story { width: 100%; max-width: 780px; margin-inline: auto; }
.wl-history-story > .wp-block-heading:first-child { margin-top: 0; }
.wl-history-story > .wp-block-heading { color: var(--wl-dark); }
.wl-history-story > .wp-block-paragraph { color: var(--wl-text); font-size: 16px; line-height: 1.85; }
.wl-history-story > .wp-block-quote { margin-block: 38px; padding: 8px 0 8px 28px; border-left: 2px solid var(--wl-gold); color: var(--wl-dark); font: 500 28px/1.45 var(--wl-serif); }
.wl-history-story > .wp-block-paragraph:last-child a { color: var(--wl-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.wp-block-button__link, .comment-form .submit { background: var(--wl-gold); color: var(--wl-dark); border: 0; border-radius: 0; padding: 14px 24px; font-size: 13px; }
.wp-caption-text, .gallery-caption { font-size: 12px; color: var(--wl-text); }
.alignleft { float: left; margin: 0 25px 20px 0; }
.alignright { float: right; margin: 0 0 20px 25px; }
.aligncenter { margin-inline: auto; }
.wl-content::after { content: ''; display: table; clear: both; }
.wl-full-width .wl-content { max-width: 1200px; }
.wl-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.wl-contact-grid h2 { margin-bottom: 30px; }
.wl-contact-grid a:not(.wl-button) { text-decoration: underline; }
.wl-contact-grid .wl-content { width: 100%; }
.wl-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 35px; }
.wl-post-card > a > img { width: 100%; height: 240px; object-fit: cover; margin-bottom: 26px; }
.wl-post-card .wl-eyebrow { font-size: 9px; }
.wl-post-card h2 { font-size: 38px; margin-bottom: 20px; }
.wl-post-card p { font-size: 13px; color: var(--wl-text); }
.wl-post-card.sticky { border-top: 3px solid var(--wl-gold); padding-top: 20px; }
.wl-post-featured { width: 100%; margin-bottom: 40px; }
.navigation { margin-top: 45px; }
.nav-links { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.page-numbers { padding: 7px 14px; border: 1px solid var(--wl-line); }
.page-numbers.current { background: var(--wl-dark); color: white; }
.wl-comments { padding-bottom: 80px; }
.wl-comments .comment-list { padding-left: 22px; }
.wl-comments .comment-body { margin-bottom: 30px; }
.wl-comments .bypostauthor { border-left: 2px solid var(--wl-gold); padding-left: 18px; }
.wl-comments label { display: block; }
.wl-comments input[type='checkbox'] + label { display: inline; }
.wl-comments textarea { width: 100%; }
.wl-not-found { text-align: center; }
.wl-not-found h1 { margin-bottom: 25px; }
.wl-search-form { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.wl-search-form label { flex: 1; max-width: 400px; }
.wl-search-form input { width: 100%; height: 100%; }
@media (min-width: 1700px) { .wl-hero { height: 800px; } }
@media (max-width: 1200px) {
    .wl-header-inner { gap: 20px; padding-inline: 28px; }
    .wl-menu { gap: 18px; }
    .wl-brand { font-size: 23px; gap: 10px; }
    .wl-brand-mark { width: 32px; }
    .wl-menu a { font-size: 9px; }
    .wl-header-book { padding: 14px 16px; gap: 12px; font-size: 10px; }
    .wl-welcome { gap: 65px; }
    .wl-arrival-detail { display: none; }
    .wl-tab-panel { gap: 60px; }
    .wl-celebrate-copy { padding-right: 0; }
    .wl-dining-copy { padding-right: 60px; }
    .wl-section-heading { gap: 25px; }
    .wl-section-heading h2 { max-width: 640px; }
    .wl-footer-grid { gap: 25px; }
}
@media (max-width: 1000px) {
    :root { --wl-header: 82px; }
    .wl-container { width: calc(100% - 64px); }
    .wl-topbar { padding-inline: 28px; }
    .wl-topbar > span:nth-child(2) { display: none; }
    .wl-navigation { display: none; }
    .wl-menu-toggle { display: flex; width: 42px; height: 42px; border: 1px solid #c9c8bb; background: none; flex-direction: column; justify-content: center; align-items: center; gap: 6px; flex: 0 0 auto; }
    .wl-menu-toggle span { width: 18px; height: 1px; background: var(--wl-dark); transition: transform .2s; }
    .wl-menu-toggle[aria-expanded='true'] span:first-child { transform: translateY(3.5px) rotate(45deg); }
    .wl-menu-toggle[aria-expanded='true'] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
    .wl-header-book { margin-left: auto; }
    .wl-navigation.wl-is-open { display: block; position: fixed; left: 0; right: 0; top: var(--wl-menu-top, 116px); bottom: 0; background: var(--wl-cream); padding: 32px; overflow-y: auto; overscroll-behavior: contain; }
    .wl-menu { display: block; }
    .wl-menu a { font-size: 14px; padding: 16px 0; letter-spacing: .08em; }
    .wl-menu > li { border-bottom: 1px solid var(--wl-line); }
    .wl-menu .sub-menu { position: static; display: none; box-shadow: none; transform: none; opacity: 1; visibility: visible; background: none; padding: 0 0 10px 20px; }
    .wl-menu li.wl-submenu-open > .sub-menu { display: block; }
    .wl-menu .sub-menu a { font-size: 12px; padding: 10px 0; }
    .wl-submenu-toggle { float: right; padding: 18px; }
    .wl-mobile-book { display: inline-flex; margin-top: 30px; }
    .wl-hero { min-height: 610px; }
    .wl-hero h1 { font-size: 82px; max-width: 630px; }
    .wl-hero-bottom { left: 32px; right: 32px; }
    .wl-hero-coordinate { display: none; }
    .wl-section { padding-block: 80px; }
    .wl-welcome { gap: 40px; }
    .wl-welcome-images { padding-right: 30px; padding-bottom: 65px; }
    .wl-welcome-main { height: 395px; }
    .wl-welcome-detail { width: 64%; height: auto; }
    .wl-stamp { width: 92px; height: 92px; }
    .wl-stamp span { font-size: 6px; }
    .wl-image-caption { font-size: 14px; }
    .wl-welcome-copy h2 { font-size: 45px; }
    .wl-welcome-copy .wl-eyebrow { font-size: 8px; }
    .wl-welcome-copy p { font-size: 12px; }
    .wl-section-heading { align-items: flex-start; }
    .wl-section-heading h2 { font-size: 44px; }
    .wl-rooms-heading p { max-width: 220px; padding-top: 29px; font-size: 11px; }
    .wl-room-photo { height: 300px; }
    .wl-room-grid, .wl-offer-grid { gap: 24px; }
    .wl-room-info h3 { font-size: 29px; }
    .wl-amenities span { font-size: 21px; }
    .wl-amenities small { font-size: 9px; }
    .wl-tab-panel { gap: 40px; grid-template-columns: 1.1fr 1fr; }
    .wl-celebrate-photo { height: 355px; }
    .wl-celebrate-copy h3 { font-size: 40px; }
    .wl-dining { min-height: 590px; }
    .wl-dining-copy { padding: 65px 40px 65px 32px; }
    .wl-dining-copy h2 { font-size: 54px; }
    .wl-offers .wl-section-heading { display: block; }
    .wl-offers .wl-text-link { margin-top: 15px; }
    .wl-offer-card { height: 360px; }
    .wl-offer-content { left: 25px; right: 25px; bottom: 25px; }
    .wl-offer-content h3 { font-size: 32px; }
    .wl-offer-content p { font-size: 10px; }
    .wl-escape { height: 570px; }
    .wl-escape-card { max-width: 420px; padding: 38px; }
    .wl-gallery-grid { gap: 14px; }
    .wl-gallery-item { height: 245px; }
    .wl-gallery-item:nth-child(2), .wl-gallery-item:nth-child(3) { height: 205px; }
    .wl-faq-layout { gap: 60px; grid-template-columns: 1fr 1.3fr; }
    .wl-faq h2 { font-size: 48px; }
    .wl-connect-inner { gap: 35px; }
    .wl-connect h2 { font-size: 37px; }
    .wl-connect .wl-button { font-size: 10px; padding: 17px; gap: 15px; }
    .wl-connect-action { flex-shrink: 1; }
    .wl-footer-grid { grid-template-columns: 1.2fr 1fr; gap: 35px; }
    .wl-contact-grid { gap: 50px; }
    .wl-post-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
    :root { --wl-header: 76px; }
    body { font-size: 14px; }
    .wl-container { width: calc(100% - 40px); }
    .wl-section { padding-block: 66px; }
    h2 { font-size: 44px; }
    .wl-eyebrow { font-size: 8px; letter-spacing: .18em; }
    .wl-topbar { height: 29px; padding-inline: 20px; font-size: 8px; }
    .wl-topbar .wl-icon { width: 10px; }
    .wl-header-inner { padding-inline: 20px; gap: 12px; }
    .wl-brand { font-size: 24px; gap: 9px; }
    .wl-brand small { font-size: 6px; letter-spacing: .13em; }
    .wl-brand-mark { width: 30px; height: 38px; }
    .wl-header-book { display: none; }
    .custom-logo-link img { max-width: 215px; max-height: 54px; }
    .wl-navigation.wl-is-open { padding: 20px; }
    .admin-bar .wl-header { top: 0; }
    .wl-hero { min-height: 640px; height: calc(90svh - 100px); max-height: 770px; }
    .wl-hero-image { object-position: 32% center; }
    .wl-hero-shade { background: linear-gradient(90deg, #12323bb8, #12323b30), linear-gradient(0deg, #112e3780, transparent 70%); }
    .wl-hero-content { padding-bottom: 70px; padding-top: 30px; }
    .wl-hero .wl-eyebrow { font-size: 8px; gap: 11px; letter-spacing: .16em; margin-bottom: 25px; }
    .wl-hero .wl-eyebrow::before { width: 24px; }
    .wl-hero h1 { font-size: clamp(62px, 16vw, 86px); max-width: 480px; margin-bottom: 24px; }
    .wl-hero p { font-size: 12px; max-width: 300px; margin-bottom: 28px; }
    .wl-hero .wl-button { font-size: 10px; padding: 17px 20px; }
    .wl-hero-bottom { left: 20px; right: 20px; bottom: 52px; font-size: 8px; }
    .wl-hero-bottom > span { display: none; }
    .wl-hero-bottom > a { width: 100%; justify-content: space-between; }
    .wl-arrival-wrap { margin-top: -26px; }
    .wl-arrival { display: block; padding: 25px; }
    .wl-arrival-title { gap: 15px; }
    .wl-arrival-title > .wl-icon { width: 32px; height: 40px; }
    .wl-arrival-title p { font-size: 24px; }
    .wl-arrival .wl-eyebrow { font-size: 7px; }
    .wl-arrival > .wl-button { display: flex; margin-top: 22px; width: 100%; padding: 15px 20px; font-size: 10px; justify-content: space-between; }
    .wl-welcome { grid-template-columns: 1fr; gap: 45px; }
    .wl-welcome-images { width: 100%; max-width: 470px; margin: auto; padding: 0 44px 60px 0; }
    .wl-welcome-main { height: 380px; }
    .wl-welcome-detail { width: 56%; height: auto; bottom: 16px; border-width: 6px; }
    .wl-stamp { width: 100px; height: 100px; top: 32px; }
    .wl-image-caption { font-size: 15px; }
    .wl-welcome-copy h2 { font-size: 48px; max-width: 380px; }
    .wl-welcome-copy p { font-size: 13px; }
    .wl-welcome-copy .wl-text-link { font-size: 9px; gap: 12px; }
    .wl-section-heading { display: block; margin-bottom: 32px; }
    .wl-section-heading h2, .wl-rooms-heading h2 { font-size: 45px; }
    .wl-section-heading p { margin-top: 20px; padding: 0; max-width: 100%; font-size: 12px; }
    .wl-section-heading p br { display: none; }
    .wl-rooms { padding-top: 62px; }
    .wl-rooms::before { height: 470px; }
    .wl-room-grid { grid-template-columns: 1fr; gap: 30px; }
    .wl-room-photo { height: 310px; }
    .wl-photo-label { top: 15px; left: 15px; font-size: 7px; }
    .wl-room-info { padding-block: 20px; }
    .wl-room-info h3 { font-size: 32px; }
    .wl-room-info p { font-size: 10px; }
    .wl-amenities { grid-template-columns: 1fr 1fr; padding-block: 40px; gap: 30px 15px; }
    .wl-amenities > div:nth-child(2) { border: 0; }
    .wl-amenities span { font-size: 22px; }
    .wl-amenities .wl-icon { width: 29px; height: 29px; }
    .wl-amenities small { font-size: 9px; display: block; max-width: 145px; margin: auto; }
    .wl-celebrate-intro { margin-bottom: 24px; }
    .wl-celebrate-intro h2 { font-size: 43px; }
    .wl-celebrate-intro .wl-eyebrow { font-size: 7px; }
    .wl-tab-buttons { gap: 20px; width: 100%; margin-bottom: 30px; }
    .wl-tab-buttons button { font-size: 10px; padding: 13px 0; flex: 1; }
    .wl-tab-buttons button span { display: none; }
    .wl-tab-panel { grid-template-columns: 1fr; gap: 30px; }
    .wl-celebrate-photo { height: 300px; }
    .wl-celebrate-copy h3 { font-size: 44px; }
    .wl-celebrate-copy p { font-size: 13px; }
    .wl-dining { grid-template-columns: 1fr; }
    .wl-dining-copy { padding: 65px 25px 55px; }
    .wl-dining-copy h2 { font-size: 58px; }
    .wl-dining-photo { min-height: 370px; }
    .wl-photo-note { right: 25px; bottom: 22px; font-size: 22px; }
    .wl-offer-grid { grid-template-columns: 1fr; gap: 20px; }
    .wl-offer-card { height: 350px; }
    .wl-offer-content { left: 25px; right: 25px; }
    .wl-offer-content h3 { font-size: 36px; }
    .wl-offer-content p { font-size: 10px; }
    .wl-offers { padding-bottom: 45px; }
    .wl-interlude { padding: 20px 0 60px; }
    .wl-interlude > p { font-size: 46px; }
    .wl-escape { height: auto; padding-top: 250px; }
    .wl-escape-image { height: 385px; }
    .wl-escape > .wl-container { padding-bottom: 0; }
    .wl-escape-card { padding: 34px 25px 15px; max-width: none; width: 100%; box-shadow: 0 -12px 30px #233f4508; }
    .wl-escape-card h2 { font-size: 47px; }
    .wl-escape-card p { font-size: 13px; }
    .wl-gallery { padding-block: 60px; }
    .wl-gallery-hint { display: block; margin-top: 22px; }
    .wl-gallery-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .wl-gallery-item, .wl-gallery-item:nth-child(2), .wl-gallery-item:nth-child(3) { height: 220px; }
    .wl-gallery-item:nth-child(2) { margin-top: 30px; }
    .wl-gallery-item:nth-child(3) { margin-top: -30px; }
    .wl-faq { padding-block: 60px; }
    .wl-faq-layout { grid-template-columns: 1fr; gap: 28px; }
    .wl-faq h2 { font-size: 48px; }
    .wl-faq h2 br:last-child { display: none; }
    .wl-faq summary { font-size: 12px; padding: 22px 0; }
    .wl-faq details p { font-size: 12px; }
    .wl-connect { padding-block: 50px; }
    .wl-connect-inner { display: block; }
    .wl-connect h2 { font-size: 40px; }
    .wl-connect p { font-size: 12px; }
    .wl-connect-action { margin-top: 27px; }
    .wl-connect-action .wl-button { width: 100%; justify-content: space-between; }
    .wl-footer { padding-top: 45px; }
    .wl-footer-top { gap: 20px; padding-bottom: 33px; }
    .wl-footer-heading { font-size: 49px; max-width: 260px; }
    .wl-footer-top .wl-eyebrow { font-size: 7px; max-width: 200px; }
    .wl-footer-book { width: 51px; height: 51px; flex-shrink: 0; }
    .wl-footer-book .wl-icon { width: 24px; height: 24px; }
    .wl-footer-grid { grid-template-columns: 1fr 1fr; padding-block: 34px; gap: 32px 20px; }
    .wl-footer-grid > div:first-child { grid-column: 1 / -1; }
    .wl-footer-grid > div:last-child { grid-column: 1 / -1; }
    .wl-footer-grid address { max-width: 100%; }
    .wl-footer-grid h3 { margin-bottom: 17px; }
    .wl-footer-bottom { flex-wrap: wrap; padding-block: 22px; gap: 12px 20px; font-size: 8px; }
    .wl-footer-bottom > span { width: 100%; }
    .wl-footer-bottom > a { margin-left: auto; }
    .wl-dialog { padding: 42px 24px 25px; max-height: calc(100dvh - 24px); }
    .wl-dialog h2 { font-size: 47px; }
    .wl-dialog .wl-eyebrow { font-size: 8px; max-width: 220px; }
    .wl-form-grid { gap: 15px 10px; }
    .wl-form-grid input, .wl-form-grid select { font-size: 16px; padding: 10px 7px; }
    .wl-lightbox { padding: 8px; }
    .wl-lightbox figure img { height: auto; max-height: 70vh; }
    .wl-lightbox figcaption { font-size: 23px; }
    .wl-page-hero { padding-block: 70px; }
    .wl-page-hero h1 { font-size: 53px; }
    .wl-content .alignwide { width: calc(100vw - 40px); }
    .wl-content .alignfull { width: 100vw; }
    .wl-contact-grid { grid-template-columns: 1fr; gap: 40px; }
    .wl-post-grid { grid-template-columns: 1fr; }
    .wl-search-form { flex-wrap: wrap; }
}
@media (min-width: 641px) and (max-width: 782px) { .admin-bar .wl-header { top: 46px; } }
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
    .wl-header, .wl-topbar, .wl-footer, .wl-dialog, .wl-arrival-wrap, .wl-button, .wl-gallery-hint { display: none !important; }
    .wl-container { width: 100%; }
    .wl-section { padding-block: 30px; }
    [data-reveal] { opacity: 1 !important; transform: none !important; }
}

/* Colonial Motel content and stronger booking/navigation hierarchy. */
@media (min-width: 1101px) {
    .wl-menu { gap: 17px; }
    .wl-menu a { font-size: 12px; letter-spacing: .055em; font-weight: 600; }
}
@media (min-width: 1101px) and (max-width: 1366px) {
	.wl-menu { gap: 8px; }
	.wl-menu a { font-size: 13px !important; }
}
@media (min-width: 781px) and (max-width: 1100px) {
    .wl-menu { gap: 12px; }
    .wl-menu a { font-size: 10px; letter-spacing: .035em; font-weight: 600; }
}
.wl-button { font-weight: 700; }
.wl-header-book { min-width: 132px; }
.wl-welcome-copy h3 { margin: 30px 0 12px; color: var(--wl-dark); font-family: var(--wl-serif); font-size: 31px; line-height: 1.1; }
.wl-promo-mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--wl-gold); color: #172e32; font: 700 22px/1 var(--wl-sans); }
.wl-arrival-title p { color: #b72b20; font-weight: 700; }
.wl-attraction-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 55px; }
.wl-attraction-card { min-height: 220px; padding: 32px; background: var(--wl-paper); border-top: 3px solid var(--wl-gold); box-shadow: 0 10px 35px #233f4510; }
.wl-attraction-card h3 { margin: 18px 0 12px; font-family: var(--wl-serif); font-size: 27px; line-height: 1.05; }
.wl-attraction-card p { max-width: 36ch; margin: 0; color: var(--wl-text); font-size: 15px; line-height: 1.7; }
.wl-attraction-card a { display: inline-flex; align-items: center; gap: 12px; margin-top: 20px; color: var(--wl-dark); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.wl-attraction-card a .wl-icon { width: 18px; height: 18px; color: var(--wl-gold); }
.wl-video { padding: 0; }
.wl-video-frame { position: relative; width: 100%; aspect-ratio: 16 / 7; background: #132c43; }
.wl-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.wl-review-awards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 38px; }
.wl-review-awards > div { display: flex; min-height: 116px; align-items: center; justify-content: center; gap: 18px; padding: 20px; background: #d9f1e5; color: #142b24; text-align: center; }
.wl-review-awards strong { font: 700 25px/1.1 var(--wl-sans); }
.wl-review-awards span { font-size: 13px; font-weight: 700; line-height: 1.4; }
.wl-review-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 45px; align-items: stretch; margin-top: 48px; }
.wl-review-stat, .wl-review-grid blockquote { margin: 0; padding: 36px; background: var(--wl-paper); }
.wl-review-stat { display: flex; flex-direction: column; justify-content: center; background: var(--wl-blue); color: white; text-align: center; }
.wl-review-stat strong { color: var(--wl-gold); font: 600 64px/1 var(--wl-serif); }
.wl-review-stat span { margin-top: 12px; font-size: 15px; line-height: 1.6; }
.wl-review-grid blockquote { border-left: 3px solid var(--wl-gold); }
.wl-review-grid blockquote p { margin: 18px 0; font: 500 23px/1.45 var(--wl-serif); color: var(--wl-dark); }
.wl-review-grid cite { color: var(--wl-text); font-size: 13px; font-style: normal; }
@media (max-width: 780px) {
    .wl-attraction-grid, .wl-review-grid, .wl-review-awards { grid-template-columns: 1fr; gap: 16px; }
    .wl-attraction-card { min-height: 0; padding: 26px; }
    .wl-video-frame { aspect-ratio: 16 / 9; }
    .wl-review-grid blockquote, .wl-review-stat { padding: 28px; }
    .wl-review-grid blockquote p { font-size: 21px; }
}

/* Readable type scale across the Colonial Motel site. */
body { font-size: 17px; }
.wl-topbar { font-size: 11px; }
.wl-eyebrow, .wl-arrival .wl-eyebrow, .wl-welcome-copy .wl-eyebrow,
.wl-celebrate-copy .wl-eyebrow, .wl-dining-copy .wl-eyebrow,
.wl-offer-content .wl-eyebrow, .wl-escape-card .wl-eyebrow,
.wl-faq .wl-eyebrow, .wl-connect .wl-eyebrow, .wl-footer-top .wl-eyebrow,
.wl-dialog > .wl-eyebrow, .wl-dialog .wl-eyebrow { font-size: 12px; }
.wl-brand small { font-size: 10px; }
.wl-menu a { font-size: 14px; }
.wl-button { font-size: 15px; }
.wl-text-link, .wl-welcome-copy .wl-text-link, .wl-celebrate-copy .wl-text-link,
.wl-footer-grid .wl-text-link, .wl-attraction-card a { font-size: 14px; }
.wl-hero p, .wl-welcome-copy p, .wl-section-heading p, .wl-arrival-detail,
.wl-room-info p, .wl-celebrate-copy p, .wl-dining-copy p,
.wl-offer-content p, .wl-escape-card p, .wl-faq p, .wl-faq details p,
.wl-connect p, .wl-dialog p, .wl-post-card p { font-size: 17px; }
.wl-hero-bottom { font-size: 12px; }
.wl-photo-label, .wl-amenities small, .wl-gallery-hint, .wl-footer-grid h3,
.wl-footer-grid address, .wl-footer-grid > div > a:not(.wl-brand):not(.wl-text-link),
.wl-socials, .wl-dialog-contact, .wl-form-note, .wl-form-grid label,
.wl-lightbox-controls span { font-size: 13px; }
.wl-tab-buttons button { font-size: 14px; }
.wl-tab-buttons button span { font-size: 12px; }
.wl-connect-action > small, .wl-footer-bottom, .wp-caption-text, .gallery-caption { font-size: 12px; }
.wl-form-grid input, .wl-form-grid select { font-size: 16px; }
.wl-faq summary { font-size: 16px; }

@media (max-width: 780px) {
    body { font-size: 16px; }
    .wl-topbar { font-size: 10px; }
    .wl-menu a { font-size: 16px; }
    .wl-hero p, .wl-welcome-copy p, .wl-section-heading p, .wl-room-info p,
    .wl-celebrate-copy p, .wl-dining-copy p, .wl-offer-content p,
    .wl-escape-card p, .wl-faq p, .wl-faq details p, .wl-connect p,
    .wl-dialog p, .wl-post-card p { font-size: 16px; }
.wl-footer-grid > div > a:not(.wl-brand):not(.wl-text-link),
.wl-footer-grid address, .wl-socials { font-size: 14px; }
    .wl-footer-bottom { font-size: 12px; }
}

/* Contemporary, high-contrast footer treatment. */
.wl-footer {
    position: relative;
    overflow: hidden;
    border-top: 4px solid #f58220;
    background: #082f50;
    color: #d9e4e9;
    padding-top: 72px;
}
.wl-footer::before {
    position: absolute;
    top: 0;
    right: 0;
    width: min(44vw, 620px);
    height: 100%;
    background: radial-gradient(ellipse at top right, #1a547044, transparent 68%);
    content: '';
    pointer-events: none;
}
.wl-footer > .wl-container { position: relative; z-index: 1; }
.wl-footer-top { border-bottom-color: #ffffff2b; }
.wl-footer-top .wl-eyebrow { color: #f8ae67; }
.wl-footer-heading { color: #fff; }
.wl-footer-heading em { color: #f3c28b; }
.wl-footer-grid { gap: 44px; }
.wl-footer-grid .wl-brand { color: #fff; }
.wl-footer-grid .wl-brand small { color: #a9c0ca; }
.wl-footer-grid .custom-logo { filter: brightness(0) invert(1); }
.wl-footer-grid h3 { color: #f8ae67; font-size: 11px; font-weight: 700; letter-spacing: .14em; margin-bottom: 18px; }
.wl-footer-grid > div > a:not(.wl-brand):not(.wl-text-link) { color: #d9e4e9; transition: color .2s, transform .2s; }
.wl-footer-grid > div > a:not(.wl-brand):not(.wl-text-link):hover { color: #ffb36d; transform: translateX(3px); }
.wl-footer-grid address { color: #bdcdd3; line-height: 1.8; }
.wl-footer-grid .wl-text-link { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.wl-footer-grid .wl-text-link .wl-icon { width: 16px; height: 16px; }
.wl-footer-grid .wl-text-link:hover { color: #ffb36d; }
.wl-socials { gap: 9px; }
.wl-socials a { display: inline-flex; min-width: 38px; min-height: 38px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid #ffffff40; border-radius: 50px; color: #eaf1f3; transition: background .2s,border-color .2s,color .2s; }
.wl-socials a:hover { border-color: #f58220; background: #f58220; color: #082f50; }
.wl-footer-bottom { border-top-color: #ffffff2b; color: #a9c0ca; }
.wl-footer-bottom nav a, .wl-footer-bottom > a { color: #d9e4e9; }
.wl-footer-bottom nav a:hover, .wl-footer-bottom > a:hover { color: #ffb36d; }
@media (max-width: 780px) {
    .wl-footer { padding-top: 48px; }
    .wl-footer-grid { gap: 30px 20px; }
    .wl-footer-grid h3 { font-size: 10px; }
}

/* Hero image and copy tuned for the motel's White Mountains setting. */
.wl-hero { height: min(760px, 65vw); min-height: 620px; }
.wl-hero-shade {
    background: linear-gradient(90deg, #0b273fc2 0%, #0b273f85 43%, #0b273f26 76%, #0b273f08 100%),
        linear-gradient(0deg, #0b273f38, transparent 48%);
}
.wl-hero h1 { max-width: 1050px; font-size: clamp(46px, 4.5vw, 72px); line-height: 1.04; margin-bottom: 22px; }
.wl-hero p { max-width: 690px; margin-inline: auto; font-size: 18px; line-height: 1.7; }
.wl-hero-content { align-items: center; padding-bottom: 42px; text-align: center; }
.wl-hero .wl-eyebrow { justify-content: center; }

@media (max-width: 780px) {
    .wl-hero { height: min(760px, 100svh); min-height: 650px; }
    .wl-hero-shade {
        background: linear-gradient(90deg, #0b273fae, #0b273f42 100%),
            linear-gradient(0deg, #0b273f50, transparent 55%);
    }
    .wl-hero h1 { max-width: 95%; font-size: clamp(40px, 9vw, 56px); line-height: 1.04; }
    .wl-hero p { max-width: 36ch; font-size: 16px; }
    .wl-hero-content { padding-bottom: 70px; }
    .wl-hero-bottom { bottom: 28px; }
}

/* Guest testimonials: keep the full review available without a wall of text. */
.wl-testimonials-page { padding-block: 76px 88px; }
.wl-testimonials-intro { max-width: 780px; margin: 0 auto 48px; text-align: center; }
.wl-testimonials-intro > .wl-eyebrow { color: var(--wl-gold); }
.wl-testimonials-intro h2 { margin: 14px 0 18px; color: var(--wl-dark); font: 500 clamp(38px, 4vw, 54px)/1.08 var(--wl-serif); }
.wl-testimonials-lede { color: var(--wl-text); }
.wl-testimonials-lede { margin: 0; font-size: 17px; line-height: 1.75; }
.wl-guest-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.wl-guest-review { padding: 28px 30px; background: #fff; border: 1px solid var(--wl-line); border-top: 3px solid var(--wl-gold); box-shadow: 0 12px 34px #17364d0d; }
.wl-guest-review-label { color: var(--wl-blue); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.wl-guest-review details { margin-top: 14px; }
.wl-guest-review summary { display: block; list-style: none; cursor: pointer; }
.wl-guest-review summary::-webkit-details-marker { display: none; }
.wl-guest-review-details summary { position: relative; padding-right: 42px; color: var(--wl-dark); font: 500 23px/1.38 var(--wl-serif); }
.wl-guest-review-details summary::after { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--wl-gold); color: var(--wl-dark); content: '+'; font: 400 20px/1 var(--wl-sans); transition: transform .2s ease; }
.wl-guest-review-details[open] summary::after { transform: rotate(45deg); }
.wl-guest-review-details > .wp-block-quote { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--wl-line); color: var(--wl-text); font-size: 15px; line-height: 1.8; }
.wl-guest-review-details > .wp-block-quote p { margin: 0 0 12px; font: inherit; color: inherit; }
.wl-guest-review-excerpt { display: block; color: var(--wl-dark); font: 500 23px/1.38 var(--wl-serif); }
.wl-guest-review-action { display: flex; align-items: center; justify-content: space-between; margin-top: 21px; padding-top: 14px; border-top: 1px solid var(--wl-line); color: var(--wl-blue); font-size: 13px; font-weight: 700; }
.wl-guest-review-action span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--wl-gold); color: var(--wl-dark); font-size: 20px; line-height: 1; transition: transform .2s ease; }
.wl-guest-review details[open] .wl-guest-review-action span { transform: rotate(45deg); }
.wl-guest-review blockquote { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--wl-line); color: var(--wl-text); font-size: 15px; line-height: 1.8; }
.wl-guest-review blockquote p { margin: 0 0 12px; }
.wl-testimonials-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 52px; padding: 30px 36px; background: var(--wl-blue); color: #fff; }
.wl-testimonials-cta p { margin: 0; font: 500 30px/1.2 var(--wl-serif); }
.wl-testimonials-cta .wl-button { flex: 0 0 auto; }
.wl-testimonials-cta .wp-block-buttons { margin: 0; }
.wl-testimonials-cta .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; padding: 19px 26px; border: 1px solid var(--wl-gold); border-radius: 0; background: var(--wl-gold); color: var(--wl-dark); font: 500 11px/1.5 var(--wl-sans); letter-spacing: .1em; text-transform: uppercase; }
.wl-testimonials-cta .wp-block-button__link:hover { border-color: #fff; background: #fff; color: var(--wl-dark); }
@media (max-width: 780px) {
    .wl-testimonials-page { padding-block: 54px 62px; }
    .wl-testimonials-intro { margin-bottom: 32px; text-align: left; }
    .wl-testimonials-intro h2 { font-size: 40px; }
    .wl-guest-review-grid { grid-template-columns: 1fr; gap: 16px; }
    .wl-guest-review { padding: 23px; }
    .wl-guest-review-details summary { font-size: 21px; }
    .wl-guest-review-excerpt { font-size: 21px; }
    .wl-testimonials-cta { align-items: flex-start; flex-direction: column; margin-top: 34px; padding: 25px; }
    .wl-testimonials-cta p { font-size: 27px; }
}

/* The Area page: scenic introduction, foliage feature, and activity directory. */
.wl-area-page { padding-block: 76px 88px; }
.wl-area-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 58px; align-items: center; }
.wl-area-intro h2, .wl-area-fall h2 { margin: 13px 0 20px; color: var(--wl-dark); font: 500 clamp(36px, 4vw, 52px)/1.08 var(--wl-serif); }
.wl-area-intro p, .wl-area-fall p { color: var(--wl-text); font-size: 17px; line-height: 1.8; }
.wl-area-landscape, .wl-area-fall-image { margin: 0; }
.wl-area-landscape img { display: block; width: 100%; height: 300px; object-fit: cover; object-position: 50% 50%; }
.wl-area-landscape figcaption, .wl-area-fall-image figcaption { margin-top: 10px; color: var(--wl-muted); font-size: 13px; letter-spacing: .04em; }
.wl-area-fall { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: 46px; align-items: center; margin-top: 76px; padding: 46px; background: #f0eee7; }
.wl-area-fall h2 { font-size: clamp(34px, 3.4vw, 46px); }
.wl-area-fall p { margin: 0 0 16px; font-size: 16px; }
.wl-area-fall .wl-button { display: inline-flex; margin-top: 12px; background: var(--wl-gold); color: var(--wl-dark); }
.wl-area-fall-image img { display: block; width: 100%; height: 410px; object-fit: cover; object-position: 32% center; }
.wl-area-activities { margin-top: 82px; }
.wl-area-activities .wl-section-heading { margin-bottom: 30px; }
.wl-area-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.wl-area-group { padding: 28px 30px; background: #fff; border: 1px solid var(--wl-line); border-top: 3px solid var(--wl-gold); box-shadow: 0 12px 34px #17364d0a; }
.wl-area-group h3 { margin: 0 0 17px; color: var(--wl-dark); font: 500 28px/1.15 var(--wl-serif); }
.wl-area-group ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.wl-area-group li { position: relative; padding-left: 19px; color: var(--wl-text); font-size: 15px; line-height: 1.55; }
.wl-area-group li::before { position: absolute; top: .55em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--wl-gold); content: ''; }
@media (max-width: 900px) {
    .wl-area-intro { grid-template-columns: 1fr; gap: 28px; }
    .wl-area-landscape img { height: 320px; }
    .wl-area-fall { grid-template-columns: 1fr; gap: 26px; margin-top: 52px; padding: 32px; }
    .wl-area-fall-image img { height: 330px; }
    .wl-area-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .wl-area-page { padding-block: 52px 64px; }
    .wl-area-intro h2 { font-size: 39px; }
    .wl-area-landscape img { height: 230px; }
    .wl-area-fall { margin-top: 42px; padding: 23px; }
    .wl-area-fall-image img { height: 245px; }
    .wl-area-activities { margin-top: 54px; }
    .wl-area-groups { grid-template-columns: 1fr; gap: 14px; }
    .wl-area-group { padding: 24px; }
}

/* Reservation page: booking actions first, then waiver and policy details. */
.wl-reservations-page { padding-block: 66px 90px; }
.wl-reservation-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: 42px; align-items: center; padding: 34px 38px; background: var(--wl-blue); color: #fff; }
.wl-reservation-contact .wl-eyebrow { color: var(--wl-gold); }
.wl-reservation-contact h2 { margin: 12px 0 12px; color: #fff; font: 500 clamp(32px, 3vw, 42px)/1.1 var(--wl-serif); }
.wl-reservation-contact-copy p { margin: 0; color: #ffffffd9; font-size: 15px; line-height: 1.65; }
.wl-reservation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 17px 24px; }
.wl-reservation-actions > a:not(.wl-button) { display: grid; gap: 5px; color: #fff; text-decoration: none; }
.wl-reservation-actions > a span { color: #ffffffad; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.wl-reservation-actions > a strong { font-size: 14px; }
.wl-reservation-actions .wl-button { background: var(--wl-gold); color: var(--wl-dark); }
.wl-reservation-actions .wp-block-buttons { margin: 0; }
.wl-reservation-actions .wp-block-button__link { display: inline-flex; align-items: center; padding: 15px 21px; border: 1px solid var(--wl-gold); border-radius: 0; background: var(--wl-gold); color: var(--wl-dark); font-size: 13px; font-weight: 700; text-decoration: none; }
.wl-reservation-actions .wl-reservation-action { display: grid; gap: 5px; margin: 0; color: #fff; }
.wl-reservation-actions .wl-reservation-action span { color: #ffffffad; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.wl-reservation-actions .wl-reservation-action strong { font-size: 14px; }
.wl-reservation-actions .wl-reservation-action a { color: inherit; text-decoration: none; }
.wl-waiver-card { margin-top: 44px; padding: 38px 42px; background: #fff; border: 1px solid var(--wl-line); border-top: 3px solid var(--wl-gold); box-shadow: 0 14px 40px #17364d0d; }
.wl-waiver-card h2, .wl-reservation-policies > h2 { margin: 12px 0 20px; color: var(--wl-dark); font: 500 clamp(32px, 3vw, 42px)/1.12 var(--wl-serif); }
.wl-waiver-card > p { color: var(--wl-text); font-size: 15px; line-height: 1.8; }
.wl-waiver-signatures { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 32px; }
.wl-waiver-signatures p { display: flex; min-width: 270px; align-items: baseline; gap: 8px; margin: 0; color: var(--wl-text); font-size: 14px; }
.wl-waiver-signatures i { height: 1.1em; flex: 1; border-bottom: 1px solid #596168; }
.wl-reservation-policies { margin-top: 62px; padding-top: 42px; border-top: 1px solid var(--wl-line); }
.wl-reservation-policies > h2 { margin-bottom: 28px; }
.wl-policy-list { display: grid; gap: 15px; }
.wl-policy-card { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 18px; padding: 24px 27px; background: #f2f1eb; }
.wl-policy-number { color: var(--wl-gold); font: 500 28px/1 var(--wl-serif); }
.wl-policy-card h3 { margin: 0 0 10px; color: var(--wl-dark); font: 500 24px/1.2 var(--wl-serif); }
.wl-policy-card p { margin: 0; color: var(--wl-text); font-size: 15px; line-height: 1.8; }
.wl-policy-card > .wl-policy-number { color: var(--wl-gold); font: 500 28px/1 var(--wl-serif); }
.wl-policy-card a { color: var(--wl-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 780px) {
    .wl-reservations-page { padding-block: 48px 62px; }
    .wl-reservation-contact { grid-template-columns: 1fr; gap: 24px; padding: 27px; }
    .wl-reservation-actions { align-items: flex-start; flex-direction: column; }
    .wl-waiver-card { margin-top: 30px; padding: 27px 24px; }
    .wl-reservation-policies { margin-top: 44px; padding-top: 32px; }
    .wl-policy-card { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 20px 17px; }
}

/* Rooms page: overview, room choices, amenities, and image gallery. */
.wl-rooms-page { padding-block: 66px 88px; }
.wl-rooms-welcome { display: grid; grid-template-columns: .92fr 1.08fr; gap: 52px; align-items: center; }
.wl-rooms-welcome-image img { display: block; width: 100%; max-height: 410px; object-fit: cover; }
.wl-rooms-welcome-copy h2, .wl-room-amenities h2 { margin: 12px 0 18px; color: var(--wl-dark); font: 500 clamp(36px, 3.7vw, 49px)/1.08 var(--wl-serif); }
.wl-rooms-welcome-copy p { color: var(--wl-text); font-size: 16px; line-height: 1.8; }
.wl-rooms-welcome-copy .wl-text-link { margin-top: 8px; }
.wl-room-image { display: block; width: 100%; height: 100%; min-height: 0; margin: 0; overflow: hidden; background: #e9e6dc; }
.wl-room-image img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; }
.wl-rooms-welcome-image .wl-room-image { height: 410px; }
.wl-room-type-photo .wl-room-image { min-height: 245px; }
.wl-rooms-listing { margin-top: 76px; }
.wl-rooms-listing > .wl-section-heading { margin-bottom: 28px; }
.wl-room-type-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.wl-room-type { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 245px; background: #fff; border: 1px solid var(--wl-line); box-shadow: 0 12px 34px #17364d0b; }
.wl-room-type-photo { min-height: 245px; overflow: hidden; background: #e9e6dc; }
.wl-room-type-photo img { display: block; width: 100%; height: 100%; min-height: 245px; object-fit: cover; }
.wl-room-type-copy { display: flex; align-items: flex-start; flex-direction: column; padding: 25px; }
.wl-room-type-copy .wl-eyebrow { font-size: 10px; }
.wl-room-type-copy h3 { margin: 10px 0; color: var(--wl-dark); font: 500 25px/1.13 var(--wl-serif); }
.wl-room-type-copy p { margin: 0; color: var(--wl-text); font-size: 14px; line-height: 1.65; }
.wl-room-type-copy a { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 18px; color: var(--wl-blue); font-size: 13px; font-weight: 700; }
.wl-room-type-copy a .wl-icon { width: 17px; }
.wl-room-amenities { display: grid; grid-template-columns: .7fr 1.3fr; gap: 34px; align-items: start; margin-top: 70px; padding: 38px 42px; background: var(--wl-blue); color: #fff; }
.wl-room-amenities .wl-eyebrow { color: var(--wl-gold); }
.wl-room-amenities h2 { margin-bottom: 0; color: #fff; font-size: 38px; }
.wl-room-amenities ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px 22px; margin: 0; padding: 0; list-style: none; }
.wl-room-amenities li { position: relative; padding-left: 20px; color: #ffffffeb; font-size: 14px; line-height: 1.55; }
.wl-room-amenities li::before { position: absolute; top: .55em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--wl-gold); content: ''; }
.wl-rooms-gallery { margin-top: 76px; }
.wl-rooms-gallery > .wl-section-heading { margin-bottom: 25px; }
.wl-rooms-gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.wl-rooms-gallery-grid figure { height: 220px; margin: 0; overflow: hidden; background: #e9e6dc; }
.wl-rooms-gallery-grid img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.wl-rooms-gallery-grid figure:hover img { transform: scale(1.04); }
.wl-rooms-gallery-links { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.wl-rooms-gallery-links p { margin: 0; color: var(--wl-text); font-size: 14px; }
.wl-rooms-gallery-links p a { color: var(--wl-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Block based homepage: preserve the existing site composition while keeping each
   section, image and call to action editable in the WordPress page editor. */
.wl-home-content > .wl-hero,
.wl-home-content .wl-hero { width: 100%; max-width: none; margin: 0; }
.wl-home-content .wl-testimonials .wl-section-heading .wl-eyebrow { white-space: nowrap; }
.wl-home-content .wl-container { width: min(1200px, calc(100% - 80px)); max-width: none; margin-inline: auto; }
.wl-home-content .wl-hero { min-height: 680px; height: min(760px, 68vw); padding: 0; }
.wl-home-content .wl-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
.wl-home-content .wl-hero-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 57%; }
.wl-home-content .wl-hero::after { position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg,#102f3ab0 0%,#14334265 50%,#18354115 100%),linear-gradient(0deg,#102f3a50,transparent 45%); content: ''; pointer-events: none; }
.wl-home-content .wl-hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; height: 100%; min-height: inherit; padding: 70px 0 100px; color: #fff; }
.wl-home-content .wl-hero-content > * { width: auto; max-width: 100%; }
.wl-home-content .wl-hero h1 { max-width: 980px; margin: 0 0 24px; color: #fff; font-size: clamp(56px,5.6vw,88px); line-height: .98; text-align: left; text-wrap: balance; }
.wl-home-content .wl-hero-content { text-align: left; }
.wl-home-content .wl-hero .wl-eyebrow { display: flex; align-items: center; gap: 15px; margin: 0 0 24px; color: #f1d9b3; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.wl-home-content .wl-hero .wl-eyebrow::before { width: 38px; height: 1px; background: var(--wl-gold); content: ''; }
.wl-home-content .wl-hero-content > p { max-width: 560px; margin: 0 0 28px; color: #fff; font-size: 18px; line-height: 1.75; text-align: left; }
.wl-home-content .wl-hero .wp-block-buttons { margin: 0; }
.wl-home-content .wl-hero-content .wp-block-buttons { justify-content: flex-start; }
.wl-home-content .wl-hero .wp-block-button__link,
.wl-home-content .wl-connect-action .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 58px; padding: 17px 27px; border: 1px solid var(--wl-gold); border-radius: 0; background: var(--wl-gold); color: var(--wl-dark); font: 600 13px/1.4 var(--wl-sans); letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.wl-home-content .wl-hero-bottom { position: absolute; z-index: 2; bottom: 32px; left: 40px; right: 40px; display: flex; justify-content: space-between; color: #fff; }
.wl-home-content .wl-arrival-wrap { width: min(1200px,calc(100% - 80px)); max-width: none; margin: -40px auto 0; }
.wl-home-content .wl-arrival { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 123px; padding: 25px 34px; background: var(--wl-paper); box-shadow: 0 13px 35px #283e4510; }
.wl-home-content .wl-arrival-title { display: flex; align-items: center; gap: 22px; }
.wl-home-content .wl-arrival-title p { margin: 0; font: 500 28px/1.2 var(--wl-serif); }
.wl-home-content .wl-arrival .wl-eyebrow { margin: 0 0 7px; color: var(--wl-gold); font-size: 11px; }
.wl-home-content .wl-arrival .wp-block-buttons { margin: 0; }
.wl-home-content .wl-home-section { padding-block: 88px; }
.wl-home-content .wl-welcome { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 70px; padding-block: 116px 120px; }
.wl-home-content .wl-welcome-images { position: relative; min-width: 0; padding: 0 67px 70px 0; }
.wl-home-content .wl-welcome-main { height: 455px; margin: 0; overflow: hidden; }
.wl-home-content .wl-welcome-main > figure.wp-block-image { width: 100%; height: auto; margin: 0; }
.wl-home-content .wl-welcome-detail > figure.wp-block-image { width: 100%; height: 100%; margin: 0; }
.wl-home-content .wl-welcome-main img { display: block; width: 100%; height: auto; object-fit: cover; }
.wl-home-content .wl-welcome-main > figure.wp-block-image { height: 455px; overflow: hidden; }
.wl-home-content .wl-welcome-main img { width: 100%; height: 100%; object-fit: cover; object-position: center; content: url('../images/home-welcome-room.webp?rev=20261005'); }
.wl-home-content .wl-hero-image img { content: url('../images/hero-background.webp?rev=20261005-2'); }
.wl-home-content .wl-welcome-detail { position: absolute; right: 0; bottom: 16px; box-sizing: border-box; width: 53%; height: auto; aspect-ratio: 3 / 2; margin: 0; border: 8px solid var(--wl-cream); }
.wl-home-content .wl-welcome-detail img { width: 100%; height: 100%; object-fit: cover; }
.wl-home-content .wl-stamp { display: block; }
.wl-home-content .wl-stamp > p { position: absolute; left: 50%; width: calc(100% - 20px); margin: 0; padding: 0; color: #83663c; font: 600 8px/1.1 var(--wl-sans); letter-spacing: .1em; text-align: center; text-transform: uppercase; white-space: nowrap; transform: translateX(-50%); }
.wl-home-content .wl-stamp > p:first-child { top: 16%; }
.wl-home-content .wl-stamp > p:nth-child(2) { top: 50%; width: auto; font-size: 19px; letter-spacing: 0; transform: translate(-50%,-50%); }
.wl-home-content .wl-stamp > p:last-child { bottom: 16%; font-size: 7px; letter-spacing: .08em; }
.wl-home-content .wl-welcome-copy h2 { margin: 12px 0 20px; font: 500 clamp(42px,4.2vw,58px)/1.08 var(--wl-serif); }
.wl-home-content .wl-welcome-copy p { color: var(--wl-text); font-size: 16px; line-height: 1.8; }
.wl-home-content .wl-welcome-copy > .wl-eyebrow { color: var(--wl-blue); font-size: 12px; letter-spacing: .13em; text-transform: uppercase; }
.wl-home-content .wl-rooms { width: 100%; max-width: none; padding: 78px 0 0; }
.wl-home-content .wl-rooms > .wl-container { position: relative; }
.wl-home-content .wl-room-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.wl-home-content .wl-room-photo { height: 360px; margin: 0; }
.wl-home-content .wl-room-photo figure { position: absolute; inset: 0; margin: 0; }
.wl-home-content .wl-room-photo figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wl-home-content .wl-photo-label { position: absolute; z-index: 1; top: 20px; left: 20px; padding: 8px 14px; background: var(--wl-paper); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.wl-home-content .wl-circle-arrow { position: absolute; z-index: 1; right: 20px; bottom: 20px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--wl-paper); color: var(--wl-dark); font-size: 24px; }
.wl-home-content .wl-room-info { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--wl-line); }
.wl-home-content .wl-room-info h3 { margin: 0 0 7px; font: 500 32px/1.15 var(--wl-serif); }
.wl-home-content .wl-room-info p { margin: 0; color: var(--wl-text); font-size: 15px; }
.wl-home-content .wl-amenities { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; padding: 45px 0; text-align: center; }
.wl-home-content .wl-amenity-icon { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 12px; border-radius: 50%; background: #f0eee7; color: var(--wl-blue); font-size: 28px; }
.wl-home-content .wl-amenities p { margin: 0; font-size: 15px; }
.wl-home-content .wl-video { width: 100%; max-width: none; padding: 0; }
.wl-home-content .wl-video-frame { width: 100%; max-width: none; margin: 0; aspect-ratio: 16/7; }
.wl-home-content .wl-attraction-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; margin-top: 34px; }
.wl-home-content .wl-attraction-card { padding: 28px; background: var(--wl-paper); border-top: 3px solid var(--wl-gold); box-shadow: 0 10px 35px #233f4510; }
.wl-home-content .wl-attraction-card h3 { margin: 0 0 12px; font: 500 27px/1.1 var(--wl-serif); }
.wl-home-content .wl-attraction-card p { margin: 0; color: var(--wl-text); font-size: 15px; line-height: 1.7; }
.wl-home-content .wl-celebrate { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); align-items: center; gap: 52px; }
.wl-home-content .wl-celebrate-image { margin: 0; }
.wl-home-content .wl-celebrate-image img { display: block; width: 100%; height: 390px; object-fit: cover; }
.wl-home-content .wl-dining-photo > .wp-block-image img { height: 100% !important; }
.wl-home-content .wl-review-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.wl-home-content .wl-review-card { padding: 26px; background: #fff; border: 1px solid var(--wl-line); }
.wl-home-content .wl-testimonials { width: 100%; max-width: none; padding-block: 82px; }
.wl-home-content .wl-testimonials > .wl-section-heading { width: min(1200px,calc(100% - 80px)); max-width: none; margin: 0 auto; }
.wl-home-content .wl-review-awards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; width: min(1200px,calc(100% - 80px)); max-width: none; margin: 30px auto 0; }
.wl-home-content .wl-review-awards > .wp-block-group { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 20px; width: auto; min-height: 116px; padding: 18px 24px; background: #d9f1e5; color: #142b24; text-align: center; }
.wl-home-content .wl-review-awards h3 { margin: 0; color: #142b24; font: 700 27px/1.1 var(--wl-sans); }
.wl-home-content .wl-review-awards p { margin: 0; color: #142b24; font-size: 14px; font-weight: 700; line-height: 1.4; }
.wl-home-content .wl-testimonials > .wl-review-grid { width: min(1200px,calc(100% - 80px)); max-width: none; margin: 24px auto 0; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: 24px; }
.wl-home-content .wl-review-stat { display: flex; min-height: 210px; flex-direction: column; align-items: center; justify-content: center; margin: 0; padding: 28px; background: var(--wl-blue); color: #fff; text-align: center; }
.wl-home-content .wl-review-stat h3 { margin: 0 0 12px; color: var(--wl-gold); font: 600 64px/1 var(--wl-serif); }
.wl-home-content .wl-review-stat p { margin: 0; color: #fff; font-size: 16px; line-height: 1.6; }
.wl-home-content .wl-review-grid blockquote { margin: 0; padding: 32px; border: 0; border-left: 3px solid var(--wl-gold); background: #fff; }
.wl-home-content .wl-review-grid blockquote p { margin: 14px 0; color: var(--wl-dark); font: 500 23px/1.45 var(--wl-serif); }
.wl-home-content .wl-review-grid blockquote p .wl-eyebrow { color: var(--wl-gold); font: 700 11px/1.4 var(--wl-sans); letter-spacing: .12em; text-transform: uppercase; }
.wl-home-content .wl-review-grid cite { color: var(--wl-text); font-size: 13px; font-style: normal; }
.wl-home-content .wl-interlude { width: min(1200px,calc(100% - 80px)); max-width: none; margin-inline: auto; padding: 50px 0 90px; text-align: center; }
.wl-home-content .wl-interlude .wl-small-sun { margin: 0 auto 16px; color: #a27a43; font-size: 30px; }
.wl-home-content .wl-interlude .wl-eyebrow { margin: 0 0 18px; color: var(--wl-blue); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.wl-home-content .wl-interlude > p:not(.wl-small-sun):not(.wl-eyebrow):not(.wl-interlude-line) { margin: 0; color: var(--wl-dark); font: 500 clamp(42px,4.5vw,66px)/1.1 var(--wl-serif); }
.wl-home-content .wl-interlude-line { width: 1px; height: 50px; margin: 28px auto 0; background: var(--wl-gold); font-size: 0; }
.wl-home-content .wl-faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; }
.wl-home-content .wl-faq details { padding: 0; border-bottom: 1px solid var(--wl-line); }
.wl-home-content .wl-faq summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 25px 42px 25px 0; color: var(--wl-dark); font-size: 17px; font-weight: 600; line-height: 1.45; list-style: none; cursor: pointer; }
.wl-home-content .wl-faq summary::-webkit-details-marker { display: none; }
.wl-home-content .wl-faq summary::after { position: absolute; top: 50%; right: 2px; display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--wl-gold); border-radius: 50%; color: var(--wl-blue); font-size: 19px; font-weight: 400; line-height: 1; content: '+'; transform: translateY(-50%); transition: background .2s ease,color .2s ease,transform .2s ease; }
.wl-home-content .wl-faq details[open] summary::after { background: var(--wl-blue); color: #fff; content: '−'; }
.wl-home-content .wl-faq summary:focus-visible { outline: 2px solid var(--wl-gold); outline-offset: 4px; }
.wl-home-content .wl-faq details > p,
.wl-home-content .wl-faq details > div > p { max-width: 620px; margin: 0 48px 25px 0; color: var(--wl-text); font-size: 16px; line-height: 1.7; }
.wl-home-content .wl-connect { padding-block: 70px; background: var(--wl-blue); color: #fff; }
.wl-home-content .wl-connect-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.wl-home-content .wl-connect h2 { color: #fff; font: 500 clamp(38px,4vw,54px)/1.1 var(--wl-serif); }
/* Fall interlude: turn the quiet text break into an image-led feature. */
.wl-home-content .wl-interlude { position: relative; left: 50%; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); grid-template-rows: auto auto auto; align-content: center; align-items: start; gap: 0 7vw; width: 100vw; max-width: none; min-height: 560px; margin: 0; padding: 88px max(40px,calc((100vw - 1200px)/2)); overflow: hidden; background: var(--wl-blue); text-align: left; transform: translateX(-50%); }
.wl-home-content .wl-interlude::after { position: absolute; inset: 0 0 0 51%; background: linear-gradient(90deg,var(--wl-blue) 0%,transparent 28%),url('../images/fall-scenic-road.jpg?rev=20261006') center 54%/cover no-repeat; content: ''; }
.wl-home-content .wl-interlude .wl-small-sun { grid-column: 1; grid-row: 1; margin: 0 0 16px; color: var(--wl-gold); font-size: 30px; }
.wl-home-content .wl-interlude .wl-eyebrow { grid-column: 1; grid-row: 2; margin: 0 0 18px; color: #f6d9b3; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
.wl-home-content .wl-interlude > p:not(.wl-small-sun):not(.wl-eyebrow):not(.wl-interlude-line) { position: relative; z-index: 1; grid-column: 1; grid-row: 3; max-width: 520px; margin: 0; color: #fff; font: 500 clamp(48px,5.2vw,76px)/1.02 var(--wl-serif); letter-spacing: -.025em; text-wrap: balance; }
.wl-home-content .wl-interlude > p:not(.wl-small-sun):not(.wl-eyebrow):not(.wl-interlude-line) em { color: #f4c993; }
.wl-home-content .wl-interlude-line { display: none; }
/* Gutenberg homepage hero: restore the original staged entrance without relying
   on the optional Motion library used by the earlier PHP template. */
@keyframes wlHeroFadeUp {
 from { opacity: 0; transform: translateY(22px); }
 to { opacity: 1; transform: translateY(0); }
}
.wl-home-content .wl-hero-content > .wl-eyebrow { animation: wlHeroFadeUp .75s .08s both cubic-bezier(.22,1,.36,1); }
.wl-home-content .wl-hero-content > h1 { animation: wlHeroFadeUp .9s .18s both cubic-bezier(.22,1,.36,1); }
.wl-home-content .wl-hero-content > p:not(.wl-eyebrow) { animation: wlHeroFadeUp .8s .32s both cubic-bezier(.22,1,.36,1); }
.wl-home-content .wl-hero-content > .wp-block-buttons { animation: wlHeroFadeUp .8s .46s both cubic-bezier(.22,1,.36,1); }
.wl-page-hero .wl-eyebrow { animation: wlHeroFadeUp .75s .08s both cubic-bezier(.22,1,.36,1); }
.wl-page-hero h1 { animation: wlHeroFadeUp .9s .18s both cubic-bezier(.22,1,.36,1); }
.wl-reveal-pending { opacity: 0; transform: translateY(24px); transition: opacity .75s cubic-bezier(.22,1,.36,1), transform .75s cubic-bezier(.22,1,.36,1); }
.wl-reveal-pending.wl-revealed { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
 .wl-home-content .wl-hero-content > .wl-eyebrow,
 .wl-home-content .wl-hero-content > h1,
 .wl-home-content .wl-hero-content > p:not(.wl-eyebrow),
 .wl-home-content .wl-hero-content > .wp-block-buttons,
 .wl-page-hero .wl-eyebrow,
 .wl-page-hero h1 { animation: none; }
 .wl-reveal-pending { opacity: 1; transform: none; transition: none; }
}
@media (max-width: 900px) {
 .wl-home-content .wl-container,.wl-home-content .wl-arrival-wrap { width: calc(100% - 48px); }
 .wl-home-content .wl-welcome { gap: 38px; }
 .wl-home-content .wl-attraction-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
 .wl-home-content .wl-hero { height: min(760px,100svh); min-height: 620px; }
 .wl-home-content .wl-hero h1 { max-width: 100%; font-size: clamp(46px,10vw,64px); }
 .wl-home-content .wl-hero-content > p { font-size: 16px; }
 .wl-home-content .wl-hero-bottom { left: 24px; right: 24px; bottom: 24px; }
 .wl-home-content .wl-container,.wl-home-content .wl-arrival-wrap { width: calc(100% - 40px); }
 .wl-home-content .wl-arrival { display: block; padding: 24px; }
 .wl-home-content .wl-welcome,.wl-home-content .wl-celebrate,.wl-home-content .wl-faq-layout { grid-template-columns: 1fr; gap: 32px; }
 .wl-home-content .wl-welcome { padding-block: 72px; }
 .wl-home-content .wl-welcome-main { height: 340px; }
 .wl-home-content .wl-welcome-detail { height: auto; }
 .wl-home-content .wl-room-grid,.wl-home-content .wl-review-grid { grid-template-columns: 1fr; }
 .wl-home-content .wl-testimonials > .wl-section-heading,.wl-home-content .wl-review-awards,.wl-home-content .wl-testimonials > .wl-review-grid,.wl-home-content .wl-interlude { width: calc(100% - 40px); }
 .wl-home-content .wl-review-awards { grid-template-columns: 1fr; }
 .wl-home-content .wl-room-photo { height: 290px; }
 .wl-home-content .wl-amenities { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .wl-home-content .wl-video-frame { aspect-ratio: 16/9; }
 .wl-home-content .wl-celebrate-image img { height: 270px; }
 .wl-home-content .wl-connect-inner { display: block; }
 .wl-home-content .wl-faq summary { padding-block: 21px; font-size: 16px; }
 .wl-home-content .wl-faq details > p,
 .wl-home-content .wl-faq details > div > p { margin-right: 0; font-size: 15px; }
}
@media (max-width: 1000px) {
    .wl-room-type-grid { grid-template-columns: 1fr; }
    .wl-room-amenities { grid-template-columns: 1fr; gap: 24px; }
    .wl-rooms-gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .wl-rooms-page { padding-block: 48px 62px; }
    .wl-rooms-welcome { grid-template-columns: 1fr; gap: 26px; }
    .wl-rooms-welcome-image img { max-height: 280px; }
    .wl-rooms-welcome-image .wl-room-image { height: 280px; }
    .wl-rooms-welcome-copy h2 { font-size: 39px; }
    .wl-rooms-listing, .wl-rooms-gallery { margin-top: 52px; }
    .wl-room-type { grid-template-columns: 1fr; }
    .wl-room-type-photo, .wl-room-type-photo img { height: 220px; min-height: 220px; }
    .wl-room-type-copy { min-height: 185px; padding: 22px; }
    .wl-room-amenities { margin-top: 48px; padding: 27px 24px; }
    .wl-room-amenities h2 { font-size: 35px; }
    .wl-room-amenities ul { grid-template-columns: 1fr; gap: 11px; }
    .wl-rooms-gallery-grid { gap: 10px; }
    .wl-rooms-gallery-grid figure { height: 175px; }
    .wl-rooms-gallery-links { align-items: flex-start; flex-direction: column; }
}

/* Pet policy page: clear rules, fee summary, and useful local contacts. */
.wl-pet-policy-page { padding-block: 70px 88px; }
.wl-pet-policy-intro { max-width: 790px; margin: 0 auto 34px; text-align: center; }
.wl-pet-policy-mark { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 16px; border-radius: 50%; background: #f3e9d2; color: var(--wl-blue); font-size: 25px; }
.wl-pet-policy-intro h2 { margin: 11px 0 15px; color: var(--wl-dark); font: 500 clamp(38px, 4vw, 52px)/1.08 var(--wl-serif); }
.wl-pet-policy-intro > p { margin: 0; color: var(--wl-text); font-size: 17px; line-height: 1.75; }
.wl-pet-fees { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 28px; }
.wl-pet-fees > div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; background: var(--wl-blue); color: #fff; }
.wl-pet-fees > .wp-block-column { min-width: 0; margin: 0; }
.wl-pet-fee-label { margin: 0; color: #fff; font-size: 13px; line-height: 1.4; }
.wl-pet-fee-amount { margin: 0; color: var(--wl-gold); font: 500 31px/1 var(--wl-serif); white-space: nowrap; }
.wl-pet-fees span { font-size: 13px; line-height: 1.4; }
.wl-pet-fees strong { color: var(--wl-gold); font: 500 31px/1 var(--wl-serif); white-space: nowrap; }
.wl-pet-rules { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; margin: 0; padding: 0; list-style: none; counter-reset: pet-rule; }
.wl-pet-rules li { position: relative; min-height: 76px; padding: 20px 20px 20px 58px; border-bottom: 1px solid var(--wl-line); color: var(--wl-text); font-size: 15px; line-height: 1.65; counter-increment: pet-rule; }
.wl-pet-rules li::before { position: absolute; top: 18px; left: 0; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #f3e9d2; color: var(--wl-blue); content: counter(pet-rule, decimal-leading-zero); font-size: 12px; font-weight: 700; }
.wl-pet-notes { margin-top: 32px; padding: 22px 26px; border-left: 3px solid var(--wl-gold); background: #f5f3ed; }
.wl-pet-notes p { margin: 0; color: var(--wl-text); font-size: 15px; line-height: 1.7; }
.wl-pet-notes p + p { margin-top: 8px; }
.wl-pet-vendors { margin-top: 68px; }
.wl-pet-vendors > .wl-section-heading { margin-bottom: 24px; }
.wl-pet-vendor-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.wl-pet-vendor { padding: 25px 27px; background: #fff; border: 1px solid var(--wl-line); border-top: 3px solid var(--wl-gold); }
.wl-pet-vendor h3 { margin: 10px 0; color: var(--wl-dark); font: 500 24px/1.2 var(--wl-serif); }
.wl-pet-vendor > a { color: var(--wl-blue); font-size: 15px; font-weight: 700; }
.wl-pet-vendor p { margin: 8px 0 0; color: var(--wl-muted); font-size: 13px; line-height: 1.55; }
.wl-pet-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 45px; padding: 28px 32px; background: #f0eee7; }
.wl-pet-cta .wl-eyebrow { color: var(--wl-blue); }
.wl-pet-cta p { margin: 7px 0 0; color: var(--wl-dark); font: 500 24px/1.25 var(--wl-serif); }
.wl-pet-cta .wl-button { background: var(--wl-gold); color: var(--wl-dark); white-space: nowrap; }
.wl-pet-cta .wp-block-buttons { margin: 0; }
.wl-pet-cta .wp-block-button__link { display: inline-flex; align-items: center; padding: 15px 21px; border: 1px solid var(--wl-gold); border-radius: 0; background: var(--wl-gold); color: var(--wl-dark); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
@media (max-width: 780px) {
    .wl-pet-policy-page { padding-block: 50px 64px; }
    .wl-pet-policy-intro h2 { font-size: 40px; }
    .wl-pet-fees { grid-template-columns: 1fr; gap: 9px; }
    .wl-pet-rules { grid-template-columns: 1fr; }
    .wl-pet-rules li { min-height: auto; }
    .wl-pet-vendors { margin-top: 50px; }
    .wl-pet-vendor-grid { grid-template-columns: 1fr; gap: 13px; }
    .wl-pet-cta { align-items: flex-start; flex-direction: column; padding: 24px; }
    .wl-pet-cta p { font-size: 22px; }
}

/* Editable Directions page: keep the complete story and contact details together,
   then give the map a full-width, predictable frame of its own. */
.wl-directions-page { display: block; padding-block: 66px 82px; }
.wl-directions-content { width: 100%; }
.wl-directions-layout { display: grid !important; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(28px, 4vw, 54px); align-items: start; width: 100% !important; max-width: none !important; margin: 0 !important; }
.wl-directions-layout > .wp-block-column { width: 100% !important; min-width: 0; flex-basis: auto !important; flex-grow: 0; }
.wl-directions-copy { max-width: 900px; min-width: 0; }
.wl-directions-copy > .wp-block-paragraph:first-child { color: var(--wl-blue); font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.wl-directions-copy h2 { margin: 12px 0 20px; color: var(--wl-dark); font: 500 clamp(36px, 4vw, 52px)/1.08 var(--wl-serif); }
.wl-directions-copy p { color: var(--wl-text); font-size: 16px; line-height: 1.8; }
.wl-directions-address { display: flex !important; align-items: center; gap: 16px; margin: 24px 0 18px; padding: 20px 22px; background: #fff; border: 1px solid var(--wl-line); border-left: 3px solid var(--wl-gold); }
.wl-directions-address::before { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: #f8eee2; color: var(--wl-blue); content: '⌖'; font-size: 25px; line-height: 1; }
.wl-directions-address > .wp-block-paragraph { max-width: none !important; margin: 0 !important; color: var(--wl-text); font-size: 15px; line-height: 1.65; text-align: left !important; }
.wl-directions-address strong { display: block; margin-bottom: 4px; color: var(--wl-dark); font-size: 18px; line-height: 1.3; }
.wl-directions-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 18px; }
.wl-directions-actions .wp-block-button__link { background: var(--wl-gold); border: 1px solid var(--wl-gold); color: var(--wl-dark); font-size: 14px; font-weight: 700; padding: 15px 21px; text-decoration: none; transition: background .2s ease, color .2s ease; }
.wl-directions-actions .wp-block-button__link:hover { background: var(--wl-dark); border-color: var(--wl-dark); color: #fff; }
.wl-directions-phone { margin: 12px 0 0 !important; }
.wl-directions-phone a { display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px; border: 1px solid var(--wl-line); background: #f4f1e9; color: var(--wl-blue); font-size: 14px; font-weight: 600; text-decoration: none; }
.wl-directions-phone a::before { color: var(--wl-gold); content: '☎'; font-size: 15px; }
.wl-directions-map-wrap { width: 100%; min-width: 0; margin: 0 !important; overflow: hidden; background: transparent; box-shadow: none; }
.wl-directions-page iframe { display: block !important; width: 100% !important; height: 450px !important; min-height: 450px !important; max-width: none !important; border: 0; }
.wl-directions-page figure:has(> iframe) { width: 100% !important; max-width: none !important; height: auto !important; aspect-ratio: auto !important; margin-inline: 0 !important; }
@media (max-width: 900px) { .wl-directions-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; } }
@media (max-width: 600px) { .wl-directions-page { padding-block: 48px 60px; } .wl-directions-copy h2 { font-size: 39px; } .wl-directions-page iframe { height: 360px !important; } .wl-directions-actions { align-items: flex-start; flex-direction: column; } .wl-directions-address { align-items: flex-start; gap: 12px; padding: 17px; } .wl-directions-address::before { width: 36px; height: 36px; flex-basis: 36px; font-size: 21px; } }
@media (max-width: 760px) {
 .wl-home-content .wl-interlude { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 0; min-height: 0; padding: 62px 24px 0; }
 .wl-home-content .wl-interlude::after { position: relative; inset: auto; grid-column: 1; grid-row: 4; display: block; width: calc(100% + 48px); height: clamp(240px,68vw,360px); margin: 38px -24px 0; background: url('../images/fall-scenic-road.jpg?rev=20261006') center 56%/cover no-repeat; }
 .wl-home-content .wl-interlude > p:not(.wl-small-sun):not(.wl-eyebrow):not(.wl-interlude-line) { max-width: 100%; font-size: clamp(44px,12vw,64px); }
}
/* Give the final booking prompt its own warm panel before the deep-blue footer. */
.wl-home-content .wl-connect { padding-block: 82px; border-block: 1px solid #e3dccd; background: #f3efe5; color: var(--wl-dark); }
.wl-home-content .wl-connect .wl-eyebrow { color: var(--wl-blue); }
.wl-home-content .wl-connect h2 { color: var(--wl-dark); }
.wl-home-content .wl-connect p { color: var(--wl-text); }
.wl-home-content .wl-connect-action > small { color: var(--wl-text); }

/* Keep the existing CTA appearance; change only the text weight. */
.wl-button,
.wp-block-button__link,
.comment-form .submit,
.wl-footer-book { font-weight: 700; }

/* CTA buttons: one bold, bright style and one hover state everywhere. */
:root { --wl-cta: #ff6b00; --wl-cta-ink: #10262b; --wl-cta-hover-bg: var(--wl-dark); --wl-cta-hover-ink: #fff; }
.wl-button,
.wl-button-light,
.wp-block-button__link,
.comment-form .submit,
.wl-home-content .wl-hero .wp-block-button__link,
.wl-home-content .wl-connect-action .wp-block-button__link,
.wl-area-fall .wl-button,
.wl-reservation-actions .wl-button,
.wl-reservation-actions .wp-block-button__link,
.wl-pet-cta .wl-button,
.wl-pet-cta .wp-block-button__link,
.wl-testimonials-cta .wp-block-button__link,
.wl-directions-actions .wp-block-button__link {
    background: var(--wl-cta);
    border: 1px solid var(--wl-cta);
    color: var(--wl-cta-ink);
    font-family: 'WL CTA Sans', var(--wl-sans);
    font-weight: 700;
    box-shadow: 0 8px 22px rgba(255, 107, 0, .32);
    transition: background .25s, color .25s, border-color .25s, box-shadow .25s, transform .25s;
}
.wl-button:hover, .wl-button:focus-visible,
.wl-button-light:hover, .wl-button-light:focus-visible,
.wp-block-button__link:hover, .wp-block-button__link:focus-visible,
.comment-form .submit:hover, .comment-form .submit:focus-visible,
.wl-home-content .wl-hero .wp-block-button__link:hover,
.wl-home-content .wl-connect-action .wp-block-button__link:hover,
.wl-reservation-actions .wp-block-button__link:hover,
.wl-pet-cta .wp-block-button__link:hover,
.wl-testimonials-cta .wp-block-button__link:hover,
.wl-directions-actions .wp-block-button__link:hover {
    background: var(--wl-cta-hover-bg);
    border-color: var(--wl-cta-hover-bg);
    color: var(--wl-cta-hover-ink);
    box-shadow: 0 10px 26px rgba(35, 63, 69, .3);
    transform: translateY(-1px);
}
.wl-footer-book:hover { background: var(--wl-cta); border-color: var(--wl-cta); color: var(--wl-cta-ink); }

/* Amenities strip: centred cards with real line icons. */
.wl-home-content .wl-amenities { gap: 0; padding: 56px 0; border-bottom: 1px solid var(--wl-line); }
.wl-home-content .wl-amenities > div { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 8px 24px; border-right: 1px solid var(--wl-line); text-align: center; }
.wl-home-content .wl-amenities > div:last-child { border-right: 0; }
.wl-home-content .wl-amenities > div > * { margin: 0 !important; }
.wl-home-content .wl-amenities > div > .wl-amenity-icon { position: relative; display: block; overflow: hidden; width: 68px; height: 68px; margin: 0 0 20px !important; border-radius: 50%; background: #fff0e3; color: transparent; font-size: 0; line-height: 0; transition: background .25s, transform .25s; }
.wl-home-content .wl-amenity-icon::before { content: ''; position: absolute; inset: 0; margin: auto; width: 30px; height: 30px; background: var(--wl-blue); -webkit-mask: var(--wl-amenity-svg) center/contain no-repeat; mask: var(--wl-amenity-svg) center/contain no-repeat; transition: background .25s; }
.wl-home-content .wl-amenities > div:hover .wl-amenity-icon { background: var(--wl-cta, #ff6b00); transform: translateY(-2px); }
.wl-home-content .wl-amenities > div:hover .wl-amenity-icon::before { background: #fff; }
.wl-home-content .wl-amenities > div > p:nth-child(2) { color: var(--wl-dark); font: 500 26px/1.15 var(--wl-serif); letter-spacing: -.01em; }
.wl-home-content .wl-amenities > div > p:nth-child(3) { margin-top: 8px !important; color: var(--wl-text); font-size: 14px; line-height: 1.5; }
.wl-home-content .wl-amenity-wifi { --wl-amenity-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.55a11 11 0 0 1 14.08 0'/%3E%3Cpath d='M1.42 9a16 16 0 0 1 21.16 0'/%3E%3Cpath d='M8.53 16.11a6 6 0 0 1 6.95 0'/%3E%3Ccircle cx='12' cy='20' r='1'/%3E%3C/svg%3E"); }
.wl-home-content .wl-amenity-air { --wl-amenity-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17l17.4-10'/%3E%3Cpath d='M9 3.5l3 2 3-2M9 20.5l3-2 3 2M3.6 10.6l2.6-1.1-.4-3M20.4 10.6l-2.6-1.1.4-3M3.6 13.4l2.6 1.1-.4 3M20.4 13.4l-2.6 1.1.4 3'/%3E%3C/svg%3E"); }
.wl-home-content .wl-amenity-pool { --wl-amenity-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 15c1.7 1.2 3.3 1.2 5 0s3.3-1.2 5 0 3.3 1.2 5 0 3.3-1.2 5 0'/%3E%3Cpath d='M2 19.5c1.7 1.2 3.3 1.2 5 0s3.3-1.2 5 0 3.3 1.2 5 0 3.3-1.2 5 0'/%3E%3Cpath d='M8 13V5.5a2 2 0 0 1 4 0M14 13V5.5a2 2 0 0 1 4 0M8 8.5h6M8 11.5h6'/%3E%3C/svg%3E"); }
.wl-home-content .wl-amenity-accessible { --wl-amenity-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='4' r='2'/%3E%3Cpath d='M11 7.5V13h5.5l2 6'/%3E%3Cpath d='M11 10h4'/%3E%3Cpath d='M7.5 11.2a5.5 5.5 0 1 0 7.6 7.3'/%3E%3C/svg%3E"); }
@media (max-width: 780px) {
 .wl-home-content .wl-amenities { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 36px; padding: 44px 0; }
 .wl-home-content .wl-amenities > div { padding: 0 12px; }
 .wl-home-content .wl-amenities > div:nth-child(2n) { border-right: 0; }
 .wl-home-content .wl-amenities > div > .wl-amenity-icon { width: 58px; height: 58px; margin-bottom: 16px !important; }
 .wl-home-content .wl-amenity-icon::before { width: 26px; height: 26px; }
 .wl-home-content .wl-amenities > div > p:nth-child(2) { font-size: 22px; }
 .wl-home-content .wl-amenities > div > p:nth-child(3) { font-size: 13px; }
}

/* ==========================================================================
   Homepage polish: contrast, cards, welcome imagery, section rhythm.
   ========================================================================== */
.wl-home-content { --wl-text: #3f4f4c; --wl-accent-ink: #b84a05; --wl-sand: #f1ebdf; }

/* 1. Contrast & type */
.wl-home-content .wl-welcome-copy p:not(.wl-eyebrow),
.wl-home-content .wl-section-heading > p,
.wl-home-content .wl-faq p:not(.wl-eyebrow),
.wl-home-content .wl-faq details p,
.wl-home-content .wl-connect p:not(.wl-eyebrow) { color: var(--wl-text); }
.wl-home-content .wl-section-heading > p { max-width: 340px; font-size: 16px; line-height: 1.6; }
.wl-home-content :is(.wl-welcome, .wl-offers, .wl-testimonials, .wl-faq) .wl-eyebrow {
    display: inline-flex; align-items: center; gap: 14px;
    color: var(--wl-accent-ink); font-family: 'WL CTA Sans', var(--wl-sans); font-weight: 700;
    font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
}
.wl-home-content :is(.wl-welcome, .wl-offers, .wl-testimonials, .wl-faq) .wl-eyebrow::before {
    content: ''; flex: 0 0 32px; height: 2px; background: var(--wl-cta, #ff6b00);
}
.wl-home-content .wl-attraction-card .wl-eyebrow::before { display: none; }
.wl-home-content :is(.wl-welcome-copy, .wl-section-heading, .wl-faq) h2 em { color: var(--wl-accent-ink); }

/* 2. Cards & tiles */
.wl-home-content .wl-attraction-grid { gap: 28px; }
.wl-home-content .wl-attraction-card {
    position: relative; display: flex; flex-direction: column; padding: 34px 32px 30px;
    background: #fff; border-top: 4px solid var(--wl-cta, #ff6b00); border-radius: 6px;
    box-shadow: 0 18px 45px rgba(35, 63, 69, .09); transition: transform .3s, box-shadow .3s;
}
.wl-home-content .wl-attraction-card:hover { transform: translateY(-6px); box-shadow: 0 26px 60px rgba(35, 63, 69, .16); }
.wl-home-content .wl-attraction-card .wl-eyebrow { color: var(--wl-accent-ink); font-size: 11px; letter-spacing: .16em; font-weight: 700; font-family: 'WL CTA Sans', var(--wl-sans); }
.wl-home-content .wl-attraction-card h3 { color: var(--wl-dark); font-size: 29px; }
.wl-home-content .wl-attraction-card p { color: var(--wl-text); }
.wl-home-content .wl-attraction-card p:last-child { margin-top: auto; padding-top: 18px; }
.wl-home-content .wl-attraction-card a { color: var(--wl-dark); font-family: 'WL CTA Sans', var(--wl-sans); font-weight: 700; text-decoration: none; border-bottom: 2px solid var(--wl-cta, #ff6b00); padding-bottom: 3px; transition: color .2s; }
.wl-home-content .wl-attraction-card a:hover { color: var(--wl-accent-ink); }

.wl-home-content .wl-review-awards > .wp-block-group {
    position: relative; justify-content: flex-start; gap: 18px; padding: 22px 26px 22px 86px;
    background: #fff; color: var(--wl-dark); border-left: 4px solid var(--wl-cta, #ff6b00); border-radius: 6px;
    box-shadow: 0 14px 36px rgba(35, 63, 69, .08); text-align: left; transition: transform .3s, box-shadow .3s;
}
.wl-home-content .wl-review-awards > .wp-block-group:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(35, 63, 69, .14); }
.wl-home-content .wl-review-awards > .wp-block-group::before {
    content: ''; position: absolute; left: 24px; top: 50%; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%;
    background: #fff0e3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b84a05' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.2 13.7 7 22l5-3 5 3-1.2-8.3'/%3E%3C/svg%3E") center/24px no-repeat;
}
.wl-home-content .wl-review-awards h3 { color: var(--wl-blue); font: 600 34px/1 var(--wl-serif); }
.wl-home-content .wl-review-awards p { color: var(--wl-text); font-weight: 600; }

.wl-home-content .wl-review-stat { border-radius: 6px; background: linear-gradient(150deg, #0e4a75 0%, var(--wl-blue) 60%, #082d49 100%); box-shadow: 0 18px 45px rgba(11, 61, 98, .25); }
.wl-home-content .wl-review-stat h3 { color: #ff8a3d; font-size: 76px; }
.wl-home-content .wl-review-grid .wp-block-quote {
    position: relative; overflow: hidden; border-radius: 6px; box-shadow: 0 18px 45px rgba(35, 63, 69, .09);
}
.wl-home-content .wl-review-grid .wp-block-quote::after {
    content: '\201C'; position: absolute; right: 26px; top: -18px; color: #ffe1c9; font: 600 190px/1 var(--wl-serif); pointer-events: none;
}
.wl-home-content .wl-review-grid .wp-block-quote > * { position: relative; z-index: 1; }
.wl-home-content .wl-review-grid .wp-block-quote p:not(:first-child) { color: var(--wl-dark); }

/* 3. Welcome & images */
.wl-home-content .wl-welcome-main { border-radius: 6px; box-shadow: -22px 22px 0 0 #ffe1c9, 0 24px 50px rgba(35, 63, 69, .14); }
.wl-home-content .wl-welcome-detail { border-color: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 20px 40px rgba(35, 63, 69, .22); }
.wl-home-content .wl-welcome-main img,
.wl-home-content .wl-welcome-detail img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.wl-home-content .wl-welcome-main:hover img,
.wl-home-content .wl-welcome-detail:hover img { transform: scale(1.04); }
.wl-home-content .wl-stamp { z-index: 3; width: 128px; height: 128px; background: var(--wl-blue); border: 2px solid var(--wl-cta, #ff6b00); outline: 6px solid var(--wl-cream); box-shadow: 0 14px 30px rgba(11, 61, 98, .3); }
.wl-home-content .wl-stamp > p { color: #fff; font-size: 10px; letter-spacing: .14em; }
.wl-home-content .wl-stamp > p:nth-child(2) { color: #ff8a3d; font-size: 24px; }
.wl-home-content .wl-stamp > p:last-child { font-size: 9px; }
.wl-home-content .wl-room-photo { border-radius: 6px; }
.wl-home-content .wl-room-photo figure img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.wl-home-content .wl-room-photo:hover figure img { transform: scale(1.05); }

/* 4. Section rhythm */
.wl-home-content .wl-offers { position: relative; background: #fff; box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax); }
.wl-home-content .wl-testimonials { position: relative; background: var(--wl-sand); box-shadow: 0 0 0 100vmax var(--wl-sand); clip-path: inset(0 -100vmax); }
.wl-home-content .wl-testimonials .wp-block-quote { background: #fff; }

.wl-home-content .wl-connect {
    position: relative; overflow: hidden; padding-block: 90px; border: 0;
    background: radial-gradient(circle at 85% 20%, #ff9a4d 0%, transparent 45%), linear-gradient(120deg, #ff6b00 0%, #ff7d1f 100%);
    color: #10262b;
}
.wl-home-content .wl-connect::before {
    content: '\2726'; position: absolute; right: 6%; bottom: -60px; color: rgba(255, 255, 255, .14); font-size: 320px; line-height: 1; pointer-events: none;
}
.wl-home-content .wl-connect-inner { position: relative; z-index: 1; }
.wl-home-content .wl-connect .wl-eyebrow { color: #10262b; font-family: 'WL CTA Sans', var(--wl-sans); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.wl-home-content .wl-connect h2 { color: #10262b; font-size: clamp(42px, 4.6vw, 64px); }
.wl-home-content .wl-connect p:not(.wl-eyebrow),
.wl-home-content .wl-connect-action > p,
.wl-home-content .wl-connect-action > small { color: #2b1d12; }
.wl-home-content .wl-connect-action .wp-block-button__link {
    background: var(--wl-blue); border-color: var(--wl-blue); color: #fff; box-shadow: 0 14px 30px rgba(11, 61, 98, .35);
}
.wl-home-content .wl-connect-action .wp-block-button__link:hover,
.wl-home-content .wl-connect-action .wp-block-button__link:focus-visible {
    background: var(--wl-dark); border-color: var(--wl-dark); color: #fff;
}
/* The orange band already closes the homepage, so skip the repeated footer headline here. */
.wl-home .wl-footer-top { display: none; }

@media (max-width: 780px) {
    .wl-home-content .wl-welcome-main { box-shadow: -12px 12px 0 0 #ffe1c9, 0 18px 36px rgba(35, 63, 69, .14); margin-left: 12px; }
    .wl-home-content .wl-stamp { width: 104px; height: 104px; }
    .wl-home-content .wl-review-awards > .wp-block-group { padding-left: 80px; }
    .wl-home-content .wl-connect { padding-block: 64px; }
    .wl-home-content .wl-connect::before { font-size: 200px; bottom: -40px; }
    .wl-home-content .wl-testimonials > .wl-review-grid { grid-template-columns: 1fr; }
    .wl-home-content .wl-review-stat { min-height: 0; padding: 36px 24px; }
    .wl-home-content .wl-review-awards > .wp-block-group { min-height: 96px; }
    .wl-home-content .wl-review-awards h3 { font-size: 30px; white-space: nowrap; }
}

/* ==========================================================================
   Footer: larger type, contact icons, mountain silhouette, refined details.
   ========================================================================== */
.wl-footer { padding-top: 84px; background: linear-gradient(180deg, #0a3558 0%, #072a47 100%); }
.wl-footer::after {
    content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 170px; pointer-events: none;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 160' fill='white' stroke='none' preserveAspectRatio='none'%3E%3Cpath d='M0 160 L120 70 L190 115 L300 20 L410 120 L470 85 L560 150 L650 60 L760 130 L840 90 L960 160 L1060 75 L1150 125 L1250 40 L1360 135 L1440 95 L1440 160 Z'/%3E%3C/svg%3E") bottom/100% 100% no-repeat; opacity: .045;
}
.wl-footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 56px; padding-block: 56px 64px; }
.wl-home .wl-footer { padding-top: 40px; }
.wl-footer-top { padding-bottom: 56px; }
.wl-footer-top .wl-eyebrow { display: block; font-family: 'WL CTA Sans', var(--wl-sans); font-size: 13px; font-weight: 700; letter-spacing: .18em; color: #ffa45c; }
.wl-footer-book { width: 76px; height: 76px; border-color: rgba(255, 255, 255, .35); color: #fff; }
.wl-footer-grid .wl-brand { font-size: 32px; }
.wl-footer-grid .wl-brand small { font-size: 12px; letter-spacing: .16em; }
.wl-footer-grid .wl-brand-mark { width: 38px; }
.wl-footer-grid h3 { position: relative; margin: 10px 0 26px; padding-bottom: 14px; font-family: 'WL CTA Sans', var(--wl-sans); font-size: 13px; letter-spacing: .18em; color: #ffa45c; }
.wl-footer-grid h3::after { content: ''; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: var(--wl-cta, #ff6b00); }
.wl-footer-grid > div > a:not(.wl-brand):not(.wl-text-link) { width: fit-content; margin: 0 0 14px; font-size: 17px; line-height: 1.5; color: #e4edf0; }
.wl-footer-grid address { position: relative; max-width: 290px; margin: 26px 0 18px; padding-left: 30px; font-size: 17px; line-height: 1.7; color: #c9d7dc; }
.wl-footer-grid address::before { content: ''; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; background: #ffa45c; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center/contain no-repeat; }
.wl-footer-grid .wl-text-link { font-size: 13px; letter-spacing: .12em; padding-bottom: 6px; border-bottom: 2px solid var(--wl-cta, #ff6b00); }

/* Contact column: phone and email as clear, tappable rows with icons. */
.wl-footer-grid > div:last-child > a:not(.wl-brand):not(.wl-text-link) { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.wl-footer-grid > div:last-child > a:not(.wl-brand):not(.wl-text-link)::before {
    content: ''; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); transition: background .25s, border-color .25s;
}
.wl-footer-grid > div:last-child > a:not(.wl-brand):not(.wl-text-link)::after {
    content: ''; position: absolute; width: 18px; height: 18px; margin-left: 11px; background: #ffa45c; transition: background .25s;
}
.wl-footer-grid > div:last-child > a:not(.wl-brand):not(.wl-text-link) { position: relative; }
.wl-footer-grid > div:last-child > a:nth-of-type(1)::after { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat; }
.wl-footer-grid > div:last-child > a:nth-of-type(2)::after { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E") center/contain no-repeat; }
.wl-footer-grid > div:last-child > a:nth-of-type(1) { color: #fff; font: 500 25px/1.2 var(--wl-serif); letter-spacing: .01em; }
.wl-footer-grid > div:last-child > a:not(.wl-brand):not(.wl-text-link):hover { transform: none; }
.wl-footer-grid > div:last-child > a:not(.wl-brand):not(.wl-text-link):hover::before { background: var(--wl-cta, #ff6b00); border-color: var(--wl-cta, #ff6b00); }
.wl-footer-grid > div:last-child > a:not(.wl-brand):not(.wl-text-link):hover::after { background: #10262b; }

/* Bottom bar */
.wl-footer-bottom { min-height: 84px; font-size: 14px; color: #a9c0ca; }
.wl-footer-bottom nav a, .wl-footer-bottom > a { font-size: 14px; }
.wl-footer-bottom > a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50px; transition: background .25s, border-color .25s, color .25s; }
.wl-footer-bottom > a:hover { background: var(--wl-cta, #ff6b00); border-color: var(--wl-cta, #ff6b00); color: #10262b; }

@media (max-width: 1100px) and (min-width: 781px) {
    .wl-footer-grid { grid-template-columns: 1fr 1fr; gap: 44px 40px; }
}
@media (max-width: 780px) {
    .wl-footer { padding-top: 56px; }
    .wl-footer::after { height: 110px; }
    .wl-footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 20px; padding-block: 40px 44px; }
    .wl-home .wl-footer { padding-top: 16px; }
    .wl-footer-grid .wl-brand { font-size: 28px; }
    .wl-footer-grid h3 { font-size: 12px; margin-bottom: 20px; }
    .wl-footer-grid > div > a:not(.wl-brand):not(.wl-text-link), .wl-footer-grid address { font-size: 16px; }
    .wl-footer-grid > div:last-child > a:nth-of-type(1) { font-size: 23px; }
    .wl-footer-bottom { font-size: 13px; }
}

/* Hero background video */
.wl-hero-video { position: absolute; inset: 0; overflow: hidden; container-type: size; pointer-events: none; }
.wl-hero-video iframe { position: absolute; top: 50%; left: 50%; width: max(112cqw, 199.1cqh); height: max(112cqh, 63cqw); transform: translate(-50%, -46%); border: 0; }

/* Arrival bar refresh */
.wl-home-content .wl-arrival { gap: 32px; padding: 30px 40px; border-top: 3px solid var(--wl-gold); box-shadow: 0 22px 50px #283e4520; }
.wl-home-content .wl-arrival-title { flex: 1 1 auto; }
.wl-promo-mark { flex: none; width: 56px; height: 56px; font-size: 26px; box-shadow: 0 0 0 6px #f3a65a33; }
.wl-home-content .wl-arrival-title p { font-size: 30px; }
.wl-arrival-phone { display: flex; flex-direction: column; gap: 4px; padding: 0 36px; border-left: 1px solid var(--wl-line); border-right: 1px solid var(--wl-line); text-decoration: none; color: var(--wl-text); white-space: nowrap; }
.wl-arrival-phone-label { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #94764e; }
.wl-arrival-phone-number { font: 500 38px/1.1 var(--wl-serif); letter-spacing: -.01em; transition: color .2s; }
.wl-arrival-phone:hover .wl-arrival-phone-number { color: #b72b20; }
@media (max-width: 1100px) {
  .wl-home-content .wl-arrival { flex-wrap: wrap; }
  .wl-arrival-phone { border-right: 0; padding-right: 0; }
}
@media (max-width: 760px) {
  .wl-home-content .wl-arrival { display: block; padding: 24px; }
  .wl-arrival-phone { border: 0; border-top: 1px solid var(--wl-line); border-bottom: 1px solid var(--wl-line); padding: 18px 0; margin-top: 20px; }
  .wl-arrival-phone-number { font-size: 34px; }
  .wl-home-content .wl-arrival .wp-block-buttons { margin-top: 20px; }
}

/* Arrival eyebrow legibility */
.wl-home-content .wl-arrival .wl-eyebrow { color: #a8431a; font-family: var(--wl-sans); font-size: 12px; font-weight: 700; letter-spacing: .16em; margin-bottom: 8px; }

.wl-home-content .wl-arrival .wp-block-button__link { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }

.wp-block-button__link .wl-icon { width: 20px; height: 20px; flex: none; transition: transform .25s; }
.wp-block-button__link:hover .wl-icon { transform: translateX(4px); }

.wl-home-content .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 14px; line-height: 1; padding: 20px 28px; text-align: center; }
.wl-home-content .wp-block-button__link .wl-icon { display: block; margin: 0; vertical-align: baseline; }

/* Rooms heading on blue */
.wl-home-content .wl-rooms-heading > p { color: #ffffffd9; max-width: 380px; }
.wl-home-content .wl-rooms-heading .wl-eyebrow { white-space: nowrap; }
.wl-home-content .wl-rooms-heading h2 em { color: var(--wl-gold); }

/* Fall interlude CTA */
.wl-home-content .wl-interlude > .wl-interlude-cta { position: relative; z-index: 1; grid-column: 1; grid-row: 3; margin: 36px 0 0; }
.wl-home-content .wl-interlude > p:not(.wl-small-sun):not(.wl-eyebrow):not(.wl-interlude-line) { grid-row: 2; }
.wl-home-content .wl-interlude .wl-interlude-cta .wp-block-button__link { text-transform: uppercase; letter-spacing: .1em; font-weight: 700; font-size: 13px; white-space: nowrap; }
@media (max-width: 760px) { .wl-home-content .wl-interlude > .wl-interlude-cta { margin-top: 28px; } }

/* Larger top bar */
.wl-topbar { height: 46px; font-size: 14px; letter-spacing: .04em; }
.wl-topbar .wl-icon { width: 16px; height: 16px; margin-right: 8px; }
@media (max-width: 900px) { .wl-topbar { height: 42px; font-size: 13px; } }
@media (max-width: 600px) { .wl-topbar { height: 40px; font-size: 12px; } .wl-topbar .wl-icon { width: 14px; height: 14px; margin-right: 6px; } }

/* Top bar icon + text alignment */
.wl-topbar-item { display: inline-flex; align-items: center; gap: 8px; line-height: 1; }
.wl-topbar-item .wl-icon { flex: none; width: 16px; height: 16px; margin: 0; display: block; }
@media (max-width: 600px) { .wl-topbar-item { gap: 6px; } .wl-topbar-item .wl-icon { width: 14px; height: 14px; } }

/* Amenities: larger, card style */
.wl-home-content .wl-amenities { gap: 24px; padding: 80px 0; border-bottom: 0; }
.wl-home-content .wl-amenities > div { padding: 44px 24px 40px; background: #fff; border: 1px solid var(--wl-line); border-bottom: 3px solid var(--wl-gold); border-radius: 4px; box-shadow: 0 16px 40px #17364d0f; transition: transform .25s, box-shadow .25s; }
.wl-home-content .wl-amenities > div:last-child { border-right: 1px solid var(--wl-line); }
.wl-home-content .wl-amenities > div:hover { transform: translateY(-4px); box-shadow: 0 22px 50px #17364d1c; }
.wl-home-content .wl-amenities > div > .wl-amenity-icon { width: 100px; height: 100px; margin-bottom: 26px !important; }
.wl-home-content .wl-amenity-icon::before { width: 46px; height: 46px; }
.wl-home-content .wl-amenities > div > p:nth-child(2) { font-size: 34px; }
.wl-home-content .wl-amenities > div > p:nth-child(3) { margin-top: 10px !important; font-size: 17px; }
@media (max-width: 1000px) {
  .wl-home-content .wl-amenities { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: 56px 0; }
  .wl-home-content .wl-amenities > div { padding: 32px 16px 30px; }
  .wl-home-content .wl-amenities > div:nth-child(2n) { border-right: 1px solid var(--wl-line); }
  .wl-home-content .wl-amenities > div > .wl-amenity-icon { width: 80px; height: 80px; }
  .wl-home-content .wl-amenity-icon::before { width: 38px; height: 38px; }
  .wl-home-content .wl-amenities > div > p:nth-child(2) { font-size: 28px; }
  .wl-home-content .wl-amenities > div > p:nth-child(3) { font-size: 15px; }
}
@media (max-width: 520px) {
  .wl-home-content .wl-amenities { gap: 12px; }
  .wl-home-content .wl-amenities > div { padding: 24px 10px 22px; }
  .wl-home-content .wl-amenities > div > .wl-amenity-icon { width: 68px; height: 68px; }
  .wl-home-content .wl-amenity-icon::before { width: 32px; height: 32px; }
  .wl-home-content .wl-amenities > div > p:nth-child(2) { font-size: 23px; }
  .wl-home-content .wl-amenities > div > p:nth-child(3) { font-size: 13px; }
}

/* Arrow icons drawn with CSS so editor blocks stay plain text (no inline SVG in block content) */
.wl-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wp-block-button__link, .wl-arrow-link, .wl-attraction-card a { display: inline-flex; align-items: center; gap: 14px; }
.wp-block-button__link::after, .wl-arrow-link::after, .wl-attraction-card a::after { content: ''; flex: none; width: 20px; height: 20px; background: currentColor; transition: transform .25s; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-5-5 5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15m-5-5 5 5-5 5'/%3E%3C/svg%3E") center/contain no-repeat; }
.wp-block-button__link:hover::after, .wl-arrow-link:hover::after, .wl-attraction-card a:hover::after { transform: translateX(4px); }
.wl-attraction-card a::after { color: var(--wl-gold); width: 18px; height: 18px; }

/* Fall stay content */
.wl-home-content .wl-fall-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 80px; align-items: start; padding-block: 100px 70px; }
.wl-home-content .wl-fall-intro-head { position: sticky; top: calc(var(--wl-header) + 40px); }
.wl-home-content .wl-fall-intro-head h2 { margin-bottom: 32px; font-size: clamp(40px, 4vw, 58px); line-height: 1.05; }
.wl-home-content .wl-fall-coupon { padding: 26px 30px; background: linear-gradient(120deg, #ff6b00 0%, #ff7d1f 100%); color: #10262b; box-shadow: 0 18px 40px #ff6b0035; }
.wl-home-content .wl-fall-coupon p { margin: 0; color: #10262b; font: 600 24px/1.3 var(--wl-serif); }
.wl-home-content .wl-fall-intro-body > * { margin: 0 0 24px; }
.wl-home-content .wl-fall-intro-body p { color: var(--wl-text); font-size: 17px; line-height: 1.85; }
.wl-home-content .wl-fall-intro-body p.wl-fall-lead { color: var(--wl-dark); font-size: 21px; line-height: 1.7; }
.wl-home-content .wl-fall-intro-body strong { color: var(--wl-dark); }
@media (max-width: 1000px) {
    .wl-home-content .wl-fall-intro { grid-template-columns: 1fr; gap: 36px; padding-block: 72px 48px; }
    .wl-home-content .wl-fall-intro-head { position: static; }
}
@media (max-width: 560px) {
    .wl-home-content .wl-fall-intro-body p.wl-fall-lead { font-size: 19px; }
    .wl-home-content .wl-fall-coupon p { font-size: 21px; }
}

/* Welcome section refresh */
.wl-home-content .wl-welcome { gap: 96px; padding-block: 120px 110px; }
.wl-home-content .wl-welcome-images { padding: 28px 0 96px 28px; }
.wl-home-content .wl-welcome-main { height: auto; border-radius: 6px; box-shadow: 0 28px 60px rgba(35, 63, 69, .18); }
.wl-home-content .wl-welcome-main > figure.wp-block-image { height: auto; aspect-ratio: 4 / 3.3; }
.wl-home-content .wl-welcome-detail { right: -32px; bottom: 44px; width: 50%; border: 7px solid #fff; border-radius: 6px; box-shadow: 0 22px 46px rgba(35, 63, 69, .26); }
.wl-home-content .wl-stamp { left: 0; right: auto; top: 0; width: 116px; height: 116px; transform: rotate(-8deg); outline-width: 5px; }
.wl-home-content .wl-image-caption { position: absolute; left: 28px; bottom: 36px; max-width: 42%; margin: 0; color: #6a5a45; font: italic 400 19px/1.35 var(--wl-serif); }
.wl-home-content .wl-welcome-copy > .wl-eyebrow { margin-bottom: 18px; }
.wl-home-content .wl-welcome-copy h2 { margin: 0 0 26px; font-size: clamp(38px, 3.6vw, 54px); line-height: 1.08; }
.wl-home-content .wl-welcome-copy p:not(.wl-eyebrow) { font-size: 17px; line-height: 1.85; }
.wl-home-content .wl-welcome-copy h3 { margin: 36px 0 12px; padding-left: 18px; border-left: 3px solid var(--wl-gold); color: var(--wl-dark); font: 500 30px/1.15 var(--wl-serif); }
.wl-home-content .wl-welcome-copy p:last-child { margin-top: 28px; }
@media (max-width: 1000px) {
    .wl-home-content .wl-welcome { gap: 56px; padding-block: 80px; }
    .wl-home-content .wl-welcome-images { max-width: 560px; padding: 24px 0 90px 24px; margin-inline: auto; }
    .wl-home-content .wl-welcome-detail { right: -12px; }
}
@media (max-width: 560px) {
    .wl-home-content .wl-welcome-images { padding: 20px 0 80px 14px; }
    .wl-home-content .wl-welcome-detail { right: 0; width: 56%; bottom: 36px; }
    .wl-home-content .wl-stamp { width: 92px; height: 92px; }
    .wl-home-content .wl-image-caption { left: 14px; font-size: 16px; }
    .wl-home-content .wl-welcome-copy p:not(.wl-eyebrow) { font-size: 16px; }
}

/* Welcome section now carries the full fall copy */
.wl-home-content .wl-welcome { align-items: start; }
.wl-home-content .wl-welcome-images { position: sticky; top: calc(var(--wl-header) + 40px); }
.wl-home-content .wl-welcome-copy .wl-fall-coupon { margin: 0 0 30px; }
.wl-home-content .wl-welcome-copy > p:not(.wl-eyebrow) { margin: 0 0 22px; }
.wl-home-content .wl-welcome-copy p strong { color: var(--wl-dark); font-weight: 700; }
.wl-home-content .wl-welcome-copy .wl-fall-lead { color: var(--wl-dark); font-size: 20px; line-height: 1.7; }
@media (max-width: 760px) { .wl-home-content .wl-welcome-images { position: relative; top: 0; } }
.wl-home-content .wl-welcome-copy .wl-fall-coupon p { margin: 0; color: #10262b; font: 600 24px/1.3 var(--wl-serif); }
@media (max-width: 560px) { .wl-home-content .wl-welcome-copy .wl-fall-coupon p { font-size: 21px; } }



@media (max-width: 1000px) {
}

/* Why stay: soft peach band between the welcome and rooms sections */
.wl-home-content .wl-fall-why { width: 100%; max-width: none; margin: 0; padding: 96px 0; background: linear-gradient(180deg, #fff1e4 0%, #ffe6d0 100%); border-block: 1px solid #f6d5b8; }
.wl-home-content .wl-fall-why-panel { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-rows: auto 1fr; column-gap: 80px; align-items: start; padding: 0; background: transparent; color: var(--wl-dark); }
.wl-home-content .wl-fall-why-panel h2 { grid-column: 1; grid-row: 1; max-width: none; margin: 0; padding-bottom: 28px; color: var(--wl-dark); font-size: clamp(38px, 3.8vw, 56px); line-height: 1.08; }
.wl-home-content .wl-fall-why-panel h2 em { color: var(--wl-accent-ink, #b84a05); }
.wl-home-content .wl-fall-why-panel h2::after { content: ''; display: block; width: 64px; height: 3px; margin-top: 28px; background: var(--wl-gold); }
.wl-home-content .wl-fall-why-panel .wp-block-buttons { grid-column: 1; grid-row: 2; margin: 12px 0 0; align-self: start; }
.wl-home-content .wl-fall-why-body { grid-column: 2; grid-row: 1 / span 2; display: block; }
.wl-home-content .wl-fall-why-body p { margin: 0 0 26px; color: #3f4f4c; font-size: 18px; line-height: 1.85; }
.wl-home-content .wl-fall-why-body p:last-child { margin-bottom: 0; padding-top: 26px; border-top: 1px solid #e8c9a8; }
.wl-home-content .wl-fall-why-body strong { color: var(--wl-dark); font-weight: 700; }
@media (max-width: 1000px) {
    .wl-home-content .wl-fall-why { padding: 64px 0; }
    .wl-home-content .wl-fall-why-panel { grid-template-columns: 1fr; grid-template-rows: auto; }
    .wl-home-content .wl-fall-why-panel h2, .wl-home-content .wl-fall-why-panel .wp-block-buttons, .wl-home-content .wl-fall-why-body { grid-column: 1; grid-row: auto; }
    .wl-home-content .wl-fall-why-panel h2 { padding-bottom: 24px; }
    .wl-home-content .wl-fall-why-panel .wp-block-buttons { margin-top: 32px; }
}
@media (max-width: 560px) { .wl-home-content .wl-fall-why-body p { font-size: 16px; } }

/* All call-to-action buttons are uppercase (client requirement) */
.wl-button, .wp-block-button__link, .wp-element-button, .wl-text-link, .wl-arrow-link, .wl-header-book, .wl-mobile-book, .wl-footer-book, button.wl-button, input[type="submit"].wl-button { text-transform: uppercase; }

/* ===== Seasonal guide pages ===== */
.wl-home-content .wl-season-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr); gap: 80px; align-items: start; padding-block: 100px 70px; }
.wl-home-content .wl-season-intro-head h2 { margin: 12px 0 0; font-size: clamp(38px, 4vw, 58px); line-height: 1.06; }
.wl-home-content .wl-season-intro-head h2 em { color: var(--wl-accent-ink); }
.wl-home-content .wl-season-intro-body > p { margin: 0 0 22px; color: var(--wl-text); font-size: 17px; line-height: 1.85; }
.wl-home-content .wl-season-intro-body > p.wl-season-lead { color: var(--wl-dark); font-size: 21px; line-height: 1.7; }
.wl-home-content .wl-season-intro-body strong { color: var(--wl-dark); }

.wl-home-content .wl-season-todo { padding-block: 40px 100px; }
.wl-home-content .wl-season-todo .wl-section-heading { margin-bottom: 44px; }
.wl-home-content .wl-season-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.wl-home-content .wl-season-card { padding: 34px 30px 32px; background: #fff; border: 1px solid var(--wl-line); border-top: 3px solid var(--wl-gold); box-shadow: 0 16px 40px #17364d0f; transition: transform .25s, box-shadow .25s; }
.wl-home-content .wl-season-card:hover { transform: translateY(-4px); box-shadow: 0 22px 50px #17364d1c; }
.wl-home-content .wl-season-card > * { margin: 0; }
.wl-home-content .wl-season-num { margin-bottom: 16px !important; color: var(--wl-gold); font: 500 42px/1 var(--wl-serif); }
.wl-home-content .wl-season-card h3 { margin-bottom: 12px !important; color: var(--wl-dark); font: 500 27px/1.15 var(--wl-serif); letter-spacing: -.01em; }
.wl-home-content .wl-season-card p:not(.wl-season-num) { color: var(--wl-text); font-size: 15.5px; line-height: 1.7; }
.wl-home-content .wl-season-card strong { color: var(--wl-dark); }

.wl-home-content .wl-season-drives { padding: 96px 0; background: linear-gradient(180deg, #fff1e4 0%, #ffe6d0 100%); border-block: 1px solid #f6d5b8; }
.wl-home-content .wl-season-drives-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 80px; align-items: start; }
.wl-home-content .wl-season-drives-head h2 { margin: 12px 0 20px; font-size: clamp(36px, 3.6vw, 52px); line-height: 1.08; }
.wl-home-content .wl-season-drives-head h2 em { color: var(--wl-accent-ink); }
.wl-home-content .wl-season-drives-head p:not(.wl-eyebrow) { color: #3f4f4c; font-size: 17px; line-height: 1.8; }
.wl-home-content .wl-season-list { margin: 0; padding: 0; list-style: none; }
.wl-home-content .wl-season-list li { position: relative; padding: 18px 0 18px 34px; border-bottom: 1px solid #e8c9a8; color: #3f4f4c; font-size: 17px; line-height: 1.65; }
.wl-home-content .wl-season-list li:first-child { border-top: 1px solid #e8c9a8; }
.wl-home-content .wl-season-list li::before { content: ''; position: absolute; left: 4px; top: 28px; width: 10px; height: 10px; border-radius: 50%; background: var(--wl-gold); }
.wl-home-content .wl-season-list strong { color: var(--wl-dark); }

.wl-home-content .wl-season-tips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; padding-block: 100px; }
.wl-home-content .wl-season-tip { padding: 40px 40px 36px; background: #fff; border: 1px solid var(--wl-line); border-bottom: 3px solid var(--wl-gold); box-shadow: 0 16px 40px #17364d0f; }
.wl-home-content .wl-season-tip h3 { margin: 0 0 16px; color: var(--wl-dark); font: 500 32px/1.1 var(--wl-serif); }
.wl-home-content .wl-season-tip > p { margin: 0 0 16px; color: var(--wl-text); font-size: 16px; line-height: 1.8; }
.wl-home-content .wl-season-tip .wl-season-list li { padding-block: 12px; border-color: var(--wl-line); font-size: 16px; }
.wl-home-content .wl-season-tip .wl-season-list li::before { top: 21px; }

.wl-home-content .wl-season-why { padding: 100px 0; background: var(--wl-blue); color: #fff; }
.wl-home-content .wl-season-why-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 80px; align-items: center; }
.wl-home-content .wl-season-why-copy h2 { margin: 12px 0 24px; color: #fff; font-size: clamp(38px, 3.8vw, 56px); line-height: 1.08; }
.wl-home-content .wl-season-why-copy h2 em { color: var(--wl-gold); }
.wl-home-content .wl-season-why-copy .wl-eyebrow { color: #f6d9b3; }
.wl-home-content .wl-season-why-copy p:not(.wl-eyebrow) { color: #ffffffe0; font-size: 18px; line-height: 1.85; }
.wl-home-content .wl-season-why-copy strong { color: #fff; }
.wl-home-content .wl-season-why-copy .wp-block-buttons { margin-top: 32px; }
.wl-home-content .wl-season-checks { margin: 0; padding: 0; list-style: none; }
.wl-home-content .wl-season-checks li { position: relative; padding: 18px 0 18px 44px; border-bottom: 1px solid #ffffff2b; color: #fff; font-size: 17px; line-height: 1.5; }
.wl-home-content .wl-season-checks li:first-child { border-top: 1px solid #ffffff2b; }
.wl-home-content .wl-season-checks li::before { content: ''; position: absolute; left: 0; top: 50%; width: 26px; height: 26px; transform: translateY(-50%); border-radius: 50%; background: var(--wl-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310262b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat; }

.wl-home-content .wl-season-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding-bottom: 100px; }
.wl-home-content .wl-season-tile { display: flex; flex-direction: column; padding: 36px 28px 30px; background: #fff; border: 1px solid var(--wl-line); border-top: 5px solid var(--wl-gold); box-shadow: 0 16px 40px #17364d0f; transition: transform .25s, box-shadow .25s; }
.wl-home-content .wl-season-tile:hover { transform: translateY(-4px); box-shadow: 0 22px 50px #17364d1c; }
.wl-home-content .wl-season-tile > * { margin: 0; }
.wl-home-content .wl-season-tile h3 { margin-bottom: 12px; color: var(--wl-dark); font: 500 40px/1.05 var(--wl-serif); }
.wl-home-content .wl-season-tile p:not(:last-child) { flex: 1; margin-bottom: 24px; color: var(--wl-text); font-size: 16px; line-height: 1.7; }
.wl-home-content .wl-tile-spring { border-top-color: #6fa86a; }
.wl-home-content .wl-tile-summer { border-top-color: #f2b233; }
.wl-home-content .wl-tile-fall { border-top-color: #e2641b; }
.wl-home-content .wl-tile-winter { border-top-color: #4a8fc4; }

@media (max-width: 1000px) {
    .wl-home-content .wl-season-intro { grid-template-columns: 1fr; gap: 28px; padding-block: 72px 40px; }
    .wl-home-content .wl-season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
    .wl-home-content .wl-season-drives { padding: 64px 0; }
    .wl-home-content .wl-season-drives-layout, .wl-home-content .wl-season-why-layout { grid-template-columns: 1fr; gap: 36px; }
    .wl-home-content .wl-season-tips { grid-template-columns: 1fr; padding-block: 64px; }
    .wl-home-content .wl-season-why { padding: 68px 0; }
    .wl-home-content .wl-season-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 64px; }
}
@media (max-width: 560px) {
    .wl-home-content .wl-season-grid, .wl-home-content .wl-season-tiles { grid-template-columns: 1fr; }
    .wl-home-content .wl-season-tip { padding: 28px 22px; }
    .wl-home-content .wl-season-intro-body > p.wl-season-lead { font-size: 19px; }
    .wl-home-content .wl-season-todo { padding-bottom: 64px; }
}

/* Coupon/arrival bar headline: true bold (the serif has no bold file) */
.wl-home-content .wl-arrival-title p { font-family: 'WL CTA Sans', var(--wl-sans); font-weight: 700; font-size: 28px; line-height: 1.25; letter-spacing: -.015em; color: #b72b20; }
@media (max-width: 760px) { .wl-home-content .wl-arrival-title p { font-size: 22px; } }
.wl-home-content .wl-arrival-title p { font-size: 26px; text-wrap: pretty; }
.wl-home-content .wl-arrival-title { flex: 1 1 0; min-width: 0; }

/* Arrival bar: single-line button, no right divider */
.wl-home-content .wl-arrival-phone { border-right: 0; padding-right: 0; flex: none; }
.wl-home-content .wl-arrival .wp-block-buttons { flex: none; }
.wl-home-content .wl-arrival .wp-block-button__link { white-space: nowrap; }
@media (max-width: 760px) { .wl-home-content .wl-arrival-phone { border: 0; border-top: 1px solid var(--wl-line); border-bottom: 1px solid var(--wl-line); padding: 18px 0; } }
.wl-home-content .wl-arrival-title p { font-size: 26px; text-wrap: balance; }
@media (max-width: 1199px) { .wl-home-content .wl-arrival-title p { font-size: 22px; } }
.wl-home-content .wl-arrival-phone-number { font-size: 32px; }
.wl-home-content .wl-arrival-phone { padding-left: 32px; }
.wl-home-content .wl-arrival-title p { font-size: 26px; text-wrap: pretty; }
@media (max-width: 1439px) { .wl-home-content .wl-arrival-title p { font-size: 23px; } }
@media (max-width: 1199px) { .wl-home-content .wl-arrival-title p { font-size: 22px; } }

/* Top bar on phones: one tidy line each, phone never wraps */
@media (max-width: 600px) {
    .wl-topbar { gap: 12px; }
    .wl-topbar-item { min-width: 0; }
    .wl-topbar > .wl-topbar-item:first-child { flex: 1 1 auto; overflow: hidden; }
    .wl-topbar > .wl-topbar-item:first-child { white-space: nowrap; text-overflow: ellipsis; display: block; }
    .wl-topbar > .wl-topbar-item:first-child .wl-icon { display: inline-block; vertical-align: -2px; margin-right: 6px; }
    .wl-topbar > a.wl-topbar-item { flex: none; white-space: nowrap; }
}
/* Hero video on portrait screens: zoom a little more so the clip's black bars stay out of view */
@media (max-width: 760px) {
    .wl-hero-video iframe { width: max(140cqw, 249cqh); height: max(140cqh, 79cqw); transform: translate(-50%, -50%); }
}

/* Hide the top info bar on phones */
@media (max-width: 767px) { .wl-topbar { display: none; } }
