*{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#3B2A1F;--muted:#6f6258;--cream:#fffdf8;--paper:#fff;--beige:#F7F3EA;--beige-2:#efe4d1;--gold:#D4A64F;--gold-strong:#d6ad55;--gold-dark:#B8802E;--line:rgba(212,166,79,.18);--shadow:0 24px 70px rgba(59,42,31,.12);--radius:8px}
html{scroll-behavior:smooth}
body{font-family:"Tajawal",Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.75;overflow-x:hidden}
html[dir="ltr"] body{font-family:"Montserrat",Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1180px,92vw);margin:auto}

.nav{position:sticky;top:14px;z-index:50;width:min(1180px,92vw);margin:14px auto 0;border:1px solid rgba(212,166,79,.24);border-radius:8px;background:rgba(255,253,248,.92);backdrop-filter:blur(18px);box-shadow:0 18px 60px rgba(59,42,31,.12)}
.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 18px}
.brand-lockup{display:inline-flex;align-items:center;gap:12px;min-width:max-content}
.logo-mark{width:52px;height:52px;object-fit:contain;border-radius:8px;padding:6px;background:rgba(255,255,255,.86);border:1px solid rgba(212,166,79,.18)}
.brand-text{display:grid;gap:2px;line-height:1}
.brand-name-en{font:800 15px/1 "Montserrat",sans-serif;letter-spacing:1.6px;color:var(--ink)}
.brand-name-ar{font:800 13px/1 "Tajawal",sans-serif;color:var(--gold)}
.nav-links{display:flex;align-items:center;justify-content:center;gap:4px;list-style:none}
.nav-links a{display:inline-flex;align-items:center;gap:7px;padding:10px 9px;border-radius:6px;color:rgba(59,42,31,.76);font-size:13px;font-weight:800;transition:.2s ease}
.nav-links a:hover,.nav-links a.active{color:var(--gold-dark);background:rgba(212,166,79,.11)}
.nav-icon{width:15px;height:15px;color:var(--gold)}
.nav-icon svg{width:100%;height:100%}
.header-actions{display:flex;align-items:center;gap:10px}
.lang-dropdown{position:relative}
.lang-dropdown-btn{appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(212,166,79,.26);background:rgba(255,255,255,.74);color:var(--ink);font:700 12.5px/1 "Montserrat",sans-serif;letter-spacing:.5px;padding:9px 13px;border-radius:999px;cursor:pointer}
.lang-chevron{width:10px;height:7px;color:var(--gold);transition:transform .2s ease}
.lang-dropdown.open .lang-chevron{transform:rotate(180deg)}
.lang-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:130px;margin:0;padding:6px;list-style:none;border:1px solid rgba(212,166,79,.22);border-radius:10px;background:rgba(255,253,248,.98);box-shadow:0 18px 44px rgba(59,42,31,.16);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s ease;z-index:60}
.lang-dropdown.open .lang-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.lang-dropdown-menu li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border-radius:6px;color:rgba(59,42,31,.78);font-size:13px;cursor:pointer}
.lang-dropdown-menu li:hover,.lang-dropdown-menu li.active{background:rgba(212,166,79,.12);color:var(--gold-dark)}
.lang-code{font:800 12px/1 "Montserrat",sans-serif;letter-spacing:.5px;color:var(--gold-dark)}
.menu-button{display:none;width:42px;height:42px;border:1px solid rgba(212,166,79,.24);border-radius:8px;background:rgba(255,255,255,.74);cursor:pointer;position:relative}
.bar{position:absolute;left:11px;right:11px;height:2px;background:var(--ink);border-radius:2px;transition:.2s ease}.bar1{top:13px}.bar2{top:20px}.bar3{top:27px}
.menu-button.open .bar1{top:20px;transform:rotate(45deg)}.menu-button.open .bar2{opacity:0}.menu-button.open .bar3{top:20px;transform:rotate(-45deg)}

.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 24px;border-radius:7px;font-weight:900;transition:.2s ease;border:1px solid transparent}
.btn-primary{background:linear-gradient(135deg,var(--gold-strong),var(--gold-dark));color:#fff;box-shadow:0 14px 34px rgba(184,128,46,.25)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(184,128,46,.32)}
.btn-ghost{border-color:rgba(212,166,79,.35);color:var(--gold-dark);background:rgba(255,255,255,.72)}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--gold)}
.btn-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font:900 13px/1 "Montserrat",sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.eyebrow:before{content:"";width:34px;height:1px;background:var(--gold)}
h1{font-size:clamp(38px,6vw,74px);line-height:1.02;letter-spacing:0;margin:18px 0;color:var(--ink)}
h1 em,.section-title em{font-style:normal;color:var(--gold)}
.lead{font-size:clamp(17px,2vw,21px);color:var(--muted);max-width:760px}
.hero{padding:78px 0 58px;position:relative}
.hero-media{overflow:hidden;border-radius:8px;box-shadow:var(--shadow);border:1px solid rgba(212,166,79,.16)}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-split{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.hero-aside{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;align-items:end}
.hero-aside .hero-copy{padding:38px 0}
.hero-aside .hero-media{height:560px}
.hero-cinema .hero-media{height:min(62vh,620px);margin-top:34px}
.hero-cinema .hero-copy{max-width:880px}
.hero-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.hero-panel .hero-copy{padding:54px}
.hero-panel .hero-media{border:0;border-radius:0;box-shadow:none;min-height:520px}
.hero-stacked{text-align:center}.hero-stacked .lead{margin-inline:auto}.hero-stacked .actions{justify-content:center}.hero-stacked .hero-media{height:min(58vh,560px);margin-top:34px}
.hero-diagonal{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.hero-diagonal .hero-media{height:620px;transform:translateY(28px)}
.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.stat{padding:18px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.82);box-shadow:0 14px 34px rgba(59,42,31,.06)}
.stat strong{display:block;font:900 25px/1 "Montserrat",sans-serif;color:var(--gold)}.stat span{color:var(--muted);font-size:14px}
section.band{padding:78px 0}.soft{background:var(--beige)}.white{background:#fff}.dark-band{background:linear-gradient(180deg,#F7F3EA,#fff);color:var(--ink)}.dark-band .lead,.dark-band p{color:var(--muted)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px}.section-title{font-size:clamp(30px,4vw,48px);line-height:1.08}.section-head p{max-width:560px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:26px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.86);box-shadow:0 16px 45px rgba(59,42,31,.07)}
.card-icon{width:42px;height:42px;border-radius:8px;background:rgba(212,166,79,.14);color:var(--gold);display:grid;place-items:center;margin-bottom:18px}.card-icon svg{width:22px;height:22px}
.card h3{font-size:22px;margin-bottom:8px}.card p,.split-copy p,.timeline p,.feature-row p{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.split-media{border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.split-media img{width:100%;height:440px;object-fit:cover}
.feature-row{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.feature-list{display:grid;gap:12px}.feature-item{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:8px;background:#fff;border:1px solid var(--line)}
.feature-num{min-width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;display:grid;place-items:center;font:900 13px/1 "Montserrat"}
.timeline{display:grid;gap:14px}.timeline article{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:18px;border-bottom:1px solid rgba(212,166,79,.2)}.timeline b{width:38px;height:38px;border-radius:8px;background:rgba(212,166,79,.14);color:var(--gold-dark);display:grid;place-items:center;font-family:Montserrat}
.quote{padding:34px;border-radius:8px;background:#fff;color:var(--ink);box-shadow:var(--shadow);border:1px solid var(--line)}.quote p{font-size:22px;color:var(--ink)}.quote span{display:block;margin-top:16px;color:var(--gold)}
.cta{padding:54px;border-radius:8px;background:linear-gradient(135deg,#fff,#F7F3EA);color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:var(--shadow);border:1px solid var(--line)}.cta p{color:var(--muted);max-width:620px}.cta h2{font-size:clamp(28px,4vw,44px);line-height:1.1}
.service-nav{display:flex;gap:10px;flex-wrap:wrap}.service-nav a{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:800;font-size:14px}.service-nav a.active{background:var(--gold);color:#fff;border-color:var(--gold)}

footer{padding:76px 6vw 30px;border-top:1px solid rgba(212,166,79,.18);background:linear-gradient(180deg,#fff 0%,#F7F3EA 100%);color:var(--ink)}
.footer-inner{width:min(1180px,100%);margin-inline:auto;display:grid;gap:34px}
.footer-main{display:grid;grid-template-columns:1.15fr .72fr .9fr .92fr .6fr;gap:26px;align-items:start}
.footer-logo-lockup{display:inline-flex;align-items:center;gap:14px;color:inherit}
.footer-logo{width:68px;height:68px;object-fit:contain;border-radius:12px;padding:7px;background:rgba(255,255,255,.82);border:1px solid rgba(212,166,79,.22);box-shadow:0 16px 36px rgba(59,42,31,.08)}
.footer-brand-copy{display:grid;gap:4px}.footer-brand-copy span:first-child{font:800 15px/1 "Montserrat",sans-serif;letter-spacing:1.7px;color:var(--ink)}.footer-brand-copy span:last-child{font-weight:800;color:var(--gold)}
.footer-desc{margin-top:18px;max-width:360px;color:var(--muted);font-size:15.5px;line-height:1.9}
.footer-col h3{margin:0 0 16px;color:var(--ink);font-size:17px}.footer-links,.footer-contact{list-style:none;display:grid;gap:10px}
.footer-links a,.footer-contact a{color:var(--muted);font-weight:700;line-height:1.7;transition:color .2s ease,transform .2s ease}.footer-links a:hover,.footer-contact a:hover{color:var(--gold-dark);transform:translateX(-2px)}html[dir="ltr"] .footer-links a:hover,html[dir="ltr"] .footer-contact a:hover{transform:translateX(2px)}
.footer-social{display:flex;flex-wrap:wrap;gap:10px}.social-link{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:var(--ink);background:rgba(255,255,255,.86);border:1px solid rgba(212,166,79,.24);box-shadow:0 12px 26px rgba(59,42,31,.07);transition:transform .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}.social-link:hover{transform:translateY(-3px);color:var(--gold-dark);border-color:rgba(212,166,79,.44);box-shadow:0 18px 38px rgba(59,42,31,.11)}.social-link svg{width:19px;height:19px}
.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding-top:24px;border-top:1px solid rgba(212,166,79,.18);color:#806f61;font-size:14px;font-weight:700}.footer-bottom p{margin:0}
.whatsapp-float{position:fixed;left:18px;bottom:18px;z-index:60;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#07140c;box-shadow:0 14px 32px rgba(0,0,0,.22);transition:transform .25s ease}.whatsapp-float:hover{transform:translateY(-2px) scale(1.04)}.whatsapp-float svg{width:26px;height:26px}html[dir="ltr"] .whatsapp-float{left:auto;right:18px}
@media(max-width:1100px){.footer-main{grid-template-columns:1fr 1fr}.nav-links{gap:2px}.nav-links a{font-size:12.5px;padding:10px 7px}}
@media(max-width:980px){.menu-button{display:block}.nav-links{position:absolute;top:calc(100% + 10px);left:0;right:0;display:none;grid-template-columns:1fr;background:rgba(255,253,248,.98);border:1px solid rgba(212,166,79,.24);border-radius:8px;padding:10px;box-shadow:0 18px 44px rgba(59,42,31,.14)}.nav-links.open{display:grid}.nav-links a{justify-content:space-between;padding:12px;border-bottom:1px solid rgba(212,166,79,.12)}.nav-links li:last-child a{border-bottom:0}.hero-split,.hero-aside,.hero-panel,.hero-diagonal,.split,.feature-row{grid-template-columns:1fr}.hero-panel .hero-copy{padding:34px}.hero-media,.hero-aside .hero-media,.hero-diagonal .hero-media{height:430px;transform:none}.cards,.stats{grid-template-columns:1fr 1fr}.section-head,.cta{display:grid}.brand-name-en{font-size:13px}.brand-name-ar{font-size:12px}}
@media(max-width:680px){.header-inner{min-height:72px;padding:0 12px}.logo-mark{width:38px;height:44px}.brand-name-en{font-size:14px;letter-spacing:1px}.brand-name-ar{font-size:11px}.lang-dropdown-btn{padding:8px 11px}.hero{padding:54px 0}.actions .btn{width:100%}.cards,.stats,.footer-main,.footer-bottom{grid-template-columns:1fr}.hero-media,.hero-aside .hero-media,.hero-panel .hero-media,.hero-diagonal .hero-media,.hero-stacked .hero-media,.hero-cinema .hero-media{height:330px}.section-head{margin-bottom:22px}.card{padding:22px}.service-nav a{width:100%;text-align:center}.whatsapp-float{left:14px;bottom:14px;width:46px;height:46px}.whatsapp-float svg{width:22px;height:22px}.cta{padding:30px}footer{padding:58px 5vw 24px}}


/* Premium loading screen: branding only, no layout changes */
.page-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#F7F3EA);transition:opacity .45s ease,visibility .45s ease}
.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-card{display:grid;place-items:center;gap:14px;padding:28px 34px;border-radius:24px;background:rgba(255,255,255,.78);border:1px solid rgba(212,166,79,.22);box-shadow:0 24px 70px rgba(59,42,31,.12)}
.loader-card img{width:70px;height:auto;object-fit:contain}
.loader-line{width:92px;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,#D4A64F,transparent);animation:loaderPulse 1.2s ease-in-out infinite}
@keyframes loaderPulse{0%,100%{opacity:.35;transform:scaleX(.72)}50%{opacity:1;transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.loader-line{animation:none}.page-loader{transition:none}}


/* Final mobile/tablet optimization layer: desktop rules remain untouched */
html{ -webkit-text-size-adjust:100%; scroll-padding-top:110px; }
body{ overflow-x:clip; }
@supports not (overflow:clip){ body{ overflow-x:hidden; } }
input,textarea,select,button{ font-size:16px; }
a,button,.lang-dropdown-btn,.menu-button{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.float-wa{ bottom:max(18px, env(safe-area-inset-bottom)); }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ scroll-behavior:auto!important; animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}
@media (max-width:1024px){
  .container{ width:min(100% - 32px, 980px); }
  .header-inner{ width:calc(100% - 24px); padding-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)); }
  .brand-lockup,.brand-text{ min-width:0; }
  .brand-name-en,.brand-name-ar{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .nav-links{ max-height:calc(100svh - 92px); overflow-y:auto; overscroll-behavior:contain; z-index:1001; }
  .hero{ padding-top:110px; }
}
@media (max-width:820px){
  main{ overflow:hidden; }
  .hero,.hero.hero-split{ grid-template-columns:1fr; gap:24px; padding-top:100px; padding-bottom:44px; }
  .hero-copy{ max-width:100%; }
  .hero h1{ font-size:clamp(32px, 9vw, 48px); line-height:1.14; }
  .lead{ font-size:clamp(16px, 4vw, 18px); line-height:1.85; }
  .actions{ display:grid; grid-template-columns:1fr; gap:12px; }
  .btn{ width:100%; min-height:48px; justify-content:center; }
  .stats{ grid-template-columns:1fr; gap:10px; }
  .hero-media{ width:100%; max-width:520px; margin-inline:auto; aspect-ratio:4/3; border-radius:28px; overflow:hidden; }
  .hero-media img{ width:100%; height:100%; object-fit:cover; object-position:center; }
  .cards,.split,.timeline,.footer-main{ grid-template-columns:1fr; }
  .band{ padding:54px 0; }
  .section-title{ font-size:clamp(30px, 7.5vw, 44px); line-height:1.18; }
  .card{ min-width:0; }
  .cta{ grid-template-columns:1fr; text-align:start; gap:18px; }
  .footer-bottom{ grid-template-columns:1fr; text-align:center; justify-items:center; }
}
@media (max-width:520px){
  .container{ width:min(100% - 24px, 100%); }
  .nav{ padding-top:max(12px, env(safe-area-inset-top)); }
  .header-inner{ min-height:72px; border-radius:16px; gap:8px; }
  .logo-mark{ width:38px; height:44px; }
  .brand-lockup{ gap:8px; max-width:calc(100vw - 168px); }
  .brand-name-en{ font-size:12px; letter-spacing:.12em; }
  .brand-name-ar{ font-size:11px; }
  .lang-dropdown-btn,.menu-button{ min-width:44px; min-height:44px; }
  .lang-dropdown-menu{ inset-inline-end:0; min-width:138px; }
  .nav-links{ top:calc(100% + 10px); border-radius:18px; padding:10px; }
  .nav-links a{ min-height:48px; }
  .hero,.hero.hero-split{ padding-top:92px; gap:20px; }
  .hero h1{ font-size:clamp(29px, 9.5vw, 40px); }
  .hero-media{ aspect-ratio:4/3; border-radius:24px; }
  .hero-media img[src*="04-panoramic"]{ object-position:center 40%; }
  .hero-media img[src*="05-home-no-pit"]{ object-position:center 45%; }
  .card,.cta{ border-radius:22px; }
  .footer-inner{ width:min(100% - 24px, 100%); }
  .footer-logo-lockup{ align-items:center; }
  .footer-links a,.footer-contact a{ min-height:36px; display:inline-flex; align-items:center; }
  .social-link{ width:44px; height:44px; }
  .float-wa{ width:52px; height:52px; inset-inline-start:max(14px, env(safe-area-inset-left)); bottom:max(14px, env(safe-area-inset-bottom)); }
}
@media (max-width:360px){
  .container{ width:min(100% - 20px, 100%); }
  .brand-lockup{ max-width:calc(100vw - 154px); }
  .brand-name-en{ font-size:11px; letter-spacing:.09em; }
  .brand-name-ar{ font-size:10px; }
  .hero h1{ font-size:clamp(27px, 9vw, 35px); }
  .section-title{ font-size:clamp(26px, 8vw, 34px); }
}
@media (min-width:821px) and (max-width:1180px){
  .hero.hero-split{ grid-template-columns:minmax(0,1fr) minmax(330px,.9fr); gap:34px; }
  .cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-main{ grid-template-columns:1.2fr repeat(2,minmax(160px,1fr)); }
}


/* Follow-up mobile containment fixes for RTL/LTR service pages */
@media (max-width:820px){
  .hero-copy, .split-copy, .section-head, .cta{ min-width:0; max-width:100%; text-align:center; }
  .hero-copy > *, .split-copy > *, .section-head > *, .cta > *{ max-width:100%; }
  .hero h1, .section-title, .lead, .hero-copy p, .split-copy p, .card p, .cta p{ overflow-wrap:anywhere; }
  .hero h1{ max-width:12em; margin-inline:auto; }
  .lead{ max-width:34rem; margin-inline:auto; }
  .actions{ max-width:520px; margin-inline:auto; }
  .stats{ display:grid; grid-template-columns:1fr; width:100%; max-width:520px; margin-inline:auto; overflow:hidden; }
  .stat{ min-width:0; text-align:center; align-items:center; justify-content:center; }
  .stat span, .stat strong{ max-width:100%; overflow-wrap:anywhere; }
  .cards{ width:100%; }
  .card{ min-width:0; text-align:center; }
  .card-icon{ margin-inline:auto; }
  .timeline article{ grid-template-columns:auto minmax(0,1fr); text-align:start; }
  .timeline h3,.timeline p{ overflow-wrap:anywhere; }
}
@media (max-width:520px){
  .hero h1{ max-width:10.8em; }
  .hero-media{ margin-top:4px; }
  .stats{ gap:10px; }
  .stat{ border-radius:18px; }
}


/* Final service-title mobile tightening */
@media (max-width:520px){
  .hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(25px, 7.8vw, 32px);
    line-height:1.22;
    word-break:break-word;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }
  .hero-copy{ width:100%; overflow:hidden; }
}


/* Loader must never block mobile review or file:// rendering */
.page-loader{
  pointer-events:none!important;
  animation:loaderAutoFade .55s ease .35s forwards;
}
@keyframes loaderAutoFade{
  to{opacity:0;visibility:hidden}
}
@media (prefers-reduced-motion:reduce){
  .page-loader{animation:none!important;opacity:0!important;visibility:hidden!important}
}
