*{box-sizing:border-box}
html,body{margin:0}
body{overflow-x:clip}
html{scroll-behavior:smooth}
body{background:var(--surface-page);font-family:var(--font-sans);color:var(--text-body);-webkit-font-smoothing:antialiased}
img,svg,video,canvas{max-width:100%;height:auto}
.rss-split>*,.rss-footer-grid>*{min-width:0}
a{color:inherit}
a:hover{color:var(--text-accent)}
section[id]{scroll-margin-top:96px}
@media (max-width:860px){
  .rss-split,.rss-grid4{grid-template-columns:1fr !important;gap:36px !important}
  .rss-footer-grid{grid-template-columns:1fr 1fr !important;gap:28px !important}
  .rss-about-aside{position:static !important}
  .rss-navlinks{display:none !important}
  .rss-display{font-size:46px !important}
  .rss-h2{font-size:30px !important}
  .rss-philosophy{font-size:26px !important;line-height:1.34 !important}
  .rss-hero-photo{height:360px !important}
  .rss-stats{gap:28px !important;flex-wrap:wrap !important}
  .rss-modal-cols{grid-template-columns:1fr !important;gap:24px !important}
  .rss-intro-cols{grid-template-columns:1fr !important;gap:40px !important;justify-items:center}
  .rss-intro{padding:36px 22px 16px !important}
  .rss-intro-video{max-width:340px !important}
  .rss-intro>div:last-child{text-align:left}
}
@media (max-width:480px){
  .rss-split,.rss-grid4,.rss-footer-grid{gap:24px !important}
  .rss-display{font-size:40px !important}
  .rss-h2{font-size:26px !important}
  .rss-logo img{height:48px !important}
  main>section,main>section>div{padding-left:22px !important;padding-right:22px !important}
  .rss-nav-inner{padding-left:22px !important;padding-right:22px !important}
  .rss-modal-panel{padding:30px 22px 26px !important}
}
/* Six across only where each column still holds a readable measure (~150px+
   of text at 17px); three across is the normal desktop state. */
@media (min-width:1500px){.rss-grid6{grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:34px 26px !important}}
@media (max-width:760px){.rss-grid6{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:24px 20px !important}}
@media (max-width:480px){.rss-grid6{grid-template-columns:1fr !important}}
.rss-intro-video video:fullscreen,.rss-intro-video video:-webkit-full-screen{object-fit:contain !important;width:100% !important;height:100% !important;background:#17150F}

/* Contact card: nothing may exceed the card's inner width. */
.rss-form-row>*{min-width:0}
.rss-booking-card input,.rss-booking-card textarea,.rss-booking-card select{width:100%;max-width:100%;box-sizing:border-box}
.rss-booking-card label,.rss-booking-card form>*{max-width:100%}

/* Section eyebrows: one definition, one size. Previously these inherited an
   ambient 12px, which is why raising inline sizes never reached them. */
.rss-eyebrow{font-size:13px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-subtle)}
/* Contact form labels come from the shared DS Input component (12px there);
   overridden here rather than in the design system, which other pages use. */
.rss-booking-card label{font-size:13px !important}
.rss-booking-card input,.rss-booking-card textarea{font-size:16px !important}
