/* A considered motion system: architectural image drift, line reveals and staggered entrances. */
html[dir=rtl]{--serif:'Tajawal',Tahoma,sans-serif}
html[dir=rtl] h2{font-weight:700;line-height:1.5}
html[dir=rtl] .hero h1{font-weight:700;line-height:1.5;font-size:clamp(3.25rem,6.8vw,6.6rem)}
html[dir=rtl] .hero h1 em{font-weight:700}
html[dir=rtl] .service-title{font-weight:500;line-height:1.6}
html[dir=rtl] .image-phrase{font-weight:500;font-size:2.1rem}
html[dir=rtl] .step h3{font-family:var(--serif);font-weight:500;font-size:1.55rem}
html[dir=rtl] .body-copy,html[dir=rtl] .section-intro,html[dir=rtl] .service-body{line-height:2.05}
html[dir=rtl] .hero-text{font-size:1.0625rem;line-height:2.05}
html[dir=rtl] .eyebrow{font-size:.875rem}
html[dir=rtl] .desktop-nav a,html[dir=rtl] .header-profile{font-size:.8125rem}
.motion-toggle{position:absolute;inset-block-start:24px;inset-inline-end:var(--gutter);z-index:3;display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 12px;border:1px solid #ffffff40;border-radius:24px;background:#14201c52;color:#fff;cursor:pointer;font-family:var(--sans);font-size:.75rem;line-height:1.5;backdrop-filter:blur(6px);transition:background .25s,border-color .25s}
.motion-toggle:hover{background:#14201c9e;border-color:#e2c495}
.motion-toggle:focus-visible{outline-color:#e2c495}
.motion-toggle svg{width:18px;height:18px}
.motion-toggle .motion-play-icon,.motion-toggle[data-paused=true] .motion-pause-icon{display:none}
.motion-toggle[data-paused=true] .motion-play-icon{display:block}
.hero-media{animation:architecture-drift 16s ease-in-out infinite alternate;transform-origin:65% 50%;will-change:transform}
.hero-media img{transform:scale(1.12)}
.hero-grid:before{content:'';position:absolute;inset-inline-start:65%;top:-28%;width:1px;height:26%;background:linear-gradient(0deg,transparent,#e4c797a3,transparent);animation:architecture-trace 11s ease-in-out infinite;animation-delay:1.8s}
.hero h1{animation:none}
.hero h1>span,.hero h1>em{animation:title-unfold 1.25s cubic-bezier(.2,.7,.2,1) both;animation-delay:.2s}
.hero h1>em{animation-delay:.48s}
.hero-eyebrow{animation-duration:1.1s}
.hero-eyebrow .gold-line{transform-origin:left;animation:line-draw 1.2s ease both .15s}
.hero-text{animation-delay:.72s;animation-duration:1.15s}
.hero .button{animation-delay:.88s;animation-duration:1.15s}
.scroll-circle svg{animation:scroll-nudge 2.6s ease-in-out infinite}
.will-reveal{transform:translateY(44px);transition:opacity 1s cubic-bezier(.2,.65,.3,1),transform 1s cubic-bezier(.2,.65,.3,1)}
.about-visual.will-reveal{transform:translateY(58px);transition-duration:1.25s}
.will-reveal.is-visible{transform:translateY(0)}
.about-visual.will-reveal .about-photo img{transform:scale(1.14);transition:transform 1.7s cubic-bezier(.2,.6,.3,1)}
.about-visual.is-visible .about-photo img{transform:scale(1)}
.about-visual.is-visible .about-photo:hover img{transform:scale(1.04)}
.about-copy.is-visible .eyebrow,.about-copy.is-visible h2,.about-copy.is-visible .lead{animation:hero-in .9s both}
.about-copy.is-visible h2{animation-delay:.1s}
.about-copy.is-visible .lead{animation-delay:.2s}
.step-number span{transform:scaleX(0);transform-origin:left;transition:transform 1.1s ease .25s}
.step.is-visible .step-number span{transform:scaleX(1)}
.service summary{transition:background .35s}
.service-heading{transition:transform .35s}
.service:hover summary{background:#c5a46b08}
.service:hover .service-heading{transform:translateX(6px)}
html[dir=rtl] .service:hover .service-heading{transform:translateX(-6px)}
.service-body{animation:detail-unfold .5s cubic-bezier(.2,.7,.2,1)}
.button{overflow:hidden;isolation:isolate}
.button:after{content:'';position:absolute;inset:-50% auto -50% -80%;width:45%;background:linear-gradient(90deg,transparent,#ffffff26,transparent);transform:skewX(-20deg);transition:left .7s;z-index:-1;pointer-events:none}
.button:hover:after{left:135%}
.mobile-nav:not([hidden]){animation:menu-unfold .3s ease both}
html[dir=rtl] .hero-eyebrow .gold-line,html[dir=rtl] .step-number span{transform-origin:right}
@keyframes architecture-drift{from{transform:scale(1.015)}to{transform:scale(1.09)}}
@keyframes architecture-trace{0%{transform:translateY(0);opacity:0}15%,70%{opacity:1}90%,100%{transform:translateY(490%);opacity:0}}
@keyframes title-unfold{from{opacity:0;transform:translateY(32px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}
@keyframes line-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes scroll-nudge{0%,55%,100%{transform:translateY(0)}25%{transform:translateY(5px)}}
@keyframes detail-unfold{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-unfold{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){html[dir=rtl] .hero h1{font-size:clamp(3.25rem,8vw,5.9rem)}}
@media(max-width:760px){.motion-toggle{inset-block-start:18px;font-size:.6875rem;min-height:36px;padding-inline:10px}.hero-media{animation-duration:20s}.hero-grid:before{animation:none;display:none}html[dir=rtl] .hero h1{font-size:clamp(2.65rem,8.6vw,4.5rem);line-height:1.65}html[dir=rtl] .hero-text{font-size:1rem}html[dir=rtl] .hero-eyebrow{font-size:.75rem}html[dir=rtl] h2{font-size:2.45rem}html[dir=rtl] .service-title{font-size:1.65rem}html[dir=rtl] .image-phrase{font-size:1.9rem}.service:hover summary{padding-inline:0}}
@media(max-width:380px){html[dir=rtl] .hero h1{font-size:8.4vw}html[dir=rtl] h2{font-size:2.2rem}html[dir=rtl] .service-title{font-size:1.4rem}}
html.motion-paused{scroll-behavior:auto}
html.motion-paused *,html.motion-paused *:before,html.motion-paused *:after{animation:none!important;transition:none!important}
html.motion-paused .will-reveal{opacity:1;transform:none}
html.motion-paused .hero-media,html.motion-paused .hero-media img,html.motion-paused .about-visual .about-photo img{transform:none!important;will-change:auto}
html.motion-paused .step-number span{transform:scaleX(1)}
html.motion-background *,html.motion-background *:before,html.motion-background *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html:not(.motion-active) .hero-media{animation:none;transform:none;will-change:auto}html:not(.motion-active) .step-number span{transform:scaleX(1)}}
@media print{.motion-toggle{display:none!important}.hero-media{animation:none;transform:none}.step-number span{transform:scaleX(1)}}

/* Compact language switching and comfortable type for small screens. */
.mobile-languages{display:none;position:relative}
.mobile-languages summary{display:flex;align-items:center;justify-content:center;gap:6px;min-width:62px;min-height:44px;padding:6px;cursor:pointer;list-style:none;border:1px solid var(--line);font-size:.875rem}
.mobile-languages summary::-webkit-details-marker{display:none}
.mobile-languages summary svg{width:15px;height:15px}
.mobile-languages summary span[lang=ar]{font-family:Tajawal,Tahoma,sans-serif;font-weight:500;font-size:1rem}
.mobile-languages nav{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;min-width:156px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px #17211f18;padding:6px;z-index:70}
.mobile-languages nav a{display:flex;align-items:center;padding:9px 14px;min-height:44px;font-size:1rem}
.mobile-languages nav a[lang=ar]{font-family:Tajawal,Tahoma,sans-serif}
.mobile-languages nav a:hover,.mobile-languages nav a[aria-current=page]{background:var(--soft);color:var(--gold-dark)}
.service-heading,.profile-copy,.about-copy,.section-heading>div{min-width:0}
@media(max-width:760px){
 .header-actions .languages{display:none}.mobile-languages{display:block}.menu-button{width:44px;height:44px}.header-actions,html[lang=ru] .header-actions{gap:10px}.header-inner,html[lang=ru] .header-inner{gap:14px}
 .hero{height:auto;min-height:calc(100svh - var(--header-height));max-height:none}.hero-content{padding-block:100px 135px}
 .hero h1{font-size:clamp(2rem,8.1vw,3.85rem);line-height:1.15}html[lang=ru] .hero h1{font-size:clamp(1.95rem,8.1vw,3.85rem)}
 html[dir=rtl] .hero-content{padding-block:100px 135px}html[dir=rtl] .hero h1{font-size:clamp(2.5rem,9.3vw,4.4rem);line-height:1.45}
 html[dir=rtl] .hero-text{font-size:1.125rem;line-height:1.9}html[dir=rtl] h2{font-size:2.5rem;line-height:1.45}html[dir=rtl] .body-copy,html[dir=rtl] .section-intro,html[dir=rtl] .service-body{line-height:1.95}
 .hero-eyebrow,html[lang=ru] .hero-eyebrow{font-size:.75rem;letter-spacing:.035em}.hero-eyebrow{align-items:baseline}.gold-line{align-self:center}
 .service-body,.step p{font-size:1rem}.service-subtitle{font-size:.875rem}.motion-toggle{font-size:.8125rem;min-height:40px}.mobile-nav a{padding-block:8px;min-height:44px}.footer-column{font-size:.875rem}
}
@media(max-width:380px){.brand{flex-basis:118px}.header-inner,html[lang=ru] .header-inner{gap:10px}.header-actions,html[lang=ru] .header-actions{gap:6px}.hero h1{font-size:2rem}html[lang=ru] .hero h1{font-size:1.95rem}html[dir=rtl] .hero h1{font-size:2.35rem}.hero-location{max-width:125px}.hero-bottom{gap:10px}.scroll-link{font-size:.75rem}}
