/* Homepage comparison: cream and wine, using the existing Salzburg photograph. */
html { scroll-padding-top: 0; }
body.home-refresh { padding-top: 0; }
.home-header { position: sticky; top: 0; z-index: 100; background: #fcf2dbf7; border-bottom: 1px solid #dfcdb4; }
.home-header-inner { max-width: 1200px; margin: auto; padding: 14px 24px; display: flex; align-items: center; gap: 26px; }
.home-wordmark { flex-shrink: 0; text-decoration: none; color: var(--wine); font: italic 29px/1.15 Georgia,serif; white-space: nowrap; }
.home-wordmark small { display: block; margin-top: 5px; color: #795a50; font-size: 13px; }
.home-header .site-navigation { flex: 1; width: auto; margin: 0; padding: 0; gap: 10px 20px; justify-content: space-evenly; flex-wrap: nowrap; }
.home-header .site-navigation a { font-size: 15px; padding: 10px 0; white-space: nowrap; }
.home-header .language-switch { position: static; flex-shrink: 0; z-index: auto; margin: 0; background: transparent; font-size: 14px; padding: 3px; gap: 1px; }
.home-header .language-switch a { min-width: 36px; min-height: 40px; }
.home-menu-toggle { display: none; align-items: center; gap: 7px; border: 0; background: transparent; color: var(--ink); padding: 8px 0 8px 4px; font: 16px/1.3 Arial,sans-serif; cursor: pointer; min-height: 44px; }
.home-menu-toggle svg { width: 22px; height: 22px; }
.home-skip { position: fixed; top: 8px; left: 12px; transform: translateY(-150%); z-index: 110; padding: 10px 16px; background: #fffdf7; }
.home-skip:focus { transform: none; }
.home-refresh :is(.home-wordmark,.home-menu-toggle,.hero-primary,.hero-contact,.home-menu-close):focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.home-refresh .page { padding-top: 0; }
.home-hero { position: relative; display: grid; grid-template-areas: 'heading' 'intro' 'features' 'photo'; margin: 0 -46px 30px; padding-top: 48px; overflow: hidden; border-radius: 0 0 24px 24px; }
.hero-heading { grid-area: heading; position: relative; z-index: 1; padding: 0 28px; }
.home-wordmark h1 { font: inherit; color: inherit; margin: 0; }
.home-hero .home-tagline { font-size: clamp(23px,2.7vw,30px); margin: 0; color: #795a50; }
.home-hero .hero-intro { grid-area: intro; position: relative; z-index: 1; max-width: 700px; padding: 0 28px; margin: 22px auto 0; font-size: 19px; line-height: 1.6; }
.hero-actions { grid-area: actions; position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; gap: 26px; margin: 24px 24px 0; }
.overview-actions { margin: 24px 0 0; }
.hero-primary { display: inline-flex; justify-content: center; align-items: center; gap: 15px; min-height: 50px; padding: 12px 25px; border-radius: 7px; background: var(--wine); color: white; text-decoration: none; font-size: 17px; font-weight: bold; }
.hero-primary:hover { background: #7d3b3a; }
.hero-contact { font-size: 17px; text-underline-offset: 5px; }
.hero-features { grid-area: features; position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; max-width: 860px; width: calc(100% - 64px); margin: 30px auto 0; padding: 0; list-style: none; }
.hero-features li { display: flex; justify-content: center; align-items: center; gap: 10px; text-align: left; font-size: 15px; line-height: 1.4; }
.hero-features svg { width: 27px; height: 27px; flex-shrink: 0; color: var(--wine); }
.hero-photo { grid-area: photo; position: relative; z-index: 0; margin: 28px 0 0; pointer-events: none; }
.hero-photo::after { content: ''; position: absolute; inset: 0; background: none; }
.hero-photo img { display: block; width: 100%; height: 490px; object-fit: cover; object-position: center 54%; }
.home-refresh .apartment-overview { gap: 20px; margin-bottom: 0; }
.home-refresh .overview-card { border-radius: 9px; overflow: hidden; background: #fffaf0; border: 1px solid #e2d0b6; padding-bottom: 12px; }
.home-refresh .overview-card img { object-fit: cover; }
.home-refresh .overview-card span { padding: 0 8px; font-size: 16px; }
.home-refresh section[id] { scroll-margin-top: 108px; }
.home-menu-dialog { position: fixed; inset: 0 0 0 auto; width: min(84vw,370px); height: 100%; height: 100dvh; max-height: none; max-width: none; margin: 0 0 0 auto; padding: 24px; border: 0; border-left: 1px solid #d6c2a7; background: var(--bg); color: var(--ink); overflow-y: auto; }
.home-menu-dialog::backdrop { background: #251c18a3; }
.home-menu-close { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 34px auto; padding: 10px 0 10px 12px; min-height: 44px; border: 0; color: var(--ink); background: transparent; font: 16px Arial,sans-serif; cursor: pointer; }
.home-menu-close svg { width: 22px; height: 22px; }
.home-menu-title { margin: 0 0 18px; color: var(--wine); font: italic 28px/1.3 Georgia,serif; }
.home-menu-dialog .site-navigation { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 0; }
.home-menu-dialog .site-navigation a { display: block; padding: 17px 0; border-bottom: 1px solid #dfcdb4; font-size: 18px; }
html.home-menu-open { overflow: hidden; }
@media(min-width:720px) and (max-width:1050px) {
  .home-header-inner { padding: 10px 12px; gap: 12px; }
  .home-wordmark { font-size: 24px; }
  .home-header .site-navigation { gap: 10px; justify-content: space-evenly; }
  .home-header .site-navigation a { font-size: 13px; }
  .home-header .language-switch { font-size: 13px; padding: 2px; }
  .home-header .language-switch a { min-width: 32px; }
}
@media(max-width:719px) {
  .home-header-inner { padding: 9px 18px; gap: 14px; flex-wrap: wrap; }
  .home-wordmark { margin-right: auto; font-size: 25px; }
  .home-wordmark small { display: none; }
  .home-header .site-navigation { flex-basis: 100%; order: 4; flex-wrap: wrap; }
  .home-menu-ready .home-header .site-navigation { display: none; }
  .home-menu-ready .home-menu-toggle { display: inline-flex; }
  .home-refresh section[id] { scroll-margin-top: 88px; }
}
@media(max-width:650px) {
  .home-header-inner { padding: 8px 12px; gap: 9px; }
  .home-wordmark { font-size: clamp(18px,5vw,24px); }
  .home-header .language-switch { padding: 1px; font-size: 13px; gap: 0; }
  .home-header .language-switch a { min-width: 32px; min-height: 42px; }
  .home-menu-toggle { gap: 5px; font-size: 14px; }
  .home-menu-toggle svg { width: 20px; }
  .home-hero { grid-template-areas: 'heading' 'photo' 'intro' 'features'; margin: 0 -18px 24px; padding-top: 26px; border-radius: 0; overflow: visible; }
  .hero-heading { padding: 0 18px; }
  .home-hero .home-tagline { font-size: 21px; line-height: 1.35; max-width: 360px; margin: auto; }
  .hero-photo { margin: 22px 18px 0; border-radius: 10px; overflow: hidden; }
  .hero-photo::after { background: linear-gradient(to bottom,#fcf2db22,transparent 35%); }
  .hero-photo img { height: auto; aspect-ratio: 3/2; object-fit: contain; }
  .home-hero .hero-intro { margin-top: 18px; padding: 0 22px; font-size: 17px; line-height: 1.5; }
  .hero-actions { flex-direction: column; gap: 13px; margin: 18px 18px 0; }
  .overview-actions { margin: 20px 0 0; }
  .hero-primary { width: 100%; max-width: 370px; font-size: 17px; }
  .hero-contact { font-size: 16px; }
  .hero-features { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 14px; width: calc(100% - 44px); margin-top: 24px; }
  .hero-features li { justify-content: flex-start; font-size: 14px; gap: 8px; }
  .hero-features svg { width: 23px; height: 23px; }
  .home-refresh .apartment-overview { gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .home-refresh .overview-card { margin-bottom: 0; padding-bottom: 9px; border-radius: 6px; }
  .home-refresh .overview-card span { font-size: 13px; padding: 0 3px; overflow-wrap: anywhere; }
  .home-refresh section[id] { scroll-margin-top: 82px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

/* Guest review links on the homepage */
.guest-review-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0 22px}.guest-review-link{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px 18px;border:1px solid #d6c2a7;border-radius:10px;color:var(--wine);font:bold 20px/1.4 Arial,sans-serif;text-decoration:none}.guest-review-link span{font:16px/1.5 Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}.guest-review-link:hover,.guest-review-link:focus-visible{background:#f4ead5}.guest-review-note{max-width:780px;margin:0 auto;font:16px/1.6 Arial,sans-serif}.home-header .site-navigation{gap:14px}.home-header .site-navigation a{font-size:14px}@media(max-width:719px){.guest-review-links{grid-template-columns:1fr}.home-header .site-navigation a{font-size:18px}}
