:root{
  --radius-sm:16px;
  --radius-md:22px;
  --radius-lg:30px;
}

/* More comfortable reading sizes, with calmer display typography. */
body{font-size:18px}
.eyebrow,.label-row,.hero-kicker,.intro-aside .page-number{font-size:12px}
.body,.body-copy,.story-copy p,.overview-head p,.footer-brand p{font-size:17px}
.text-link,.link,.pill,.nav-cta,.nav .cta-mini{font-size:12px}
.display{font-size:clamp(48px,6.25vw,96px)}
.hero-title{font-size:clamp(54px,6.6vw,94px)}
.cta-content h2{font-size:clamp(46px,5.4vw,82px)}
.hero .hl{font-size:clamp(50px,6.8vw,98px)}
.hero .hero-panel p{font-size:18px}
.sec-head .right{font-size:17px}
.destination-copy p,.site-footer ul,footer ul{font-size:16px}

/* Rounder, softer surfaces throughout the experience. */
.story-media,.destination-card,.media-card,.video-card,.home-discovery-card,
.home-compact .intro .feature .ph,.home-compact .hideaways .card{
  border-radius:var(--radius-md);
}
.offer,.feature-card,.quick-booking,.booking-search-field{border-radius:var(--radius-md)}
.glass-dark,.glass-light,.card .name-block{border-radius:var(--radius-lg)}
.filter,.pill,.text-link.ghost,.link.ghost{border-radius:999px}

/* Larger, clearer navigation with a real hideaway overview. */
.nav,.site-nav{min-height:94px;padding-top:10px;padding-bottom:10px}
.nav .brand img,.site-nav .logo img{height:78px;max-width:150px}
.nav ul,.site-nav ul{gap:clamp(20px,2.1vw,36px)}
.nav ul a,.site-nav ul a{font-size:13px;letter-spacing:.105em;font-weight:500}
.nav .lang{font-size:12px}
.nav .cta-mini,.site-nav .nav-cta{
  min-height:44px;display:inline-flex;align-items:center;padding:0 18px;
  border:1px solid currentColor;border-radius:999px;
}
.nav.scrolled{padding-top:8px;padding-bottom:8px}
.nav.scrolled .brand img{height:64px}
.mega-menu{
  position:fixed;z-index:58;top:94px;left:var(--edge);right:var(--edge);
  display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);
  gap:18px;padding:18px;background:rgba(244,241,236,.96);
  border:1px solid rgba(28,26,22,.12);border-radius:0 0 var(--radius-lg) var(--radius-lg);
  box-shadow:0 30px 80px -42px rgba(28,26,22,.58);
  backdrop-filter:blur(24px) saturate(1.12);
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
}
body.mega-open .mega-menu{opacity:1;visibility:visible;transform:none}
.mega-core{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mega-card,.mega-rosa{
  min-height:190px;position:relative;overflow:hidden;border-radius:18px;color:#fff;
  display:flex;align-items:flex-end;padding:18px;
}
.mega-card img,.mega-rosa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.mega-card::after,.mega-rosa::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(12,11,9,.78))}
.mega-card:hover img,.mega-rosa:hover img{transform:scale(1.04)}
.mega-card span,.mega-rosa span{position:relative;z-index:1;display:flex;flex-direction:column;line-height:1.25}
.mega-card small,.mega-rosa small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.mega-card strong,.mega-rosa strong{font-size:20px;font-weight:400}
.mega-rosa{min-height:190px;border:2px solid rgba(155,101,112,.7)}
.mega-rosa small{color:#f4dfe4}
.mega-all{position:absolute;right:24px;top:-43px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}

/* Home slider: larger imagery, native swipe and an automatic leftward flow. */
.home-compact .hideaways .track-wrap{
  scroll-behavior:smooth;scroll-padding-inline:var(--edge);
  scrollbar-width:thin;scrollbar-color:rgba(28,26,22,.28) transparent;
}
.home-compact .hideaways .track{gap:14px}
.home-compact .hideaways .card{
  width:min(1080px,82vw);height:min(74vh,720px);min-height:560px;
  scroll-snap-align:center;box-shadow:0 24px 70px -42px rgba(28,26,22,.65);
}
.home-compact .hideaways .card .ph{transform:scale(1.04)}
.card-action{position:absolute;inset:0;z-index:3}
.card-action span,.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.card-rosa{
  margin-left:0;
  outline:3px solid rgba(155,101,112,.72);outline-offset:7px;
}
.card-rosa::before{
  content:"Eigenständiges Refugium";position:absolute;z-index:4;left:22px;top:76px;
  padding:8px 13px;border-radius:999px;background:#9b6570;color:#fff;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
}
.house-slider-meta{
  width:min(calc(100% - var(--gutter)*2),var(--max));margin:22px auto 0;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  color:var(--muted);font-size:13px;letter-spacing:.08em;
}
.house-slider-meta strong{color:var(--ink);font-weight:500}
.house-slider-meta .mobile-copy{display:none}
@media(min-width:901px){
  .home-compact .hideaways.house-scroll-linked{padding-bottom:0;overflow:visible}
  .home-compact .hideaways.house-scroll-linked .track-wrap{
    position:sticky;top:94px;height:calc(100vh - 94px);
    overflow:hidden;scroll-snap-type:none;padding-bottom:0;
  }
  .home-compact .hideaways.house-scroll-linked .track{
    height:100%;align-items:center;
  }
  .home-compact .hideaways .track{will-change:transform}
}

/* Footer identities and partner marks must remain legible. */
footer .brand-block .logo{height:126px}
footer .partners{
  gap:clamp(34px,5vw,72px);opacity:.72;padding:34px;border-radius:var(--radius-md);
  background:rgba(255,255,255,.035);
}
footer .partners img{height:clamp(52px,4.4vw,74px);max-width:190px;object-fit:contain}
footer .partners img:last-child{width:clamp(230px,24vw,340px);height:auto;max-width:none}
.footer-logo{height:124px}
.site-footer h3,footer h4{font-size:12px}
.social-icons{display:flex!important;align-items:center;gap:12px;margin-top:14px}
.social-icons a{
  width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s;
}
.social-icons a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}
.social-icons img{width:20px;height:20px;filter:invert(1);opacity:.9}
.contact-details .social-icons{border-bottom:0;padding:18px 0}
.contact-details .social-icons a{border-color:rgba(28,26,22,.2)}
.contact-details .social-icons a:hover{background:rgba(28,26,22,.06);border-color:rgba(28,26,22,.45)}
.contact-details .social-icons img{filter:none}
.footer-bottom,footer .bottom{font-size:13px}

.page-hideaways .overview .destination-card:last-child{
  grid-column:2/4;outline:3px solid rgba(155,101,112,.58);outline-offset:-3px;
}
.page-hideaways .overview .destination-card:last-child .destination-copy small{color:#f2cfd7}

@media(max-width:1180px){
  .mega-menu{display:none}
  body.mega-open .mega-menu{display:none}
}
@media(max-width:800px){
  body{font-size:17px}
  .body,.body-copy,.story-copy p,.overview-head p,.footer-brand p{font-size:17px}
  .nav,.site-nav,.nav.scrolled{min-height:82px}
  .nav .brand img,.site-nav .logo img,.nav.scrolled .brand img{height:62px;max-width:128px}
  .nav .cta-mini,.site-nav .nav-cta{font-size:10px;min-height:40px;padding:0 14px}
  .mobile-menu{padding-top:104px}
  .mobile-menu a{font-size:clamp(28px,8vw,42px);padding:18px 0}
  .mobile-menu a span{font-size:11px}
  .hero .hl{font-size:clamp(44px,11.2vw,60px)}
  .hero .hero-panel p{font-size:17px}
  .hero-title{font-size:clamp(46px,12vw,64px)}
  .display{font-size:clamp(43px,11vw,58px)}
  .home-compact .hideaways .card{width:88vw;height:68vh;min-height:520px}
  .card .name-block{left:14px;right:14px;bottom:14px;padding:19px}
  .card .name-block .specs{display:none}
  .card .name-block .tag{font-size:15px}
  .card-rosa{margin-left:42px}
  .card-rosa::before{top:72px;font-size:10px}
  .house-slider-meta{align-items:flex-start;font-size:12px}
  .house-slider-meta .desktop-copy{display:none}
  .house-slider-meta .mobile-copy{display:inline}
  footer .brand-block .logo,.footer-logo{height:110px}
  footer .partners{padding:24px;gap:30px}
  footer .partners img{height:56px;max-width:140px}
  footer .partners img:last-child{width:min(100%,280px);height:auto;max-width:none}
  .page-hideaways .overview .destination-card:last-child{grid-column:auto}
}
@media(max-width:520px){
  .nav .cta-mini,.site-nav .nav-cta{font-size:10px}
  .mobile-menu a{font-size:31px}
  .eyebrow,.label-row,.hero-kicker,.intro-aside .page-number{font-size:11px}
  .home-compact .hideaways .card{width:90vw;height:64vh;min-height:500px}
  .house-slider-meta{margin-top:16px}
}
@media(prefers-reduced-motion:reduce){
  .home-compact .hideaways .track-wrap{scroll-behavior:auto}
}
