/* On Service: readable typography across Arabic / English and all viewport sizes. */
@font-face{font-family:OnServiceCairo;src:url('fonts/cairo-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:OnServiceCairo;src:url('fonts/cairo-600.ttf') format('truetype');font-style:normal;font-weight:500 600;font-display:swap}
@font-face{font-family:OnServiceCairo;src:url('fonts/cairo-700.ttf') format('truetype');font-style:normal;font-weight:700 900;font-display:swap}
body{font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html[lang=ar] body{font-family:OnServiceCairo,Cairo,Tahoma,Arial,sans-serif;font-size:18px;line-height:1.95}
h1,h2,h3,h4{color:inherit;text-wrap:balance}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{letter-spacing:0!important}
.container{width:min(1240px,90%)}
.topbar,.topbar .top-location,.top-phones{font-size:12px;line-height:1.8}.topbar .container{gap:18px;flex-wrap:wrap}
.nav{min-height:100px;height:auto;padding-block:18px;gap:22px}.navlinks{font-size:14px;gap:20px;align-items:center}.navlinks a{white-space:nowrap}.nav-actions{gap:10px;flex-shrink:0}
.brand-word strong{font-size:22px}.brand-word small{font-size:11px;letter-spacing:.2px;line-height:1.6}
.btn,.button-row .btn{font-size:14px;line-height:1.6;min-height:48px;padding:14px 22px;border-radius:3px}.lang{font-size:14px;min-width:48px;min-height:46px;padding:10px}
.hero{height:auto;min-height:620px;display:flex;align-items:center;justify-content:center;padding:80px 64px 105px}.hero-content{width:100%;max-width:850px}.hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.2;letter-spacing:-1.5px;margin-block:20px 26px}html[lang=ar] .hero h1{font-size:clamp(38px,4vw,60px);line-height:1.5;letter-spacing:0}.hero-kicker{font-size:17px;line-height:1.8}.hero p{font-size:18px;line-height:1.95;max-width:690px;margin-bottom:28px}.photo-disclaimer{font-size:11px;max-width:75%;line-height:1.7}
.booking-caption{font-size:15px;padding:13px 22px}.booking-form{gap:12px;padding:24px}.booking-form input,.booking-form select{height:52px;font-size:15px;padding:12px 14px;border-radius:3px}.booking-form .btn{font-size:14px;min-height:52px}
.eyebrow{font-size:14px;line-height:1.8;letter-spacing:.4px;margin-bottom:12px}.section-title,.intro-copy .section-title,.news-intro .section-title{font-size:clamp(30px,3vw,42px);line-height:1.4;font-weight:800}html[lang=ar] .section-title{line-height:1.55}
.intro-copy p,.intro-copy>p,.section-desc,.quality-card p,.help-card p,.call-card p,.news-card p{font-size:17px;line-height:2;color:#535b69}.section-desc{max-width:800px}.checks{font-size:16px;line-height:2.2}.intro-signoff{font-size:15px;line-height:1.8}.intro-signoff small{font-size:13px}
.service-card h3{font-size:22px;line-height:1.7;margin-block:18px 10px}.service-card p{font-size:16px;line-height:1.95;color:#535b69}.service-grid{gap:30px}.text-link{font-size:14px;line-height:1.8;display:inline-block;padding-block:8px}
.sector h3{font-size:28px;line-height:1.5}.help-card h2,.quality-card h2,.call-card h2{font-size:32px;line-height:1.55}.help-card,.call-card{width:min(100%,460px);padding:36px}.help-banner,.call-banner{min-height:480px}.filter-bar{flex-wrap:wrap;gap:20px}.filter-bar button{font-size:14px;line-height:1.8;padding:9px 3px}.gallery-note{font-size:13px;line-height:1.9;color:#657080}.project .project-label{font-size:16px;line-height:1.7}
.facts h2{font-size:30px;line-height:1.6}.fact strong{font-size:40px}.fact span{font-size:15px;line-height:1.8}.quality-badge{font-size:16px;line-height:1.8}.quality-badge a{font-size:18px}.plan h3{font-size:22px;line-height:1.7}.plan p{font-size:16px;line-height:1.9}.plan ul{font-size:16px;line-height:2.1;color:#535b69}.plan-price{font-size:23px}.news-link h3{font-size:19px;line-height:1.8}.news-link small,.news-card small{font-size:13px}.news-card h3{font-size:23px;line-height:1.7}.partners-row{font-size:14px;line-height:1.8}
.newsletter{gap:18px;flex-wrap:wrap}.newsletter strong{font-size:20px;line-height:1.7}.newsletter input{font-size:16px;min-height:50px}.footer p,.footer a,.footer li{font-size:15px;line-height:2}.footer h3{font-size:20px;line-height:1.8}.footer .brand-word strong{font-size:24px}.footer .brand-word small{font-size:12px}.footer-bottom,.notice{font-size:12px;line-height:1.9}.map-panel a{font-size:14px;line-height:1.7}.modal-box h2{font-size:30px;line-height:1.6}.modal-box p{font-size:18px;line-height:2;color:#535b69}
@media(min-width:761px) and (max-width:1200px){.navlinks{gap:12px;font-size:12px}.nav-actions .btn{font-size:12px;padding-inline:14px}.brand-word strong{font-size:19px}.nav{gap:14px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-grid{gap:24px}.intro-grid{gap:40px}}
@media(max-width:900px){.navlinks{display:none;position:absolute;top:100%;inset-inline:0;background:white;padding:24px;z-index:50;box-shadow:0 18px 30px #0002;font-size:17px;gap:16px}.navlinks.open{display:flex;flex-direction:column;align-items:stretch}.menu{display:block;min-width:44px;min-height:44px}.nav{position:relative}.nav-actions>.btn{display:none}.footer-grid{gap:32px}}
@media(max-width:760px){body,html[lang=ar] body{font-size:17px}.container{width:90%}.topbar .container{justify-content:center;gap:7px}.topbar,.topbar .top-location,.top-phones{font-size:11px}.nav{min-height:82px;padding-block:12px}.brand-word strong{font-size:20px}.brand-word small{font-size:10px}.hero{min-height:540px;padding:65px 38px 85px}.hero h1,html[lang=ar] .hero h1{font-size:36px;line-height:1.5}.hero-kicker{font-size:15px}.hero p{font-size:16px;max-width:100%;line-height:1.95}.photo-disclaimer{font-size:10px}.hero-dots{bottom:45px}.booking-form{padding:18px;gap:12px;grid-template-columns:1fr}.booking-form .btn{grid-column:1/-1;font-size:15px}.booking-form input,.booking-form select{font-size:16px;height:52px}.booking-caption{font-size:14px}.section-title,.intro-copy .section-title,.news-intro .section-title{font-size:30px}.intro-copy p,.intro-copy>p,.section-desc,.quality-card p,.help-card p,.call-card p,.news-card p{font-size:17px;line-height:2}.checks{font-size:16px}.service-card h3{font-size:22px}.service-card p{font-size:16px}.service-grid{gap:30px}.help-card,.call-card{padding:28px;width:100%}.help-card h2,.quality-card h2,.call-card h2{font-size:28px;line-height:1.6}.filter-bar{gap:8px 20px}.filter-bar button{font-size:13px}.gallery-note{font-size:12px}.project .project-label{font-size:14px;opacity:1}.fact strong{font-size:34px}.fact span{font-size:13px}.quality-badge{font-size:14px}.quality-badge a{font-size:17px}.plan h3{font-size:22px}.plan p,.plan ul{font-size:16px}.news-card h3{font-size:22px}.news-link h3{font-size:19px}.newsletter strong{font-size:19px}.newsletter input,.newsletter .btn{width:100%;flex-basis:100%}.footer p,.footer a,.footer li{font-size:15px}.footer h3{font-size:20px}.footer-bottom,.notice{font-size:12px}.modal-box{padding:28px 22px}.modal-box h2{font-size:26px}.modal-box p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:560px){.service-grid{grid-template-columns:1fr}.hero-content{padding:10px 0 25px}.hero h1,html[lang=ar] .hero h1{font-size:34px}.hero p{font-size:16px}.hero{padding-inline:38px}.intro-signoff{flex-wrap:wrap}.signature{margin-inline-start:0}.brand-word strong{font-size:18px}}
