:root { --blue:#0B3D91; --red:#E0443E; --surface-paper:#f8f6f1; --surface-white:#ffffff; --ink:#222a32; --muted:#525a62; --line-rule:#83878b; --on-blue:#ffffff; --error:#a02721; --container:1264px; --header-height:100px; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
body { margin:0; min-width:320px; background:var(--surface-paper); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
img,svg { display:block; } img { max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { color:inherit; font:inherit; }
button,summary { cursor:pointer; }
h1,h2,h3,p,figure { margin:0; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.12; letter-spacing:-.035em; text-wrap:balance; }
h1 { font-size:clamp(48px,4.9vw,72px); } h2 { font-size:clamp(34px,3.7vw,50px); }
h3 { font-size:22px; line-height:1.35; font-weight:650; letter-spacing:-.02em; }
:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.container { width:min(calc(100% - 80px),var(--container)); margin-inline:auto; }
.section { padding-block:94px; }
.section-heading { max-width:760px; margin-bottom:40px; }
.section-heading p { margin-top:22px; color:var(--muted); max-width:640px; }
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.skip-link { position:fixed; z-index:100; top:10px; inset-inline-start:10px; transform:translateY(-160%); padding:12px 20px; background:var(--blue); color:var(--on-blue); }
.skip-link:focus { transform:none; }
.site-header { position:sticky; top:0; z-index:20; background:var(--surface-paper); border-bottom:1px solid transparent; }
.site-header.is-scrolled { border-color:var(--line-rule); }
.header-inner { min-height:var(--header-height); display:flex; align-items:center; gap:30px; }
.brand { display:block; flex-shrink:0; width:260px; } .brand img { width:100%; }
.main-nav { display:flex; align-items:center; justify-content:center; gap:25px; margin-inline-start:auto; font-size:15px; }
.main-nav a { padding-block:10px; }
.main-nav a:hover,.main-nav a[aria-current] { color:var(--blue); text-decoration:underline; text-underline-offset:6px; }
.header-actions { display:flex; align-items:center; gap:20px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 24px; min-height:50px; background:var(--blue); color:var(--on-blue); border:1px solid var(--blue); border-radius:3px; font-size:16px; font-weight:650; text-align:center; line-height:1.4; }
.button:hover { text-decoration:underline; text-underline-offset:5px; }
.button svg { width:22px; height:22px; stroke:currentColor; stroke-width:2.5; fill:none; }
.language-switcher { display:flex; align-items:center; gap:2px; }
.language-switcher button { min-width:32px; min-height:44px; padding:8px 5px; border:0; border-bottom:2px solid transparent; background:transparent; font-size:13px; font-weight:650; color:var(--muted); }
.language-switcher button[aria-pressed="true"] { color:var(--blue); border-color:var(--red); }
.nav-toggle,.menu-whatsapp { display:none; }
.hero { padding-block:32px 76px; }
.hero-grid { display:grid; grid-template-columns:.94fr 1.16fr; gap:54px; align-items:center; }
.hero-copy { padding-block:25px; } .hero-copy h1 span { display:block; } .hero-copy h1 span:last-child { color:var(--blue); }
.hero-copy > p { margin-block:28px 32px; color:var(--muted); max-width:450px; font-size:19px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.text-link { color:var(--blue); font-weight:600; text-decoration:underline; text-underline-offset:6px; }
.hero-media { height:550px; } .hero-media picture,.hero-media img { width:100%; height:100%; }
.hero-media img { object-fit:cover; object-position:45% center; border-radius:4px; }
.services { border-top:1px solid var(--line-rule); }
.service-list { display:grid; grid-template-columns:1fr 1fr; gap:0 66px; }
.service-item { border-top:1px solid var(--line-rule); padding-block:27px 33px; scroll-margin-top:130px; }
.service-item p { margin-top:12px; color:var(--muted); max-width:510px; }
.protection { background:var(--surface-white); }
.protection-photos { display:grid; grid-template-columns:1.44fr 1fr; gap:24px; }
.protection-photos figure:first-child { grid-row:span 2; }
.protection-photos img { width:100%; height:258px; object-fit:cover; border-radius:3px; }
.protection-photos figure:first-child img { height:585px; object-position:45% center; }
figcaption { padding-top:12px; font-size:16px; color:var(--muted); }
.process-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; }
.process-list > div { padding-block:22px 26px; border-top:1px solid var(--line-rule); }
.process-list > div:first-child { padding-top:0; border-top:0; }
.process-list p { margin-top:10px; color:var(--muted); }
.gallery { padding-top:0; }
.gallery-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px 28px; }
.gallery-grid figure:first-child { grid-column:1 / -1; }
.gallery-open { display:block; width:100%; border:0; padding:0; background:transparent; }
.gallery-open img { width:100%; height:370px; object-fit:cover; border-radius:3px; }
.gallery-grid figure:first-child img { height:510px; object-position:center 42%; }
.gallery-open:hover { outline:2px solid var(--blue); outline-offset:4px; }
.gallery-disclosure { max-width:670px; margin-top:30px; font-size:14px; color:var(--muted); }
.faq { background:var(--surface-white); }
.faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.faq .text-link { display:inline-block; margin-top:28px; }
.faq-list details { border-top:1px solid var(--line-rule); } .faq-list details:last-child { border-bottom:1px solid var(--line-rule); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:22px; padding-block:22px; font-weight:600; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; color:var(--blue); font-size:25px; font-weight:400; flex-shrink:0; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list details p { padding-bottom:25px; color:var(--muted); }
.contact-grid { display:grid; grid-template-columns:.84fr 1.16fr; gap:90px; }
.contact-copy > p { color:var(--muted); max-width:390px; }
.contact-direct { display:grid; gap:25px; margin-top:35px; }
.contact-direct a,.contact-direct address { display:flex; flex-direction:column; font-style:normal; align-items:flex-start; }
.contact-direct span { color:var(--muted); font-size:15px; }
.contact-direct strong { display:block; margin-top:5px; font-size:22px; line-height:1.55; font-weight:550; }
.contact-direct a strong { color:var(--blue); text-decoration:underline; text-underline-offset:5px; }
.request-form { min-width:0; }
.form-intro { margin-block:14px 25px; color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-grid label { display:flex; flex-direction:column; gap:7px; font-size:15px; font-weight:600; min-width:0; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; min-width:0; min-height:48px; border:1px solid var(--line-rule); border-radius:2px; background:var(--surface-white); color:var(--ink); padding:11px 12px; font-size:16px; font-weight:400; line-height:1.5; }
.form-grid textarea { resize:vertical; }
.form-grid input::placeholder,.form-grid textarea::placeholder { color:var(--muted); opacity:1; }
.form-full { grid-column:1 / -1; }
.consent { display:flex; align-items:flex-start; gap:12px; margin-block:24px; font-size:14px; color:var(--muted); }
.consent input { width:19px; height:19px; flex-shrink:0; margin:3px 0 0; accent-color:var(--blue); }
.consent a { color:var(--blue); text-decoration:underline; }
.form-submit { width:100%; }
.form-note { color:var(--muted); font-size:14px; margin-top:14px; }
.form-status { margin-top:12px; font-size:15px; } .form-status.is-error { color:var(--error); }
.was-validated :invalid { border-color:var(--error); }
.site-footer { background:var(--blue); color:var(--on-blue); padding-block:40px; }
.footer-grid { display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.footer-links { display:flex; gap:24px; } .footer-links a:hover { text-decoration:underline; }
.site-footer p { font-size:14px; } .site-footer :focus-visible { outline-color:var(--on-blue); }
.lightbox { max-width:min(1100px,calc(100% - 28px)); width:max-content; border:0; padding:50px 20px 20px; color:var(--ink); background:var(--surface-white); }
.lightbox::backdrop { background:rgba(20,28,35,.85); }
.lightbox figure { margin:0; }
.lightbox img { max-height:75vh; width:auto; object-fit:contain; }
.lightbox-close { position:absolute; top:10px; inset-inline-end:10px; width:32px; height:32px; border:0; background:var(--surface-white); color:var(--blue); padding:7px; }
.lightbox-close svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.noscript { padding:20px; }
.utility-header,.utility-footer { padding-block:25px; border-bottom:1px solid var(--line-rule); }
.utility-header .container,.utility-footer .container { display:flex; align-items:center; justify-content:space-between; gap:25px; flex-wrap:wrap; }
.utility-back { color:var(--blue); text-decoration:underline; }
.legal-main { padding-block:65px 100px; }
.legal-shell { width:min(calc(100% - 48px),850px); margin-inline:auto; }
.legal-shell h1 { font-size:clamp(38px,5vw,58px); }
.legal-lead { margin-block:25px 50px; color:var(--muted); }
.legal-content section { margin-block:35px; }
.legal-content h2 { font-family:inherit; font-size:25px; font-weight:650; margin-bottom:15px; }
.legal-content p + p { margin-top:15px; }
.legal-content a { color:var(--blue); text-decoration:underline; overflow-wrap:anywhere; }
.utility-footer { border-top:1px solid var(--line-rule); border-bottom:0; font-size:14px; }
html[dir="rtl"] body { font-family:"SF Arabic","Geeza Pro","Noto Naskh Arabic","Segoe UI",Tahoma,Arial,sans-serif; line-height:1.85; }
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3 { font-family:inherit; letter-spacing:0; line-height:1.45; }
html[dir="rtl"] h1 { font-size:clamp(43px,4.5vw,66px); }
html[dir="rtl"] .button svg { transform:scaleX(-1); }
@media (max-width:1180px) {
.header-inner { gap:20px; } .brand { width:230px; } .main-nav { gap:16px; } .header-actions { gap:12px; } .header-cta { padding-inline:15px; }
.hero-grid { gap:35px; } .hero-media { height:500px; } .process-grid,.contact-grid,.faq-grid { gap:55px; }
}
@media (max-width:980px) {
:root { --header-height:88px; } .container { width:calc(100% - 48px); } .header-inner { gap:15px; } .brand { width:230px; } .header-actions { margin-inline-start:auto; } .header-cta { display:none; }
.nav-toggle { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; min-width:44px; height:44px; padding:10px; border:0; background:transparent; color:var(--blue); order:3; }
.nav-toggle span { width:23px; height:2px; background:currentColor; }
.main-nav { display:none; position:absolute; top:100%; inset-inline:0; max-height:calc(100dvh - var(--header-height)); overflow-y:auto; background:var(--surface-paper); border-bottom:1px solid var(--line-rule); padding:20px 24px 30px; font-size:18px; }
.main-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:5px; } .menu-whatsapp { display:block; color:var(--blue); text-decoration:underline; } body.nav-open { overflow:hidden; }
.hero-grid { grid-template-columns:1fr 1.08fr; gap:28px; } h1 { font-size:52px; } .hero-copy > p { font-size:17px; } .hero-actions { gap:16px; } .hero-media { height:470px; }
.section { padding-block:70px; } .service-list { gap:0 35px; } .protection-photos figure:first-child img { height:506px; } .protection-photos img { height:220px; }
.process-grid,.contact-grid,.faq-grid { grid-template-columns:1fr; gap:25px; } .process .section-heading { max-width:650px; } .process-list { display:grid; grid-template-columns:1fr 1fr; gap:0 35px; }
.process-list > div:first-child { padding-top:22px; border-top:1px solid var(--line-rule); } .contact-copy > p { max-width:650px; } .contact-direct { grid-template-columns:1fr 1fr; margin-bottom:20px; } .gallery { padding-top:0; }
}
@media (max-width:600px) {
.container { width:calc(100% - 40px); } .header-inner { gap:7px; } .brand { width:195px; } .language-switcher { gap:0; } .language-switcher button { min-width:28px; padding-inline:3px; font-size:12px; }
.hero { padding-block:18px 50px; } .hero-grid { grid-template-columns:1fr; gap:26px; } .hero-copy { padding-top:12px; padding-bottom:0; } h1 { font-size:clamp(44px,10vw,58px); }
.hero-copy > p { margin-block:24px; font-size:17px; } .hero-actions { gap:18px; } .hero-actions .button { padding-inline:17px; }
.hero-media { height:auto; aspect-ratio:4 / 3; } .hero-media img { object-position:center; } .section { padding-block:58px; } .section-heading { margin-bottom:28px; } h2 { font-size:35px; } h3 { font-size:21px; } .section-heading p { margin-top:18px; }
.service-list { grid-template-columns:1fr; } .service-item { padding-block:23px 27px; } .protection-photos { grid-template-columns:1fr 1fr; gap:24px 16px; } .protection-photos figure:first-child { grid-column:1 / -1; grid-row:auto; }
.protection-photos figure:first-child img { height:auto; aspect-ratio:4 / 3; } .protection-photos img { height:160px; } figcaption { font-size:14px; } .process-list { grid-template-columns:1fr; }
.gallery { padding-top:0; } .gallery-grid { gap:28px; grid-template-columns:1fr; } .gallery-grid figure:first-child { grid-column:auto; } .gallery-open img,.gallery-grid figure:first-child img { height:auto; aspect-ratio:4 / 3; }
.faq-grid,.contact-grid { gap:10px; } .contact-direct { grid-template-columns:1fr; } .form-grid { grid-template-columns:1fr; gap:19px; } .request-form { border-top:1px solid var(--line-rule); padding-top:30px; }
.footer-grid { flex-direction:column; align-items:flex-start; gap:24px; } html[dir="rtl"] h1 { font-size:43px; } html[dir="rtl"] h2 { font-size:32px; }
}
@media (max-width:370px) {
.container { width:calc(100% - 32px); } .brand { width:165px; } .header-inner { gap:4px; } .nav-toggle { min-width:38px; width:38px; padding:7px; } .hero-actions { gap:18px; }
.protection-photos { grid-template-columns:1fr; } .protection-photos figure:first-child { grid-column:auto; } .protection-photos img { height:auto; aspect-ratio:4 / 3; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Contact and brand polish — 2026-10-06 */
.hero-copy h1 { font-family:Arial,Helvetica,sans-serif; font-weight:650; letter-spacing:-.045em; line-height:1.12; font-size:clamp(44px,4.6vw,66px); }
.hero-copy > p { margin-block:24px 28px; }
.contact-actions { align-items:stretch; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,380px); gap:10px; }
.contact-action { padding:14px 12px; gap:9px; min-height:54px; transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease; }
.contact-action:hover { transform:translateY(-2px); box-shadow:0 4px 0 var(--line-rule); text-decoration:none; }
.contact-action--outline { background:transparent; color:var(--blue); }
.contact-action svg { width:20px; height:20px; flex-shrink:0; }
.contact-action .whatsapp-icon { fill:currentColor; stroke:none; }
.hero-quote { display:inline-block; margin-top:19px; font-size:14px; font-weight:500; }
.brand { width:275px; }
.coverage { padding-block:45px 60px; }
.coverage .section-heading { margin-bottom:0; }
.gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.gallery-grid figure:first-child { grid-column:auto; }
.gallery-open img,.gallery-grid figure:first-child img { height:auto; aspect-ratio:4 / 3; object-fit:cover; object-position:center; }
.move-route { position:relative; width:230px; height:34px; margin-top:23px; color:var(--blue); overflow:hidden; }
.move-route-line { position:absolute; inset-inline:0; top:28px; height:1px; background:var(--line-rule); }
.moving-truck { position:absolute; left:0; top:3px; width:36px; height:26px; animation:moving-route 7s cubic-bezier(.35,0,.2,1) infinite; }
@keyframes moving-route { 0%,10% { transform:translateX(-38px); opacity:0; } 16% { opacity:1; } 70% { transform:translateX(180px); opacity:1; } 82%,100% { transform:translateX(230px); opacity:0; } }
html[dir="rtl"] .hero-copy h1 { font-family:inherit; letter-spacing:0; line-height:1.45; }
html[dir="rtl"] .contact-action svg { transform:none; }
html[dir="rtl"] .move-route { transform:scaleX(-1); }
@media (max-width:1180px) { .brand { width:240px; } }
@media (max-width:980px) { .brand { width:225px; } .gallery-grid { gap:20px; } }
@media (max-width:600px) { .brand { width:200px; } .contact-actions { gap:10px; } .hero-actions .contact-action { padding-inline:10px; font-size:15px; } .hero-copy h1 { font-size:clamp(42px,10vw,54px); } .gallery-grid { grid-template-columns:1fr; gap:26px; } .coverage { padding-block:25px 48px; } }
@media (max-width:370px) { .brand { width:165px; } .hero-actions .contact-action { font-size:14px; gap:6px; padding-inline:8px; } }
@media (prefers-reduced-motion:reduce) { .moving-truck { animation:none; transform:translateX(95px); opacity:1; } .contact-action { transition:none; } .contact-action:hover { transform:none; } }

/* Email enquiry and compact direct contact actions. */
.contact-direct .contact-actions { grid-column:1 / -1; }
.contact-direct .contact-action { flex-direction:row; align-items:center; justify-content:center; }
.contact-direct .contact-action span { color:inherit; font-size:inherit; }
.contact-email { min-width:0; }
.contact-direct .contact-email strong { font-size:clamp(18px,2vw,22px); overflow-wrap:anywhere; }
.email-options { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:15px; }
.email-options[hidden] { display:none; }
input[name="email"] { text-align:start; }
@media (max-width:370px) { .contact-direct .contact-action { font-size:14px; padding-inline:8px; gap:6px; } }
