/* A comfortable reading scale, with the existing display headings retained. */
body{font-size:20px;line-height:1.65}
.hero-copy .lead,.service-hero .lead,.intro-grid .lead,.page-intro .lead,.lead{font-size:21px;line-height:1.75}
.section-heading p,.card-body p,.spaces-grid .space-card:first-child .card-body p,.related-grid .card-body p,.signal-card p,.amenity-tile p,.experience-copy p,.benefit-item p,.use-panel p,.include-item p,.faq-intro p,.faq-list details p,.booking-block p,.booking-details p,.contact-card>p,.contact-option p,.contact-result p,.location-copy p,.legal p,.legal li,.cta-panel p{font-size:18px;line-height:1.75}
.faq-list summary{font-size:19px;line-height:1.55}
.use-tab .tab-label{font-size:20px;line-height:1.5}
.experience-point,.visit-list{font-size:18px}
.btn,.main-nav .btn,.hero-copy .btn,.service-hero .btn,.use-panel .btn,.cta-actions .btn,.booking-details .btn,.mobile-contact a{font-size:17px;line-height:1.4;min-height:48px}
.text-link,.hero-copy .actions .text-link,.hero-copy .text-link,.service-hero .text-link,.cta-actions .text-link,.booking-details .text-link,.contact-option .text-link,.card-body .card-link{font-size:17px;line-height:1.5}
.filter-tab{font-size:16px;min-height:44px}
.select-wrap select,.field input,.field textarea,.field select{font-size:19px;line-height:1.5}
.select-wrap label,.field label{font-size:15px;letter-spacing:.08em}
.space-selector p{font-size:17px;line-height:1.65}
.eyebrow,.hero-copy .eyebrow,.service-hero .eyebrow{font-size:14px;line-height:1.6;letter-spacing:.13em}
.hero-caption,.select-note,.spaces-note,.difference-foot,.fine-print,.field small,.booking-details small,.breadcrumbs{font-size:15px;line-height:1.65}
.form-note{font-size:15px!important;line-height:1.65}
.photo-label,.hero-visual>.photo-label,.service-photo .photo-label,.card-tag,.gallery-item span{font-size:14px;line-height:1.5;letter-spacing:.04em}
.hero-scene-copy>span,.hero-photo-bottom small,.booking-details>span,.contact-option strong{font-size:14px;line-height:1.6}
.hero-scene-copy p{font-size:18px;line-height:1.65;min-height:53px}
.hero-scene-copy a{font-size:16px;line-height:1.5}
.hero-tab{font-size:17px;line-height:1.4}
.hero-tab span,.hero-scene-count,.use-tab .number,.benefit-item .num,.experience-point>span{font-size:14px}
.fact strong{font-size:18px;line-height:1.5}
.fact span,.service-facts,.service-facts span{font-size:16px;line-height:1.6}
.subnav-title,.subnav-links{font-size:16px}
.subnav-links{min-width:0;overflow-x:auto}
.subnav .book-mini{font-size:15px;min-height:40px}
.footer-brand p,.footer-column address{font-size:17px;line-height:1.75}
.footer-column h3{font-size:15px;line-height:1.6}
.footer-column a{font-size:16px;line-height:1.65}
.footer-bottom{font-size:14px;line-height:1.65}
.lightbox p{font-size:17px;line-height:1.6}
.main-nav,.nav-dropdown>button{font-size:17px}
.hero-grid>*,.service-hero-grid>*,.use-grid>*,.card-body,.include-item>div{min-width:0}
/* Larger navigation labels get a roomy drawer before the header becomes crowded. */
@media(max-width:1050px){
  .menu-toggle{display:grid;flex-shrink:0}
  .main-nav{display:none;position:fixed;top:var(--nav-height);left:0;right:0;height:calc(100dvh - var(--nav-height));padding:24px 26px 65px;background:#f8fcfe;overflow-y:auto;align-items:stretch;flex-direction:column;gap:10px;font-size:20px}
  .main-nav.is-open{display:flex}
  .main-nav>a{padding:12px 0!important}
  .main-nav .nav-phone{display:block}
  .main-nav .btn{margin-top:10px;font-size:18px}
  .nav-dropdown>button{font-size:20px}
  .nav-panel{position:static;width:100%;box-shadow:none;margin-block:8px;padding:8px;background:#fff}
  .nav-panel a{font-size:18px}
}
@media(min-width:1051px) and (max-width:1200px){.main-nav{gap:18px}.header-inner{gap:20px;padding-inline:24px}.logo{width:220px}.main-nav .btn{padding-inline:15px;gap:10px}}
@media(max-width:850px){
  .hero-copy .lead,.service-hero .lead,.intro-grid .lead,.page-intro .lead{font-size:20px}
  .use-tab .tab-label{font-size:18px}
  .fact strong{font-size:16px}.fact span{font-size:15px}
  .hero-tab{font-size:16px}.hero-tab span{display:none}
  .hero-scene-copy p{font-size:17px}
}
@media(max-width:600px){
  .hero-visual{height:520px;min-height:520px}
  .hero-scene-copy p{font-size:18px}
  .hero-copy .eyebrow,.service-hero .eyebrow{font-size:13px;letter-spacing:.09em}
  .hero-visual>.photo-label{font-size:13px}
  .hero-facts{gap:14px}
  .hero-tab{font-size:16px;padding-inline:8px}
  .hero-caption{font-size:14px}
  .use-tab .tab-label{overflow-wrap:break-word}
  .btn{gap:14px}
}
