/* Circular brand emblem: the logo stays still while the fine gold orbits move. */
.hero-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}
.hero-visual{height:auto;min-height:540px;isolation:isolate}
.hero-emblem{position:relative;width:min(100% - 16px,500px);aspect-ratio:1;display:grid;place-items:center}
.emblem-face{position:absolute;inset:21%;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(225,197,140,.52);background:radial-gradient(ellipse at 34% 20%,rgba(225,197,140,.12),transparent 52%),radial-gradient(circle at 50% 52%,rgba(29,31,30,.94),rgba(11,17,25,.96) 72%);box-shadow:inset 0 0 0 8px rgba(197,160,98,.025),inset 0 0 45px rgba(197,160,98,.08),0 24px 60px rgba(0,0,0,.3),0 0 50px rgba(197,160,98,.09);animation:emblem-breathe 7s ease-in-out infinite}
.emblem-face:before{content:"";position:absolute;inset:12px;border:1px solid rgba(225,197,140,.13);border-radius:50%;pointer-events:none}
.emblem-light{position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(225,197,140,.065) 45deg,transparent 95deg);animation:emblem-orbit 24s linear infinite;pointer-events:none}
.emblem-logo{position:absolute;width:66%;height:66%;inset-inline-start:17%;top:7%;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(197,160,98,.16))}
.emblem-caption{position:absolute;top:75%;inset-inline:17%;text-align:center;line-height:1.6;overflow-wrap:anywhere}
.emblem-caption:before{content:"";display:block;width:40px;height:1px;margin:0 auto 5px;background:linear-gradient(90deg,transparent,var(--gold2),transparent)}
.emblem-caption small{display:block;font-size:12px;color:var(--muted)}
.emblem-caption strong{display:block;margin-top:2px;font-size:12px;font-weight:600;color:var(--ivory)}
.emblem-orbit{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(225,197,140,.4);animation:emblem-orbit 36s linear infinite;pointer-events:none}
.emblem-orbit:before,.emblem-orbit:after{content:"";position:absolute;top:50%;left:-3px;width:6px;height:6px;border-radius:50%;background:var(--gold2);box-shadow:0 0 14px rgba(225,197,140,.55)}
.emblem-orbit:after{top:50%;left:auto;right:-2px;width:4px;height:4px;opacity:.8}
.orbit-middle{inset:8%;border-style:dashed;border-color:rgba(225,197,140,.32);animation-duration:48s;animation-direction:reverse}
.orbit-inner{inset:16%;border-color:rgba(225,197,140,.5);animation-duration:26s}
.orbit-inner:before{width:5px;height:5px;left:-2.5px;background:var(--gold2)}
.emblem-network,.emblem-core-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;animation:emblem-orbit 100s linear infinite}
.emblem-network path,.emblem-core-network path{stroke:var(--gold2);stroke-width:.8;opacity:.28;vector-effect:non-scaling-stroke}
.emblem-network circle,.emblem-core-network circle{fill:var(--gold2);animation:emblem-stars 5s ease-in-out infinite}
.emblem-network circle:nth-child(even),.emblem-core-network circle:nth-child(even){animation-delay:-2.5s}
.emblem-core-network{animation-duration:70s;animation-direction:reverse}
.emblem-core-network path{opacity:.17}
.emblem-core-network circle{opacity:.6}
.hero-visual .visual-aurora{inset:5%;border-radius:50%;opacity:.45;animation:none}
.hero-visual .float-card{z-index:3;max-width:200px;padding:13px 17px;font-size:12px;line-height:1.65;border-radius:18px;background:rgba(9,14,22,.92);border-color:rgba(197,160,98,.2);animation:emblem-drift 8s ease-in-out infinite}
.hero-visual .float-card b{font-size:14px;margin-bottom:2px}
.hero-visual .fc1{top:2%;inset-inline-start:0}
.hero-visual .fc2{bottom:1%;inset-inline-end:0;animation-delay:-4s}
.saeed-rtl .emblem-caption,.saeed-rtl .float-card{direction:rtl}
.orbital{opacity:.28}
@keyframes emblem-orbit{to{transform:rotate(360deg)}}
@keyframes emblem-drift{50%{transform:translateY(-6px)}}
@keyframes emblem-breathe{50%{transform:scale(1.025);border-color:rgba(225,197,140,.75)}}
@keyframes emblem-stars{0%,100%{opacity:.5}50%{opacity:1}}

/* Adjustable title sizes apply only to the homepage headline. */
.hero .hero-title,.saeed-rtl .hero .hero-title,.saeed-ltr .hero .hero-title{font-size:clamp(2.625rem,5vw,var(--hero-title-size,4rem));line-height:1.24;overflow-wrap:break-word}
.hero .hero-title{margin-block:24px}

/* Preserve the real office photograph and keep the caption clear of the desk. */
.about-art.about-office{min-height:0;aspect-ratio:1/1.05;background:#0b111c}
.about-office-image{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:51% 52%;filter:brightness(1.03) contrast(1.015) saturate(.94)}
.about-office:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,10,16,.03) 55%,rgba(7,10,16,.52) 100%)}
.about-office .about-badge{z-index:1;bottom:22px;inset-inline:22px;background:rgba(7,10,16,.84)}
.about-office .about-badge span{font-size:22px}

/* Readable content, keyboard navigation and resilient layouts. */
:where(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--gold2);outline-offset:5px}
[id]{scroll-margin-top:110px}
.skip-link{position:fixed;top:10px;inset-inline-start:16px;z-index:10001;padding:12px 20px;background:var(--gold2);color:var(--ink);border-radius:8px;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.reveal{opacity:1;transform:none}
.motion-ready .reveal:not(.show){opacity:0;transform:translateY(24px)}
.site-intro{animation:intro-failsafe 0s 2.2s forwards;pointer-events:none}
@keyframes intro-failsafe{to{opacity:0;visibility:hidden}}
.mobile-menu{visibility:hidden;max-height:0}
.mobile-menu.open{visibility:visible;max-height:min(75vh,680px);overflow-y:auto}
.mobile-menu-inner .links{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.mobile-menu-inner .links li{list-style:none}
.mobile-menu-inner .links a{display:block}
.links li{position:relative}
.desktop-nav .sub-menu{position:absolute;top:100%;inset-inline-start:0;min-width:220px;list-style:none;padding:18px;background:#0b111c;border:1px solid var(--line);border-radius:12px;visibility:hidden;opacity:0}
.desktop-nav li:hover>.sub-menu,.desktop-nav li:focus-within>.sub-menu{visibility:visible;opacity:1}
.desktop-nav .sub-menu a{display:block;padding:10px 0;line-height:1.6}
.mobile-menu .sub-menu{padding-inline-start:18px}
.contact-info .contact-phone-item a{display:inline-block;margin-inline-end:12px}
.practice-card{padding-bottom:52px}
.practice-card p,.step p,.article-card p,.prose,.lead,.section-lead{font-size:16px;line-height:1.9}
.trustline span,.cta,.ghost,.submit,.text-link,.field label,.disclaimer,.brand-sub{font-size:14px}
.brand-sub{font-size:12px;letter-spacing:0}
.brand-title{overflow-wrap:anywhere}
.contact-ltr{overflow-wrap:anywhere;max-width:100%}
.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:36px}
.pagination .page-numbers{min-width:42px;min-height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;padding:8px}
.pagination .current{background:var(--gold2);color:var(--ink)}
.marquee-wrap:hover .marquee-track,.marquee-wrap:focus-within .marquee-track{animation-play-state:paused}
.case-paper:focus-visible{z-index:20}
.case-paper:focus{opacity:1!important}
.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important}
html:has(.motion-off){scroll-behavior:auto}
.motion-off .hero-enter,.motion-off .reveal{opacity:1;transform:none!important}
.motion-off .site-intro{display:none}
.motion-off .casefile-section{height:auto;padding:80px 0}
.motion-off .casefile-sticky{position:relative;top:auto;height:auto;min-height:0;padding:0;overflow:visible}
.motion-off .casefile-layout{grid-template-columns:1fr;gap:36px}
.motion-off .casefile-scene,.motion-off .legal-folder{height:auto;width:100%;transform:none;display:block}
.motion-off .folder-back,.motion-off .folder-front,.motion-off .casefile-radar,.motion-off .casefile-hint{display:none}
.motion-off .paper-stack{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.motion-off .case-paper{position:relative;left:auto;top:auto;width:auto;min-height:210px;transform:none!important;opacity:1!important}
@media(max-width:1200px){.nav{gap:16px}.links{gap:16px}.desktop-cta{display:none}.hero-wrap{gap:32px}}
@media(max-width:1050px){.hero-visual{min-height:480px}.hero-visual .float-card{max-width:180px}.emblem-caption strong{font-size:13px}}
@media(max-width:820px){.hero-wrap{grid-template-columns:minmax(0,1fr);gap:40px}.hero-visual{min-height:0;width:min(100%,490px);margin:auto;padding:32px 0 52px}.hero-visual .fc1{top:0}.hero-visual .fc2{bottom:0}.hero-emblem{width:min(100% - 24px,430px)}}
@media(max-width:620px){.hero-wrap{padding:48px 0 76px}.hero-visual{padding:8px 0}.hero-visual .float-card{display:none}.hero-emblem{width:min(100% - 12px,380px)}.emblem-face{inset:18px}.orbit-inner{inset:9px}.emblem-caption{inset-inline:14%;top:73%}.emblem-caption:before{margin-bottom:6px}.emblem-caption strong{font-size:12px}.emblem-caption small{font-size:12px}.brand span{display:block}.brand-title{font-size:12px;max-width:155px}.brand-sub{display:none!important}.brand{gap:9px}.nav{gap:10px}.actions{gap:7px}.hero h1,.saeed-rtl .hero-title,.saeed-ltr .hero-title{font-size:clamp(32px,9.8vw,44px)}.eyebrow{font-size:12px;line-height:1.8}.trustline{gap:12px}.trustline span{font-size:12px}.motion-off .paper-stack{grid-template-columns:1fr}}
.hero-emblem .emblem-face{inset:21%}
.hero-emblem .orbit-inner{inset:16%}
@media(max-width:620px){
  .hero .hero-title,.saeed-rtl .hero .hero-title,.saeed-ltr .hero .hero-title{font-size:var(--hero-title-mobile-size,2.25rem);line-height:1.3}
  .hero-emblem .emblem-face{inset:19%}
  .emblem-caption{inset-inline:10%;top:73%;line-height:1.45}
  .emblem-caption:before{margin-bottom:3px;width:28px}
  .emblem-caption strong{font-size:11px;margin-top:1px}
  .emblem-caption small{font-size:11px}
  .emblem-face:before{inset:8px}
  .about-art.about-office{aspect-ratio:1/1.05}
  .about-office .about-badge{inset-inline:15px;bottom:15px;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.hero-enter,.motion-ready .reveal:not(.show){opacity:1;transform:none!important}.casefile-sticky{overflow:visible}.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce) and (max-width:620px){.paper-stack{grid-template-columns:1fr}}

/* The English view mirrors the same sections and accommodates longer labels. */
.lang[lang="ar"]{font-family:"Alexandria",sans-serif;letter-spacing:0}
.nav .brand{min-width:0}.nav .brand img,.nav .actions,.nav .menu-toggle{flex-shrink:0}
.nav .brand>span{min-width:0}.nav .lang{white-space:nowrap}
.hero-copy,.casefile-copy,.about-grid>div,.contact-grid>div{min-width:0}
.saeed-ltr .hero-title,.saeed-ltr .section-title{text-wrap:balance}
.saeed-ltr .hero-buttons{flex-wrap:wrap}.saeed-ltr .trustline span{line-height:1.6}
.saeed-rtl .casefile-scene{direction:rtl;text-align:start}
.casefile-copy .section-title{font-size:clamp(36px,3.8vw,48px);line-height:1.3}
.saeed-ltr .casefile-copy .section-title{line-height:1.18}
@media(min-width:821px){.casefile-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(min-width:821px) and (prefers-reduced-motion:no-preference){body:not(.motion-off) .casefile-scene .legal-folder{transform:translateY(120px) scale(var(--case-scale,.76))}}
@media(max-width:820px){.saeed-ltr .casefile-copy .section-title{font-size:40px}}
@media(max-width:620px){.saeed-ltr .casefile-copy .section-title{font-size:34px}.saeed-ltr .hero-buttons>*{max-width:100%;text-align:center}.saeed-ltr .brand-title{max-width:140px;line-height:1.5}}
