/* Lodge identity. Deliberately separate from layout and reservation behaviour. */
body.n2-site {
	--n2-ink: #132c45;
	--n2-muted: #58616a;
	--n2-line: #ddd9cf;
	--n2-paper: #f5f2eb;
	--n2-accent: #174e76;
	--n2-navy: #102c46;
	--n2-gold: #d6b770;
	background: #fcfbf8;
}
body.n2-site #masthead,
body.n2-site #masthead .ast-primary-header-bar,
body.n2-site #masthead .ast-mobile-header-content {
	background: #102c46 !important;
	border-color: #34506a;
}
body.n2-site #masthead .custom-logo-link img { border-radius: 50%; outline: 1px solid #d6b770; outline-offset: 4px; }
body.n2-site #masthead .main-header-menu .menu-link { color: #f8f4e9 !important; }
body.n2-site #masthead .main-header-menu .current-menu-item > .menu-link,
body.n2-site #masthead .main-header-menu .menu-link:hover { color: #e5c989 !important; text-decoration-thickness: 2px; }
body.n2-site #masthead .menu-toggle { color: #e5c989 !important; border-color: #62768a; }
body.n2-site #masthead .menu-toggle :is(span,svg) { color: #e5c989 !important; fill: currentColor; }
body.n2-site .entry-content :is(h1,h2,h3,.uagb-heading-text,.uagb-ifb-title),
body.n2-site.woocommerce :is(h1.page-title,h1.product_title) {
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 400;
	letter-spacing: -.025em;
}
body.n2-site .entry-content > .wp-block-uagb-container { background: #fcfbf8 !important; }
body.n2-site .entry-content > .wp-block-uagb-container:nth-of-type(even) { background: var(--n2-paper) !important; }
/* Consistent, high-contrast title bands; a quiet geometric motif echoes the crest. */
body.n2-site.home .entry-content > .uagb-block-d3766248,
body.n2-site .entry-content > :is(.uagb-block-4625a592,.uagb-block-d3766248,.uagb-block-e35f1e1b,.uagb-block-ddac84d0,.uagb-block-74a9f8f1) {
	background: radial-gradient(ellipse at 90% 0%, #234b6b 0%, transparent 64%), linear-gradient(135deg, #102c46 55%, #193b58 55%, #102c46 80%) !important;
	border-bottom: 3px solid var(--n2-gold);
	color: #e4e9ed;
}
body.n2-site .entry-content :is(.uagb-block-4625a592,.uagb-block-d3766248,.uagb-block-e35f1e1b,.uagb-block-ddac84d0,.uagb-block-74a9f8f1) :is(h1,h2,h3,.uagb-heading-text,.uagb-ifb-title) { color: #fff8e9 !important; }
body.n2-site .entry-content :is(.uagb-block-4625a592,.uagb-block-d3766248,.uagb-block-e35f1e1b,.uagb-block-ddac84d0,.uagb-block-74a9f8f1) :is(.uagb-desc-text,.uagb-ifb-desc) { color: #d0dce6 !important; }
body.n2-site .entry-content .uagb-block-d0dd14dc .uagb-heading-text { font-size: clamp(36px, 4vw, 50px); }
body.n2-site .entry-content .uagb-block-d0dd14dc::after { content: ''; display: block; width: 50px; height: 2px; background: var(--n2-gold); margin-top: 20px; }
body.n2-site .entry-content .wp-block-uagb-image img { border-radius: 2px !important; }
body.n2-site .entry-content a:focus-visible, body.n2-site button:focus-visible { outline: 3px solid #ad7d21; outline-offset: 4px; }
body.n2-site :is(.woocommerce a.button,.woocommerce button.button,.woocommerce .button,.uagb-infobox-cta-link,.srfm-form button[type=submit],.wp-block-button__link) {
	border-radius: 2px !important;
	background: var(--n2-navy) !important;
	border-color: var(--n2-navy) !important;
}
body.n2-site :is(.woocommerce a.button,.woocommerce button.button,.uagb-infobox-cta-link,.srfm-form button[type=submit],.wp-block-button__link):hover { background: #265675 !important; }
/* Home keeps real lodge photography, framed like a contemporary heritage journal. */
body.n2-site .n2-home-feature { background: #f4ebd6; border-bottom: 3px solid #b6924c; padding: 24px; }
body.n2-site .n2-home-feature__inner { width: 100%; max-width: 1112px !important; margin-inline: auto !important; display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: 24px; }
body.n2-site .n2-home-feature__date { display: flex; flex-direction: column; align-items: center; padding: 10px 8px; background: #102c46; color: #e5c989; line-height: 1.2; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
body.n2-site .n2-home-feature__date strong { font: 38px/1.2 Georgia, serif; color: #fff8e9; letter-spacing: 0; }
body.n2-site .n2-home-feature__copy h2 { font-size: 25px; line-height: 1.15; margin: 4px 0 8px; }
body.n2-site .n2-home-feature__copy p { margin: 0; font-size: 13px; }
body.n2-site .n2-home-feature__copy .n2-home-feature__eyebrow { color: #705423; text-transform: uppercase; font-size: 10px; letter-spacing: .12em; font-weight: 700; }
body.n2-site .n2-home-feature__actions .n2-event-reserve__choices { gap: 8px 12px; }
body.n2-site .n2-home-feature__actions .n2-event-reserve__button { font-size: 12px; padding: 10px 12px; }
@media (max-width: 1100px) {
	body.n2-site .n2-home-feature__inner { grid-template-columns: 70px minmax(0, 1fr); gap: 16px 20px; }
	body.n2-site .n2-home-feature__actions { grid-column: 2; }
}
@media (max-width: 600px) {
	body.n2-site .n2-home-feature { padding: 22px 20px; }
	body.n2-site .n2-home-feature__inner { grid-template-columns: 58px minmax(0, 1fr); gap: 16px; }
	body.n2-site .n2-home-feature__copy h2 { font-size: 23px; }
	body.n2-site .n2-home-feature__actions { grid-column: 1 / -1; }
}
body.n2-site.home .entry-content > .uagb-block-d3766248 { padding-top: 48px !important; padding-bottom: 48px !important; }
body.n2-site.home .uagb-block-c1148fa4 .uagb-heading-text { font-size: clamp(38px, 4.2vw, 56px); line-height: 1.08; }
body.n2-site.home .uagb-block-bad16a02 .uagb-heading-text { color: #e5c989 !important; font-family: inherit; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
body.n2-site.home .uagb-block-bad16a02::before { content: ''; display: block; width: 50px; height: 2px; background: var(--n2-gold); margin-bottom: 20px; }
body.n2-site.home .uagb-block-d3766248 .wp-block-uagb-slider { border-radius: 0 !important; outline: 1px solid #bd9d60; outline-offset: 8px; background: #0b2135; box-shadow: 16px 16px 0 #0c2236; }
body.n2-site.home .uagb-block-d3766248 .swiper-pagination-bullet { background: #e5c989 !important; }
body.n2-site.home .uagb-block-95e5220e { border-left: 3px solid #b38b43; padding-left: 24px; }
body.n2-site.home .uagb-block-95e5220e .uagb-ifb-title { font-size: 34px; }
/* Officers: a framed photograph and an elegant directory, not a stack of cards. */
body.n2-site .entry-content > .n2-officers { background: transparent; }
body.n2-site .n2-officers__heading h2 { font-size: 31px; }
body.n2-site .n2-officers__eyebrow { display: block; color: #80632d; font-size: 10px; letter-spacing: .14em; margin-bottom: 8px; }
body.n2-site .n2-officers__photo { background: #102c46; padding: 9px; border-bottom: 3px solid var(--n2-gold); box-shadow: 8px 8px 0 #e8e2d5; }
body.n2-site .n2-officers__photo img { display: block; border-radius: 0; }
body.n2-site .n2-officers__list { border-top: 0; }
body.n2-site .n2-officers__row { padding: 10px 12px; }
body.n2-site .n2-officers__row:nth-child(odd) { background: #f1eee6; }
body.n2-site .n2-officers__abbr { color: #765927; }
body.n2-site .n2-officers__name { font-size: 14px; }
body.n2-site .n2-officers__row:first-child { background: #102c46; border-bottom: 3px solid var(--n2-gold); padding-top: 16px; padding-bottom: 16px; }
body.n2-site .n2-officers__row:first-child .n2-officers__name { color: #fff8e9; }
body.n2-site .n2-officers__row:first-child :is(.n2-officers__abbr,.n2-officers__office-name) { color: #e5c989; }
/* Events: timeline rhythm and a stronger, unmistakable reservation feature. */
body.n2-site.page-id-1812 .uagb-block-fce0962e img,
body.n2-site.page-id-1858 .uagb-block-4625a592 img { outline: 1px solid #bda16b; outline-offset: 6px; }
body.n2-site.page-id-1812 .simcal-calendar-head { border-bottom: 1px solid #c9b78e; padding-bottom: 18px; }
body.n2-site.page-id-1812 .simcal-current-label { font-family: Georgia, 'Times New Roman', serif; font-size: 29px; color: var(--n2-ink); }
body.n2-site.page-id-1812 .simcal-day-label > span { color: #705423 !important; font-weight: 700; }
body.n2-site.page-id-1812 .simcal-day { border-left: 2px solid #c5ab73; padding-left: 20px !important; }
body.n2-site.page-id-1812 .simcal-event-title { font-family: Georgia, 'Times New Roman', serif; font-size: 23px; font-weight: 400; }
body.n2-site .n2-reservations__heading h2 { font-size: 34px; }
body.n2-site .n2-reservation-card { border-radius: 0; border-color: #d5cbb5; border-top: 3px solid #b6924c; }
body.n2-site .n2-reservation-card__image-wrap { background: #102c46; padding-top: 32px; }
body.n2-site .n2-reservation-card__content { background: #fffefa; }
body.n2-site .n2-reservation-card__content h3 { font-size: 29px; }
body.n2-site .n2-reservation-card__eyebrow { display: block; color: #80632d; font-size: 10px; letter-spacing: .13em; }
body.n2-site .n2-reservation-card__button { background: #102c46; border-radius: 2px; border-bottom: 3px solid #d6b770; }
body.n2-site .n2-reservation-card__button:hover { background: #265675; }
/* Reservations are ordinary dated calendar entries with product-detail links. */
body.n2-site .n2-event-reserve { margin-top: 14px; }
body.n2-site .n2-event-reserve > p { font-size: 13px; margin: 0 0 10px; }
body.n2-site .n2-event-reserve__choices { display: flex; flex-wrap: wrap; gap: 12px 16px; }
body.n2-site .n2-event-reserve__button { display: inline-block; padding: 10px 16px; min-height: 44px; background: #102c46; color: #fff8e9 !important; border-bottom: 2px solid #d6b770; border-radius: 2px; font-size: 13px; font-weight: 500; text-decoration: none; }
body.n2-site .n2-event-reserve__button:hover { background: #265675; }
body.n2-site .n2-event-reserve__price { display: block; margin-top: 5px; font-size: 11px; color: var(--n2-muted); }
body.n2-site .n2-event-reserve__note { display: block; margin-top: 7px; font-size: 12px; font-weight: 600; color: var(--n2-navy); }
body.n2-site .n2-reservation-note { padding: 10px 14px; border-left: 3px solid var(--n2-gold); background: #f4ebd6; color: var(--n2-navy); font-weight: 700; font-size: 15px; line-height: 1.5; margin: 0 0 16px; }
/* Historical register, photographs, and contact forms keep the same visual language. */
body.n2-site.page-id-1858 .wp-block-post h2 { font-family: inherit; letter-spacing: 0; }
body.n2-site.page-id-1858 .wp-block-post .uagb-heading-text { color: #80632d !important; }
body.n2-site.page-id-1771 .spectra-image-gallery__media--carousel { background: #102c46; }
body.n2-site.page-id-1771 .uagb-block-ddac84d0 .slick-dots button::before { color: #d7e2ea !important; opacity: .75; }
body.n2-site.page-id-1771 .uagb-block-ddac84d0 .slick-dots .slick-active button::before { color: #e5c989 !important; opacity: 1; }
body.n2-site.page-id-1771 .entry-content > .wp-block-uagb-container:not(:first-child) .uagb-heading-text { border-left: 3px solid #b6924c; padding-left: 16px; }
body.n2-site .uagb-block-74a9f8f1 .srfm-form-container { background: #fcfbf8 !important; padding: 24px !important; border-top: 3px solid #d6b770; }
body.n2-site .srfm-form .srfm-block :is(input,textarea,select) { border-radius: 2px !important; }
body.n2-site #srfm-form-907 .srfm-submit-button { background: #102c46 !important; color: #fff8e9 !important; border: 1px solid #102c46 !important; border-radius: 2px !important; }
body.n2-site #srfm-form-907 .srfm-submit-button * { color: inherit !important; }
body.n2-site.woocommerce h1.page-title { border-bottom: 2px solid #b6924c; padding-bottom: 14px; }
body.n2-site.woocommerce ul.products li.product img { border-radius: 0; border-bottom: 2px solid #d3bb8c; }
body.n2-site.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: inherit; font-weight: 500; letter-spacing: 0; }
body.n2-site .site-primary-footer-wrap { background: #102c46; border-top: 3px solid #d6b770; }
body.n2-site .site-footer h6 { color: #e5c989; font-family: Georgia, 'Times New Roman', serif; font-size: 21px; font-weight: 400; }
body.n2-site .site-footer .menu a { color: #e0e8ef; }
body.n2-site .site-footer .menu a:hover { color: #e5c989; }
body.n2-site .site-footer .ast-builder-social-element,
body.n2-site .site-footer .ast-builder-social-element * { color: #e5c989 !important; fill: #e5c989 !important; }
body.n2-site .site-below-footer-wrap { background: #0b2135; border-top-color: #34506a; color: #c4d1dc; }
body.n2-site .site-below-footer-wrap :is(p,a) { color: #c4d1dc; }
@media (max-width: 921px) {
	body.n2-site #masthead .ast-mobile-header-content .main-header-menu { background: #102c46 !important; }
	body.n2-site #masthead .ast-mobile-header-content .menu-link { background: #102c46 !important; }
	body.n2-site #masthead .main-header-menu .menu-item { border-color: #34506a; }
}
@media (max-width: 600px) {
	body.n2-site.page-id-1812 .simcal-current-label { font-size: 20px; }
	body.n2-site.home .entry-content > .uagb-block-d3766248 { padding: 32px 24px 36px !important; }
	body.n2-site.home .uagb-block-c1148fa4 .uagb-heading-text { font-size: 38px; }
	body.n2-site.home .uagb-block-bad16a02::before { margin-bottom: 14px; }
	body.n2-site.home .uagb-block-d3766248 .wp-block-uagb-slider { box-shadow: 8px 8px 0 #0c2236; outline-offset: 5px; }
	body.n2-site .n2-officers__row { gap: 10px; padding-right: 10px; padding-left: 10px; }
	body.n2-site .n2-officers__name { font-size: 13px; }
	body.n2-site .n2-officers__photo { box-shadow: 5px 5px 0 #e8e2d5; }
	body.n2-site .n2-reservation-card__image-wrap { padding-top: 18px; padding-bottom: 18px; }
	body.n2-site .n2-reservation-card__content h3 { font-size: 26px; }
	body.n2-site .n2-reservations__heading h2 { font-size: 30px; }
	body.n2-site .uagb-block-74a9f8f1 .srfm-form-container { padding: 18px !important; }
}
/* The legacy homepage block saved height="7" on this square crest. */
.n2-site.home img.uag-image-1742 { height: auto !important; aspect-ratio: 1; object-fit: contain; }
