/* Haus H — clear routes, one booking action, warm Mediterranean materials. */
.gh-site-header.gh-modern-header {
 position:fixed; inset:18px auto auto 50%; transform:translateX(-50%); width:min(1200px,calc(100% - 48px));
 display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; padding:12px 14px 12px 18px;
 border:1px solid #ffffffbd; border-radius:22px; background:#fffdf4ed; color:#153d35;
 box-shadow:0 8px 32px #0d30251a,inset 0 1px 0 #fff; backdrop-filter:blur(24px) saturate(1.3); -webkit-backdrop-filter:blur(24px) saturate(1.3);
}
.gh-modern-header .gh-brand { display:flex; align-items:center; gap:11px; color:#173d35; text-decoration:none; font-size:inherit; letter-spacing:0; text-transform:none; min-width:0; }
.gh-modern-header .gh-brand img { width:42px; height:42px; border-radius:13px; object-fit:cover; box-shadow:none; }
.gh-modern-header .gh-wordmark { display:grid; gap:3px; }
.gh-modern-header .gh-wordmark strong { font-family:var(--gh-display); font-size:25px; line-height:1; letter-spacing:-.055em; font-weight:700; }
.gh-modern-header .gh-brand-dot { color:#b28b52; }
.gh-modern-header .gh-wordmark small { font-size:9px; line-height:1.2; letter-spacing:.13em; text-transform:uppercase; font-weight:700; white-space:nowrap; color:#63766e; }
.gh-modern-header .gh-nav { display:flex; visibility:visible; align-items:center; justify-content:flex-end; gap:3px; overflow:visible; white-space:normal; opacity:1; max-height:none; padding:0; pointer-events:auto; text-transform:none; letter-spacing:0; }
.gh-modern-header .gh-nav>a,.gh-modern-header .gh-nav-group>summary { display:flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:10px 12px; border:0; border-radius:11px; color:#284d43; background:transparent; text-shadow:none; font-size:14px; font-weight:650; letter-spacing:0; text-transform:none; text-decoration:none; opacity:1; white-space:nowrap; cursor:pointer; list-style:none; }
.gh-modern-header .gh-nav a[aria-current=page],.gh-modern-header .gh-nav-group:has(a[aria-current=page])>summary { background:#e4ede5; color:#163c32; box-shadow:none; }
.gh-modern-header .gh-nav>a:hover,.gh-modern-header .gh-nav-group>summary:hover,.gh-modern-header .gh-nav-group[open]>summary { background:#e8ede5; }
.gh-modern-header summary::-webkit-details-marker { display:none; }
.gh-modern-header .gh-chevron { display:block; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.gh-modern-header .gh-nav-group[open]>summary .gh-chevron { transform:translateY(1px) rotate(225deg); }
.gh-modern-header .gh-nav-group { position:relative; }
.gh-modern-header .gh-nav-panel { position:absolute; top:calc(100% + 18px); left:50%; transform:translateX(-50%); width:292px; max-height:calc(100dvh - 130px); overflow-y:auto; padding:8px; border:1px solid #d8e2d6; border-radius:18px; background:#fffef8; color:#153d35; box-shadow:0 20px 60px #143d302b; }
.gh-modern-header .gh-nav-group:not([open])>.gh-nav-panel { display:none; }
.gh-modern-header .gh-nav-panel a { display:grid; align-content:center; gap:3px; min-height:58px; padding:10px 12px; color:#1d4439; background:transparent; border:0; border-radius:11px; text-decoration:none; text-shadow:none; font-size:14px; font-weight:650; line-height:1.35; white-space:normal; opacity:1; }
.gh-modern-header .gh-nav-panel a small { font-size:12px; font-weight:450; color:#61746a; }
.gh-modern-header .gh-nav-panel a:hover { background:#edf2e9; }
.gh-modern-header .gh-account-menu { margin-left:6px; padding-left:6px; border-left:1px solid #d5ded0; }
.gh-modern-header .gh-account-menu summary { font-size:13px; gap:6px; }
.gh-modern-header .gh-account-menu summary svg { width:18px; height:18px; }
.gh-modern-header .gh-account-menu .gh-nav-panel { left:auto; right:0; transform:none; width:240px; }
.gh-modern-header .gh-header-logout { display:block; margin:0; }
.gh-modern-header .gh-header-logout button { display:block; width:100%; padding:12px; min-height:46px; text-align:left; border:0; border-radius:10px; background:transparent; color:#735247; text-transform:none; font-size:14px; font-weight:650; letter-spacing:0; cursor:pointer; }
.gh-modern-header .gh-header-logout button:hover { background:#f6eae3; }
.gh-modern-header .gh-header-book { display:inline-flex; justify-content:center; align-items:center; gap:18px; min-height:46px; padding:11px 18px; background:#184d40; color:#fffdf3; border-radius:13px; text-decoration:none; font-size:14px; font-weight:700; white-space:nowrap; box-shadow:0 4px 12px #153e3018; }
.gh-modern-header .gh-header-book:hover { background:#0f3d31; }
.gh-modern-header .gh-header-book:active { transform:scale(.98); }
.gh-modern-header .gh-header-book svg { width:18px; height:18px; }
.gh-modern-header .gh-book-short { display:none; }
.gh-modern-header .gh-menu-toggle { display:none; }
.gh-modern-header :is(a,button,summary):focus-visible { outline:3px solid #18745e !important; outline-offset:3px; }
.gh-modern-header .gh-header-book:focus-visible { outline-offset:4px; }
/* Full-bleed house photography with an editorial, uncluttered introduction. */
.gh-modern-hero { min-height:800px; min-height:100svh; padding:150px max(32px,calc((100vw - 1160px)/2)) 72px; place-items:center start; }
.gh-modern-hero::before { background:#153d35; animation:none; transform:none; }
.gh-modern-hero::after { opacity:1; background:linear-gradient(90deg,#0d2822bc 0%,#0d28228a 42%,#0d282214 78%),linear-gradient(0deg,#102c2580,transparent 55%); background-size:auto; }
.gh-modern-hero .gh-hero-video-poster { opacity:1; animation:none; transform:none; filter:none; background-position:center; }
.gh-modern-hero .gh-hero-frame { width:100%; min-height:0; overflow:visible; border:0; background:transparent; border-radius:0; box-shadow:none; }
.gh-modern-hero .gh-hero-frame::before,.gh-modern-hero .gh-hero-frame::after { display:none; }
.gh-modern-hero .gh-hero-inner { width:100%; min-height:0; display:flex; flex-direction:column; align-items:flex-start; padding:0; }
.gh-modern-hero .gh-kicker { font-size:11px; letter-spacing:.16em; margin:0 0 28px; color:#fff4de; }
.gh-modern-hero h1 { font-size:clamp(4rem,8.2vw,8rem); line-height:.98; letter-spacing:-.065em; font-weight:600; margin:0; max-width:100%; }
.gh-modern-hero h1 span { color:#f5deb5; }
.gh-modern-hero .gh-hero-intro { margin:26px 0 0; max-width:33ch; font-size:clamp(17px,1.6vw,20px); line-height:1.6; color:#fff7e9; }
.gh-modern-hero .gh-hero-buttons { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.gh-modern-hero .gh-hero-buttons a { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:54px; padding:14px 22px; border-radius:12px; text-decoration:none; font-size:15px; font-weight:700; }
.gh-modern-hero .gh-hero-primary { background:#fff7e5; color:#173d33; }
.gh-modern-hero .gh-hero-secondary { background:#0f2e2559; border:1px solid #fff6; color:#fffaf0; }
.gh-modern-hero .gh-hero-buttons a:hover { box-shadow:0 4px 24px #071e2140; }
.gh-modern-hero .gh-video-teaser { margin-top:42px; display:inline-flex; align-items:center; gap:12px; text-decoration:none; color:#fff8e7; font-size:14px; font-weight:650; }
.gh-modern-hero .gh-video-teaser small { display:block; margin-top:3px; font-size:12px; color:#ede9dc; font-weight:450; }
.gh-modern-hero .gh-play-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid #fff8; border-radius:50%; font-size:12px; padding-left:2px; }
#gh-house { scroll-margin-top:110px; }
@media(max-width:1140px)and(min-width:1041px) { .gh-site-header.gh-modern-header { gap:14px; padding-inline:14px; } .gh-modern-header .gh-nav>a,.gh-modern-header .gh-nav-group>summary { padding-inline:9px; } .gh-modern-header .gh-header-book { gap:9px; padding-inline:14px; } }
@media(max-width:1040px) {
 .gh-site-header.gh-modern-header { position:sticky; top:10px; left:auto; right:auto; transform:none; margin:10px auto; width:calc(100% - 24px); grid-template-columns:minmax(0,1fr) auto auto; gap:10px; padding:10px 12px; border-radius:18px; }
 .gh-modern-header .gh-brand { grid-row:1; grid-column:1; gap:9px; }
 .gh-modern-header .gh-brand img { width:36px; height:36px; border-radius:11px; }
 .gh-modern-header .gh-wordmark { display:grid; }
 .gh-modern-header .gh-wordmark strong { font-size:23px; }
 .gh-modern-header .gh-wordmark small { font-size:8px; letter-spacing:.1em; }
 .gh-modern-header .gh-header-book { grid-row:1; grid-column:2; min-height:44px; padding:10px 14px; font-size:13px; gap:6px; }
 .gh-modern-header .gh-header-book svg { display:none; }
 .gh-modern-header .gh-book-long { display:none; }
 .gh-modern-header .gh-book-short { display:inline; }
 .gh-modern-header .gh-menu-toggle { display:block; position:relative; grid-row:1; grid-column:3; width:44px; height:44px; padding:0; border:1px solid #d4dfd1; border-radius:12px; background:#f1f4eb; color:#194637; }
 .gh-modern-header .gh-menu-toggle span { position:absolute; top:50%; left:12px; width:18px; height:1.5px; display:block; background:currentColor; opacity:1; transition:transform .18s; }
 .gh-modern-header .gh-menu-toggle span:nth-child(1) { transform:translateY(-4px); }
 .gh-modern-header .gh-menu-toggle span:nth-child(2) { transform:translateY(4px); }
 .gh-modern-header.is-menu-open .gh-menu-toggle span:nth-child(1) { transform:rotate(45deg); }
 .gh-modern-header.is-menu-open .gh-menu-toggle span:nth-child(2) { opacity:1; transform:rotate(-45deg); }
 .gh-modern-header .gh-nav { grid-column:1/-1; grid-row:2; display:none; width:100%; max-height:calc(100dvh - 112px); overflow:auto; overscroll-behavior:contain; padding:10px 0 4px; gap:4px; text-align:left; }
 .gh-modern-header.is-menu-open .gh-nav { display:block; visibility:visible; max-height:calc(100dvh - 112px); overflow:auto; padding:10px 0 4px; opacity:1; }
 .gh-modern-header .gh-nav>a { justify-content:flex-start; min-height:48px; padding-inline:12px; font-size:16px; }
 .gh-modern-header .gh-nav-group>summary { justify-content:space-between; min-height:44px; margin-top:8px; padding-inline:12px; font-size:13px; font-weight:750; color:#627669; }
 .gh-modern-header .gh-nav-panel,.gh-modern-header .gh-account-menu .gh-nav-panel { position:static; width:auto; max-height:none; overflow:visible; transform:none; margin:0 4px 8px; padding:0 0 0 8px; border:0; border-left:1px solid #dce5d5; border-radius:0; box-shadow:none; background:transparent; }
 .gh-modern-header .gh-nav-panel a { min-height:52px; padding-block:8px; font-size:15px; }
 .gh-modern-header .gh-nav-panel a small { font-size:12px; }
 .gh-modern-header .gh-account-menu { margin:10px 0 0; padding:4px 0 0; border-left:0; border-top:1px solid #dce5d5; }
 .gh-modern-header .gh-account-menu summary { justify-content:flex-start; color:#284d43; }
 .gh-modern-header .gh-account-menu .gh-chevron { margin-left:auto; }
 .gh-modern-hero { min-height:calc(100svh - 94px); padding:48px 28px 54px; }
 .gh-modern-hero h1 { font-size:clamp(3.5rem,11vw,6.8rem); }
 .gh-modern-hero .gh-kicker { font-size:10px; line-height:1.6; max-width:31ch; margin-bottom:26px; }
 .gh-modern-hero .gh-kicker::before { width:25px; flex-shrink:0; }
 .gh-modern-hero .gh-hero-intro { font-size:17px; max-width:28ch; margin-top:24px; }
 .gh-modern-hero .gh-hero-buttons { margin-top:26px; gap:10px; }
 .gh-modern-hero .gh-hero-buttons a { min-height:50px; padding:13px 16px; gap:15px; font-size:14px; }
 .gh-modern-hero .gh-video-teaser { margin-top:32px; }
 .gh-modern-hero::after { background:linear-gradient(90deg,#102d26ba,#102d265c),linear-gradient(0deg,#102d2566,transparent); }
 .gh-page-main { padding-top:28px; }
}
@media(max-width:380px) {
 .gh-site-header.gh-modern-header { gap:7px; padding-inline:10px; }
 .gh-modern-header .gh-brand img { width:31px; height:34px; }
 .gh-modern-header .gh-wordmark { display:grid; }
 .gh-modern-header .gh-wordmark strong { font-size:21px; }
 .gh-modern-header .gh-wordmark small { font-size:7px; }
 .gh-modern-header .gh-header-book { padding-inline:11px; }
 .gh-modern-hero { padding-inline:22px; }
 .gh-modern-hero h1 { font-size:clamp(3rem,12.2vw,3.5rem); }
 .gh-modern-hero .gh-hero-buttons { flex-direction:column; width:100%; }
 .gh-modern-hero .gh-hero-buttons a { width:100%; justify-content:space-between; }
}
@media(prefers-reduced-transparency:reduce) { .gh-site-header.gh-modern-header { background:#fffdf5; backdrop-filter:none; -webkit-backdrop-filter:none; } }
@media(prefers-contrast:more) { .gh-site-header.gh-modern-header { background:#fffef8; border:2px solid #173d35; } .gh-modern-header .gh-nav-panel { border:2px solid #173d35; } }
@media(prefers-reduced-motion:reduce) { .gh-modern-header *,.gh-modern-hero * { transition:none !important; animation:none !important; } }
