/* MALWA / inner-page rhythm / 2026-11-02
   Source of truth: approved homepage hero (571px) and ribbon (62px) at 1440px.
   Scoped to inner pages only. Existing homepage is unchanged. */
:root { --malwa-inner-page-gutter: clamp(22px, 3.3vw, 48px); }
@media (min-width: 901px) {
 body.malwa-subpage main > section.hero,
 body.malwa-subpage main > section.booking-page-hero {
   min-height:571px !important;
   height:auto !important;
   box-sizing:border-box !important;
   padding:47px 0 !important;
   display:flex !important;
   flex-direction:column !important;
   justify-content:center !important;
   overflow:hidden;
 }
 body.malwa-subpage main > section.hero > .wrap,
 body.malwa-subpage main > section.booking-page-hero > .wrap {
   width:calc(100% - 96px) !important;
   max-width:1350px !important;
   min-height:0 !important;
   margin:0 auto !important;
 }
 body.malwa-subpage main > section.hero .hero-grid,
 body.malwa-subpage .booking-page-hero-grid {
   grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr) !important;
   gap:clamp(30px,4vw,62px) !important;
   align-items:center !important;
 }
 body.malwa-subpage main > section.hero .hero-media,
 body.malwa-subpage main > section.booking-page-hero .booking-hero-media {
   height:400px !important;
   min-height:0 !important;
   max-height:400px !important;
   aspect-ratio:auto !important;
   overflow:hidden !important;
 }
 body.malwa-subpage main > section.hero .hero-media img{width:100% !important;height:100% !important;object-fit:cover !important;}
 body.malwa-subpage main > section.booking-page-hero .booking-hero-media img{width:100% !important;height:100% !important;object-fit:contain !important;}
 body.malwa-subpage main > section.hero h1,
 body.malwa-subpage .booking-page-intro h1{
   font-size:clamp(50px,4.75vw,70px) !important;
   line-height:1.02 !important;
   letter-spacing:-.055em !important;
   margin:15px 0 18px !important;
   max-width:720px !important;
 }
 body.malwa-subpage main > section.hero .lead,
 body.malwa-subpage .booking-page-intro > p{
   font-size:16px !important;line-height:1.68 !important;
   max-width:600px !important;
   margin:0 !important;
 }
 body.malwa-subpage main > section.hero .actions,
 body.malwa-subpage .booking-page-hero .booking-hero-actions{
   margin-top:23px !important;
   gap:12px !important;
 }
 body.malwa-subpage main > section.hero .breadcrumb{
   margin:0 0 16px !important;
 }
 body.malwa-subpage main > section.hero .eyebrow{margin:0 !important;}
 /* FAQ also uses the same two-column hero, instead of 300px of empty area. */
 body.malwa-subpage .faq-hero-grid {display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(30px,4vw,62px);}
 body.malwa-subpage .faq-hero-grid .faq-hero-media{height:400px;overflow:hidden;position:relative;background:#e9eeec;}
 body.malwa-subpage .faq-hero-grid .faq-hero-media img{height:100%;width:100%;object-fit:cover;display:block;}
 body.malwa-subpage .faq-hero-grid .faq-hero-media:after{content:'';position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,#0008);pointer-events:none;}
 body.malwa-subpage .faq-hero-grid .faq-hero-caption{position:absolute;bottom:20px;left:24px;color:#fff;z-index:1;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900;}
}
/* Shared inner-page type and section rhythm, modeled after the homepage. */
body.malwa-subpage main > section.hero h1{font-family:'DM Sans',Arial,sans-serif !important;font-weight:800 !important;}
body.malwa-subpage main > section.hero .actions .button{min-height:55px !important;padding:15px 21px !important;}
body.malwa-subpage main > section.hero .eyebrow{font-size:11px !important;letter-spacing:.16em !important;}
body.malwa-subpage main > section.hero .lead{color:#65706a !important;}
body.malwa-subpage main .section{padding-top:76px;padding-bottom:76px;}
body.malwa-subpage main .section .section-title{margin:14px 0 19px !important;line-height:1.09 !important;}
body.malwa-subpage main .section .section-intro{margin:0 0 22px !important;line-height:1.75 !important;}
body.malwa-subpage main .section .eyebrow{margin-bottom:6px;}
body.malwa-subpage .malwa-service-ribbon{
 width:100% !important;max-width:100% !important;
 margin:0 !important;border-radius:0 !important;
}
/* Ribbon is contiguous with hero. Content starts without an oversized blank gap. */
body.malwa-subpage main > section.hero + .malwa-service-ribbon,
body.malwa-subpage main > section.booking-page-hero + .malwa-service-ribbon {margin-top:0 !important;}
body.malwa-subpage .malwa-service-ribbon + section.section,
body.malwa-subpage .malwa-service-ribbon + section.faq-page,
body.malwa-subpage .malwa-service-ribbon + section.booking-request-section {padding-top:62px !important;}
body.malwa-subpage .malwa-service-ribbon + .wrap {padding-top:24px !important;}
@media (max-width:900px) {
 body.malwa-subpage main > section.hero,
 body.malwa-subpage main > section.booking-page-hero{
   min-height:0 !important;height:auto !important;padding:36px 0 34px !important;
 }
 body.malwa-subpage main > section.hero > .wrap,
 body.malwa-subpage main > section.booking-page-hero > .wrap{
   width:calc(100% - 40px) !important;max-width:none !important;min-height:0 !important;
 }
 body.malwa-subpage main > section.hero .hero-grid,
 body.malwa-subpage .booking-page-hero-grid,
 body.malwa-subpage .faq-hero-grid {display:grid !important;grid-template-columns:1fr !important;gap:25px !important;}
 body.malwa-subpage main > section.hero h1,
 body.malwa-subpage .booking-page-intro h1{
   font-size:clamp(42px,9vw,64px) !important;line-height:1.04 !important;
   letter-spacing:-.045em !important;margin:14px 0 16px !important;
 }
 body.malwa-subpage main > section.hero .lead,
 body.malwa-subpage .booking-page-intro > p{font-size:15px !important;line-height:1.67 !important;}
 body.malwa-subpage main > section.hero .hero-media,
 body.malwa-subpage .faq-hero-grid .faq-hero-media{
   height:auto !important;aspect-ratio:1.45 !important;min-height:0 !important;max-height:none !important;
 }
 body.malwa-subpage main > section.booking-page-hero .booking-hero-media{
   width:100% !important;height:auto !important;aspect-ratio:1.1 !important;max-height:none !important;
 }
 body.malwa-subpage main > section.hero .hero-media img,
 body.malwa-subpage .faq-hero-grid .faq-hero-media img {width:100%;height:100%;object-fit:cover;}
 body.malwa-subpage main .section{padding-top:58px;padding-bottom:58px;}
 body.malwa-subpage .malwa-service-ribbon + section.section,
 body.malwa-subpage .malwa-service-ribbon + section.faq-page,
 body.malwa-subpage .malwa-service-ribbon + section.booking-request-section{padding-top:35px !important;}
 body.malwa-subpage .malwa-service-ribbon + .wrap{padding-top:20px !important;}
}
@media (max-width:520px){
 body.malwa-subpage main > section.hero > .wrap,
 body.malwa-subpage main > section.booking-page-hero > .wrap{width:calc(100% - 36px) !important;}
 body.malwa-subpage main > section.hero .hero-media,
 body.malwa-subpage .faq-hero-grid .faq-hero-media{aspect-ratio:1.22 !important;}
 body.malwa-subpage main > section.hero h1,
 body.malwa-subpage .booking-page-intro h1{font-size:clamp(40px,10vw,52px) !important;}
 body.malwa-subpage main .section{padding-top:50px;padding-bottom:50px;}
}
/* Both FAQ actions use the same button treatment as the other page heroes. */
body.malwa-subpage .faq-hero-grid .actions .button:not(.red){border:1px solid #b7bfba;background:#fff;color:#191c1b;}
body.malwa-subpage .faq-hero-grid .actions .button:not(.red):hover{background:#191c1b;color:#fff;}
