/* =========================================================
   Alzafer — Redesign layer 2026 (loads after styles.css)
   Brand guide V2: Navy #0B2545 · Teal #139A8C · Light gray #F4F5F7
   ========================================================= */
:root{
  --navy:#0B2545; --navy-900:#061629; --navy-700:#123461; --navy-600:#1b4479;
  --teal:#139A8C; --teal-600:#0f8478; --teal-700:#0c6c62; --teal-100:#e3f4f1; --teal-300:#7fd0c6;
  --gray-50:#F4F5F7; --gray-100:#eceef2; --gray-200:#dfe3e9; --gray-500:#5d6b7b; --gray-700:#36475b;
  --white:#fff; --wa:#1fae5b;
  --az-navy:var(--navy); --az-teal:var(--teal); --az-soft:var(--gray-50); --az-muted:var(--gray-500); --az-line:var(--gray-200);
  --overlay:linear-gradient(180deg,rgba(6,22,41,.55) 0%,rgba(11,37,69,.72) 55%,rgba(6,22,41,.9) 100%);
  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--s-9:6rem;
  --fs-xs:.8rem; --fs-sm:.9rem; --fs-base:clamp(1rem,.96rem + .2vw,1.075rem);
  --fs-h3:clamp(1.1rem,1rem + .4vw,1.3rem); --fs-h2:clamp(1.6rem,1.2rem + 1.6vw,2.5rem); --fs-h1:clamp(2rem,1.3rem + 3.2vw,3.6rem);
  --r-sm:10px; --r:16px; --r-lg:24px; --r-pill:999px;
  --sh-1:0 1px 2px rgba(11,37,69,.06),0 1px 1px rgba(11,37,69,.04);
  --sh-2:0 8px 24px -8px rgba(11,37,69,.16);
  --sh-3:0 24px 60px -20px rgba(11,37,69,.32);
  --header-h:72px; --container:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
html{overflow-x:hidden}
body{background:var(--white);color:var(--navy);font-size:var(--fs-base);line-height:1.75;overflow-x:hidden;text-rendering:optimizeLegibility}
.container{width:min(100% - 2.5rem,var(--container))}
@media (max-width:560px){.container{width:min(100% - 2rem,var(--container))}}
h1,h2,h3,h4{letter-spacing:-.01em;line-height:1.3}
body[dir="ltr"] h1,body[dir="ltr"] h2{letter-spacing:-.025em}
::selection{background:var(--teal);color:#fff}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}
.ic{width:1.25em;height:1.25em;flex:none;display:inline-block;vertical-align:-.25em}

/* ---------- Top bar & header ---------- */
.topbar{background:var(--navy-900);color:rgba(255,255,255,.8);font-size:var(--fs-xs);border:0}
.topbar-inner{min-height:36px}
.lang-toggle button{border-radius:var(--r-pill)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(11,37,69,.08);box-shadow:none;transition:box-shadow .3s var(--ease)}
.site-header.is-scrolled{box-shadow:0 6px 24px -12px rgba(11,37,69,.25)}
.header-inner{min-height:var(--header-h);gap:var(--s-4)}
.brand-logo-full{height:52px;width:auto}
.nav a,.nav .nav-parent{color:var(--navy);font-weight:600;font-size:.95rem;border-radius:var(--r-pill);padding:.5rem .9rem;position:relative;transition:color .2s,background .2s}
.nav a:hover,.nav .nav-parent:hover{background:var(--teal-100);color:var(--teal-700)}
.nav a.active,.nav .nav-parent.active{color:var(--teal-700);background:var(--teal-100)}
.nav-sub{border-radius:var(--r);box-shadow:var(--sh-3);border:1px solid var(--gray-200);padding:.5rem;background:#fff}
.nav-sub a{border-radius:var(--r-sm);display:block}
.menu-toggle{width:46px;height:46px;border-radius:12px;background:var(--gray-50);border:1px solid var(--gray-200)}
@media (max-width:860px){
  :root{--header-h:64px}
  .topbar{display:none}
  .brand-logo-full{height:42px}
  .header-actions .btn-sm{padding:.55rem .95rem;font-size:.85rem}
  .nav{position:fixed;top:var(--header-h);inset-inline:0;bottom:0;max-height:none;overflow-y:auto;background:#fff;border:0;border-top:1px solid var(--gray-200);box-shadow:none;padding:var(--s-4) var(--s-4) 6rem;gap:.25rem;border-radius:0}
  .nav a,.nav .nav-parent{font-size:1.08rem;padding:1rem 1.1rem;border-radius:var(--r-sm);min-height:52px;display:flex;align-items:center}
  .nav-sub{box-shadow:none;border:0;background:var(--gray-50);margin:.25rem 0 .5rem;position:static}
  body.menu-open{overflow:hidden}
}

/* ---------- Buttons ---------- */
.btn{border-radius:var(--r-pill);font-weight:700;letter-spacing:.005em;gap:.5rem;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,color .2s,border-color .2s;min-height:44px}
.btn-lg{padding:.95rem 1.6rem;font-size:1.02rem;min-height:54px}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-cta,.btn-primary{background:var(--teal);color:#fff;border:1px solid var(--teal);box-shadow:0 10px 24px -10px rgba(19,154,140,.75)}
.btn-cta:hover,.btn-primary:hover{background:var(--teal-600);border-color:var(--teal-600);color:#fff}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-wa{background:var(--wa);color:#fff;border:1px solid var(--wa);box-shadow:0 10px 24px -12px rgba(31,174,91,.8)}
.btn-wa:hover{background:#178e49;color:#fff}
.btn-outline,.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(6px)}
.btn-outline:hover,.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-outline-dark{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.btn-outline-dark:hover{background:var(--navy);color:#fff}

/* ---------- Badges / section heads ---------- */
.badge{background:var(--teal-100);color:var(--teal-700);border:0;border-radius:var(--r-pill);font-weight:700;font-size:var(--fs-xs);padding:.4rem .9rem;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.45rem}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}
.badge-navy{background:rgba(11,37,69,.07);color:var(--navy)}
.hero .badge,.page-hero .badge,.photo-band .badge,.cta-band .badge{background:rgba(19,154,140,.22);color:#bff0e9;backdrop-filter:blur(6px)}
.section{padding:clamp(3.5rem,2rem + 5vw,6.5rem) 0}
.section-head{margin-bottom:clamp(2rem,1.5rem + 2vw,3.25rem)}
.section-head.center{max-width:760px;margin-inline:auto}
.section-title{font-size:var(--fs-h2);font-weight:800;color:var(--navy);margin:.75rem 0 .75rem}
.section-lead{color:var(--gray-500);font-size:1.06rem;max-width:62ch}
.section-head.center .section-lead{margin-inline:auto}
.value-section,.coverage{background:var(--gray-50)}

/* ---------- Hero ---------- */
.hero.has-photo,.page-hero.has-photo,.photo-band{background-image:var(--overlay),var(--photo-sm,var(--photo));background-size:cover;background-position:center;background-repeat:no-repeat}
@media (min-width:769px){.hero.has-photo,.page-hero.has-photo,.photo-band{background-image:var(--overlay),var(--photo)}}
.hero.has-photo::before,.page-hero.has-photo::before{opacity:.5}
.hero{color:#fff;padding:clamp(3rem,2rem + 6vw,7.5rem) 0 clamp(5rem,3rem + 6vw,8.5rem);position:relative;overflow:hidden}
.hero.has-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;background:linear-gradient(0deg,rgba(6,22,41,.55),transparent);pointer-events:none}
.hero-grid{gap:clamp(2rem,1rem + 4vw,4.5rem);align-items:center;position:relative;z-index:1}
.hero h1{font-size:var(--fs-h1);font-weight:800;line-height:1.2;margin:1rem 0 1.1rem;color:#fff;text-wrap:balance}
.hero h1 span{color:var(--teal-300);background:none;-webkit-text-fill-color:currentColor}
.hero-desc{font-size:clamp(1.02rem,.95rem + .35vw,1.18rem);color:rgba(255,255,255,.86);max-width:60ch;line-height:1.85}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.hero-links{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin-top:1.25rem}
.hero-links a{color:rgba(255,255,255,.85);font-weight:600;font-size:.95rem;border-bottom:1px solid rgba(127,208,198,.5);padding-bottom:2px}
.hero-links a:hover{color:#fff;border-color:#fff}
.media-frame.hero-media,.hero-panel{background:rgba(8,28,52,.62);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--sh-3);color:#fff;padding:clamp(1.25rem,1rem + 1vw,2rem)}
.hero-panel{background:#fff;color:var(--navy)}
.icon-badge{width:48px;height:48px;border-radius:14px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:1.2rem}
.quick-action{border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:background .2s,transform .2s var(--ease)}
.quick-action:hover{background:rgba(19,154,140,.22);transform:translateX(-4px)}
body[dir="ltr"] .quick-action:hover{transform:translateX(4px)}
.quick-action-icon{background:rgba(19,154,140,.25);color:var(--teal-300);border-radius:10px;font-weight:800}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .hero-ctas .btn{flex:1 1 100%}
  .hero-ctas .btn-wa,.hero-ctas .btn-ghost{flex:1 1 calc(50% - .4rem)}
}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{padding:clamp(3rem,2rem + 4vw,5.5rem) 0;color:#fff;position:relative;overflow:hidden}
.page-hero h1{font-size:clamp(1.8rem,1.2rem + 2.4vw,3rem);font-weight:800;color:#fff;text-wrap:balance;max-width:24ch}
.page-hero p{color:rgba(255,255,255,.86);font-size:1.08rem;max-width:62ch}
.page-hero::after{content:"";position:absolute;inset-inline-start:0;bottom:0;width:min(42%,420px);height:6px;background:linear-gradient(90deg,var(--teal),transparent)}

/* ---------- Trust strip ---------- */
.stats-bar{position:relative;z-index:3;margin-top:calc(-1 * clamp(3rem,2rem + 3vw,4.5rem));padding:0 0 var(--s-6);background:transparent}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border-radius:var(--r-lg);box-shadow:var(--sh-3);overflow:hidden;border:1px solid var(--gray-200)}
.stat-card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:clamp(1.1rem,.8rem + 1.2vw,2rem) 1rem;text-align:center;position:relative}
.stat-card+.stat-card{border-inline-start:1px solid var(--gray-200)}
.stat-value{font-size:clamp(1.6rem,1.1rem + 2vw,2.6rem);font-weight:800;color:var(--navy);line-height:1.1;font-family:var(--font-en),var(--font-ar)}
.stat-value span{color:var(--navy)}
.stat-card:nth-child(odd) .stat-value span{color:var(--teal-600)}
.stat-label{color:var(--gray-500);font-size:var(--fs-sm);margin-top:.35rem;font-weight:500}
@media (max-width:720px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(3){border-inline-start:0}.stat-card:nth-child(n+3){border-top:1px solid var(--gray-200)}}

/* ---------- Cards ---------- */
.card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--r);box-shadow:var(--sh-1);padding:clamp(1.25rem,1rem + .8vw,1.9rem);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;position:relative;overflow:hidden}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:rgba(19,154,140,.35)}
.card::after{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--navy));transform:scaleX(0);transform-origin:inline-start;transition:transform .4s var(--ease)}
.card:hover::after{transform:scaleX(1)}
.card h3{color:var(--navy);font-weight:800;font-size:var(--fs-h3);margin:.9rem 0 .5rem}
.card p{color:var(--gray-500);margin:0}
.card-icon{width:56px;height:56px;border-radius:16px;background:var(--teal-100);color:var(--teal-700);display:grid;place-items:center;font-size:1.6rem!important;transition:background .3s,color .3s}
.card:hover .card-icon{background:var(--teal);color:#fff}
.card-link{display:inline-flex;margin-top:1rem;color:var(--teal-700);font-weight:700}
.card-link:hover{color:var(--navy)}
.grid-2,.grid-3,.grid-4{gap:clamp(1rem,.75rem + 1vw,1.5rem)}
@media (max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.info-card,.form-card,.side-info{border-radius:var(--r-lg);border:1px solid var(--gray-200);box-shadow:var(--sh-2)}

/* ---------- Process steps ---------- */
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,.5rem + 2vw,2rem);position:relative;counter-reset:s}
.process-steps::before{content:"";position:absolute;top:34px;inset-inline:12%;height:2px;background:repeating-linear-gradient(90deg,var(--teal) 0 10px,transparent 10px 18px);opacity:.5}
.process-step{background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-lg);padding:1.75rem 1.5rem;position:relative;box-shadow:var(--sh-1);text-align:center}
.step-num{width:68px;height:68px;margin:-3.1rem auto 1rem;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.25rem;border:6px solid var(--gray-50);box-shadow:0 0 0 2px var(--teal);font-family:var(--font-en)}
.process-step h3{font-size:var(--fs-h3);font-weight:800;margin:0 0 .5rem}
.process-step p{color:var(--gray-500);margin:0}
.process-steps{padding-top:2.25rem}
@media (max-width:860px){.process-steps{grid-template-columns:1fr;gap:2.75rem}.process-steps::before{top:0;bottom:0;inset-inline:auto;inset-inline-start:50%;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--teal) 0 10px,transparent 10px 18px)}}

/* ---------- Coverage / map ---------- */
.coverage-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(1.5rem,1rem + 2vw,3rem);align-items:center}
.ksa-map{margin:0;background:radial-gradient(120% 90% at 30% 20%,#123461 0%,var(--navy) 50%,var(--navy-900) 100%);border-radius:var(--r-lg);padding:clamp(1rem,.5rem + 2vw,2rem);box-shadow:var(--sh-3);position:relative;overflow:hidden}
.ksa-map svg{width:100%;height:auto;display:block}
.ksa-map .land{fill:rgba(19,154,140,.1);stroke:rgba(127,208,198,.55);stroke-width:1.5;stroke-linejoin:round}
.ksa-map .routes path{fill:none;stroke:var(--teal-300);stroke-width:2;stroke-dasharray:6 6;animation:dash 2.4s linear infinite}
.ksa-map .pin circle{fill:var(--teal)}
.ksa-map .pin circle:last-child{fill:#fff;stroke:var(--teal);stroke-width:3}
.ksa-map .pin .pulse{fill:rgba(19,154,140,.35);transform-box:fill-box;transform-origin:center;animation:pulse 2.2s var(--ease) infinite}
.ksa-map .lbl text{fill:#fff;font:700 14px var(--font-ar);text-anchor:middle;paint-order:stroke;stroke:rgba(6,22,41,.85);stroke-width:4px}
.ksa-map figcaption{color:rgba(255,255,255,.55);font-size:.75rem;text-align:center;margin-top:.5rem}
@keyframes dash{to{stroke-dashoffset:-24}}
@keyframes pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.8);opacity:0}}
.branch-list{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.port-card{padding:1.25rem 1.25rem 1.25rem}
.port-card h3{margin:.6rem 0 .25rem;font-size:1.08rem}
.port-dot{width:14px;height:14px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 6px var(--teal-100)}
@media (max-width:860px){.coverage-grid{grid-template-columns:1fr}}
@media (max-width:420px){.branch-list{grid-template-columns:1fr}}

/* ---------- About strip / points ---------- */
.about-point .check,.check-ico{background:var(--teal);color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;flex:none;font-weight:800}
.about-visual{border-radius:var(--r-lg);box-shadow:var(--sh-3)}
.metric-box{border-radius:var(--r);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}

/* ---------- Photo band ---------- */
.photo-band{min-height:clamp(300px,40vw,460px);background-attachment:scroll}
.photo-band-inner{max-width:760px;padding:3rem 1.25rem;position:relative;z-index:1;color:#fff}
.photo-band h2{font-size:var(--fs-h2);font-weight:800;color:#fff;margin:.75rem 0}
.photo-band p{color:rgba(255,255,255,.86)}

/* ---------- Pricing entry / CTA band ---------- */
.pricing-entry{border-radius:var(--r-lg);background:linear-gradient(120deg,#fff 0%,var(--teal-100) 100%);border:1px solid rgba(19,154,140,.25);box-shadow:var(--sh-2);padding:clamp(1.5rem,1rem + 2vw,2.5rem)}
.cta-band{background:radial-gradient(80% 140% at 85% 0%,rgba(19,154,140,.45) 0%,transparent 55%),linear-gradient(135deg,var(--navy) 0%,var(--navy-900) 100%);color:#fff;padding:clamp(3rem,2rem + 4vw,5rem) 0;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-55deg,rgba(255,255,255,.035) 0 2px,transparent 2px 28px);pointer-events:none}
.cta-inner{position:relative;gap:2rem}
.cta-band h2{font-size:clamp(1.5rem,1.1rem + 1.6vw,2.3rem);font-weight:800;color:#fff;margin:0 0 .5rem}
.cta-band p{color:rgba(255,255,255,.82)}
.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media (max-width:860px){.cta-inner{flex-direction:column;align-items:stretch;text-align:start}.cta-actions .btn{flex:1 1 100%}}

/* ---------- Forms ---------- */
.form-group label{font-weight:700;color:var(--navy);font-size:.92rem}
.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea{border:1.5px solid var(--gray-200);border-radius:12px;background:#fff;min-height:50px;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;font-size:16px;width:100%;max-width:100%}
.form-group textarea{min-height:120px}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(19,154,140,.15)}
.form-card{padding:clamp(1.25rem,1rem + 1.5vw,2.25rem)}
@media (max-width:640px){.form-grid,.form-layout{grid-template-columns:1fr!important}}
.alert{border-radius:12px}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-900);color:rgba(255,255,255,.75);position:relative;padding-top:clamp(3rem,2rem + 3vw,4.5rem)}
.site-footer::before{content:"";position:absolute;top:0;inset-inline:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--navy-600),var(--teal))}
.site-footer h4{color:#fff;font-weight:800;font-size:1rem;margin-bottom:1rem}
.footer-col a{color:rgba(255,255,255,.72);transition:color .2s}
.footer-col a:hover{color:var(--teal-300)}
.brand-logo-box{background:#fff;border-radius:12px}
.brand-title{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.55);font-size:var(--fs-xs)}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr!important}.footer-brand{grid-column:1/-1}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr!important}}

/* ---------- Floating contact ---------- */
.float-contact{bottom:calc(1.25rem + env(safe-area-inset-bottom));gap:.6rem}
.float-btn{width:56px;height:56px;border-radius:50%;box-shadow:0 12px 28px -8px rgba(6,22,41,.45);display:grid;place-items:center;color:#fff;transition:transform .2s var(--ease)}
.float-btn:hover{transform:scale(1.06)}
.float-btn .ic{width:26px;height:26px}
.float-btn.wa{background:var(--wa)}
.float-btn.phone{background:var(--navy)}
.float-btn.quote{background:var(--teal);font-size:.72rem;font-weight:800;line-height:1.2;text-align:center}
@media (min-width:861px){.float-btn.phone,.float-btn.quote{display:none}}
@media (max-width:860px){
  .float-contact{inset-inline:0;bottom:0;flex-direction:row;gap:0;background:#fff;border-top:1px solid var(--gray-200);box-shadow:0 -8px 24px -12px rgba(6,22,41,.3);padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom))}
  .float-btn{flex:1;width:auto;height:50px;border-radius:12px;margin:0 .25rem;box-shadow:none;font-size:.95rem}
  .float-btn.quote{flex:1.4;font-size:.95rem;display:grid}
  body{padding-bottom:72px}
}

/* ---------- Misc components ---------- */
.trust-pill,.tag,.dest-tag{border-radius:var(--r-pill)}
.dest-card,.info-card{transition:transform .3s var(--ease),box-shadow .3s}
.dest-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.ps-pair{border-radius:var(--r)}
.utm-banner:empty{display:none}

/* ---------- Reveal animations ---------- */
.js-anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js-anim .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js-anim .reveal{opacity:1;transform:none}
}
@media print{.float-contact,.site-header,.topbar{display:none}}
.photo-band::before{background:linear-gradient(180deg,rgba(6,22,41,.15),rgba(6,22,41,.35))}
.ksa-map .lbl text{text-anchor:start}
.footer-logo{display:inline-flex;background:#fff;border-radius:16px;padding:.6rem 1rem;box-shadow:var(--sh-2)}
.footer-logo img{height:64px;width:auto}
.about-visual .metric-box{background:rgba(6,22,41,.55);backdrop-filter:blur(6px)}
.about-visual .metric-box strong{color:var(--teal-300)}
.about-visual .metric-box span{color:rgba(255,255,255,.85)}
@media (max-width:860px){
  #alzafer-chat-root{bottom:calc(80px + env(safe-area-inset-bottom))!important}
  #alzafer-chat-panel,#alzafer-chat-teaser{bottom:calc(140px + env(safe-area-inset-bottom))!important}
  #alzafer-chat-panel{height:min(520px,calc(100vh - 160px))!important}
}
.page-404{background:radial-gradient(60% 60% at 50% 30%,var(--teal-100),transparent 70%),var(--gray-50);min-height:70vh;display:flex;align-items:center}
.page-404 .container{width:min(100% - 2rem,680px)}
.big-404{font:800 clamp(5rem,3rem + 10vw,10rem)/1 var(--font-en);background:linear-gradient(135deg,var(--navy),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em;margin-bottom:.5rem}
.page-404 h1{font-size:var(--fs-h2);font-weight:800}
.form-actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media (max-width:560px){.form-actions .btn{flex:1 1 100%}}

.form-group input[type=checkbox],.form-group input[type=radio]{width:20px;height:20px;accent-color:var(--teal);flex:none}
a[href^="tel:"],a[href^="mailto:"]{direction:ltr;unicode-bidi:isolate}
.footer-contact-bar .num-pair{display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.footer-contact-bar a[href^="tel:"],.footer-contact-bar a[href^="mailto:"]{display:inline-block}
/* audit fixes: AA contrast for white-on-teal buttons, footer headings */
.btn-cta,.btn-primary,.float-btn.quote{background:var(--teal-700);border-color:var(--teal-700)}
.btn-cta:hover,.btn-primary:hover{background:#0a5a52;border-color:#0a5a52}
.site-footer h2.footer-h{color:#fff;font-weight:800;font-size:1rem;margin:0 0 1rem}
