/* Glenarilunelisse: shared navigation, legal content and accessibility extensions */
:root {
  --font-size-2xl: clamp(1.45rem, 1.3rem + 0.7vw, 1.75rem);
  --font-size-3xl: clamp(1.75rem, 1.55rem + 0.9vw, 2.2rem);
  --font-size-4xl: clamp(2.15rem, 1.9rem + 1.3vw, 3rem);
  --font-size-base: 0.95rem;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 100px; }
html,body { margin: 0; }
body { min-width:0; }
img { max-width: 100%; height: auto; }
.site-main { min-width: 0; }
.site-main > section { min-width: 0; }
.site-main .hero-section, .hero-title,.section-title { overflow-wrap: anywhere; }
/* Preserve cover crops with specific classes rather than a global stretched <img>. */
.glen-footer-scene-image, .editorial-hero img, .rooms-hero img, .contact-hero img,
.surface-media > img,.surface-media > a > img,.surface-media > figure > img,
.gallery-card img, .rooms-gallery img, .rooms-card img { height:100%;object-fit:cover;object-position:center; }
a { color: inherit; }
a:visited { color: inherit; }
a:hover { color: var(--color-accent); }
a:active { color:var(--color-accent); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--color-accent);outline-offset:3px; }
.site-header { position:fixed;inset:0 0 auto 0;z-index:2100;padding:14px clamp(12px,3vw,42px);pointer-events:none; }
.site-header-inner { margin:auto;max-width:1280px;min-height:74px;padding:0 clamp(14px,2vw,30px);border:1px solid rgba(158,141,122,.32);border-radius:18px;display:flex;align-items:center;gap:clamp(12px,2.4vw,34px);background:rgba(255,253,249,.97);box-shadow:0 12px 35px rgba(22,31,21,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto;transition:box-shadow .25s,background .25s; }
.site-header.is-scrolled .site-header-inner {box-shadow:0 10px 28px rgba(22,31,21,.2);background:rgba(255,253,249,.99)}
.site-brand {display:flex;align-items:center;gap:9px;flex-shrink:0;color:#282923!important;text-decoration:none!important;min-width:0; }
.site-brand-mark {width:31px;height:37px;flex-shrink:0;color:var(--color-accent)}
.site-brand-label {display:flex;flex-direction:column;line-height:1.03;min-width:0}
.site-brand-name {font-size:clamp(1.35rem,1.85vw,1.9rem);font-family:var(--font-family-heading);font-weight:600;letter-spacing:-.035em;white-space:nowrap; }
.site-brand-subtitle {font-family:var(--font-family-body);font-weight:600;letter-spacing:.15em;font-size:.55rem;margin-top:5px; }
.site-nav {margin-left:auto;display:flex;align-items:center;gap:clamp(10px,1.55vw,24px);}
.site-nav a,.site-mobile-menu a {text-decoration:none!important;font-family:var(--font-family-body);font-size:.83rem;font-weight:600;color:#34362d!important;white-space:nowrap;transition:color .2s; }
.site-nav a:hover,.site-nav a[aria-current=page],.site-mobile-menu a:hover,.site-mobile-menu a[aria-current=page] {color:var(--color-accent)!important;}
.site-header-cta {display:inline-flex;align-items:center;gap:10px;border:1px solid #8c5b3f;border-radius:10px;background:#8c5b3f;color:white!important;padding:13px 18px;white-space:nowrap;text-decoration:none!important;font-size:.86rem;font-weight:600;}
.site-header-cta:hover {color:#fff!important;background:#70442f; }
.site-menu-button {display:none;border:0;background:transparent;color:#1a1a1a;padding:9px;border-radius:9px;cursor:pointer;flex-shrink:0;}
.site-mobile-menu[hidden] {display:none!important;}
.site-mobile-menu {display:none;}
body.menu-is-open {overflow:hidden;}
.site-legal-company {position:relative;z-index:2;width:100%;max-width:var(--content-max-width);margin:0 auto;padding:clamp(20px,3vw,32px) var(--spacing-2xl);border-top:1px solid rgba(255,255,255,.22);font-family:var(--font-family-body);}
.site-legal-company-heading {color:inherit;font-family:var(--font-family-heading);font-size:clamp(1.4rem,2vw,1.9rem);font-weight:600;margin-bottom:16px;}
.site-legal-company-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,42px);}
.site-legal-company-grid p {margin:0;color:inherit;font-size:.85rem;line-height:1.75;overflow-wrap:anywhere;}
.site-legal-company-grid span {display:block;}
.site-legal-company-grid b {font-weight:700;}
.glen-footer-legal-links {display:flex;flex-wrap:wrap;gap:10px 20px;}
.glen-footer-legal-links a {color:inherit;text-decoration:none;}
.legal-main {padding:clamp(132px,12vw,172px) var(--spacing-sm) clamp(50px,8vw,90px);width:100%;background:var(--color-surface);color:var(--color-on-surface-secondary);}
.legal-content {max-width:920px;margin:0 auto;padding:0 clamp(14px,3vw,30px);}
.legal-heading {border-bottom:1px solid rgba(158,141,122,.28);padding-bottom:30px;margin-bottom:26px;}
.legal-eyebrow,.hotel-story-eyebrow {font-size:.75rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--color-accent);}
.legal-heading h1 {color:var(--color-on-surface);margin:14px 0 18px;line-height:1.12;}
.legal-lead {font-size:1.1rem;line-height:1.6;max-width:66ch;}
.legal-updated {font-size:.84rem;opacity:.8;}
.legal-main .site-legal-company {border-radius:15px;border:1px solid rgba(158,141,122,.35);background:rgba(154,168,148,.12);margin:25px 0 36px;color:#252d24;padding:24px;}
.legal-section {padding:12px 0 24px;max-width:850px;}
.legal-section h2 {color:#252d24;font-size:var(--font-size-2xl);line-height:1.2;margin:10px 0 9px;}
.legal-section p {font-size:var(--font-size-base);line-height:1.8;margin:0;}
.legal-return a {display:inline-flex;padding:12px 18px;background:#8c5b3f;color:white!important;border-radius:10px;text-decoration:none!important;font-weight:600;}
.legal-return a:hover {background:#70442f;color:#fff!important;}
.hotel-story-panel {background:var(--color-surface);padding:clamp(42px,6vw,86px) var(--spacing-md);}
.hotel-story-inner {max-width:970px;margin:auto;}
.hotel-story-inner h2 {font-family:var(--font-family-heading);font-size:var(--font-size-3xl);line-height:1.2;margin:12px 0 26px;color:var(--color-on-surface);}
.hotel-story-inner p {line-height:1.78;margin:12px 0;color:var(--color-on-surface-secondary);}
.hotel-story-inner .hotel-story-eyebrow {color:var(--color-accent);}
.contact-form-status {font-size:.88rem;line-height:1.5;color:#68452c;margin:12px 0 0;}
@media (max-width:1130px) {
 .site-nav {display:none;} .site-header-cta {margin-left:auto;} .site-menu-button{display:block;}
 .site-mobile-menu {display:flex;position:absolute;top:calc(100% + 3px);left:clamp(12px,3vw,42px);right:clamp(12px,3vw,42px);max-width:1280px;margin:0 auto;padding:18px;gap:0;flex-direction:column;background:var(--color-surface);box-shadow:0 18px 40px rgba(12,18,14,.2);border:1px solid rgba(158,141,122,.3);border-radius:15px;pointer-events:auto;max-height:calc(100dvh - 105px);overflow-y:auto;}
 .site-mobile-menu a {padding:13px 12px;border-bottom:1px solid rgba(158,141,122,.2);font-size:1rem;white-space:normal;}
 .site-mobile-menu a:last-child {border-bottom:0;background:var(--color-accent);color:white!important;border-radius:9px;margin-top:10px;text-align:center;}
}
@media(max-width:767px){
 .hero-section,.hero-title,.section-title{overflow-wrap:anywhere;word-break:break-word;white-space:normal;}
 .site-header {padding:10px 12px;}
 .site-header-inner {min-height:64px;padding:0 14px;gap:6px;border-radius:13px;}
 .site-header-cta {display:none;}
 .site-menu-button {margin-left:auto;}
 .site-brand-mark {width:24px;height:27px;}
 .site-brand-name {font-size:clamp(1.1rem,4.7vw,1.48rem);}
 .site-brand-subtitle {font-size:.45rem;letter-spacing:.09em;}
 .site-legal-company-grid {grid-template-columns:1fr;gap:12px;}
 .site-legal-company {padding:24px 16px;}
 .legal-main {padding-top:112px;padding-inline:8px;}
 .legal-main .site-legal-company {padding:18px;}
 .hotel-story-panel {padding:45px 18px;}
 .glen-footer-legal-links {gap:12px;}
}
@media (max-width:360px){.site-brand-name {font-size:1.02rem;}.site-brand-subtitle {font-size:.42rem;}.site-brand-mark {width:20px;}.site-menu-button {padding:6px;}}
@media (prefers-reduced-motion:reduce){.site-header,.site-header *{transition:none!important}}
