/* BAB V16: mobile usability and form accessibility, intentionally separate from legacy styles. */
:root{--bab-touch-target:44px}
html{scroll-padding-top:80px}
body{min-width:0}
img,video,iframe{max-width:100%}
:is(.container,.hero-inner,.hero-message,.section-head,.section-head>div,.card,.package-card,.link-box,.form-box,.contact-layout>div,.booking-panel>div,.article-columns>*,.newsletter-layout>*){min-width:0}
:is(h1,h2,h3,p,li,blockquote){overflow-wrap:break-word}
:where(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #20766c;outline-offset:3px}
input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-width:0}
html[lang="ar"] :is(input[type="email"],input[type="tel"],input[type="url"]){direction:ltr;text-align:left}
html[lang="ar"] :is(.package-price,.price,.book-display strong){unicode-bidi:isolate}
.site-nav a,.menu-toggle,.lang-toggle,.btn{touch-action:manipulation}
@media(max-width:860px){
 .site-header .header-inner{min-height:68px;height:auto;padding-block:9px;gap:9px}
 .site-nav{top:100%;inset-inline:0;max-height:calc(100dvh - 68px);overflow-y:auto;overscroll-behavior:contain;padding:12px clamp(16px,5vw,30px) 20px;z-index:70}
 .site-nav a{min-height:44px;display:flex;align-items:center;padding-block:11px}
 .header-actions{flex-shrink:0;gap:6px}
 .menu-toggle{min-width:44px;min-height:44px;justify-content:center;align-items:center}
 .hero-founder-grid,.hero-inner,.contact-layout,.newsletter-layout,.split,.booking-panel{gap:clamp(20px,4vw,36px)}
 .hero-board{transform:none!important}
}
@media(max-width:640px){
 .container{width:calc(100% - 32px)}
 .hero,.hero-founder-led{min-height:auto}
 .hero-inner{padding-block:40px 52px}
 .hero-founder-grid{padding-block:40px 38px}
 .hero h1,.hero-founder-led .hero-message h1{font-size:clamp(1.9rem,7.4vw,2.6rem);line-height:1.3;letter-spacing:-.025em}
 .page-hero h1{font-size:clamp(1.9rem,7vw,2.7rem)}
 .section,.section.alt,.section.dark{padding-block:48px}
 .section-head h2{font-size:clamp(1.6rem,6vw,2.1rem)}
 .card,.form-box,.link-box,.booking-card,.package-card{padding:clamp(17px,4.5vw,25px)}
 .grid-3,.grid-4,.process-grid,.form-2,.pillars-grid,.package-grid,.home-package-grid,.booking-panel,.contact-layout,.newsletter-layout,.faq-grid{grid-template-columns:minmax(0,1fr)}
 .hero-actions,.newsletter-row{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .hero-actions .btn,.newsletter-row input,.newsletter-row button,.banner .btn,.form-box button[type="submit"]{width:100%;max-width:100%;min-height:48px}
 .btn{min-height:44px;padding:12px 16px;white-space:normal;text-wrap:pretty}
 .banner{padding:24px 20px}
 .hero-portrait{max-width:100%}
 .hero-portrait>img{max-width:100%;object-fit:cover}
 input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px;min-height:44px}
 textarea{min-height:110px}
 .brand-mark{width:44px;height:44px}
 .brand-copy strong{font-size:clamp(.95rem,4.6vw,1.2rem)}
 .brand-copy small{font-size:.42rem;letter-spacing:.02em}
 .header-actions .lang-toggle{padding:8px 9px;min-height:44px}
 .bab-consent{max-height:min(78dvh,620px);overflow-y:auto;inset-inline:.5rem;bottom:.5rem;padding:.85rem}
 .bab-consent-buttons{gap:.5rem}
 .bab-consent-buttons .btn{white-space:normal;flex:1 1 130px;min-width:0;font-size:.85rem}
 .float-wa{max-width:calc(100% - 30px)}
}
@media(max-width:370px){
 .container{width:calc(100% - 26px)}
 .header-inner{gap:4px}
 .brand{gap:5px}
 .brand-copy small{display:none}
 .hero h1,.hero-founder-led .hero-message h1{font-size:1.8rem}
 .hero-portrait>img{height:320px}
 .bab-consent-buttons{display:grid;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card{transition:none}}
