:root{
  --site-shell-max: min(90rem, calc(100vw - 2rem));
  --site-shell-wide: min(110rem, calc(100vw - 2rem));
  --site-gap-xs: 0.75rem;
  --site-gap-sm: 1rem;
  --site-gap-md: 1.25rem;
  --site-gap-lg: 1.5rem;
  --site-gap-xl: 2rem;
  --site-gap-2xl: 3rem;
  --site-gap-3xl: 4rem;
  --site-nav-height: 4.75rem;
  --site-section-padding: clamp(1.25rem, 3vw, 5rem);
  --site-card-padding: clamp(1rem, 2vw, 1.75rem);
  --site-touch-target: 2.75rem;
}

*,
*::before,
*::after{
  box-sizing: border-box;
}

html{
  scroll-padding-top: calc(var(--site-nav-height) + 1rem);
}

body{
  min-width: 20rem;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

a,
button,
input,
select,
textarea,
[role="button"]{
  touch-action: manipulation;
}

img,
picture,
video,
canvas,
svg,
iframe{
  max-width: 100%;
}

img,
picture,
video,
canvas,
svg{
  display: block;
  height: auto;
}

iframe{
  width: 100%;
  border: 0;
}

table{
  width: 100%;
}

.table-wrap{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-wrap table{
  min-width: 42rem;
}

button,
a,
input,
select,
textarea,
.btn,
.btn-primary,
.btn-secondary,
.btn-ghost,
.btn-danger,
.nav-cta,
.nc,
.bg,
.bb,
.lang-btn,
.lb,
.text-link,
.filter-btn,
.nav-toggle,
.contact-item,
.row-actions > *{
  min-height: var(--site-touch-target);
}

input,
select,
textarea,
.control,
.textarea{
  max-width: 100%;
}

textarea{
  min-height: 8rem;
}

:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible{
  outline: 0.1875rem solid rgba(245, 217, 122, 0.8);
  outline-offset: 0.1875rem;
}

.mobile-menu,
.drawer,
.admin-modal,
.card,
.panel,
.auth-card,
.modal,
.drawer-block,
.file-section,
.workspace-sidebar,
.workspace-main,
.detail-summary,
.summary-card,
.service-card,
.service-item,
.value-card,
.exp-item,
.client-card,
.file-card,
.contact-item,
.about-card,
.category-card,
.stat-card,
.snapshot-card,
.activity-item,
.snapshot-item{
  max-width: 100%;
}

nav{
  width: 100%;
  min-height: var(--site-nav-height);
  height: auto !important;
  padding-inline: clamp(1rem, 3vw, 3.75rem) !important;
  gap: var(--site-gap-sm);
}

.nav-brand,
.nb{
  min-width: 0;
  flex-shrink: 1;
}

.nav-links,
.nl,
.nav-cta,
.nc{
  display: none !important;
}
nav .nav-brand-logo,{
  width: auto;
  max-width: min(44vw, 14rem);
  height: auto !important;
  max-height: clamp(2.75rem, 8vw, 6rem);
  margin-top: 0 !important;




}






.nav-brand-logo
.brand-logo,
.nb img{
  width: auto;
  max-width: min(44vw, 14rem);
  height: auto !important;
  max-height: clamp(2.75rem, 8vw, 6rem);
  margin-top: 0 !important;
}

.nav-links,
.nl{
  min-width: 0;
  align-items: center;
  gap: clamp(0.75rem, 1.8vw, 2rem);
  flex-wrap: wrap;
}

.nav-links a,
.nl a,
.mobile-menu a,
.footer-links a,
.fl a{
  word-break: break-word;
}

.nav-cta,
.nc,
.btn,
.btn-primary,
.btn-secondary,
.btn-ghost,
.btn-danger,
.bg,
.bb,
.filter-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  padding-inline: clamp(0.9rem, 2vw, 2rem) !important;
  text-align: center;
}

.lang-btn,
.lb,
.nav-toggle{
  min-width: var(--site-touch-target);
}

.nav-toggle{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.mobile-menu{
  top: var(--site-nav-height) !important;
  padding: 1rem clamp(1rem, 4vw, 2rem) 2rem !important;
}

.mobile-menu a{
  display: flex;
  align-items: center;
  min-height: var(--site-touch-target);
}

.mobile-menu .mob-cta{
  margin-top: 1rem !important;
}

#nav.site-main-nav,
.mobile-menu.site-main-nav-menu{
  --main-nav-gold: var(--gold, var(--g, #f5d97a));
  --main-nav-gold-light: var(--gold-light, var(--gl, #fae99a));
  --main-nav-border: var(--border, var(--br, #3a3a3a));
  --main-nav-text: var(--white-dim, var(--wd, #e8e4dc));
  --main-nav-muted: var(--white-faint, var(--wf, #c8c2b8));
  --main-nav-black: var(--black, var(--bk, #0a0a0a));
}

#nav.site-main-nav{
  align-items: center;
  justify-content: space-between;
  background: rgba(10, 10, 10, 0.92) !important;
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(245, 217, 122, 0.12) !important;
  transition: border-color 0.3s, background 0.3s;
  min-height: 80px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#nav.site-main-nav.scrolled{
  border-bottom-color: rgba(245, 217, 122, 0.25) !important;
}

.site-main-logo{
  position: fixed;
  top: 0;
  z-index: 110;
  display: flex;
  align-items: center;
  text-decoration: none;
  height: 80px;
}

html[lang="en"] .site-main-logo{
  left: clamp(1rem, 3vw, 3.75rem);
  right: auto;
}

html[lang="ar"] .site-main-logo{
  right: clamp(1rem, 3vw, 3.75rem);
  left: auto;
}

.site-main-logo-image{
  width: auto;
  max-width: 300px;
  height: 300px !important;
  max-height: none;
  margin-inline-start: -80px;
  margin-bottom: -30px;
  transform: translateY(-11px);
}

#nav.site-main-nav .site-main-nav-spacer{
  flex: 0 0 clamp(8.5rem, 24vw, 15rem);
}

#nav.site-main-nav .nav-links{
  flex: 1 1 auto;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

#nav.site-main-nav .nav-links li{
  white-space: nowrap;
}

#nav.site-main-nav .nav-links a{
  font-size: clamp(0.7rem, 0.58rem + 0.3vw, 0.82rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--main-nav-text);
  text-decoration: none;
  transition: color 0.2s;
  position: relative;
  padding-bottom: 0.25rem;
  font-weight: 500;
}

#nav.site-main-nav .nav-links a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--main-nav-gold);
  transform: scaleX(0);
  transition: transform 0.3s ease;
  transform-origin: left;
}

#nav.site-main-nav .nav-links a:hover,
#nav.site-main-nav .nav-links a.active{
  color: var(--main-nav-gold);
}

#nav.site-main-nav .nav-links a:hover::after,
#nav.site-main-nav .nav-links a.active::after{
  transform: scaleX(1);
}

#nav.site-main-nav .nav-actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-inline-start: 1rem;
}

#nav.site-main-nav .ls{
  display: flex;
  align-items: center;
  border: 1px solid var(--main-nav-border);
  border-radius: 2px;
  overflow: hidden;
}

#nav.site-main-nav .lb{
  font-size: 1.5rem;
  background: none;
  border: 2px solid transparent;
  border-radius: 4px;
  cursor: pointer;
  padding: 0.2rem 0.4rem;
  line-height: 1;
  opacity: 0.65;
  color: inherit;
  transition: opacity 0.2s, border-color 0.2s;
}

#nav.site-main-nav .lb:hover,
#nav.site-main-nav .lb.active{
  opacity: 1;
}

#nav.site-main-nav .lb.active{
  background: none !important;
  color: inherit !important;
  border-color: var(--main-nav-gold) !important;
  font-weight: 400 !important;
}

#nav.site-main-nav .nav-cta{
  font-size: clamp(0.72rem, 0.6rem + 0.32vw, 0.84rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--main-nav-black);
  background: var(--main-nav-gold);
  border-radius: 2px;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
  transition: background 0.2s;
}

#nav.site-main-nav .nav-cta:hover{
  background: var(--main-nav-gold-light);
}

.mobile-menu.site-main-nav-menu{
  background: rgba(10, 10, 10, 0.98) !important;
  border-top: 1px solid var(--main-nav-border) !important;
}

.mobile-menu.site-main-nav-menu a{
  color: var(--main-nav-text);
}

.mobile-menu.site-main-nav-menu a:hover,
.mobile-menu.site-main-nav-menu a.active{
  color: var(--main-nav-gold);
}

.mobile-menu.site-main-nav-menu .mob-cta{
  background: var(--main-nav-gold);
  color: var(--main-nav-black);
}

.hero,
.page-hero,
.section,
.services-wrap,
.methodology-wrap,
.contact-strip,
.filter-nav,
.practice-section,
.chain-banner,
.values-wrap,
.cta-section,
.hero-left,
.hero-right,
.cw,
.ww,
.cb,
.bc,
footer,
.wrap,
.main-shell,
.admin-modal-shell,
.admin-modal,
.card,
.auth-card{
  padding-inline: var(--site-section-padding) !important;
}

.page-shell,
.page,
.wrap,
.cw,
.wi,
.bc,
.grid-wrap,
.docs-section,
.training-section,
.offices-wrap,
.offices-inner,
.contact-main,
.page-hero-inner,
.practice-section,
.contact-strip,
.section,
.main-shell,
.topbar,
.panel,
.auth-card,
.card{
  width: min(100%, var(--site-shell-max));
  margin-inline: auto;
}

.page,
.grid-wrap,
.docs-section,
.training-section,
.offices-wrap{
  padding-inline: var(--site-section-padding) !important;
}

.dashboard-shell{
  min-height: 100vh;
}

.sidebar{
  position: relative !important;
  top: auto !important;
  height: auto !important;
  border-right: none !important;
  border-bottom: 1px solid var(--line, rgba(232,212,139,.14));
}

.admin-ribbon{
  position: static !important;
  width: max-content;
  margin: 0 0 1rem auto;
}

.hero,
.page-hero{
  padding-top: calc(var(--site-nav-height) + 2rem) !important;
}

.hero-actions,
.contact-strip,
.top-actions,
.toolbar,
.filters,
.admin-actions,
.modal-footer,
.form-links,
.lang-btns,
.nav-right,
.badge-strip,
.doc-actions,
.state-actions,
.sec-header,
.footer-links,
.footer-social,
.fl,
.cbb,
.hcb{
  flex-wrap: wrap;
}

.stats,
.stats-row,
.overview-grid,
.settings-grid,
.field-grid,
.contact-main,
.snapshot-grid,
.category-grid,
.about-grid,
.summary-grid,
.story-grid,
.hero-stats-grid,
.values-grid,
.expertise-grid,
.gallery-grid,
.gallery-grid-2,
.methodology-grid,
.services-list,
.grid,
.training-grid,
.offices-grid,
.roles-row,
.form-row,
.service-panel.active,
.page-hero-inner,
.practice-header,
.hg,
.cg,
.wg,
.workspace-shell,
.detail-summary{
  gap: var(--site-gap-md) !important;
}

.service-panel.active,
.gallery-grid,
.gallery-grid-2,
.values-grid,
.expertise-grid,
.methodology-grid,
.services-list,
.grid,
.training-grid,
.offices-grid,
.roles-row,
.stats,
.stats-row,
.snapshot-grid,
.category-grid,
.summary-grid,
.detail-summary,
.hero-stats-grid,
.contact-main,
.form-row{
  grid-template-columns: 1fr !important;
}

.about-grid,
.story-grid,
.page-hero-inner,
.practice-header,
.hg,
.cg,
.wg,
.overview-grid,
.settings-grid,
.workspace-shell,
.contact-strip,
.cb,
.topbar{
  display: grid !important;
  grid-template-columns: 1fr !important;
}

.practice-header,
.contact-strip,
.topbar,
.panel-head{
  align-items: start !important;
}

.about-visual{
  height: auto !important;
  min-height: 21rem;
}

.about-card-main{
  position: relative !important;
  inset: auto !important;
  min-height: 21rem;
}

.about-card-accent{
  position: relative !important;
  inset: auto !important;
  margin-inline-start: auto;
  margin-top: -3.5rem;
  width: min(100%, 14rem) !important;
}

.about-content{
  padding-left: 0 !important;
}

.service-tabs,
.filter-nav-inner{
  overflow-x: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.service-tabs > *,
.filter-nav-inner > *{
  flex: 0 0 auto;
}

.practice-section,
.cw,
.ww,
.cb,
.bc{
  max-width: var(--site-shell-max);
}

.filter-nav{
  top: var(--site-nav-height) !important;
}

.contact-right,
.admin-actions,
.row-actions{
  gap: var(--site-gap-sm) !important;
}

.nav-right,
.doc-main,
.doc-text,
.crumbs,
.panel-head > div,
.section-head > div{
  min-width: 0;
}

.contact-item{
  width: 100%;
}

.logo-card{
  width: clamp(10rem, 40vw, 18rem) !important;
  height: clamp(5.5rem, 20vw, 9rem) !important;
}

.marquee-wrap{
  overflow: hidden;
}

.gallery-item,
.gallery-item.tall{
  height: clamp(14rem, 44vw, 24rem) !important;
}

.client-admin-frame{
  min-height: 65vh !important;
}

.admin-modal,
.modal,
.drawer{
  width: min(100%, 40rem) !important;
}

.drawer{
  padding: var(--site-card-padding) !important;
}

.filters .control,
.filters .btn,
.toolbar > *{
  width: 100%;
}

.crumb-path,
.bci{
  overflow-wrap: anywhere;
}

.hero-eyebrow,
.page-eyebrow,
.section-tag,
.practice-tag,
.chain-eyebrow,
.partners-eyebrow,
.wt,
.sn,
.hcl,
.scl,
.admin-ribbon,
.admin-tag{
  letter-spacing: 0.12em !important;
}

.footer-links,
.footer-social,
.fl{
  display: flex;
  gap: var(--site-gap-sm);
  list-style: none;
  padding-left: 0;
}

.footer-copy,
.fc{
  width: 100%;
}

@media (min-width: 30.0625rem){
  :root{
    --site-nav-height: 5rem;
  }

  .service-panel.active,
  .gallery-grid,
  .gallery-grid-2,
  .values-grid,
  .expertise-grid,
  .services-list,
  .grid,
  .training-grid,
  .offices-grid,
  .roles-row,
  .form-row,
  .stats,
  .stats-row,
  .snapshot-grid,
  .category-grid,
  .summary-grid,
  .detail-summary,
  .hero-stats-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .filters .control{
    width: min(100%, 18rem);
  }
}

@media (min-width: 48.0625rem){
  :root{
    --site-nav-height: 5.5rem;
  }

  .page-shell,
  .wrap,
  .cw,
  .wi,
  .bc,
  .page-hero-inner,
  .practice-section,
  .contact-strip,
  .section,
  .main-shell,
  .topbar,
  .panel,
  .auth-card,
  .card{
    width: min(100%, var(--site-shell-wide));
  }

  .nav-toggle{
    display: none !important;
  }

  .mobile-menu{
    display: none !important;
  }

  .nav-links,
  .nl{
    display: flex !important;
  }

  .nav-cta,
  .nc{
    display: inline-flex !important;
  }

  .about-grid,
  .contact-main,
  .page-hero-inner,
  .practice-header,
  .hg,
  .cg,
  .overview-grid,
  .settings-grid,
  .workspace-shell,
  .contact-strip,
  .cb,
  .topbar{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .stats,
  .stats-row,
  .snapshot-grid,
  .category-grid,
  .summary-grid,
  .detail-summary,
  .hero-stats-grid,
  .gallery-grid,
  .gallery-grid-2,
  .values-grid,
  .expertise-grid,
  .offices-grid,
  .form-row{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .service-panel.active{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .services-list,
  .grid,
  .training-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .roles-row{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .methodology-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .filters .control,
  .filters .btn,
  .toolbar > *{
    width: auto;
  }

  .table-wrap table{
    min-width: 100%;
  }
}

@media (min-width: 64.0625rem){
  :root{
    --site-nav-height: 6rem;
  }

  .service-panel.active{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .methodology-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .stats,
  .stats-row{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .category-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .services-list,
  .grid,
  .training-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .offices-grid{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .hero-stats-grid,
  .snapshot-grid,
  .summary-grid,
  .detail-summary{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .gallery-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .gallery-grid-2{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .values-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .expertise-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .about-grid,
  .page-hero-inner,
  .practice-header,
  .hg,
  .cg,
  .workspace-shell{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .overview-grid,
  .settings-grid{
    grid-template-columns: 1.25fr 0.95fr !important;
  }

  .dashboard-shell{
    grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr) !important;
  }

  .sidebar{
    position: sticky;
    top: 0;
    height: 100vh;
    border-right: 1px solid var(--line, rgba(232,212,139,.14)) !important;
    border-bottom: none !important;
  }

  .admin-ribbon{
    position: absolute !important;
    width: auto;
    margin: 0;
  }
}

@media (min-width: 90.0625rem){
  :root{
    --site-shell-max: min(100rem, calc(100vw - 4rem));
    --site-shell-wide: min(120rem, calc(100vw - 4rem));
    --site-section-padding: clamp(2rem, 3vw, 6rem);
  }

  .page-shell,
  .wrap,
  .cw,
  .wi,
  .bc,
  .page-hero-inner,
  .practice-section,
  .contact-strip,
  .section,
  .main-shell,
  .topbar,
  .panel,
  .auth-card,
  .card{
    width: min(100%, var(--site-shell-wide));
  }

  .service-panel.active{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
