/* v4 — Official Legal Consultancy — public site styles */
:root{
  --navy:#011734; --navy-2:#04203F; --navy-3:#010F24; --navy-4:#0B2A52;
  --gold:#C9A24A; --gold-l:#E3CB92; --gold-d:#A8842F; --gold-soft:rgba(201,162,74,.14);
  --ink:#1C2430; --slate:#4A5566; --muted:#7A8494; --line:#E7E4DD; --cream:#F7F5F1; --white:#fff;
  --r:14px; --r-sm:10px; --shadow:0 18px 50px -24px rgba(1,23,52,.28); --shadow-lg:0 30px 80px -30px rgba(1,23,52,.45);
  --wrap:1200px; --hdr:84px;
  --f-body:"Noto Sans Arabic","Segoe UI",Tahoma,sans-serif; --f-head:"Amiri","Noto Naskh Arabic",serif;
}
body.dir-ltr{ --f-body:"Poppins","Segoe UI",Arial,sans-serif; --f-head:"Cormorant Garamond","Georgia",serif; }

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{ margin:0; font-family:var(--f-body); color:var(--ink); background:#fff; font-size:16px; line-height:1.85;
      -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body.dir-ltr{ line-height:1.75; font-size:15.5px; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{ margin:0; font-family:var(--f-head); font-weight:700; color:var(--navy); line-height:1.35; }
body.dir-ltr h1, body.dir-ltr h2, body.dir-ltr h3{ font-weight:600; letter-spacing:.005em; }
p{ margin:0; }
button{ font:inherit; cursor:pointer; }
.ltr{ direction:ltr; unicode-bidi:isolate; display:inline-block; }
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }
.ic{ width:20px; height:20px; flex:none; }
.flip{ transform:none; } body.dir-rtl .flip{ transform:scaleX(-1); }
.flip-x{ transform:scaleX(-1); } body.dir-rtl .flip-x{ transform:none; }
body.dir-rtl .hero-ctrl [data-next] .ic{ transform:scaleX(-1); }
.skip{ position:absolute; inset-inline-start:-999px; top:8px; background:var(--gold); color:var(--navy); padding:8px 14px; z-index:999; border-radius:8px; }
.skip:focus{ inset-inline-start:8px; }
:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---------------- buttons ---------------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:13px 26px; border-radius:999px;
      font-weight:600; font-size:15px; border:1.5px solid transparent; transition:.28s cubic-bezier(.2,.7,.2,1); white-space:nowrap; line-height:1.3; }
.btn .ic{ width:18px; height:18px; }
.btn-sm{ padding:10px 20px; font-size:14px; }
.btn-gold{ background:linear-gradient(135deg,var(--gold),var(--gold-d)); color:var(--navy); box-shadow:0 10px 26px -10px rgba(201,162,74,.7); }
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(201,162,74,.8); }
.btn-navy{ background:var(--navy); color:#fff; }
.btn-navy:hover{ background:var(--navy-4); transform:translateY(-2px); }
.btn-ghost{ border-color:rgba(255,255,255,.35); color:#fff; background:rgba(255,255,255,.06); }
.btn-ghost:hover{ border-color:var(--gold); background:rgba(201,162,74,.14); }
.btn-line{ border-color:var(--line); color:var(--navy); background:#fff; }
.btn-line:hover{ border-color:var(--gold); color:var(--gold-d); }
.btn-row{ display:flex; flex-wrap:wrap; gap:12px; }
.w100{ width:100%; }
.center-btn{ display:flex; justify-content:center; margin-top:44px; }

/* ---------------- top bar ---------------- */
.topbar{ background:var(--navy-3); color:rgba(255,255,255,.78); font-size:13px; }
.topbar-in{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:42px; }
.tb-contacts{ display:flex; align-items:center; gap:22px; }
.tb-contacts a, .tb-mail{ display:inline-flex; align-items:center; gap:8px; transition:color .2s; }
.tb-contacts a:hover{ color:var(--gold-l); }
.tb-contacts .ic{ width:15px; height:15px; color:var(--gold); }
.tb-end{ display:flex; align-items:center; gap:16px; }
.social{ display:flex; gap:6px; }
.social a{ width:30px; height:30px; display:grid; place-items:center; border-radius:50%; color:rgba(255,255,255,.75); transition:.25s; }
.social a:hover{ color:var(--navy); background:var(--gold); }
.social .ic{ width:15px; height:15px; }
.lang-btn{ display:inline-flex; align-items:center; gap:7px; padding:5px 13px; border:1px solid rgba(201,162,74,.45); border-radius:999px;
           color:var(--gold-l); font-size:12.5px; transition:.25s; font-family:"Noto Sans Arabic","Poppins",sans-serif; }
.lang-btn .ic{ width:14px; height:14px; }
.lang-btn:hover{ background:var(--gold); color:var(--navy); }
.lang-btn.dark{ color:var(--navy); border-color:var(--line); }

/* ---------------- header ---------------- */
.header{ position:sticky; top:0; z-index:60; background:rgba(255,255,255,.96); backdrop-filter:saturate(1.4) blur(10px);
         border-bottom:1px solid rgba(1,23,52,.06); transition:box-shadow .3s; }
.header.scrolled{ box-shadow:0 10px 30px -18px rgba(1,23,52,.35); }
.header-in{ display:flex; align-items:center; justify-content:space-between; gap:24px; height:var(--hdr); }
.brand img{ height:56px; width:auto; }
.nav{ display:flex; align-items:center; gap:4px; }
.nav > a, .dd-top{ position:relative; display:inline-flex; align-items:center; gap:6px; padding:10px 14px; font-weight:500; font-size:15px; color:var(--navy); transition:color .2s; }
.nav > a::after, .dd-top::after{ content:""; position:absolute; inset-inline:14px; bottom:4px; height:2px; background:var(--gold); transform:scaleX(0); transition:transform .3s; }
.nav > a:hover, .dd:hover .dd-top, .nav > a.on, .dd.on .dd-top{ color:var(--gold-d); }
.nav > a:hover::after, .nav > a.on::after, .dd.on .dd-top::after{ transform:scaleX(1); }
.dd{ position:relative; }
.dd-ic{ width:15px; height:15px; transition:transform .25s; }
.dd:hover .dd-ic{ transform:rotate(180deg); }
.dd-toggle{ display:none; }
.dd-menu{ position:absolute; top:100%; inset-inline-start:-10px; min-width:300px; background:#fff; border-radius:var(--r); box-shadow:var(--shadow-lg);
          border:1px solid var(--line); padding:10px; opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; z-index:5; }
.dd:hover .dd-menu, .dd:focus-within .dd-menu{ opacity:1; visibility:visible; transform:none; }
.dd-menu a{ display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:10px; font-size:14.5px; color:var(--ink); transition:.2s; }
.dd-menu a .ic{ width:19px; height:19px; color:var(--gold-d); }
.dd-menu a:hover{ background:var(--cream); color:var(--navy); padding-inline-start:16px; }
.nav-head, .nav-foot{ display:none; }
.header-cta{ display:flex; align-items:center; gap:10px; }
.burger{ display:none; width:46px; height:46px; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--navy); place-items:center; }
.burger .ic{ width:22px; height:22px; }
.nav-backdrop{ position:fixed; inset:0; background:rgba(1,15,36,.55); opacity:0; visibility:hidden; transition:.3s; z-index:70; }

/* ---------------- hero slider ---------------- */
.hero{ position:relative; overflow:hidden; height:min(86vh,760px); min-height:560px; background:var(--navy); color:#fff; isolation:isolate; }
.slide{ position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1s ease, visibility 1s; display:flex; align-items:center; }
.slide.is-on{ opacity:1; visibility:visible; }
.slide.no-img{ background:
   radial-gradient(70% 90% at 85% 15%, rgba(20,60,110,.65) 0%, rgba(1,23,52,0) 60%),
   radial-gradient(60% 70% at 10% 100%, rgba(201,162,74,.16) 0%, rgba(1,23,52,0) 60%),
   linear-gradient(155deg,var(--navy-2) 0%,var(--navy) 55%,var(--navy-3) 100%); }
.slide.no-img::before{ content:""; position:absolute; inset:0; opacity:.35;
   background-image:linear-gradient(rgba(201,162,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,162,74,.07) 1px,transparent 1px);
   background-size:72px 72px; -webkit-mask-image:radial-gradient(60% 70% at 70% 40%,#000,transparent 75%); mask-image:radial-gradient(60% 70% at 70% 40%,#000,transparent 75%); }
.slide-bg{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.08); transition:transform 7s ease; }
.slide.is-on .slide-bg{ transform:scale(1); }
.slide.has-img::after{ content:""; position:absolute; inset:0; z-index:0;
   background:linear-gradient(90deg, rgba(1,15,36,.92) 0%, rgba(1,23,52,.72) 45%, rgba(1,23,52,.35) 100%); }
body.dir-rtl .slide.has-img::after{ background:linear-gradient(270deg, rgba(1,15,36,.92) 0%, rgba(1,23,52,.72) 45%, rgba(1,23,52,.35) 100%); }
.slide-art{ position:absolute; inset-inline-end:6%; top:50%; transform:translateY(-50%); width:min(46vw,560px); aspect-ratio:1; pointer-events:none; z-index:0; }
.slide.has-img .slide-art{ display:none; }
.slide-art .ring{ position:absolute; inset:0; border-radius:50%; border:1px solid rgba(201,162,74,.28); }
.slide-art .r2{ inset:9%; border-color:rgba(201,162,74,.14); border-style:dashed; animation:spin 80s linear infinite; }
.slide-art .mark{ position:absolute; inset:22%; background:url(../img/mark-gold.png) center/contain no-repeat; opacity:.9; filter:drop-shadow(0 30px 60px rgba(0,0,0,.4)); }
@keyframes spin{ to{ transform:rotate(360deg); } }
.slide-in{ position:relative; z-index:2; }
.slide-in > *{ max-width:640px; }
.slide .kicker, .slide-t, .slide-p, .slide-btns{ opacity:0; transform:translateY(24px); transition:opacity .8s, transform .8s cubic-bezier(.2,.7,.2,1); }
.slide.is-on .kicker{ opacity:1; transform:none; transition-delay:.25s; }
.slide.is-on .slide-t{ opacity:1; transform:none; transition-delay:.4s; }
.slide.is-on .slide-p{ opacity:1; transform:none; transition-delay:.55s; }
.slide.is-on .slide-btns{ opacity:1; transform:none; transition-delay:.7s; }
.slide-t{ color:#fff; font-size:clamp(34px,5.2vw,62px); line-height:1.3; margin:18px 0 0; }
body.dir-ltr .slide-t{ font-size:clamp(36px,5.4vw,66px); line-height:1.12; }
.slide-p{ margin-top:20px; font-size:clamp(15px,1.6vw,18px); color:rgba(255,255,255,.8); max-width:560px; }
.slide-btns{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.hero-ctrl{ position:absolute; z-index:5; bottom:34px; inset-inline-start:max(24px, calc((100vw - var(--wrap))/2 + 24px)); display:flex; align-items:center; gap:16px; }
.hc-btn{ width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.06); color:#fff; display:grid; place-items:center; transition:.25s; }
.hc-btn:hover{ background:var(--gold); border-color:var(--gold); color:var(--navy); }
.dots{ display:flex; gap:8px; }
.dot{ width:9px; height:9px; border-radius:99px; border:0; padding:0; background:rgba(255,255,255,.35); transition:.35s; }
.dot.is-on{ width:30px; background:var(--gold); }
.hero-progress{ position:absolute; bottom:0; inset-inline:0; height:3px; background:rgba(255,255,255,.08); z-index:5; }
.hero-progress i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--gold-d),var(--gold-l)); }

/* ---------------- sections ---------------- */
.sec{ padding:104px 0; position:relative; }
.kicker{ display:inline-flex; align-items:center; gap:12px; color:var(--gold-d); font-weight:600; font-size:14px; letter-spacing:.02em; }
body.dir-ltr .kicker{ text-transform:uppercase; letter-spacing:.18em; font-size:12.5px; }
.kicker span{ width:34px; height:1.5px; background:var(--gold); display:inline-block; }
.kicker.center{ justify-content:center; }
.kicker.light{ color:var(--gold-l); }
.slide .kicker{ color:var(--gold-l); }
.h2{ font-size:clamp(28px,3.6vw,44px); margin-top:14px; }
body.dir-ltr .h2{ font-size:clamp(32px,3.8vw,48px); line-height:1.15; }
.h2.light{ color:#fff; }
.sec-head{ text-align:center; max-width:720px; margin:0 auto 56px; }
.sec-head p{ margin-top:16px; color:var(--slate); font-size:16.5px; }
.prose{ color:var(--slate); }
.prose p + p{ margin-top:14px; }
.prose.lg{ font-size:16.5px; }

/* about (home) */
.about-grid{ display:grid; grid-template-columns:1fr 1.08fr; gap:72px; align-items:center; }
.about-visual{ position:relative; padding-bottom:34px; }
.av-panel, .av-photo{ border-radius:var(--r); min-height:470px; position:relative; overflow:hidden; box-shadow:var(--shadow-lg); }
.av-photo{ background-size:cover; background-position:center; }
.av-panel{ background:radial-gradient(90% 70% at 70% 10%, rgba(20,60,110,.6), rgba(1,23,52,0) 60%), linear-gradient(160deg,var(--navy-2),var(--navy) 60%,var(--navy-3));
           display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:48px 36px; }
.av-panel::before{ content:""; position:absolute; inset:16px; border:1px solid rgba(201,162,74,.32); border-radius:10px; }
.av-panel img{ width:112px; height:auto; position:relative; }
.av-name{ font-family:var(--f-head); color:#fff; font-size:27px; margin-top:22px; position:relative; line-height:1.4; }
.av-line{ width:60px; height:1.5px; background:var(--gold); margin:22px auto; }
.av-facts{ display:grid; grid-template-columns:1fr 1fr; gap:16px; width:100%; max-width:330px; position:relative; }
.av-facts div{ border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:14px 10px; background:rgba(255,255,255,.03); }
.av-facts b{ display:block; color:var(--gold-l); font-size:19px; font-family:"Poppins",sans-serif; font-weight:500; }
.av-facts span{ font-size:12.5px; color:rgba(255,255,255,.62); }
.av-badge{ position:absolute; bottom:0; inset-inline-end:-22px; background:#fff; border-radius:var(--r); box-shadow:var(--shadow-lg);
           display:flex; align-items:center; gap:14px; padding:16px 22px; border-inline-start:3px solid var(--gold); }
.av-badge .ic{ width:42px; height:42px; padding:9px; border-radius:50%; background:var(--gold-soft); color:var(--gold-d); }
.av-badge b{ display:block; font-family:var(--f-head); color:var(--navy); font-size:19px; line-height:1.3; }
.av-badge span{ font-size:13px; color:var(--gold-d); }
.about-txt .prose{ margin-top:22px; }
.ticks{ list-style:none; padding:0; margin:26px 0 34px; display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; }
.ticks li{ display:flex; gap:10px; align-items:flex-start; font-weight:500; color:var(--navy); font-size:15px; }
.ticks .ic{ width:22px; height:22px; padding:4px; border-radius:50%; background:var(--gold-soft); color:var(--gold-d); margin-top:3px; }

/* services */
.services-sec{ background:var(--cream); }
.services-sec::before{ content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
   background:radial-gradient(40% 50% at 100% 0%, rgba(201,162,74,.10), transparent 70%), radial-gradient(40% 50% at 0% 100%, rgba(1,23,52,.05), transparent 70%); }
.svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; }
.svc{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:34px 30px 30px; overflow:hidden;
      transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s; display:flex; flex-direction:column; }
.svc::before{ content:""; position:absolute; inset:0; background:linear-gradient(160deg,var(--navy-2),var(--navy)); opacity:0; transition:opacity .4s; }
.svc > *{ position:relative; }
.svc:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
.svc:hover::before{ opacity:1; }
.svc-num{ position:absolute; top:22px; inset-inline-end:26px; font-family:"Poppins",sans-serif; font-size:13px; color:var(--muted); letter-spacing:.1em; transition:color .3s; }
.svc-ic{ width:62px; height:62px; border-radius:16px; display:grid; place-items:center; background:var(--gold-soft); color:var(--gold-d); transition:.35s; }
.svc-ic .ic{ width:30px; height:30px; }
.svc h3{ font-size:23px; margin-top:24px; transition:color .3s; }
body.dir-ltr .svc h3{ font-size:25px; }
.svc p{ color:var(--slate); font-size:14.5px; margin-top:10px; line-height:1.85; transition:color .3s; flex:1; }
.svc-more{ display:inline-flex; align-items:center; gap:8px; color:var(--gold-d); font-weight:600; font-size:14px; margin-top:22px; transition:.3s; }
.svc-more .ic{ width:17px; height:17px; transition:transform .3s; }
.svc:hover .svc-ic{ background:var(--gold); color:var(--navy); }
.svc:hover h3{ color:#fff; } .svc:hover p{ color:rgba(255,255,255,.72); } .svc:hover .svc-num{ color:var(--gold-l); }
.svc:hover .svc-more{ color:var(--gold-l); }
.svc:hover .svc-more .ic{ transform:translateX(4px); } body.dir-rtl .svc:hover .svc-more .ic{ transform:scaleX(-1) translateX(4px); }

/* clients */
.sector-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sector{ display:flex; gap:18px; align-items:flex-start; padding:26px; border-radius:var(--r); border:1px solid var(--line); background:#fff; transition:.3s; }
.sector:hover{ border-color:var(--gold); box-shadow:var(--shadow); }
.sector-ic{ flex:none; width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:var(--gold-l); }
.sector-ic .ic{ width:25px; height:25px; }
.sector h3{ font-size:20px; } body.dir-ltr .sector h3{ font-size:22px; }
.sector p{ color:var(--slate); font-size:14px; margin-top:4px; line-height:1.8; }
.logos{ margin-top:56px; text-align:center; }
.logos-label{ color:var(--muted); font-size:13.5px; margin-bottom:18px; }
.marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent); }
.marquee-track{ display:flex; gap:22px; width:max-content; animation:marq 38s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee.static{ -webkit-mask-image:none; mask-image:none; }
.marquee.static .marquee-track{ animation:none; width:auto; flex-wrap:wrap; justify-content:center; }
body.dir-rtl .marquee-track{ animation-name:marq-rtl; }
@keyframes marq{ to{ transform:translateX(-50%); } }
@keyframes marq-rtl{ to{ transform:translateX(50%); } }
.logo-item{ width:180px; height:96px; flex:none; border:1px solid var(--line); border-radius:12px; background:#fff; display:grid; place-items:center; padding:16px 20px; }
.logo-item img{ max-height:60px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.75; transition:.3s; }
.logo-item:hover img{ filter:none; opacity:1; }

/* contact (home) */
.contact-sec{ background:linear-gradient(180deg,#fff 0,#fff 18%,var(--cream) 18%); }
.contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg); background:#fff; }
.contact-info{ background:radial-gradient(80% 60% at 100% 0%, rgba(20,60,110,.55), rgba(1,23,52,0) 60%), linear-gradient(160deg,var(--navy-2),var(--navy) 60%,var(--navy-3));
               color:rgba(255,255,255,.78); padding:56px 48px; position:relative; overflow:hidden; }
.contact-info::after{ content:""; position:absolute; inset-inline-end:-80px; bottom:-80px; width:280px; height:280px; background:url(../img/mark-gold.png) center/contain no-repeat; opacity:.07; }
.contact-info > p{ margin-top:16px; }
.ci-list{ display:grid; gap:14px; margin-top:34px; position:relative; z-index:1; }
.ci{ display:flex; align-items:center; gap:16px; padding:14px 16px; border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); transition:.25s; }
a.ci:hover{ border-color:rgba(201,162,74,.5); background:rgba(201,162,74,.08); }
.ci > span{ width:44px; height:44px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:var(--navy); }
.ci small{ display:block; font-size:12px; color:rgba(255,255,255,.55); }
.ci b{ color:#fff; font-weight:500; font-size:15.5px; }
.contact-form{ padding:52px 48px; }

/* form */
.cform{ display:grid; gap:16px; }
.frow{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.fld span{ display:block; font-size:13.5px; font-weight:500; color:var(--navy); margin-bottom:7px; }
.fld input, .fld select, .fld textarea{ width:100%; border:1.5px solid var(--line); background:#FBFAF8; border-radius:12px; padding:13px 15px; font:inherit; font-size:15px; color:var(--ink);
   transition:border-color .2s, box-shadow .2s, background .2s; }
.fld textarea{ resize:vertical; min-height:130px; }
.fld input:focus, .fld select:focus, .fld textarea:focus{ outline:none; border-color:var(--gold); background:#fff; box-shadow:0 0 0 4px rgba(201,162,74,.15); }
.fld .bad{ border-color:#C0392B; }
.fbot{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:4px; }
.fbot small{ display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:12.5px; }
.fbot small .ic{ width:16px; height:16px; color:var(--gold-d); }
.fmsg{ display:none; padding:13px 16px; border-radius:12px; font-size:14.5px; }
.fmsg.ok{ display:block; background:#EAF6EE; color:#1E6B3A; border:1px solid #BFE3CB; }
.fmsg.err{ display:block; background:#FBECEA; color:#8E2A1E; border:1px solid #F0C6C0; }
.hp{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.cform button[disabled]{ opacity:.7; pointer-events:none; }

/* ---------------- inner page hero ---------------- */
.phero{ position:relative; overflow:hidden; color:#fff; padding:78px 0 70px;
  background:radial-gradient(70% 120% at 85% 0%, rgba(20,60,110,.6), rgba(1,23,52,0) 60%), linear-gradient(155deg,var(--navy-2),var(--navy) 60%,var(--navy-3)); }
.phero::after{ content:""; position:absolute; bottom:0; inset-inline:0; height:3px; background:linear-gradient(90deg,var(--gold-d),var(--gold-l),var(--gold-d)); }
.phero-mark{ position:absolute; inset-inline-end:4%; top:50%; transform:translateY(-50%); width:260px; height:260px; background:url(../img/mark-gold.png) center/contain no-repeat; opacity:.09; }
.phero-in{ position:relative; }
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13.5px; color:rgba(255,255,255,.6); }
.crumbs a:hover{ color:var(--gold-l); }
.crumbs .sep{ width:14px; height:14px; } body.dir-rtl .crumbs .sep{ transform:scaleX(-1); }
.crumbs span{ color:var(--gold-l); }
.phero-ic{ width:62px; height:62px; border-radius:16px; display:grid; place-items:center; background:rgba(201,162,74,.16); color:var(--gold-l); margin-top:26px; border:1px solid rgba(201,162,74,.3); }
.phero-ic .ic{ width:30px; height:30px; }
.phero h1{ color:#fff; font-size:clamp(32px,4.4vw,52px); margin-top:16px; }
body.dir-ltr .phero h1{ line-height:1.12; }
.phero p{ max-width:680px; margin-top:14px; color:rgba(255,255,255,.75); font-size:16.5px; }

/* about page */
.about-page{ display:grid; grid-template-columns:1.6fr 1fr; gap:56px; align-items:start; }
.ap-main .prose{ margin-top:22px; }
.side-card{ border-radius:var(--r); padding:34px 30px; text-align:center; border:1px solid var(--line); background:#fff; }
.side-card.navy{ background:radial-gradient(80% 60% at 80% 0%, rgba(20,60,110,.55), rgba(1,23,52,0) 60%), linear-gradient(160deg,var(--navy-2),var(--navy)); color:rgba(255,255,255,.75); border:0; box-shadow:var(--shadow-lg); }
.side-card img{ margin:0 auto 18px; width:80px; height:auto; }
.side-card h3{ color:#fff; font-size:23px; }
.side-card p{ margin:10px 0 22px; font-size:14.5px; }
.side-card .btn + .btn{ margin-top:10px; }
.gold-t{ color:var(--gold-l); font-size:14px; }
.facts-list{ list-style:none; padding:0; margin:0 0 24px; text-align:start; }
.facts-list li{ display:flex; justify-content:space-between; gap:10px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:14px; }
.facts-list b{ color:#fff; font-weight:500; }
.ap-side{ position:sticky; top:calc(var(--hdr) + 24px); }
.vm-sec{ background:var(--cream); }
.vm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.vm-card{ border-radius:var(--r); padding:40px 38px; background:#fff; border:1px solid var(--line); }
.vm-card.navy{ background:linear-gradient(160deg,var(--navy-2),var(--navy)); border:0; }
.vm-card.navy h3{ color:#fff; } .vm-card.navy p{ color:rgba(255,255,255,.78); }
.vm-ic{ width:56px; height:56px; border-radius:14px; display:grid; place-items:center; background:var(--gold-soft); color:var(--gold-d); }
.vm-card.navy .vm-ic{ background:rgba(201,162,74,.18); color:var(--gold-l); }
.vm-ic .ic{ width:27px; height:27px; }
.vm-card h3{ font-size:27px; margin:20px 0 10px; }
.vm-card p{ color:var(--slate); }
.values-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.value{ background:#fff; border-radius:var(--r); padding:28px; border-top:3px solid var(--gold); box-shadow:0 8px 30px -22px rgba(1,23,52,.35); }
.v-n{ font-family:"Poppins",sans-serif; color:var(--gold-d); font-size:13px; letter-spacing:.1em; }
.value h4{ font-size:21px; margin-top:6px; }
.value p{ color:var(--slate); font-size:14.5px; margin-top:6px; }

/* service page */
.svc-page{ display:grid; grid-template-columns:1.65fr 1fr; gap:48px; align-items:start; }
.sp-img{ border-radius:var(--r); aspect-ratio:16/8; background-size:cover; background-position:center; margin-bottom:34px; box-shadow:var(--shadow); }
.rich h3{ font-size:26px; margin:34px 0 14px; padding-inline-start:16px; border-inline-start:3px solid var(--gold); line-height:1.4; }
body.dir-ltr .rich h3{ font-size:28px; }
.rich h4{ font-size:20px; margin:24px 0 10px; }
.rich p{ margin-bottom:14px; }
.rich ul{ list-style:none; padding:0; margin:0 0 18px; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.rich li{ position:relative; padding:12px 16px; padding-inline-start:44px; background:var(--cream); border-radius:10px; color:var(--navy); font-size:15px; line-height:1.6; }
.rich li::before{ content:""; position:absolute; inset-inline-start:16px; top:50%; width:10px; height:10px; transform:translateY(-50%) rotate(45deg); border:1.5px solid var(--gold-d); }
.rich strong{ color:var(--navy); }
.rich a{ color:var(--gold-d); text-decoration:underline; }
.rich blockquote{ margin:22px 0; padding:18px 22px; border-inline-start:3px solid var(--gold); background:var(--cream); border-radius:10px; font-family:var(--f-head); font-size:19px; color:var(--navy); }
.sp-form{ margin-top:46px; padding:36px 34px; border-radius:var(--r); border:1px solid var(--line); background:#fff; box-shadow:var(--shadow); }
.sp-form h3{ display:flex; align-items:center; gap:12px; font-size:24px; margin-bottom:22px; }
.sp-form h3 .ic{ width:34px; height:34px; padding:7px; border-radius:10px; background:var(--gold-soft); color:var(--gold-d); }
.sp-side{ position:sticky; top:calc(var(--hdr) + 24px); display:grid; gap:24px; }
.side-list{ border:1px solid var(--line); border-radius:var(--r); padding:14px; background:#fff; }
.side-list h4{ font-size:20px; padding:10px 12px 12px; border-bottom:1px solid var(--line); margin-bottom:8px; }
.side-list a{ display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:10px; font-size:14.5px; color:var(--ink); transition:.2s; }
.side-list a .ic{ width:19px; height:19px; color:var(--gold-d); }
.side-list a span{ flex:1; }
.sl-arrow{ opacity:.35; width:16px !important; height:16px !important; } body.dir-rtl .sl-arrow{ transform:scaleX(-1); }
.side-list a:hover{ background:var(--cream); }
.side-list a.on{ background:var(--navy); color:#fff; }
.side-list a.on .ic{ color:var(--gold-l); }

/* contact page */
.cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.ccard{ text-align:center; padding:36px 24px; border:1px solid var(--line); border-radius:var(--r); background:#fff; transition:.3s; }
a.ccard:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--gold); }
.ccard-ic{ width:64px; height:64px; margin:0 auto 16px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:var(--gold-l); }
.ccard-ic.wa{ background:#25D366; color:#fff; }
.ccard-ic .ic{ width:28px; height:28px; }
.ccard h3{ font-size:22px; } .ccard p{ color:var(--slate); margin-top:6px; }
.contact-page{ margin-top:56px; padding:48px; border-radius:22px; background:var(--cream); }
.cp-head{ margin-bottom:28px; }
.cform.light .fld input, .cform.light .fld select, .cform.light .fld textarea{ background:#fff; }

/* CTA band */
.cta-band{ background:radial-gradient(60% 120% at 100% 0%, rgba(201,162,74,.18), rgba(1,23,52,0) 60%), linear-gradient(120deg,var(--navy-2),var(--navy)); padding:56px 0; color:rgba(255,255,255,.75); }
.cta-in{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.cta-in h3{ color:#fff; font-size:clamp(24px,2.6vw,32px); }
.cta-in p{ margin-top:6px; }

/* ---------------- footer ---------------- */
.footer{ position:relative; overflow:hidden; background:var(--navy-3); color:rgba(255,255,255,.66); font-size:14.5px; }
.footer-glow{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(50% 60% at 90% 0%, rgba(20,60,110,.5), transparent 70%), radial-gradient(40% 50% at 0% 100%, rgba(201,162,74,.08), transparent 70%); }
.fgrid{ position:relative; display:grid; grid-template-columns:1.4fr 1fr 1.2fr 1.3fr; gap:44px; padding-top:76px; padding-bottom:56px; }
.fabout img{ height:58px; width:auto; margin-bottom:20px; }
.fabout p{ line-height:1.9; max-width:330px; }
.f-social{ margin-top:22px; } .f-social a{ border:1px solid rgba(255,255,255,.14); }
.fcol h4{ color:#fff; font-size:20px; margin-bottom:20px; position:relative; padding-bottom:12px; }
body.dir-ltr .fcol h4{ font-size:22px; }
.fcol h4::after{ content:""; position:absolute; bottom:0; inset-inline-start:0; width:34px; height:2px; background:var(--gold); }
.fcol ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.fcol ul a{ transition:.2s; } .fcol ul a:hover{ color:var(--gold-l); padding-inline-start:4px; }
.fcontact li{ display:flex; align-items:center; gap:12px; }
.fcontact .ic{ width:18px; height:18px; color:var(--gold); }
.fbar{ position:relative; border-top:1px solid rgba(255,255,255,.08); font-size:13.5px; }
.fbar-in{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:20px; padding-bottom:20px; }
.credit{ display:inline-flex; gap:6px; align-items:center; padding:6px 14px; border:1px solid rgba(201,162,74,.3); border-radius:999px; transition:.25s; }
.credit b{ color:var(--gold-l); font-weight:600; }
.credit:hover{ background:rgba(201,162,74,.12); border-color:var(--gold); }

/* ---------------- floating buttons ---------------- */
.fab{ position:fixed; z-index:80; bottom:22px; inset-inline-end:22px; display:grid; gap:12px; }
.fab-btn{ position:relative; width:56px; height:56px; border-radius:50%; display:grid; place-items:center; color:#fff; box-shadow:0 12px 28px -10px rgba(0,0,0,.45); transition:transform .25s; }
.fab-btn .ic{ width:27px; height:27px; }
.fab-btn:hover{ transform:scale(1.08); }
.fab-wa{ background:#25D366; }
.fab-wa::before{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid #25D366; animation:pulse 2.4s infinite; }
@keyframes pulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.6); opacity:0; } }
.fab-call{ background:linear-gradient(135deg,var(--gold),var(--gold-d)); color:var(--navy); }
.fab-tip{ position:absolute; inset-inline-end:68px; white-space:nowrap; background:var(--navy); color:#fff; font-size:13px; padding:6px 12px; border-radius:8px; opacity:0; transform:translateX(8px); transition:.25s; pointer-events:none; }
body.dir-rtl .fab-tip{ transform:translateX(-8px); }
.fab-btn:hover .fab-tip{ opacity:1; transform:none; }
.totop{ position:fixed; z-index:79; bottom:22px; inset-inline-start:22px; width:46px; height:46px; border-radius:12px; border:1px solid var(--line); background:#fff; color:var(--navy);
        display:grid; place-items:center; opacity:0; visibility:hidden; transform:translateY(10px); transition:.3s; box-shadow:var(--shadow); }
.totop.on{ opacity:1; visibility:visible; transform:none; }
.totop:hover{ background:var(--gold); border-color:var(--gold); }

/* ---------------- reveal on scroll ---------------- */
.js .reveal{ opacity:0; transform:translateY(26px); transition:opacity .8s, transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--d,0ms); }
.js .reveal.in{ opacity:1; transform:none; }

/* ---------------- responsive ---------------- */
@media (max-width:1100px){
  .nav > a, .dd-top{ padding:10px 10px; font-size:14.5px; }
  .fgrid{ grid-template-columns:1fr 1fr; }
  .about-grid{ gap:48px; }
}
@media (max-width:980px){
  :root{ --hdr:74px; }
  .hide-md{ display:none !important; }
  .burger{ display:grid; }
  .header{ backdrop-filter:none; -webkit-backdrop-filter:none; background:#fff; }
  body.nav-open .header{ z-index:95; }
  .nav{ position:fixed; top:0; bottom:0; inset-inline-end:0; width:min(360px,88vw); background:#fff; z-index:90; flex-direction:column; align-items:stretch;
        gap:0; padding:0 0 24px; overflow-y:auto; transform:translateX(100%); transition:transform .38s cubic-bezier(.2,.7,.2,1); box-shadow:var(--shadow-lg); }
  body.dir-rtl .nav{ transform:translateX(-100%); }
  body.nav-open .nav{ transform:none; }
  body.nav-open .nav-backdrop{ opacity:1; visibility:visible; }
  body.nav-open{ overflow:hidden; }
  .nav-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid var(--line); margin-bottom:8px; }
  .nav-head img{ height:44px; width:auto; }
  .nav-close{ width:42px; height:42px; border-radius:10px; border:1px solid var(--line); background:#fff; color:var(--navy); display:grid; place-items:center; }
  .nav > a, .dd-top{ padding:14px 22px; font-size:16px; border-bottom:1px solid #F1EFEA; }
  .nav > a::after, .dd-top::after{ display:none; }
  .dd{ display:grid; grid-template-columns:1fr auto; }
  .dd-top{ border-bottom:1px solid #F1EFEA; }
  .dd-ic{ display:none; }
  .dd-toggle{ display:grid; place-items:center; width:54px; border:0; border-bottom:1px solid #F1EFEA; background:transparent; color:var(--navy); }
  .dd-toggle .ic{ transition:transform .25s; }
  .dd.open .dd-toggle .ic{ transform:rotate(180deg); }
  .dd-menu{ grid-column:1 / -1; position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; border-radius:0; min-width:0;
            background:var(--cream); padding:0 10px; max-height:0; overflow:hidden; transition:max-height .35s, padding .35s; }
  .dd.open .dd-menu{ max-height:900px; padding:8px 10px; }
  .nav-foot{ display:grid; gap:12px; padding:22px 20px 0; }
  .nav-foot .lang-btn{ justify-content:center; padding:10px; }
  .about-grid, .about-page, .svc-page, .contact-grid{ grid-template-columns:1fr; }
  .about-visual{ max-width:560px; }
  .ap-side, .sp-side{ position:static; }
  .svc-grid, .sector-grid, .values-grid{ grid-template-columns:1fr 1fr; }
  .slide-art{ inset-inline-end:-12%; width:70vw; opacity:.45; }
  .sec{ padding:80px 0; }
}
@media (max-width:640px){
  body{ font-size:15.5px; }
  .wrap{ padding-inline:18px; }
  .hide-sm{ display:none !important; }
  .brand img{ height:46px; }
  .hero{ height:auto; min-height:600px; }
  .slide{ align-items:flex-end; padding-bottom:120px; }
  .slide-art{ top:28%; width:92vw; inset-inline-end:-20%; opacity:.28; }
  .slide-btns .btn{ flex:1 1 auto; }
  .hero-ctrl{ bottom:26px; }
  .svc-grid, .sector-grid, .values-grid, .vm-grid, .cards3, .frow, .ticks, .rich ul{ grid-template-columns:1fr; }
  .fgrid{ grid-template-columns:1fr; gap:34px; padding-top:56px; }
  .fbar-in{ justify-content:center; text-align:center; }
  .contact-info, .contact-form, .contact-page, .sp-form{ padding:34px 22px; }
  .av-panel{ min-height:400px; }
  .av-badge{ inset-inline-end:12px; }
  .sec{ padding:64px 0; }
  .sec-head{ margin-bottom:40px; }
  .cta-in .btn-row{ width:100%; } .cta-in .btn{ flex:1; }
  .phero{ padding:56px 0 50px; } .phero-mark{ width:160px; height:160px; }
  .fab{ bottom:16px; inset-inline-end:14px; } .fab-btn{ width:52px; height:52px; }
  .totop{ bottom:16px; inset-inline-start:14px; }
  .fab-tip{ display:none; }
}
@media (max-width:420px){
  .hide-xs{ display:none !important; }
  .tb-contacts{ gap:14px; }
  .topbar .social{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
