/* Compact event layout and accessible brand photo galleries. */
.section{padding-top:44px;padding-bottom:44px}
.brand-strip{padding-top:20px;padding-bottom:20px}
.intro-copy{padding-top:0}
.intro .eyebrow{margin-bottom:16px}
.intro-copy .lead{margin-bottom:16px}
.small-note{margin-top:18px}
.houses{padding-top:4px}
.house-grid{row-gap:28px}
.house-heading{margin-top:16px;margin-bottom:8px}
.experience-title{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.experience-title .button{max-width:100%;text-align:left;gap:20px}
.experience-grid{margin-top:26px;gap:30px}
.experience-grid article{padding-top:16px}
.experience h3{margin-top:12px;margin-bottom:10px}
.visit-details{padding-top:0}
.visit-details .eyebrow{margin-bottom:16px}
.gallery{touch-action:pan-y}
.gallery .gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;pointer-events:none}
.gallery .gallery-slide.is-active{opacity:1}
.house:hover .gallery img{transform:none}
.gallery-arrow,.gallery-pause{position:absolute;display:flex;align-items:center;justify-content:center;z-index:1;border:1px solid #ffffff80;background:#252d298f;color:#fff;min-width:44px;min-height:44px;cursor:pointer;backdrop-filter:blur(5px)}
.gallery-arrow{top:50%;transform:translateY(-50%);font:34px/1 Georgia,serif}
.gallery-prev{left:10px}.gallery-next{right:10px}
.gallery-pause{right:10px;top:10px;font-size:14px}
.gallery-arrow:hover,.gallery-pause:hover{background:#252d29d9}
.gallery button:focus-visible{outline:2px solid white;outline-offset:2px}
.gallery-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#252d29b3;color:white;padding:4px 12px;font-size:11px;letter-spacing:.12em;pointer-events:none}
.house-number{z-index:1}
@media(max-width:620px){
  .section{padding-top:26px;padding-bottom:26px}
  .brand-strip{padding-top:14px;padding-bottom:14px;row-gap:10px}
  .intro-copy{padding-top:18px}
  .intro .eyebrow{margin-bottom:12px}
  .intro-copy .lead{margin-bottom:12px}
  .small-note{margin-top:14px;padding-left:16px}
  .houses{padding-top:0}
  .house-grid{gap:24px}
  .house-heading{margin-top:12px;margin-bottom:7px}
  .experience-title{gap:20px}
  .experience-title .button{width:100%;padding:15px 16px;line-height:1.5}
  .experience-grid{margin-top:20px;gap:20px}
  .experience h3{margin:0 0 8px}
  .visit-date{margin-top:18px}
  .days{margin-top:20px;margin-bottom:12px}
  .visit-details{margin-top:24px;padding-top:24px}
  .visit-details .eyebrow{margin-bottom:12px}
  .booking{padding-top:20px;margin-top:20px}
}

/* Address section after removing the event calendar block. */
.visit{display:block}
.visit-details{max-width:600px;margin:0 auto;padding-top:0;border-top:0}

/* Let the desktop hero grow with its content so the booking button and details never overlap. */
@media(min-width:621px){
  .hero{display:flex;flex-direction:column;height:auto;max-height:none;min-height:clamp(700px,calc(100svh - 96px),960px)}
  .hero-content{flex:1 0 auto;width:100%;padding-bottom:32px}
  .hero-bottom{position:relative;left:auto;right:auto;bottom:auto;flex:none;flex-wrap:wrap;margin:0 6.5% 30px;gap:22px 40px}
}
