/* Lodge-specific presentation; the blueprint tokens and native block styles remain authoritative. */
:root{--hhl-serif:Georgia,'Times New Roman',serif;--hhl-sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--hhl-border:color-mix(in srgb,var(--contrast) 18%,transparent)}
body.hhl-site,.editor-styles-wrapper{font-family:var(--hhl-sans);color:var(--contrast);background:var(--base-2);font-size:16px;line-height:1.65}
.hhl-site *,.hhl-site *::before,.hhl-site *::after{box-sizing:border-box}
.hhl-site h1,.hhl-site h2,.hhl-site h3,.editor-styles-wrapper h1,.editor-styles-wrapper h2,.editor-styles-wrapper h3{font-family:var(--hhl-serif);font-weight:400;letter-spacing:-.035em;line-height:1.12}
.hhl-site .site-content{display:block}.hhl-site .site-main{margin:0}.hhl-site .inside-article{padding:0}.hhl-site .entry-content{margin:0}.hhl-site .site.grid-container{max-width:none}.hhl-site .gb-text{overflow-wrap:break-word}
.hhl-site .headline{font-family:var(--hhl-serif);font-weight:400;font-size:clamp(2.2rem,4.3vw,3.8rem);line-height:1.1;letter-spacing:-.04em}
.hhl-site .tagline,.hhl-eyebrow{font-family:var(--hhl-sans);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;display:block;line-height:1.5}
.hhl-site .btn-primary,.hhl-site .btn-secondary,.hhl-button{border-radius:0!important;font-family:var(--hhl-sans);font-size:.86rem;font-weight:500;letter-spacing:.01em;min-height:48px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:16px}
.hhl-site .btn-primary,.hhl-button{background:var(--accent);color:var(--base);border:1px solid var(--accent);padding:14px 23px;cursor:pointer}
.hhl-site .btn-primary:hover,.hhl-button:hover{background:var(--accent-shade-20);color:var(--base)}
.hhl-site .btn-secondary{padding:14px 23px;border:1px solid var(--accent);color:var(--accent);background:transparent}
.hhl-site .btn-secondary:hover{background:var(--accent-alpha-10)}
.hhl-site a:focus-visible,.hhl-site button:focus-visible,.hhl-site input:focus-visible,.hhl-site select:focus-visible,.hhl-site summary:focus-visible{outline:3px solid var(--brand-2);outline-offset:4px}
.hhl-preview{background:var(--contrast);color:var(--base);font-size:.68rem;letter-spacing:.08em;text-align:center;padding:7px 14px;line-height:1.6}.hhl-preview span{margin:0 9px}
.hhl-search{margin:0}.hhl-search-fields{display:grid;grid-template-columns:1.15fr 1.15fr .7fr .7fr 1.4fr;gap:12px;align-items:end;background:var(--base);border:1px solid var(--hhl-border);padding:20px}
.hhl-search label{font-size:.68rem;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;font-weight:600;color:var(--contrast-2);min-width:0}
.hhl-search input,.hhl-search select{display:block;width:100%;min-width:0;margin-top:7px;padding:9px 0;color:var(--contrast);font-family:var(--hhl-sans);font-size:15px;line-height:1.5;background:var(--base);border:0;border-bottom:1px solid var(--hhl-border);border-radius:0;box-sizing:border-box;min-height:43px}
.hhl-search select{padding-right:18px}.hhl-search .hhl-button{width:100%;min-height:49px;padding:12px 16px}
.hhl-form-error{font-size:.88rem;margin:10px 0 0;color:var(--contrast);font-weight:600}.hhl-form-error:empty{display:none}
.hhl-muted{font-size:.88rem;color:var(--contrast-3)}.hhl-text-link{font-weight:500;text-underline-offset:6px;color:var(--accent)}
.hhl-booking-state{padding:50px 0 20px;max-width:700px}.hhl-booking-state h2{font-size:clamp(2rem,3.5vw,3.2rem);margin:16px 0 20px;max-width:18ch}.hhl-booking-state p{max-width:58ch}
.hhl-selection{padding:16px 20px;background:var(--base-3);margin:20px 0 0;font-size:.9rem}.hhl-booking-handoff{padding:28px 0}.hhl-booking-embed summary{cursor:pointer;padding:18px 0}.hhl-booking-embed iframe{border:0;display:block;background:var(--base)}
.hhl-notice{padding:18px 22px;background:var(--base-3);border-left:2px solid var(--accent);font-size:.9rem}.hhl-contact-preview fieldset{border:0;margin:24px 0 0;padding:0;opacity:.65}
.hhl-site .gform_wrapper{--gf-ctrl-btn-bg-color-primary:var(--accent);--gf-ctrl-btn-radius:0;--gf-ctrl-radius:0;--gf-ctrl-font-size:16px;--gf-font-family-primary:var(--hhl-sans)}
.hhl-site .gform_wrapper input,.hhl-site .gform_wrapper textarea{border-color:var(--hhl-border)!important}.hhl-site .gform_required_legend{font-size:.8rem}
.hhl-faq{border-bottom:1px solid var(--hhl-border);padding:24px 0}.hhl-faq:first-child{border-top:1px solid var(--hhl-border)}.hhl-faq summary{cursor:pointer;font-family:var(--hhl-serif);font-size:1.5rem;line-height:1.3;list-style-position:outside;margin-left:22px;padding-right:12px}.hhl-faq p{margin:18px 0 0 22px;color:var(--contrast-2);max-width:65ch}
.hhl-gallery-tile img{transition:transform .45s ease}.hhl-gallery-tile:hover img{transform:scale(1.035)}
.hhl-lightbox{width:min(1100px,94vw);max-width:94vw;max-height:94vh;border:0;background:var(--contrast);color:var(--base);padding:20px}.hhl-lightbox::backdrop{background:rgba(17,28,30,.9)}.hhl-lightbox img{display:block;max-width:100%;max-height:70vh;margin:0 auto;object-fit:contain}.hhl-lightbox-bar,.hhl-lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.hhl-lightbox-bar p{margin:0;font-size:.85rem}.hhl-lightbox button{background:transparent;color:var(--base);padding:12px;font-size:.9rem;border:1px solid color-mix(in srgb,var(--base) 35%,transparent);cursor:pointer}.hhl-lightbox-bar{padding-bottom:15px}.hhl-lightbox-controls{padding-top:15px;font-size:.85rem}
@media(max-width:1024px){.hhl-search-fields{grid-template-columns:1fr 1fr}.hhl-search .hhl-button{grid-column:1/-1}.hhl-site .gb-menu-toggle{min-width:46px;min-height:46px;justify-content:center}}
@media(max-width:767px){.hhl-preview{font-size:.62rem;letter-spacing:.035em}.hhl-preview span{margin:0 4px}.hhl-search-fields{padding:16px;gap:16px}.hhl-search input,.hhl-search select{font-size:16px}.hhl-lightbox{padding:12px}.hhl-booking-state{padding-top:34px}.hhl-site .gb-text{max-width:100%}.hhl-lightbox-bar p{max-width:65%}}
@media(prefers-reduced-motion:reduce){.hhl-site *{scroll-behavior:auto!important;transition:none!important}}
