/*! Gravity Middle East — one-page site. Brand palette and type from the GME company profile. */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Jost";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/jost-latin-300-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jost-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jost-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cinzel-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cinzel-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-300-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"El Messiri";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/el-messiri-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"El Messiri";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/el-messiri-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"El Messiri";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/el-messiri-arabic-600-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}

/* ---------- Tokens ---------- */
:root{
 --paper:#FBFAF7; --ivory:#F3F0EA; --sand:#EAE5DC; --white:#FFFFFF;
 --ink:#161617; --ink-2:#1E1E20; --ink-3:#2A2A2C;
 --gold:#B8935E; --gold-2:#D2B88F; --bronze:#86643A;
 --stone:#C4BEB4; --taupe:#77716A; --umber:#4F4A43; --muted:#5C574F;
 --line:rgba(22,22,23,.11); --line-2:rgba(22,22,23,.22); --line-light:rgba(243,240,234,.14);
 --ff-display:"Cinzel","Times New Roman",serif;
 --ff-body:"Jost",system-ui,-apple-system,"Segoe UI",sans-serif;
 --ease:cubic-bezier(.2,.7,.2,1);
 --header-h:84px;
 --wrap:1280px;
 --gutter:clamp(20px,4vw,48px);
 color-scheme:light;
}
html[lang="ar"]{
 --ff-display:"El Messiri","IBM Plex Sans Arabic","Jost",serif;
 --ff-body:"IBM Plex Sans Arabic","Jost",system-ui,sans-serif;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px)}
:root:has(body.admin-bar){scroll-padding-top:calc(var(--header-h) + 40px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ff-body);font-weight:300;font-size:1.0625rem;line-height:1.7;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
html[lang="ar"] body{line-height:1.95;font-size:1.0625rem}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
address{font-style:normal}
::selection{background:var(--gold);color:#fff}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
picture{display:contents}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:fixed;inset-inline-start:1rem;top:1rem;z-index:100;background:var(--ink);color:var(--paper);padding:.8rem 1.2rem;font-size:.9rem;transform:translateY(-300%);transition:transform .25s}
.skip:focus{transform:none}
.i{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
[dir="rtl"] .i-arrow{transform:scaleX(-1)}

/* ---------- Type ---------- */
.eyebrow{display:flex;align-items:center;gap:.9rem;font-family:var(--ff-body);font-weight:500;font-size:.72rem;line-height:1.4;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze);margin-bottom:1.4rem}
.eyebrow::before{content:"";width:1px;height:1.1rem;background:var(--gold);flex:none;margin-inline:.45rem .15rem;transform:rotate(38deg)}
[dir="rtl"] .eyebrow::before{transform:rotate(-38deg)}
.eyebrow--light{color:var(--gold-2)}
.h2{font-family:var(--ff-display);font-weight:400;font-size:clamp(2rem,1.25rem + 2.5vw,3.4rem);line-height:1.12;letter-spacing:.005em;color:var(--ink);text-wrap:balance}
.h2--light{color:var(--ivory)}
.h3{font-family:var(--ff-display);font-weight:400;font-size:clamp(1.6rem,1.15rem + 1.4vw,2.35rem);line-height:1.18;text-wrap:balance}
.h3--light{color:var(--ivory)}
.h4{display:flex;align-items:center;gap:.9rem;font-family:var(--ff-body);font-weight:500;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);margin:2.6rem 0 1.1rem}
.h4::after{content:"";height:1px;background:var(--line);flex:1}
.lead{font-size:clamp(1.1rem,1rem + .35vw,1.3rem);line-height:1.65;color:var(--ink);font-weight:300}
.lead--light{color:var(--stone)}
.body{color:var(--muted);margin-top:1.1rem}
.muted-light{color:var(--stone)}
html[lang="ar"] .h2{line-height:1.35;letter-spacing:0;font-weight:500}
html[lang="ar"] .h3{line-height:1.4;font-weight:500}
html[lang="ar"] .eyebrow,html[lang="ar"] .h4{letter-spacing:0;text-transform:none;font-size:.92rem;font-weight:500}
html[lang="ar"] .lead{line-height:1.9}

/* ---------- Buttons & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.75em;padding:1.1em 1.75em;border:1px solid var(--ink);font-family:var(--ff-body);font-weight:500;font-size:.75rem;line-height:1;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);white-space:nowrap}
.btn .i{transition:transform .35s var(--ease)}
.btn:hover .i-arrow{transform:translateX(4px)}
[dir="rtl"] .btn:hover .i-arrow{transform:scaleX(-1) translateX(4px)}
.btn--solid{background:var(--ink);color:var(--paper);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
[dir="rtl"] .btn--solid{clip-path:polygon(0 12px,12px 0,100% 0,100% 100%,0 100%)}
.btn--solid:hover{background:var(--bronze);border-color:var(--bronze)}
.btn--line{background:transparent;color:var(--ink)}
.btn--line:hover{background:var(--ink);color:var(--paper)}
.btn--sm{padding:.9em 1.35em}
html[lang="ar"] .btn{letter-spacing:0;text-transform:none;font-size:.95rem;font-weight:500}
.link-arrow{display:inline-flex;align-items:center;gap:.6rem;font-weight:500;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);padding-block:.4rem;background:linear-gradient(var(--gold),var(--gold)) no-repeat 0 100%/100% 1px;transition:background-size .4s var(--ease),color .3s}
[dir="rtl"] .link-arrow{background-position:100% 100%}
.link-arrow:hover{color:var(--bronze)}
.link-arrow .i{transition:transform .35s var(--ease)}
.link-arrow:hover .i-arrow{transform:translateX(4px)}
[dir="rtl"] .link-arrow:hover .i-arrow{transform:scaleX(-1) translateX(4px)}
html[lang="ar"] .link-arrow{letter-spacing:0;text-transform:none;font-size:.98rem}
.link-arrow.keep-case{text-transform:none;letter-spacing:.06em;font-size:.86rem}
.icon-btn{width:44px;height:44px;border-radius:0;border:1px solid var(--line-2);background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .3s,color .3s,border-color .3s}
.icon-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.icon-btn .i{width:20px;height:20px}

/* ---------- Header ---------- */
.site-header{position:fixed;inset-inline:0;top:0;z-index:60;height:var(--header-h);transition:background .45s var(--ease),box-shadow .45s var(--ease),height .45s var(--ease),transform .45s var(--ease)}
body.admin-bar .site-header{top:32px}
.site-header.is-scrolled{--header-h:70px;background:rgba(251,250,247,.9);-webkit-backdrop-filter:blur(14px) saturate(1.15);backdrop-filter:blur(14px) saturate(1.15);box-shadow:0 1px 0 var(--line)}
.header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:2rem}
.brand{display:block;color:var(--ink);justify-self:center}
.brand svg{height:46px;width:auto;transition:height .45s var(--ease)}
.is-scrolled .brand svg{height:40px}
.nav--start{justify-self:start}
.nav ul{display:flex;gap:clamp(1.2rem,2.2vw,2.4rem)}
.nav a{position:relative;display:block;padding:.6rem 0;font-weight:500;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--umber);transition:color .3s}
.nav a::after{content:"";position:absolute;inset-inline:0;bottom:.25rem;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:var(--origin,left);transition:transform .45s var(--ease)}
[dir="rtl"] .nav a::after{--origin:right}
.nav a:hover,.nav a.is-active{color:var(--ink)}
.nav a:hover::after,.nav a.is-active::after{transform:scaleX(1)}
html[lang="ar"] .nav a{letter-spacing:0;text-transform:none;font-size:.98rem;font-weight:400}
.header-actions{justify-self:end;display:flex;align-items:center;gap:1.3rem}
.nav--end{margin-inline-end:.4rem}
.lang{font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;font-size:.95rem;font-weight:500;color:var(--bronze);padding:.4rem .2rem;transition:color .3s}
html[lang="ar"] .lang{font-family:"Jost",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:.74rem}
.lang:hover{color:var(--ink)}
.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line-2);background:transparent;border-radius:0;cursor:pointer;place-items:center}
.menu-toggle .bars{display:grid;gap:6px;width:18px}
.menu-toggle .bars i{display:block;height:1px;background:var(--ink);transition:transform .4s var(--ease)}
.menu-toggle[aria-expanded="true"] .bars i:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .bars i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:55;background:var(--ink);color:var(--ivory);padding-top:calc(var(--header-h) + 2rem);opacity:0;transition:opacity .45s var(--ease)}
.mobile-menu.is-open{opacity:1}
body.admin-bar .mobile-menu{padding-top:calc(var(--header-h) + 4rem)}
.mobile-menu__inner{display:flex;flex-direction:column;justify-content:space-between;height:100%;padding-bottom:2.5rem}
.mobile-menu ul li{border-bottom:1px solid var(--line-light)}
.mobile-menu ul a{display:flex;align-items:baseline;gap:1.2rem;padding:1.05rem 0;font-family:var(--ff-display);font-size:clamp(1.6rem,6vw,2.4rem);line-height:1.2;transform:translateY(12px);opacity:0;transition:transform .6s var(--ease),opacity .6s var(--ease),color .3s}
.mobile-menu.is-open ul a{transform:none;opacity:1}
.mobile-menu ul li:nth-child(2) a{transition-delay:.05s}.mobile-menu ul li:nth-child(3) a{transition-delay:.1s}.mobile-menu ul li:nth-child(4) a{transition-delay:.15s}.mobile-menu ul li:nth-child(5) a{transition-delay:.2s}
.mobile-menu ul a span{font-family:var(--ff-body);font-size:.75rem;letter-spacing:.2em;color:var(--gold)}
.mobile-menu ul a:hover{color:var(--gold-2)}
.mobile-menu__foot{display:grid;gap:.6rem;font-size:1rem;color:var(--stone);margin-top:2rem}
.mobile-menu__foot .lang{color:var(--gold-2);justify-self:start}
body.menu-open{overflow:hidden}
body.menu-open .site-header{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
body.menu-open .brand{color:var(--ivory)}
body.menu-open .menu-toggle{border-color:var(--line-light)}
body.menu-open .menu-toggle .bars i{background:var(--ivory)}
body.menu-open .header-actions .lang,body.menu-open .header-cta{visibility:hidden}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100svh,1000px);display:flex;align-items:center;padding-block:calc(var(--header-h) + clamp(2.5rem,7vh,5rem)) clamp(4.5rem,10vh,7rem);overflow:hidden;background:radial-gradient(120% 90% at 78% 38%,#fff 0%,var(--paper) 52%,var(--ivory) 100%)}
body.admin-bar .hero{padding-top:calc(var(--header-h) + 32px + clamp(2.5rem,7vh,5rem))}
.hero__orbits{position:absolute;width:min(980px,120vw);aspect-ratio:1;top:50%;inset-inline-end:-18%;transform:translateY(-50%);pointer-events:none;opacity:.9}
.hero__orbits svg{width:100%;height:100%;overflow:visible}
.hero__orbits circle{fill:none;stroke:var(--gold);stroke-width:1;stroke-opacity:.28}
.hero__orbits .dash{stroke-dasharray:2 7;stroke-opacity:.4}
.hero__orbits .sat{fill:var(--gold);stroke:none;fill-opacity:.9}
.spin{transform-box:view-box;transform-origin:50% 50%;animation:spin 60s linear infinite}
.spin.s2{animation-duration:90s;animation-direction:reverse}
.spin.s3{animation-duration:130s}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__grid{position:relative;display:grid;grid-template-columns:1.22fr .78fr;gap:clamp(2.5rem,5vw,5rem);align-items:center}
.hero__title{font-family:var(--ff-display);font-weight:400;font-size:clamp(2.35rem,1.05rem + 3.35vw,4.3rem);line-height:1.08;letter-spacing:-.005em;color:var(--ink)}
.hero__title .t1,.hero__title .t2{display:block}
.hero__title .t2{position:relative;padding-inline-start:1.05em}
.hero__title .t2::before{content:"";position:absolute;inset-inline-start:.42em;top:.06em;width:1.5px;height:.95em;background:var(--gold);transform:rotate(38deg)}
[dir="rtl"] .hero__title .t2::before{transform:rotate(-38deg)}
html[lang="ar"] .hero__title{font-weight:500;line-height:1.28;font-size:clamp(2.6rem,1.4rem + 4.2vw,5rem);letter-spacing:0}
.hero__lead{max-width:36rem;margin-top:1.8rem;font-size:clamp(1.05rem,.98rem + .3vw,1.22rem);line-height:1.7;color:var(--muted)}
.hero__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2.2rem;margin-top:2.5rem}
.hero__tags{display:flex;flex-wrap:wrap;row-gap:.4rem;margin-top:3rem;padding-top:1.3rem;border-top:1px solid var(--line);max-width:40rem}
.hero__tags li{font-weight:500;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);padding-inline-end:1.2rem;margin-inline-end:1.2rem;border-inline-end:1px solid var(--line);line-height:2}
.hero__tags li:last-child{border:0;margin:0;padding:0}
html[lang="ar"] .hero__tags li{letter-spacing:0;text-transform:none;font-size:.92rem}
.hero__media{position:relative;justify-self:end;width:min(100%,460px);margin-inline-end:26px}
.hero__media::before{content:"";position:absolute;inset-block:26px -26px;inset-inline:26px -26px;border:1px solid var(--gold);opacity:.55;z-index:0}
.hero__frame{position:relative;z-index:1;aspect-ratio:760/1225;overflow:hidden;background:var(--ink);box-shadow:0 50px 90px -50px rgba(22,22,23,.6)}
.hero__frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transform-origin:50% 34%;animation:heroZoom 16s var(--ease) forwards,kbHero 26s cubic-bezier(.45,.05,.55,.95) 16s infinite alternate}
.hero__frame::after{content:"";position:absolute;inset:14px;border:1px solid rgba(210,184,143,.5);pointer-events:none}
@keyframes heroZoom{to{transform:scale(1)}}
.hq-card{position:absolute;z-index:3;inset-inline-start:-40px;bottom:38px;display:grid;gap:.2rem;min-width:15.5rem;padding:1.05rem 1.3rem 1.1rem;background:var(--ink);color:var(--ivory);box-shadow:0 26px 50px -26px rgba(0,0,0,.55);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
[dir="rtl"] .hq-card{clip-path:polygon(0 14px,14px 0,100% 0,100% 100%,0 100%)}
.hq-card__k{font-weight:500;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-2)}
.hq-card__v{font-size:.98rem;font-weight:400;color:var(--ivory)}
.hq-card__c{font-size:.7rem;letter-spacing:.14em;color:var(--stone);font-family:"Jost",sans-serif}
html[lang="ar"] .hq-card__k{letter-spacing:0;text-transform:none;font-size:.82rem}
html[lang="ar"] .hq-card__c{text-align:right}
.scroll-cue{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:.6rem;font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe)}
.scroll-cue i{display:block;width:1px;height:42px;background:linear-gradient(var(--gold),transparent);transform-origin:top;animation:cue 2.2s var(--ease) infinite}
html[lang="ar"] .scroll-cue{letter-spacing:0;font-size:.8rem}
@keyframes cue{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* ---------- At a glance ---------- */
.glance{padding-block:clamp(2.6rem,5vw,4rem);background:var(--paper);border-block:1px solid var(--line)}
.glance__title{font-family:var(--ff-body);font-weight:500;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--bronze);margin-bottom:1.8rem;display:flex;align-items:center;gap:.9rem}
.glance__title::before{content:"";width:1px;height:1.1rem;background:var(--gold);margin-inline:.45rem .15rem;transform:rotate(38deg)}
[dir="rtl"] .glance__title::before{transform:rotate(-38deg)}
html[lang="ar"] .glance__title{letter-spacing:0;text-transform:none;font-size:.92rem}
.glance__list{display:grid;grid-template-columns:repeat(6,1fr)}
.glance__list li{position:relative;padding:.3rem 1.4rem}
.glance__list li:first-child{padding-inline-start:0}
.glance__list li+li::before{content:"";position:absolute;inset-inline-start:0;top:6%;bottom:6%;width:1px;background:var(--line-2);transform:rotate(9deg)}
[dir="rtl"] .glance__list li+li::before{transform:rotate(-9deg)}
.glance__num{font-family:"Cinzel",serif;font-weight:400;font-size:clamp(2.2rem,1.5rem + 1.7vw,3.3rem);line-height:1;color:var(--bronze);white-space:nowrap}
.glance__suffix{font-size:.62em;margin-inline-start:.08em}
.glance__label{margin-top:.9rem;font-weight:500;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);line-height:1.5}
html[lang="ar"] .glance__label{letter-spacing:0;text-transform:none;font-size:.95rem}
.glance__note{margin-top:.35rem;font-size:.84rem;line-height:1.5;color:var(--taupe)}

/* ---------- Sections ---------- */
.section{padding-block:clamp(5rem,10vw,9rem)}
.section--tint{background:var(--ivory)}
.section-head{margin-bottom:clamp(3rem,6vw,4.75rem)}
.section-head--split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem clamp(2.5rem,6vw,6rem);align-items:end}
.expertise .section-head--split{align-items:start}
.section-head--center{text-align:center;max-width:48rem;margin-inline:auto}
.section-head--center .eyebrow{justify-content:center}
.section-head--center .lead{margin-top:1.3rem;color:var(--muted)}
.frame{position:relative;overflow:hidden;background:var(--sand)}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}

/* ---------- About ---------- */
.about__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2.5rem,7vw,7rem);align-items:start}
.about__media{position:sticky;top:calc(var(--header-h) + 2rem)}
.frame--tall{aspect-ratio:780/1040}
.about__facts{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:-2.6rem 1.4rem 0;background:#fff;box-shadow:0 30px 60px -40px rgba(22,22,23,.45)}
.about__facts li{padding:1.1rem 1.1rem 1.2rem;border-inline-start:1px solid var(--line)}
.about__facts li:first-child{border:0}
.about__facts strong{display:block;font-family:var(--ff-display);font-weight:400;font-size:1.45rem;line-height:1.2;color:var(--ink)}
.about__facts span{display:block;margin-top:.25rem;font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
html[lang="ar"] .about__facts span{letter-spacing:0;text-transform:none;font-size:.85rem}
.about__copy .lead{margin-top:2rem}
.pull{position:relative;margin-top:2.8rem;padding-inline-start:2.6rem}
.pull::before{content:"";position:absolute;inset-inline-start:.9rem;top:.15rem;width:1.5px;height:2.9rem;background:var(--gold);transform:rotate(38deg)}
[dir="rtl"] .pull::before{transform:rotate(-38deg)}
.pull p{font-family:var(--ff-display);font-size:clamp(1.3rem,1.05rem + .8vw,1.75rem);line-height:1.4;color:var(--ink)}
.mv{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:3rem}
.mv__item{padding-top:1.3rem;border-top:1px solid var(--gold)}
.mv__item h3{font-weight:500;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);margin-bottom:.8rem}
html[lang="ar"] .mv__item h3{letter-spacing:0;text-transform:none;font-size:.95rem}
.mv__item p{font-size:1rem;color:var(--umber)}

/* Orbit panel */
.orbit-panel{position:relative;display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:clamp(4.5rem,9vw,8rem);padding:clamp(2rem,5vw,4.5rem);background:var(--ink);color:var(--ivory);overflow:hidden}
.orbit-panel::before{content:"";position:absolute;inset:14px;border:1px solid var(--line-light);pointer-events:none}
.orbit-panel__copy{position:relative}
.orbit-panel .h3{margin-bottom:1rem}
.orbit-list{margin-top:2rem;counter-reset:o}
.orbit-list li{display:flex;gap:1rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid var(--line-light);font-size:.98rem;color:var(--stone);cursor:default;transition:color .3s,padding .3s}
.orbit-list .n{font-family:"Cinzel",serif;font-size:.8rem;color:var(--gold);min-width:1.6rem}
.orbit-list li.is-on,.orbit-list li:hover,.orbit-list li:focus-visible{color:var(--ivory);padding-inline-start:.4rem}
.orbit{position:relative;width:100%;max-width:600px;aspect-ratio:1;justify-self:center}
.orbit__svg{width:100%;height:100%;overflow:visible}
.orbit .ring{fill:none;stroke:var(--gold);stroke-opacity:.3}
.orbit .ring--dash{stroke-dasharray:3 8;stroke-opacity:.45}
.orbit .spoke{stroke:var(--gold);stroke-opacity:.14;transition:stroke-opacity .4s}
.orbit .spoke.is-on{stroke-opacity:.85}
.orbit .sat{fill:var(--gold-2)}
.orbit .node__halo{fill:var(--gold);fill-opacity:.1;transition:fill-opacity .4s,transform .4s;transform-box:fill-box;transform-origin:center}
.orbit .node__dot{fill:var(--ink);stroke:var(--gold);stroke-width:1.2;transition:fill .3s}
.orbit .node__num{font-family:"Jost",sans-serif;font-weight:500;font-size:10px;fill:var(--gold-2);text-anchor:middle}
.orbit .node.is-on .node__halo{fill-opacity:.35;transform:scale(1.5)}
.orbit .node.is-on .node__dot{fill:var(--gold)}
.orbit .node.is-on .node__num{fill:var(--ink)}
.orbit .core{fill:var(--ink-2);stroke:var(--gold);stroke-opacity:.6}
.orbit__core{position:absolute;left:50%;top:50%;width:13%;transform:translate(-50%,-50%);color:var(--gold)}
.orbit__core svg{width:100%;height:auto}
.orbit__label{position:absolute;font-weight:500;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);white-space:nowrap;transition:color .3s}
html[lang="ar"] .orbit__label{letter-spacing:0;text-transform:none;font-size:.85rem}
.orbit__label.is-r{transform:translate(22px,-50%)}
.orbit__label.is-l{transform:translate(calc(-100% - 22px),-50%)}
.orbit__label.is-t{transform:translate(-50%,calc(-100% - 22px))}
.orbit__label.is-b{transform:translate(-50%,22px)}
.orbit__label.is-on{color:var(--gold-2)}

/* ---------- House of Ci banner ---------- */
.hoc{padding-bottom:clamp(5rem,10vw,9rem)}
.hoc__panel{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.2rem,5vw,5rem);align-items:center;padding:clamp(2rem,5vw,4.6rem);background:#fff;border:1px solid var(--line)}
.hoc__panel::before{content:"";position:absolute;inset:12px;border:1px solid rgba(184,147,94,.38);pointer-events:none}
.hoc__copy,.hoc__doc{position:relative}
.hoc .h2{font-family:"Jost",sans-serif;font-weight:300;font-size:clamp(2.1rem,1.25rem + 2.5vw,3.5rem);line-height:1.12;letter-spacing:-.012em}
html[lang="ar"] .hoc .h2{font-family:var(--ff-display);font-weight:500;letter-spacing:0;line-height:1.35}
.hoc__lead{margin-top:1.4rem;font-family:"Jost",sans-serif;font-weight:400;font-size:clamp(1.12rem,1rem + .5vw,1.38rem);line-height:1.55;color:var(--ink)}
html[lang="ar"] .hoc__lead{font-weight:500;line-height:1.7}
.hoc__motto{margin-top:1.5rem;font-family:"Cinzel",serif;font-size:.86rem;letter-spacing:.16em;color:var(--bronze)}
html[lang="ar"] .hoc__motto{font-family:var(--ff-display);letter-spacing:0;font-size:1.1rem;font-weight:500}
.hoc__facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:1.6rem;border-top:1px solid var(--line)}
.hoc__facts li{padding:1.1rem 1rem 0 0}
html[dir="rtl"] .hoc__facts li{padding:1.1rem 0 0 1rem}
.hoc__facts strong{display:block;font-family:var(--ff-display);font-weight:400;font-size:1.35rem;line-height:1.25;color:var(--ink)}
html[lang="ar"] .hoc__facts strong{font-weight:500}
.hoc__facts span{display:block;margin-top:.3rem;font-size:.84rem;line-height:1.5;color:var(--muted)}
.hoc__ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2rem;margin-top:2.3rem}
.hoc__ctas .i{width:1em;height:1em}
.hoc__doc{margin:0;padding-inline-end:22px}
.hoc__cover{position:relative;z-index:1;display:block;aspect-ratio:16/9;background:var(--ink);box-shadow:0 40px 70px -42px rgba(22,22,23,.65);transition:transform .6s var(--ease)}
.hoc__cover::before,.hoc__cover::after{content:"";position:absolute;inset:0;z-index:-1;background:#3a3a3d;transform:translate(11px,11px)}
.hoc__cover::after{background:#5a5a5e;transform:translate(22px,22px);opacity:.45}
[dir="rtl"] .hoc__cover::before{transform:translate(-11px,11px)}
[dir="rtl"] .hoc__cover::after{transform:translate(-22px,22px)}
.hoc__img{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.hoc__cover img{position:relative;width:100%;height:100%;object-fit:cover}
.hoc__cover:hover{transform:translateY(-6px)}
.hoc__badge{position:absolute;top:14px;inset-inline-end:14px;padding:.35rem .65rem;background:var(--gold);color:var(--ink);font-weight:500;font-size:.66rem;letter-spacing:.2em;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%)}
.hoc__doc figcaption{display:grid;gap:.25rem;margin-top:2.4rem}
.hoc__doc figcaption strong{font-weight:500;font-size:1rem;color:var(--ink)}
.hoc__doc figcaption span{font-size:.84rem;color:var(--taupe)}
.hoc__doc figcaption em{margin-top:.4rem;font-style:normal;font-size:.92rem;color:var(--bronze)}

/* ---------- Expertise ---------- */
.xp-index{margin-top:2rem;border-top:1px solid var(--line)}
.xp-index a{display:flex;align-items:center;gap:1.1rem;padding:.95rem 0;border-bottom:1px solid var(--line);font-size:1rem;color:var(--ink);transition:color .3s,padding .3s}
.xp-index a span{font-family:"Cinzel",serif;font-size:.85rem;color:var(--bronze);min-width:1.6rem}
.xp-index a .i{margin-inline-start:auto;color:var(--gold);transition:transform .35s var(--ease)}
.xp-index a:hover{color:var(--bronze);padding-inline-start:.4rem}
.xp{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2.5rem,6vw,6.5rem);align-items:start;padding-block:clamp(3.5rem,7vw,6rem);border-top:1px solid var(--line)}
.xp:nth-of-type(even){grid-template-columns:7fr 5fr}
.xp:nth-of-type(even) .xp__media{order:2}
.xp__media{position:sticky;top:calc(var(--header-h) + 2rem)}
.frame--xp{aspect-ratio:4/5}
.xp:hover .frame--xp img{transform:scale(1.04)}
.xp__num{font-family:"Cinzel",serif;font-size:clamp(3.4rem,2rem + 4vw,6rem);line-height:.9;color:transparent;-webkit-text-stroke:1px var(--gold)}
.xp__title{margin-top:1rem;font-family:var(--ff-display);font-weight:400;font-size:clamp(1.7rem,1.2rem + 1.4vw,2.5rem);line-height:1.15;text-wrap:balance}
html[lang="ar"] .xp__title{font-weight:500;line-height:1.4}
.xp__tagline{margin-top:.8rem;color:var(--bronze);font-weight:500;font-size:1.05rem}
.xp__text{margin-top:1.2rem;color:var(--muted);font-size:1.06rem}
.xp__cta{margin-top:2.4rem}
.form__hoc{margin-top:1rem;font-size:.86rem;line-height:1.6;color:var(--taupe)}
.form__hoc a{display:inline-flex;align-items:center;gap:.3em;color:var(--bronze);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;white-space:nowrap}
.form__hoc a:hover{color:var(--ink)}
.form__hoc .i{display:block;flex:none;width:.9em;height:.9em;margin:0}
html[lang="ar"] .form__hoc{font-size:.95rem}
.xp-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 2.6rem}
.num-list li{display:flex;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.98rem}
.num-list span{font-family:"Cinzel",serif;font-size:.8rem;color:var(--bronze);padding-top:.15rem;min-width:1.4rem}
.focus-list li{padding:.85rem 1.1rem;margin-bottom:.6rem;background:#fff;border-inline-start:2px solid var(--gold)}
.focus-list strong{display:block;font-family:var(--ff-display);font-weight:400;font-size:1.05rem}
html[lang="ar"] .focus-list strong{font-weight:500}
.focus-list span{font-size:.9rem;color:var(--muted)}
.xp__note{margin-top:2.2rem;padding:1.3rem 1.5rem;background:#fff;border-inline-start:2px solid var(--gold);color:var(--umber);font-size:.98rem}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chips li{padding:.5rem 1rem;border:1px solid var(--line-2);border-inline-start:2px solid var(--gold);background:#fff;font-size:.9rem}
.mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.mini-cards li{background:#fff;padding:1.4rem 1.4rem 1.5rem}
.mini-cards__n{display:block;font-family:"Cinzel",serif;font-size:.8rem;color:var(--bronze);margin-bottom:.6rem}
.mini-cards strong{display:block;font-family:var(--ff-display);font-weight:400;font-size:1.08rem;line-height:1.3}
html[lang="ar"] .mini-cards strong{font-weight:500}
.mini-cards p{margin-top:.5rem;font-size:.9rem;color:var(--muted);line-height:1.6}
.fineprint{margin-top:1rem;font-size:.82rem;color:var(--taupe)}
.pillars{margin-top:2rem;border-top:1px solid var(--line)}
.pillars li{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.pillars__n{font-family:"Cinzel",serif;font-size:1.9rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold);min-width:2.6rem}
.pillars strong{display:block;font-family:var(--ff-display);font-weight:400;font-size:1.2rem}
html[lang="ar"] .pillars strong{font-weight:500}
.pillars p{margin-top:.35rem;font-size:.96rem;color:var(--muted)}
.tech{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.tech__card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.tech__img{aspect-ratio:16/10;overflow:hidden;background:#0c1222}
.tech__img img{width:100%;height:100%;object-fit:cover}
.tech__body{padding:1.3rem 1.4rem 1.5rem}
.tech__kicker{font-weight:500;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
html[lang="ar"] .tech__kicker{letter-spacing:0;text-transform:none;font-size:.85rem}
.tech__name{margin:.3rem 0 .6rem;font-family:"Cinzel",serif;font-weight:500;font-size:1.5rem;letter-spacing:.06em}
.tech__body p{font-size:.92rem;color:var(--muted);line-height:1.65}
.activation{margin-top:2.6rem;padding:clamp(1.5rem,3vw,2.2rem);background:var(--ink);color:var(--ivory)}
.activation .h4{color:var(--ivory);margin-top:0}
.activation .h4::after{background:var(--line-light)}
.activation .body{color:var(--stone);margin-top:0}
.steps-mini{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2rem;margin-top:1.6rem}
.steps-mini span{font-family:"Cinzel",serif;font-size:.8rem;color:var(--gold)}
.steps-mini strong{display:block;margin-top:.3rem;font-family:var(--ff-display);font-weight:400;font-size:1.05rem;color:var(--ivory)}
html[lang="ar"] .steps-mini strong{font-weight:500}
.steps-mini p{margin-top:.35rem;font-size:.88rem;color:var(--stone);line-height:1.6}
.services{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:2rem;background:var(--line);border:1px solid var(--line)}
.services li{background:#fff;padding:1.5rem}
.services strong{display:block;font-family:var(--ff-display);font-weight:400;font-size:1.1rem}
html[lang="ar"] .services strong{font-weight:500}
.services p{margin-top:.45rem;font-size:.92rem;color:var(--muted);line-height:1.6}

/* ---------- Approach ---------- */
.timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}
.timeline::before{content:"";position:absolute;top:28px;inset-inline:10%;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 12%,var(--gold) 88%,transparent);transform:scaleX(0);transform-origin:var(--origin,left);transition:transform 1.8s var(--ease) .2s}
[dir="rtl"] .timeline::before{--origin:right}
.timeline.is-in::before{transform:scaleX(1)}
.timeline li{position:relative;text-align:center}
.timeline__dot{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 1.4rem;border-radius:50%;border:1px solid var(--gold);background:var(--paper);box-shadow:0 0 0 8px var(--paper)}
.timeline__dot span{font-family:"Cinzel",serif;font-size:.9rem;color:var(--bronze)}
.timeline h3{font-family:var(--ff-display);font-weight:400;font-size:1.3rem}
html[lang="ar"] .timeline h3{font-weight:500}
.timeline p{margin-top:.5rem;font-size:.95rem;color:var(--muted);line-height:1.6}
.js .timeline li{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease) var(--d,0ms),transform .8s var(--ease) var(--d,0ms)}
.js .timeline.is-in li{opacity:1;transform:none}

/* ---------- Why ---------- */
.why{position:relative;background:var(--ink);color:var(--ivory);padding-block:clamp(5rem,10vw,9rem);overflow:hidden}
.why__media{position:absolute;inset-block:0;inset-inline-start:0;width:34%;overflow:hidden}
.why__media img{width:100%;height:100%;object-fit:cover;opacity:.6;-webkit-mask-image:linear-gradient(90deg,#000 35%,transparent);mask-image:linear-gradient(90deg,#000 35%,transparent)}
[dir="rtl"] .why__media img{-webkit-mask-image:linear-gradient(270deg,#000 35%,transparent);mask-image:linear-gradient(270deg,#000 35%,transparent)}
.why__grid{position:relative;padding-inline-start:calc(34% - var(--gutter))}
.why__copy{max-width:44rem}
.why__copy .lead{margin-top:1.4rem}
.why__list{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;margin-top:3.2rem}
.why__list li{padding:1.6rem 0 1.7rem;border-top:1px solid var(--line-light)}
.why__ico{display:block;color:var(--gold);margin-bottom:.9rem}
.why__ico .i{width:28px;height:28px;stroke-width:1.2}
.why__list h3{font-family:var(--ff-display);font-weight:400;font-size:1.25rem;color:var(--ivory)}
html[lang="ar"] .why__list h3{font-weight:500}
.why__list p{margin-top:.45rem;font-size:.96rem;color:var(--stone)}

/* ---------- Projects ---------- */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.2rem}
.filter{padding:.85rem 1.2rem;border:1px solid var(--line-2);background:transparent;font-weight:500;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--umber);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.filter:hover{border-color:var(--ink);color:var(--ink)}
.filter.is-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
html[lang="ar"] .filter{letter-spacing:0;text-transform:none;font-size:.92rem}
.filter__n{opacity:.55;margin-inline-start:.35rem;font-size:.92em}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,2rem)}
.pcard[hidden]{display:none}
.pcard{animation:cardIn .6s var(--ease) both}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}}
.pcard__btn{display:flex;flex-direction:column;width:100%;height:100%;padding:0;border:0;background:#fff;text-align:start;cursor:pointer;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.pcard__btn:hover{transform:translateY(-4px);box-shadow:0 34px 60px -38px rgba(22,22,23,.5)}
.pcard__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
.pcard__btn:hover .pcard__img img{transform:scale(1.05)}
.pcard__body{display:flex;flex-direction:column;gap:.5rem;flex:1;padding:1.4rem 1.4rem 1.3rem}
.pcard__label{display:block;font-weight:500;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);line-height:1.5}
html[lang="ar"] .pcard__label{letter-spacing:0;text-transform:none;font-size:.85rem}
.pcard__title{display:block;font-family:var(--ff-display);font-weight:400;font-size:1.22rem;line-height:1.3;color:var(--ink)}
html[lang="ar"] .pcard__title{font-weight:500;line-height:1.5}
.pcard__desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;line-height:1.6;color:var(--muted)}
.pcard__meta{display:flex;align-items:center;gap:1rem;height:3.4rem;margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line)}
.pcard__value{font-family:"Cinzel",serif;font-size:.92rem;color:var(--bronze);white-space:nowrap}
html[lang="ar"] .pcard__value{font-family:var(--ff-body);font-weight:500}
.pcard__more{display:inline-flex;align-items:center;gap:.4rem;margin-inline-start:auto;font-weight:500;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
html[lang="ar"] .pcard__more{letter-spacing:0;text-transform:none;font-size:.85rem}
.pcard__more .i{color:var(--gold);transition:transform .35s var(--ease)}
.pcard__btn:hover .pcard__more .i{transform:translateX(4px)}
[dir="rtl"] .pcard__btn:hover .pcard__more .i{transform:scaleX(-1) translateX(4px)}
.pgrid__more{display:flex;justify-content:center;margin-top:2.8rem}
@media (min-width:641px) and (max-width:960px){
 .pcard.is-wide{grid-column:1/-1}
 .pcard.is-wide .pcard__btn{display:grid;grid-template-columns:calc(50% - clamp(1.2rem,2.4vw,2rem) / 2) minmax(0,1fr);column-gap:0}
 .pcard.is-wide .pcard__img{aspect-ratio:auto;height:100%;min-height:16rem}
 .pcard.is-wide .pcard__body{padding:1.8rem 1.8rem 1.4rem}
}
.pgrid__more[hidden]{display:none}

/* Project dialog */
.pdialog{width:min(1120px,94vw);max-width:none;max-height:min(90vh,860px);padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 60px 120px -40px rgba(0,0,0,.6);overflow:hidden}
.tdialog{width:min(700px,calc(100% - 2rem));max-width:none;max-height:min(88vh,900px);padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 60px 120px -40px rgba(0,0,0,.6);overflow:hidden}
.tdialog::backdrop{background:rgba(16,16,17,.74);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.tdialog[open]{animation:dlgIn .45s var(--ease)}
.tdialog__inner{position:relative;max-height:min(88vh,900px);overflow:auto;padding:clamp(1.8rem,4vw,3.2rem)}
.tdialog__title{margin:.5rem 0 .6rem;font-family:var(--ff-display);font-weight:400;font-size:clamp(1.7rem,1.3rem + 1.2vw,2.3rem);line-height:1.15}
.tdialog h3{margin-top:1.5rem;font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
html[lang="ar"] .tdialog h3{letter-spacing:0;text-transform:none;font-size:.98rem}
.tdialog p:not(.eyebrow){margin-top:.45rem;font-size:.96rem;line-height:1.75;color:var(--muted)}
.tdialog .tdialog__updated{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--taupe)}
.tdialog__close{position:sticky;top:0;float:right;margin:-.6rem -.6rem 0 1rem;z-index:1}
[dir="rtl"] .tdialog__close{float:left;margin:-.6rem 1rem 0 -.6rem}
.form__privacy a{color:var(--bronze);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.form__privacy a:hover{color:var(--ink)}
.pdialog::backdrop{background:rgba(16,16,17,.74);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.pdialog[open]{animation:dlgIn .45s var(--ease)}
@keyframes dlgIn{from{opacity:0;transform:translateY(16px) scale(.985)}}
.pdialog__inner{position:relative;display:grid;grid-template-columns:1.1fr .9fr;max-height:min(90vh,860px)}
.pdialog__media{background:var(--ink);overflow:hidden;max-height:min(90vh,860px)}
.pdialog__media img{width:100%;height:100%;object-fit:cover}
.pdialog__body{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.6rem,3vw,2.8rem);padding-top:clamp(2.6rem,4vw,3.2rem);overflow:auto;max-height:min(90vh,860px)}
.pdialog__title{font-family:var(--ff-display);font-weight:400;font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);line-height:1.2;padding-inline-end:2.5rem}
html[lang="ar"] .pdialog__title{font-weight:500;line-height:1.45}
.pdialog__desc{color:var(--muted)}
.pd{display:grid;gap:0;margin-top:1rem;border-top:1px solid var(--line)}
.pd div{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.pd dt{font-weight:500;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze);padding-top:.25rem}
html[lang="ar"] .pd dt{letter-spacing:0;text-transform:none;font-size:.88rem}
.pd dd{font-size:.98rem}
.pdialog .h4{margin-top:1.6rem}
.pd-scope li{position:relative;padding:.4rem 0;padding-inline-start:1.3rem;font-size:.96rem;color:var(--umber)}
.pd-scope li::before{content:"";position:absolute;inset-inline-start:0;top:1.05em;width:6px;height:6px;border:1px solid var(--gold);transform:rotate(45deg)}
.pdialog__nav{display:flex;align-items:center;gap:1rem;margin-top:auto;padding-top:1.6rem;font-size:.85rem;color:var(--taupe)}
.pdialog__close{position:absolute;top:1rem;inset-inline-end:1rem;z-index:2}

/* Footprint */
.footprint{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,5vw,5rem);align-items:center;margin-top:clamp(4.5rem,9vw,7rem);padding:clamp(1.8rem,4vw,3.6rem);background:var(--ivory);border:1px solid var(--line)}
.footprint .h3{margin-bottom:1.4rem}
.footprint__list li{display:grid;gap:.25rem;padding:.95rem 0;border-bottom:1px solid var(--line);cursor:default;transition:padding .3s}
.footprint__list li:last-child{border:0}
.footprint__list strong{font-family:var(--ff-display);font-weight:400;font-size:1.15rem}
html[lang="ar"] .footprint__list strong{font-weight:500}
.footprint__list span{font-size:.88rem;color:var(--muted);line-height:1.55}
.footprint__list li.is-on{padding-inline-start:.5rem}
.footprint__list li.is-on strong{color:var(--bronze)}
.footprint__map{position:relative;max-width:560px;width:100%;justify-self:center}
.footprint__map svg{width:100%;height:auto;overflow:visible;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(transparent,#000 9%,#000 91%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(transparent,#000 9%,#000 91%,transparent);mask-composite:intersect}
.m-nb{fill:#E9E4DA;stroke:#D6CEC1;stroke-width:.8}
.m-ksa{fill:#fff;stroke:var(--bronze);stroke-width:1.3;stroke-linejoin:round}
.m-dot{fill:var(--bronze);transition:fill .3s}
.m-pulse{fill:none;stroke:var(--gold);stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:pulse 2.8s var(--ease) infinite}
.m-city--jeddah .m-pulse{animation-delay:.5s}.m-city--makkah .m-pulse{animation-delay:1s}.m-city--madina .m-pulse{animation-delay:1.5s}.m-city--beitmery .m-pulse{animation-delay:2s}
.m-city.is-on .m-dot{fill:var(--ink)}
@keyframes pulse{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
.m-label{position:absolute;transform:translate(14px,-50%);padding:.15rem .45rem;background:rgba(251,250,247,.9);font-weight:500;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);white-space:nowrap;pointer-events:none}
html[lang="ar"] .m-label{letter-spacing:0;text-transform:none;font-size:.8rem}
.m-label--jeddah{transform:translate(calc(-100% - 12px),-50%)}
.m-label--makkah{transform:translate(12px,0)}

/* ---------- Network ---------- */
.clients-title{margin-top:0}
.marquee{display:grid;gap:1rem;margin-top:.4rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee__row{display:flex;width:max-content}
.marquee__track{display:flex;gap:1rem;padding-inline-end:1rem;animation:marquee var(--dur,90s) linear infinite}
.marquee__row--rev .marquee__track{animation-direction:reverse}
[dir="rtl"] .marquee__track{animation-name:marqueeRtl}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track li{display:grid;place-items:center;width:172px;height:116px;padding:.5rem;background:#fff;border:1px solid var(--line)}
.marquee__track img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.72;transition:filter .4s,opacity .4s}
.marquee__track li:hover img{filter:none;opacity:1}
@keyframes marquee{to{transform:translateX(-100%)}}
@keyframes marqueeRtl{to{transform:translateX(100%)}}
.ngroups{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(3rem,6vw,4.5rem);background:var(--line);border:1px solid var(--line)}
.ngroup{display:flex;flex-direction:column;gap:.9rem;padding:1.8rem 1.6rem 2rem;background:var(--paper)}
.ngroup__k{font-weight:500;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
html[lang="ar"] .ngroup__k{letter-spacing:0;text-transform:none;font-size:.9rem}
.ngroup__names li{font-family:var(--ff-body);font-weight:400;font-size:1.06rem;line-height:1.45;padding-block:.18rem;color:var(--ink)}
.ngroup__names li[lang="en"]{font-family:"Jost",sans-serif}
.ngroup__t{font-size:.9rem;color:var(--muted);line-height:1.6}
.ngroup .link-arrow{margin-top:auto;align-self:flex-start}
.creds{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem 2.4rem;margin-top:2.2rem;padding:1.4rem 1.6rem;background:#fff;border:1px solid var(--line)}
.creds__title{display:flex;align-items:center;gap:.6rem;font-weight:500;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
html[lang="ar"] .creds__title{letter-spacing:0;text-transform:none;font-size:.92rem}
.creds__title .i{width:22px;height:22px;color:var(--gold)}
.creds ul{display:flex;flex-wrap:wrap;gap:.8rem 2.6rem}
.creds li{display:grid}
.creds strong{font-weight:500;font-size:.92rem}
.creds li span{font-size:.82rem;color:var(--taupe)}

/* ---------- Message ---------- */
.message{position:relative;background:var(--ivory);color:var(--ink);padding-block:clamp(5.5rem,11vw,9.5rem);overflow:hidden;border-block:1px solid var(--line)}
.message__mark{position:absolute;inset-inline-end:-3%;top:50%;width:min(600px,56vw);transform:translateY(-50%);color:var(--gold);opacity:.11;pointer-events:none}
.message__mark svg{width:100%;height:auto}
.message__inner{position:relative}
.message__quote{max-width:22ch;font-family:var(--ff-display);font-weight:400;font-size:clamp(1.9rem,1.15rem + 2.6vw,3.4rem);line-height:1.15;color:var(--ink);text-wrap:balance}
html[lang="ar"] .message__quote{font-weight:500;line-height:1.4;max-width:18ch}
.message__cols{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 3.5rem;max-width:58rem;margin-top:2.6rem;color:var(--muted)}

/* ---------- Contact ---------- */
.contact__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}
.contact__copy .lead{margin-top:1.4rem;color:var(--muted)}
.cdetails{margin-top:2.4rem}
.cdetails li{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;padding:1.15rem 0;border-top:1px solid var(--line)}
.cdetails li:last-child{border-bottom:1px solid var(--line)}
.cdetails .i{width:24px;height:24px;color:var(--gold);margin-top:.2rem}
.cdetails span{display:block;font-weight:500;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:.15rem}
html[lang="ar"] .cdetails span{letter-spacing:0;text-transform:none;font-size:.85rem}
.cdetails a,.cdetails address,.cdetails p{font-size:1.02rem;color:var(--ink)}
.cdetails a:hover{color:var(--bronze)}
.cdetails .small-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.85rem;color:var(--bronze)}
.cdetails .small-link .i{width:.95em;height:.95em;margin:0}
.contact__form{background:#fff;padding:clamp(1.6rem,3.6vw,3rem);border-top:2px solid var(--gold);box-shadow:0 44px 80px -54px rgba(22,22,23,.45)}
.form__title{font-family:var(--ff-display);font-weight:400;font-size:1.65rem}
html[lang="ar"] .form__title{font-weight:500}
.form__note{margin-top:.3rem;font-size:.84rem;color:var(--taupe)}
.form__types{margin:1.6rem 0 0;padding:0;border:0;min-width:0}
.form__types legend{padding:0;font-weight:500;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--umber)}
html[lang="ar"] .form__types legend{letter-spacing:0;text-transform:none;font-size:.9rem}
.type-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.type-chip{position:relative;cursor:pointer}
.type-chip input{position:absolute;opacity:0;width:1px;height:1px}
.type-chip span{display:inline-block;padding:.5rem .95rem;border:1px solid var(--line-2);border-radius:0;font-size:.86rem;line-height:1.4;transition:background .3s,color .3s,border-color .3s}
.type-chip:hover span{border-color:var(--ink)}
.type-chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.type-chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 1.4rem}
.field{display:grid;gap:.35rem;margin-top:1.35rem}
.field label{font-weight:500;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--umber)}
html[lang="ar"] .field label{letter-spacing:0;text-transform:none;font-size:.9rem}
.field input,.field textarea{width:100%;padding:.8rem .1rem;border:0;border-bottom:1px solid var(--line-2);border-radius:0;background:transparent;font-size:1rem;font-weight:400;color:var(--ink);transition:border-color .3s,box-shadow .3s}
.field textarea{resize:vertical;min-height:7.5rem;line-height:1.6}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--gold);box-shadow:0 1px 0 var(--gold)}
.field.is-invalid input,.field.is-invalid textarea{border-bottom-color:#A3392B;box-shadow:0 1px 0 #A3392B}
html[lang="ar"] .field input[dir="ltr"]{text-align:right}
.hp{position:absolute!important;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:2rem}
.form__privacy{font-size:.82rem;color:var(--taupe)}
.form__status:empty{display:none}
.form__status{margin-top:1.3rem;padding:1rem 1.2rem;font-size:.95rem;border-inline-start:2px solid currentColor}
.form__status.is-ok{color:#2D6A4F;background:#EEF5F0}
.form__status.is-err{color:#A3392B;background:#FBEFEC}
.btn[disabled]{opacity:.6;cursor:progress}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:var(--stone);padding-top:clamp(4rem,8vw,6rem);font-size:.92rem}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.4fr 1.3fr;gap:2.6rem}
.footer__logo{display:inline-block;color:var(--ivory)}
.footer__logo svg{width:200px;height:auto}
.footer__tagline{margin-top:1.5rem;font-family:var(--ff-display);font-size:1.05rem;color:var(--gold-2);max-width:20rem}
.footer__col h2{margin-bottom:1.2rem;font-family:var(--ff-body);font-weight:500;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
html[lang="ar"] .footer__col h2{letter-spacing:0;text-transform:none;font-size:.92rem}
.footer__col li{margin-bottom:.65rem;line-height:1.6}
.footer__col a:hover,.footer__bottom a:hover{color:var(--ivory)}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem 2rem;margin-top:3.6rem;padding-block:1.6rem;border-top:1px solid var(--line-light);font-size:.8rem;color:var(--taupe)}
.footer__bottom-wrap{padding-bottom:.4rem}
.footer__bottom .lang{color:var(--gold-2);font-size:.9rem;padding:0}
.to-top{position:fixed;inset-inline-end:1.3rem;bottom:1.3rem;z-index:40;display:grid;place-items:center;width:46px;height:46px;background:var(--ink);color:var(--gold-2);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);box-shadow:0 14px 30px -14px rgba(0,0,0,.5);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}
.to-top .i{width:20px;height:20px}

/* ---------- Reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease) var(--d,0ms),transform .9s var(--ease) var(--d,0ms)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
 .nav{display:none}
 .menu-toggle{display:grid}
 .header-inner{grid-template-columns:auto 1fr}
 .brand{justify-self:start}
 .glance__list{grid-template-columns:repeat(3,1fr);row-gap:2rem}
 .glance__list li:nth-child(4){padding-inline-start:0}
 .glance__list li:nth-child(4)::before{display:none}
 .ngroups{grid-template-columns:1fr 1fr}
 .ngroup:last-child:nth-child(odd){grid-column:1/-1}
 .why__grid{padding-inline-start:calc(30% - var(--gutter))}
 .why__media{width:30%}
}
@media (max-width:960px){
 :root{--header-h:72px}
 .hero{min-height:auto}
 .hero__grid,.about__grid,.contact__grid,.orbit-panel,.footprint,.section-head--split,.hoc__panel{grid-template-columns:minmax(0,1fr)}
 .header-inner{grid-template-columns:auto 1fr}
 .brand{justify-self:start}
 .hq-card{inset-inline-start:-14px;bottom:24px}
 .hero__media{justify-self:center;width:min(86%,440px);margin-top:1.5rem;margin-inline:auto}
 .hero__orbits{inset-inline-end:-45%;top:62%}
 .scroll-cue{display:none}
 .about__media,.xp__media{position:relative;top:auto}
 .about__media{max-width:520px}
 .xp,.xp:nth-of-type(even){grid-template-columns:minmax(0,1fr);gap:2rem}
 .xp:nth-of-type(even) .xp__media{order:0}
 .frame--xp{aspect-ratio:16/11}
 .pgrid{grid-template-columns:1fr 1fr}
 .timeline{grid-template-columns:1fr;gap:0;max-width:34rem;margin-inline:auto}
 .timeline::before{top:0;bottom:0;inset-inline:auto;inset-inline-start:27px;width:1px;height:auto;background:linear-gradient(transparent,var(--gold) 8%,var(--gold) 92%,transparent);transform:scaleY(0);transform-origin:top}
 .timeline.is-in::before{transform:scaleY(1)}
 .timeline li{display:grid;grid-template-columns:56px 1fr;column-gap:1.4rem;text-align:start;padding-bottom:2rem}
 .timeline__dot{grid-row:span 2;margin:0}
 .timeline p{grid-column:2}
 .why{padding-top:0}
 .why__media{position:relative;width:100%;height:280px}
 .why__media img{-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
 [dir="rtl"] .why__media img{-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}
 .why__grid{padding-inline-start:var(--gutter);margin-top:-3rem}
 .pdialog__inner{grid-template-columns:1fr;overflow:auto}
 .pdialog__media{max-height:none;height:auto}
 .pdialog__media img{height:auto;object-fit:contain}
 .pdialog__body{max-height:none;overflow:visible}
 .footer__grid{grid-template-columns:1fr 1fr}
 .orbit-panel{padding-block:3rem}
}
@media (max-width:782px){
 body.admin-bar .site-header{top:46px}
}
@media (max-width:640px){
 body{font-size:1rem}
 .brand svg{height:38px}
 .is-scrolled .brand svg{height:34px}
 .header-cta{display:none}
 .header-actions{gap:.7rem}
 .hero__tags li{font-size:.62rem;letter-spacing:.16em;padding-inline-end:.8rem;margin-inline-end:.8rem}
 .glance__list{grid-template-columns:1fr 1fr}
 .glance__list li{padding-inline:0 1rem}
 .glance__list li:nth-child(odd)::before{display:none}
 .glance__list li:nth-child(4)::before{display:block}
 .glance__list li:nth-child(even){padding-inline-start:1.3rem}
 .about__facts{margin-inline:.8rem;grid-template-columns:repeat(3,auto)}
 .about__facts li{padding:.9rem .75rem 1rem}
 .about__facts span{letter-spacing:.14em}
 .about__facts strong{font-size:1.15rem}
 .mv,.xp-cols,.mini-cards,.tech,.services,.steps-mini,.why__list,.message__cols,.form__row,.ngroups,.hoc__facts{grid-template-columns:1fr}
 .hq-card{min-width:0;padding:.8rem 1rem}
 .hoc__doc{padding-inline-end:16px}
 .orbit__label{display:none}
 .orbit .node{transform-box:fill-box;transform-origin:center;transform:scale(1.9)}
 .eyebrow{letter-spacing:.22em}
 .hero__tags li{border:0;padding:0;margin-inline-end:1.4rem}
 .pgrid{grid-template-columns:1fr}
 .pd div{grid-template-columns:1fr;gap:.2rem}
 .creds{padding:1.2rem}
 .footer__grid{grid-template-columns:1fr}
 .footer__bottom-wrap{padding-bottom:3.6rem}
 .marquee__track li{width:136px;height:94px}
 .m-label{font-size:.56rem;letter-spacing:.1em}
}
@media (max-width:420px){
 .btn{white-space:normal;line-height:1.35;text-align:center}
 .hoc__panel{padding:2rem 1.4rem}
 html[lang="en"] .hero__title{font-size:2.05rem}
}
@media (max-width:380px){
 html[lang="en"] .hero__title{font-size:1.85rem}
 .about__facts{margin-inline:0}
 .about__facts li{padding:.85rem .55rem .95rem}
 .about__facts span{letter-spacing:.1em}
 .about__facts strong{font-size:1.05rem}
}
/* Comfortable touch targets */
@media (max-width:960px),(pointer:coarse){
 .cdetails a{display:inline-block;padding-block:.5rem;margin-block:-.5rem}
 .cdetails .small-link{padding-block:.5rem;margin-block:-.15rem -.5rem}
 .footer__col li{margin-bottom:.2rem}
 .footer__col a{display:inline-block;padding-block:.5rem}
 .footer__bottom a{display:inline-block;padding-block:.5rem;margin-block:-.5rem}
 .header-actions .lang{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 .3rem}
}

/* ---------- Living photos: slow depth zoom + gentle scroll parallax ----------
   Each photo breathes in and out very slowly (scale 1.06 to 1.13) while it is near
   the viewport (gme.js toggles .kb-on), and drifts a little against its frame as the
   page scrolls where the browser supports scroll-driven animations. Off-screen photos
   stay still, so only the few on screen ever animate. */
.frame img,.tech__img img,.pcard__img img,.why__media img,.hoc__img img{scale:1.06;transform-origin:var(--kb-o,50% 50%);backface-visibility:hidden}
.kb-on{animation:kbZoom var(--kb-dur,22s) cubic-bezier(.45,.05,.55,.95) infinite alternate}
@keyframes kbZoom{from{scale:1.06}to{scale:1.13}}
@keyframes kbHero{from{scale:1}to{scale:1.07}}
@keyframes kbSoft{from{scale:1}to{scale:1.05}}
.pdialog__media img{transform-origin:50% 45%;animation:kbSoft 18s cubic-bezier(.45,.05,.55,.95) infinite alternate}
@supports (animation-timeline:view()){
 .frame,.tech__img,.pcard__img,.why__media,.hoc__img{view-timeline:--kbv block}
 .kb-on{animation:kbZoom var(--kb-dur,22s) cubic-bezier(.45,.05,.55,.95) infinite alternate,kbDrift linear both;animation-timeline:auto,--kbv;animation-range:normal,cover 0% cover 100%}
 @keyframes kbDrift{from{translate:0 2.2%}to{translate:0 -2.2%}}
}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important}
 .js [data-reveal],.js .timeline li{opacity:1;transform:none}
 .timeline::before{transform:none}
 .marquee{-webkit-mask-image:none;mask-image:none}
 .marquee__row{width:auto;flex-wrap:wrap;justify-content:center;padding-inline:var(--gutter)}
 .marquee__track{flex-wrap:wrap;justify-content:center;animation:none;padding:0}
 .marquee__track[aria-hidden="true"]{display:none}
 .hero__frame img{transform:none;scale:none;animation:none!important}
 .kb-on,.pdialog__media img{animation:none!important;translate:none}
}

/* ---------- Print ---------- */
@media print{
 .site-header,.mobile-menu,.to-top,.scroll-cue,.hero__orbits,.marquee,.pdialog,.contact__form{display:none!important}
 .js [data-reveal]{opacity:1;transform:none}
 body{background:#fff}
}
