/**
 * Mo7amy — GP Legal (DESIGN-CONTRACT language)
 * Same craftsmanship as usa-logistics GP EMPIRE v4: tokens, light CSS, no jQuery/Bootstrap.
 * Accent: navy + orange (family with shipping) · legal content vertical.
 */
:root{
  --gp-navy:#16295E;
  --gp-navy-2:#0F1D44;
  --gp-orange:#F58220;
  --gp-orange-dark:#D96E12;
  --gp-orange-soft:#FDF0E4;
  --gp-ink:#2B2F38;
  --gp-muted:#6B7280;
  --gp-bg:#FBF9F6;
  --gp-card:#FFFFFF;
  --gp-line:#ECE7DF;
  --gp-radius:14px;
  --gp-pill:999px;
  --gp-shadow:0 6px 24px rgba(22,41,94,.07);
  --gp-shadow-lg:0 14px 38px rgba(22,41,94,.12);
  --gp-header-h:76px;
  --gp-ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--gp-header-h) + 16px);
  -webkit-text-size-adjust:100%;
  overflow-x:clip;
  max-width:100%;
}
body{
  margin:0;
  font-family:'Tajawal',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;font-weight:400;line-height:1.9;
  color:var(--gp-ink);background:var(--gp-bg);
  text-rendering:optimizeLegibility;
  overflow-x:clip;
  max-width:100%;
  padding-bottom:calc(4.75rem + env(safe-area-inset-bottom,0px));
}
html[lang="en"] body,
html[dir="ltr"] body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
}
img{max-width:100%;display:block}
img:not([height]){height:auto}
.hero__bg{max-width:none}
.main-header__logo{width:180px;height:48px;aspect-ratio:180/48;object-fit:contain}
.site-drawer__logo{width:150px;height:40px;aspect-ratio:150/40;object-fit:contain}
a{color:var(--gp-navy);text-decoration:none;transition:color .2s var(--gp-ease)}
a:hover{color:var(--gp-orange)}
h1,h2,h3,h4{margin:0 0 .6em;line-height:1.45;color:var(--gp-navy);font-weight:800}
h1{font-size:clamp(1.7rem,1.2rem + 2vw,2.5rem)}
h2{font-size:clamp(1.35rem,1.05rem + 1.2vw,1.9rem)}
h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid rgba(245,130,32,.55);outline-offset:2px;border-radius:6px}
::selection{background:var(--gp-orange);color:#fff}

.gp-container{max-width:1200px;margin-inline:auto;padding-inline:20px}
.gp-main{min-height:52vh}
.gp-section{padding-block:76px}
.gp-section-alt{background:linear-gradient(180deg,#fff 0%,var(--gp-bg) 100%);border-block:1px solid var(--gp-line)}
.gp-section-head{max-width:720px;margin:0 auto 46px;text-align:center}
.gp-section-kicker{
  display:inline-block;padding:6px 18px;margin-bottom:14px;
  background:var(--gp-orange-soft);color:var(--gp-orange-dark);
  border-radius:var(--gp-pill);font-size:.82rem;font-weight:700;
}
.gp-section-title{margin-bottom:10px}
.gp-section-sub{color:var(--gp-muted);margin:0;font-size:1.02rem}

.gp-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 30px;border-radius:var(--gp-pill);
  background:var(--gp-orange);color:#fff!important;font-weight:700;font-size:.98rem;line-height:1.4;
  border:2px solid var(--gp-orange);
  box-shadow:0 8px 20px rgba(245,130,32,.28);
  transition:transform .25s var(--gp-ease),box-shadow .25s,background .2s;
}
.gp-btn:hover{background:var(--gp-orange-dark);border-color:var(--gp-orange-dark);transform:translateY(-3px);color:#fff!important}
.gp-btn-sm{padding:8px 20px;font-size:.88rem}
.gp-btn-block{display:flex;width:100%}
.gp-btn-ghost{background:transparent;color:var(--gp-navy)!important;border-color:var(--gp-line);box-shadow:none}
.gp-btn-ghost:hover{background:var(--gp-card);border-color:var(--gp-navy);color:var(--gp-navy)!important}
.gp-btn-outline{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.75);box-shadow:none}
.gp-btn-outline:hover{background:rgba(255,255,255,.14);color:#fff!important}
.gp-btn-wa{background:#1f8f5f;border-color:#1f8f5f;box-shadow:0 8px 20px rgba(31,143,95,.25)}
.gp-btn-wa:hover{background:#177a4e;border-color:#177a4e}

.gp-badge{
  display:inline-block;padding:4px 14px;border-radius:var(--gp-pill);
  background:var(--gp-orange-soft);color:var(--gp-orange-dark);
  font-size:.76rem;font-weight:700;line-height:1.7;
}
.gp-badge-light{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.3)}
.gp-badge-navy{background:rgba(22,41,94,.08);color:var(--gp-navy)}

/* Header */
.gp-header{
  position:sticky;top:0;z-index:900;height:var(--gp-header-h);
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gp-line);
}
.gp-header-in{display:flex;align-items:center;gap:22px;height:var(--gp-header-h)}
.gp-logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}
.gp-logo-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:10px;background:var(--gp-navy);color:#fff;
  font-weight:800;font-size:1.05rem;flex:0 0 auto;
}
.gp-logo-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.gp-logo-text strong{font-weight:800;color:var(--gp-navy);font-size:1.08rem}
.gp-logo-text small{color:var(--gp-muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.gp-nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto}
.gp-nav a{
  position:relative;padding:8px 14px;border-radius:var(--gp-pill);
  color:var(--gp-ink);font-weight:500;font-size:.96rem;
}
.gp-nav a::after{
  content:"";position:absolute;inset-inline:14px;bottom:4px;height:2px;border-radius:2px;
  background:var(--gp-orange);transform:scaleX(0);transition:transform .25s var(--gp-ease);
}
.gp-nav a:hover,.gp-nav a.is-active{color:var(--gp-navy);font-weight:700}
.gp-nav a:hover::after,.gp-nav a.is-active::after{transform:scaleX(1)}
.gp-header-cta{display:flex;align-items:center;gap:12px}
.gp-lang-toggle{
  display:inline-flex;align-items:center;gap:6px;padding:7px 16px;
  border:1px solid var(--gp-line);border-radius:var(--gp-pill);
  color:var(--gp-navy);font-weight:700;font-size:.86rem;background:var(--gp-card);
}
.gp-lang-toggle:hover{border-color:var(--gp-navy);box-shadow:var(--gp-shadow)}
.gp-nav-toggle{
  display:none;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:12px;border:1px solid var(--gp-line);
  color:var(--gp-navy);font-size:1.25rem;background:var(--gp-card);flex-shrink:0;
}

/* Drawer */
.gp-drawer{
  position:fixed;inset-block:0;inset-inline-start:0;z-index:1000;
  width:300px;max-width:86vw;height:100dvh;overflow-y:auto;
  background:#fff;box-shadow:var(--gp-shadow-lg);
  transform:translateX(-105%);transition:transform .3s var(--gp-ease);
  padding:20px;display:flex;flex-direction:column;gap:14px;
}
html[dir="rtl"] .gp-drawer{transform:translateX(105%)}
body.nav-open .gp-drawer{transform:none}
.gp-drawer-backdrop{
  position:fixed;inset:0;z-index:999;background:rgba(15,29,68,.45);
  opacity:0;pointer-events:none;transition:opacity .25s;
}
body.nav-open .gp-drawer-backdrop{opacity:1;pointer-events:auto}
.gp-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gp-drawer-close{width:40px;height:40px;border-radius:10px;border:1px solid var(--gp-line);font-size:1.4rem}
.gp-drawer-nav{display:flex;flex-direction:column;gap:4px}
.gp-drawer-nav a{padding:12px 14px;border-radius:12px;font-weight:600;color:var(--gp-ink)}
.gp-drawer-nav a.is-active,.gp-drawer-nav a:hover{background:var(--gp-orange-soft);color:var(--gp-navy)}

@media (max-width:992px){
  .gp-nav,.gp-header-cta .gp-btn{display:none}
  .gp-nav-toggle{display:inline-flex}
}

/* Hero */
.gp-hero2{
  position:relative;min-height:min(88vh,760px);
  display:flex;align-items:flex-end;
  background-size:cover;background-position:center 40%;
  color:#fff;padding:5rem 0 3.5rem;
}
.gp-hero2-in{position:relative;z-index:1;max-width:760px;padding-bottom:1rem}
.gp-hero2-title{color:#fff;margin:.75rem 0 1rem;max-width:16ch}
.gp-hero2-sub{color:rgba(255,255,255,.88);font-size:1.08rem;max-width:38ch;margin-bottom:1.5rem}
.gp-hero2-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.gp-hero2-stats{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;
  max-width:560px;
}
@media (min-width:720px){
  .gp-hero2-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.gp-hero2-stat{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  border-radius:12px;padding:.85rem .9rem;backdrop-filter:blur(8px);
}
.gp-hero2-stat b{display:block;color:#fff;font-size:.95rem}
.gp-hero2-stat span{color:rgba(255,255,255,.75);font-size:.78rem}

/* Service / practice cards */
.gp-svc2-grid{
  display:grid;gap:1.25rem;
  grid-template-columns:1fr;
}
@media (min-width:640px){.gp-svc2-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.gp-svc2-grid{grid-template-columns:repeat(3,1fr)}}
.gp-svc2-card{
  background:var(--gp-card);border:1px solid var(--gp-line);border-radius:var(--gp-radius);
  overflow:hidden;box-shadow:var(--gp-shadow);
  transition:transform .25s var(--gp-ease),box-shadow .25s;
  display:flex;flex-direction:column;
}
.gp-svc2-card:hover{transform:translateY(-4px);box-shadow:var(--gp-shadow-lg)}
.gp-svc2-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--gp-navy-2)}
.gp-svc2-thumb img{width:100%;height:100%;object-fit:cover}
.gp-svc2-body{padding:1.15rem 1.2rem 1.35rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.gp-svc2-title{margin:0;font-size:1.12rem}
.gp-svc2-desc{color:var(--gp-muted);font-size:.95rem;margin:0 0 .5rem;flex:1}
.gp-svc2-link{font-weight:700;color:var(--gp-orange);font-size:.92rem}
.gp-svc2-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.5rem}
.gp-svc2-actions .gp-btn{padding:8px 16px;font-size:.85rem}

/* Firm cards */
.gp-firm-grid{
  display:grid;gap:1.15rem;
  grid-template-columns:1fr;
}
@media (min-width:640px){.gp-firm-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.gp-firm-grid{grid-template-columns:repeat(3,1fr)}}
.gp-firm-card{
  background:var(--gp-card);border:1px solid var(--gp-line);border-radius:var(--gp-radius);
  padding:1.25rem;box-shadow:var(--gp-shadow);
  display:flex;flex-direction:column;gap:.75rem;
  transition:transform .25s var(--gp-ease),box-shadow .25s;
}
.gp-firm-card:hover{transform:translateY(-3px);box-shadow:var(--gp-shadow-lg)}
.gp-firm-card__top{display:flex;align-items:center;gap:.85rem}
.gp-firm-card__logo{
  width:64px;height:64px;object-fit:contain;border-radius:12px;
  background:#f4f2ee;border:1px solid var(--gp-line);padding:6px;flex:0 0 auto;
}
.gp-firm-card__logo--ph{
  display:grid;place-items:center;font-weight:800;color:var(--gp-navy);font-size:1.3rem;
}
.gp-firm-card h3{margin:0;font-size:1.02rem}
.gp-firm-card__meta{margin:0;color:var(--gp-muted);font-size:.88rem}
.gp-firm-card__actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:auto}

/* Insights list */
.gp-insights{display:grid;gap:1rem}
.gp-insight{
  display:grid;gap:.85rem;align-items:center;
  background:var(--gp-card);border:1px solid var(--gp-line);border-radius:var(--gp-radius);
  padding:1rem 1.15rem;box-shadow:var(--gp-shadow);
}
@media (min-width:720px){.gp-insight{grid-template-columns:120px 1fr auto}}
.gp-insight__thumb{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:var(--gp-navy-2);
}
.gp-insight__firm{display:block;color:var(--gp-orange-dark);font-size:.78rem;font-weight:700;margin-bottom:.25rem}
.gp-insight h3{margin:0 0 .35rem;font-size:1.05rem}
.gp-insight p{margin:0;color:var(--gp-muted);font-size:.92rem}

/* CTA band */
.gp-cta-band{
  background:linear-gradient(135deg,var(--gp-navy-2),var(--gp-navy));
  color:#fff;padding:3rem 0;
}
.gp-cta-band h2{color:#fff;margin:0 0 .5rem}
.gp-cta-band p{color:rgba(255,255,255,.82);margin:0}
.gp-cta-band__in{display:grid;gap:1.25rem;align-items:center}
@media (min-width:860px){.gp-cta-band__in{grid-template-columns:1.4fr auto}}

/* Subpage hero */
.gp-subhero{
  background:linear-gradient(135deg,var(--gp-navy-2),var(--gp-navy));
  color:#fff;padding:3rem 0 2.5rem;
}
.gp-subhero h1{color:#fff;margin:.4rem 0 .5rem}
.gp-subhero p{color:rgba(255,255,255,.85);margin:0;max-width:40rem}

/* Article */
.gp-article{padding:2rem 0 3.5rem}
.gp-article__layout{display:grid;gap:2rem}
@media (min-width:980px){
  .gp-article__layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start}
  .gp-side{position:sticky;top:calc(var(--gp-header-h) + 1rem)}
}
.gp-article__cover{
  margin:0 0 1.25rem;border-radius:var(--gp-radius);overflow:hidden;
  border:1px solid var(--gp-line);box-shadow:var(--gp-shadow);
}
.gp-article__cover img{width:100%;aspect-ratio:16/9;object-fit:cover}
.gp-prose{max-width:42rem;font-size:1.05rem;color:var(--gp-ink)}
.gp-prose h2,.gp-prose h3{margin-top:1.6rem;color:var(--gp-navy)}
.gp-prose p{margin-bottom:1.05rem}
.gp-prose ul,.gp-prose ol{padding-inline-start:1.2rem;margin:0 0 1.05rem;list-style:disc}
.gp-prose a{color:var(--gp-orange-dark);text-decoration:underline}
.gp-side-card{
  background:var(--gp-card);border:1px solid var(--gp-line);border-radius:var(--gp-radius);
  padding:1.15rem;margin-bottom:1rem;box-shadow:var(--gp-shadow);
}
.gp-side-card h2{font-size:1rem;margin:0 0 .65rem}
.gp-side-card p{color:var(--gp-muted);font-size:.9rem}
.gp-side-card__actions{display:grid;gap:.45rem;margin-top:.75rem}
.gp-side-list a{display:block;padding:.55rem 0;border-top:1px solid var(--gp-line);font-size:.9rem;color:var(--gp-ink)}
.gp-side-list li:first-child a{border-top:0}
.gp-side-list a:hover{color:var(--gp-orange)}

/* Footer */
.gp-footer{background:var(--gp-navy-2);color:rgba(255,255,255,.78);padding:3rem 0 2rem;margin-top:1rem}
.gp-footer strong,.gp-footer h5{color:#fff}
.gp-footer a{color:rgba(255,255,255,.88)}
.gp-footer a:hover{color:var(--gp-orange)}
.gp-footer-grid{display:grid;gap:1.75rem}
@media (min-width:800px){.gp-footer-grid{grid-template-columns:1.2fr 1fr 1fr}}
.gp-footer ul a{display:block;padding:.25rem 0;font-size:.92rem}
.gp-subfooter{
  margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.88rem;
}

/* Full-width contact FABs: call (left) · WhatsApp (center) · chat (right) */
.gp-float{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  width:100%;
  max-width:100%;
  z-index:10050;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  justify-items:center;
  padding:0.7rem 0.5rem calc(0.7rem + env(safe-area-inset-bottom,0px));
  pointer-events:none;
  overflow:hidden;
  box-sizing:border-box;
  background:transparent;
}
.gp-float__btn{
  width:52px;height:52px;min-width:44px;min-height:44px;border-radius:50%;
  display:grid;place-items:center;
  color:#fff!important;text-decoration:none!important;
  border:2px solid rgba(255,255,255,.92);
  box-shadow:0 8px 22px rgba(0,0,0,.32),0 0 0 3px rgba(0,0,0,.28);
  cursor:pointer;appearance:none;-webkit-appearance:none;
  padding:0;margin:0;background:#111;
  pointer-events:auto;
  overflow:hidden;
  transition:transform .2s var(--gp-ease),box-shadow .2s;
}
.gp-float__btn:hover,
.gp-float__btn:focus-visible{
  transform:translateY(-2px);
}
.gp-float__icon{width:22px;height:22px;display:block}
.gp-float__btn--chat{
  background:linear-gradient(145deg,#1a1a1a,#000);
  color:#d4af37!important;
  position:relative;
}
.gp-float__btn--chat::before{
  content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:inset 0 0 0 2px rgba(212,175,55,.7);
  /* one pulse only — infinite loops confuse lab LCP/idle on mobile PSI */
  animation:gpFloatPulse 1.8s ease-out 1;
  pointer-events:none;
}
.gp-float__btn--wa{
  background:linear-gradient(145deg,#25D366,#128C7E);
  color:#fff!important;
}
.gp-float__btn--call{
  background:linear-gradient(145deg,#1a1a1a,#000);
  color:#d4af37!important;
}
@keyframes gpFloatPulse{
  0%{opacity:.95;box-shadow:inset 0 0 0 2px rgba(212,175,55,.8)}
  100%{opacity:0;box-shadow:inset 0 0 0 8px rgba(212,175,55,0)}
}
flowise-chatbot{
  position:absolute!important;
  width:0!important;
  height:0!important;
  overflow:visible!important;
}

.gp-skip{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);
  z-index:1100;background:var(--gp-orange);color:#fff;padding:.6rem 1rem;
}
.gp-skip:focus{width:auto;height:auto;clip:auto;inset-inline-start:0;inset-block-start:0}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
