@media(min-width:1600px){.bp-hero-visual{min-height:680px}}@media(max-width:1023px){.bp-nav{gap:20px;min-height:88px}.bp-nav ul{gap:16px}.bp-hero{gap:32px;grid-template-columns:1fr 1fr}.bp-hero-copy{padding-top:20px}.bp-hero h1{font-size:55px}.bp-hero-visual{min-height:570px}.bp-hero-index{flex-wrap:wrap;gap:8px 20px;margin-top:32px}.bp-section{padding-block:72px}.bp-activities{padding-top:0}.bp-restaurant{gap:60px}.bp-restaurant-image{height:500px}.bp-card-body{padding:22px}.bp-section-heading{gap:40px}.bp-visit-grid{gap:32px;grid-template-columns:1fr 1fr}.bp-visit-note{display:none}.bp-booking-grid{gap:12px}.bp-booking-grid a{padding:20px}.bp-entries{gap:20px}.bp-entries article{gap:12px}}
@media(max-width:767px){.bp-nav{flex-wrap:wrap;padding-block:20px;gap:15px}.bp-brand{font-size:32px}.bp-brand span{font-size:7px}.bp-menu-button{display:block;margin-left:auto}.bp-nav>.bp-button{display:none}.bp-nav nav{width:100%;order:3;margin:0}.bp-nav ul{flex-wrap:wrap;gap:4px 24px}.berry-preview.bp-js .bp-nav nav:not(.is-open){display:none}.bp-hero{grid-template-columns:1fr;padding-top:22px;gap:30px;padding-bottom:32px}.bp-hero-copy{padding:12px 0 0}.bp-hero h1{font-size:clamp(46px,8.5vw,68px);max-width:600px;margin-top:18px}.bp-hero .bp-intro{max-width:550px}.bp-hero-visual{min-height:0;height:440px}.bp-hero-index{display:none}.bp-entries{grid-template-columns:1fr;padding:10px 0 38px;gap:0}.bp-entries article{padding:24px 0;border-bottom:1px solid var(--bp-line);gap:24px}.bp-entries article:last-child{border:0}.bp-entries h2{font-size:27px}.bp-entries p{display:none}.bp-entries .bp-text-link{font-size:11px}.bp-section{padding-block:60px}.bp-activities{padding-top:0}.bp-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.bp-section-heading>p{max-width:none}.bp-restaurant{grid-template-columns:1fr;gap:46px}.bp-restaurant-image{height:460px;margin-right:25px}.bp-stamp{width:105px;height:105px;right:-25px;font-size:13px}.bp-card-grid{grid-template-columns:1fr;gap:20px}.bp-card>.bp-picture{aspect-ratio:16/10}.bp-card-text{min-height:270px}.bp-card-text .bp-card-index{margin-bottom:35px}.bp-card-body{padding:28px}.bp-card h3{font-size:32px}.bp-card p{max-width:520px}.bp-visit-grid{grid-template-columns:1fr;gap:40px;margin-top:32px}.bp-booking-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}.bp-booking-grid a{grid-template-columns:30px 1fr auto;align-items:center;gap:14px;padding:24px 18px}.bp-booking-grid a>span:first-child{grid-column:auto}.bp-booking-grid strong{font-size:24px}.bp-footer{flex-direction:column;padding-block:40px}.bp-footer nav{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:24px}.bp-footer nav span{width:100%}.bp-eyebrow{font-size:10px}.bp-actions{gap:18px}}
@media(max-width:399px){.bp-actions{align-items:flex-start;flex-direction:column}.bp-hero h1{font-size:45px}.bp-hero-visual{height:360px}.bp-restaurant-image{height:390px}.bp-booking-grid strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.berry-preview *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Text-only routes use the same display type without overflowing a narrow
   content column. Specificity keeps these rules stable across the shared
   editorial and production layers loaded after this file. */
.berry-site .bp-page-heading{
  padding-block:clamp(48px,7vw,112px) clamp(44px,6vw,90px);
}
.berry-site .bp-generic-page{
  padding-block:clamp(56px,7vw,112px) clamp(64px,7vw,100px);
}
.berry-site .bp-generic-page h1{font-size:clamp(40px,7vw,94px);hyphens:manual}
.berry-site :is(.bp-page-heading,.bp-detail-heading,.bp-generic-page__inner){min-width:0}
.berry-site :is(.bp-page-heading,.bp-detail-heading,.bp-generic-page) h1{
  max-width:100%;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.berry-site .bp-breadcrumb{flex-wrap:wrap;row-gap:8px}
.berry-site .bp-breadcrumb [aria-current]{min-width:0;overflow-wrap:anywhere}
.berry-site .bp-entry-content :is(h2,h3,h4){
  overflow-wrap:anywhere;
  hyphens:auto;
  line-height:1.15;
}
.berry-site .bp-entry-content :is(ul,ol){padding-inline-start:1.4em}
.berry-site .bp-entry-content :is(img,video){max-width:100%;height:auto}
.berry-site .bp-faq summary{min-height:48px;padding-block:12px;line-height:1.5;cursor:pointer}
.berry-site .bp-visit-grid>div{min-width:0}
.berry-site .bp-visit-grid address{overflow-wrap:anywhere}
.berry-site .bp-visit-grid :is(a[href^="mailto:"],a[href^="tel:"]){
  display:inline-block;
  min-height:44px;
  max-width:100%;
  padding-block:8px;
  overflow-wrap:anywhere;
}
.berry-site .bp-visit-grid .bp-hours div{gap:12px}
.berry-site .bp-visit-grid .bp-hours dt{min-width:0}
.berry-site .bp-visit-grid .bp-hours dd{flex-shrink:0}

@media(max-width:1100px){
  .berry-site .bp-breadcrumb{align-items:center}
  .berry-site .bp-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:767px){
  .berry-site :is(.bp-page-heading,.bp-generic-page) h1{
    font-size:clamp(40px,11.2vw,72px);
    line-height:1;
  }
  .berry-site .bp-entry-content{font-size:16px;line-height:1.75}
  .berry-site .bp-entry-content :is(h2,h3,h4){font-size:clamp(25px,7vw,36px)}
}

/* Preserve the games' native photo-card rail. A visible scrollbar and a
   matching focus border make its horizontal interaction discoverable. */
@media(max-width:900px){
  .berry-site .bp-activities .bp-game-grid{
    min-width:0;
    scrollbar-width:thin;
    scrollbar-color:#aa8848 #28231c;
    padding-block:8px 20px;
  }
  .berry-site .bp-activities .bp-game-card,
  .berry-site .bp-activities .bp-game-card__content{
    min-height:clamp(440px,70svh,560px);
  }
  .berry-site .bp-activities .bp-game-card:focus-within{border-color:#f2d886}
}
@media(max-width:600px){
  .berry-site .bp-gaming-heading{grid-template-columns:72px minmax(0,1fr);gap:16px}
  .berry-site .bp-gaming-heading h2{font-size:clamp(36px,9vw,48px);overflow-wrap:anywhere}
  .berry-site .bp-gaming-brand img{width:72px}
  .berry-site .bp-gaming-heading .bp-eyebrow{font-size:9px;letter-spacing:.12em}
}
