/* ==========================================================================
   Aureon — warm editorial stylesheet
   Cream paper · terracotta · espresso · sage. Mobile-first, RTL-aware.
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --cream:var(--bg);--paper:var(--surface);--ink:var(--text);
  --terracotta:var(--primary);--sage:var(--accent);--espresso:var(--secondary);
  --line:rgba(var(--text-rgb),.14);--line-soft:rgba(var(--text-rgb),.08);
  --shadow:0 28px 60px -32px rgba(var(--text-rgb),.34),0 6px 18px -12px rgba(var(--text-rgb),.14);
  --grid:rgba(var(--text-rgb),.045);
  --container:1440px;--gutter:clamp(1.25rem,5vw,6rem);--section-y:clamp(5.5rem,13vw,12rem);
  --radius:8px;--radius-lg:18px;--arch:22px;
  --ease:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.4,0,.2,1);--nav-h:84px;
}

/* ---------- Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;min-height:100vh;font-weight:400}
body.rtl{font-family:var(--font-arabic);font-size:17px;line-height:1.95}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
em{font-style:italic}
::selection{background:rgba(var(--primary-rgb),.22)}
:focus-visible{outline:2px solid var(--terracotta);outline-offset:4px;border-radius:2px}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:900px}

/* Display typography — Fraunces / Amiri */
.display,.hero__name,.hero__tagline,.section__title,.statement,.menu__link,.lab-item__title,.model__title,.work-row__title,.card__title,.contact__big,.loader__brand,.footer__name{
  font-family:var(--font-display);font-weight:600;letter-spacing:-.03em;line-height:1.06;font-variation-settings:"opsz" 144,"SOFT" 60}
body.rtl .display,body.rtl .hero__name,body.rtl .hero__tagline,body.rtl .section__title,body.rtl .statement,body.rtl .menu__link,body.rtl .lab-item__title,body.rtl .model__title,body.rtl .work-row__title,body.rtl .card__title,body.rtl .contact__big,body.rtl .loader__brand,body.rtl .footer__name{
  font-family:var(--font-arabic-display);letter-spacing:0;line-height:1.35;font-weight:700}
body.rtl em{font-style:normal}
/* Grotesk display: use weight & tracking instead of italics */
em{font-style:italic}
.section__subtitle em,.lab-item__question em,.model__sub em,.work-row__sub em,.statement__sub em,.hero__tagline em,.card__sub em{font-style:normal;font-weight:500}

/* ---------- Paper texture & natural light ---------- */
body.has-texture::before{content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.032;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .12 0 0 0 0 .08 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E")}
.light{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.light span{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;will-change:transform}
.light__a{width:62vw;height:62vw;max-width:940px;max-height:940px;top:-26vw;inset-inline-start:-16vw;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(var(--primary-rgb),.18) 52%,transparent 72%)}
.light__grid{position:absolute;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:clamp(56px,7vw,96px) clamp(56px,7vw,96px);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 72%);mask-image:radial-gradient(ellipse at 50% 0%,#000,transparent 72%);opacity:.9;filter:none;border-radius:0}
.light__b{width:52vw;height:52vw;max-width:780px;max-height:780px;bottom:-20vw;inset-inline-end:-12vw;background:radial-gradient(circle,rgba(var(--accent-rgb),.20),transparent 65%)}
#main,.footer,.nav,.menu{position:relative;z-index:1}

/* ---------- Loader ---------- */
.loader{position:fixed;inset:0;z-index:10000;background:var(--cream);display:grid;place-items:center;transition:opacity .9s var(--ease-soft),visibility .9s}
.loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.loader__inner{text-align:center}
.loader__mark{height:56px;width:auto;margin:0 auto 1rem}
.loader__brand{font-size:clamp(2rem,6vw,3.6rem);opacity:0;transform:translateY(12px);animation:rise 1.4s var(--ease) .1s forwards}
.loader__line{width:min(160px,40vw);height:1px;background:var(--line);margin:1.4rem auto 0;position:relative;overflow:hidden}
.loader__line span{position:absolute;inset:0;background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-soft)}
body.rtl .loader__line span{transform-origin:right}
@keyframes rise{to{opacity:1;transform:none}}

/* ---------- Buttons, tags, links ---------- */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.8em;border-radius:10px;font-size:.92rem;font-weight:600;letter-spacing:.01em;
  border:1px solid var(--ink);transition:transform .6s var(--ease),background .4s,color .4s,box-shadow .6s;position:relative;overflow:hidden;isolation:isolate}
.btn span{position:relative;z-index:1}
.btn--solid{background:var(--ink);color:var(--cream)}
.btn--solid::after{content:"";position:absolute;inset:0;background:var(--terracotta);transform:translateY(101%);transition:transform .6s var(--ease);z-index:0}
.btn--solid:hover::after{transform:none}
.btn--solid:hover{border-color:var(--terracotta);box-shadow:0 14px 30px -16px rgba(var(--primary-rgb),.6);transform:translateY(-2px)}
.btn--light{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.btn--light:hover{color:var(--cream)}
.btn--outline{background:transparent;color:var(--ink)}
.btn--outline:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px)}
.link-arrow{display:inline-flex;align-items:center;gap:.55em;font-size:.95rem;font-weight:500;position:relative;padding-bottom:.15em}
.link-arrow i{font-style:normal;display:inline-block;transition:transform .5s var(--ease)}
body.rtl .link-arrow i{transform:scaleX(-1)}
.link-arrow:hover i{transform:translateX(5px)}
body.rtl .link-arrow:hover i{transform:scaleX(-1) translateX(5px)}
.link-arrow::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:left;opacity:.5;transition:transform .6s var(--ease),opacity .4s}
body.rtl .link-arrow::after{transform-origin:right}
.link-arrow:hover::after{transform:scaleX(1);opacity:1}
.tag{display:inline-flex;align-items:center;padding:.28em .8em;border-radius:6px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);background:rgba(255,255,255,.35);white-space:nowrap;font-weight:500}
body.rtl .tag{letter-spacing:0;font-size:.8rem;font-family:var(--font-arabic)}
.tag--sage{background:rgba(var(--accent-rgb),.18);border-color:rgba(var(--accent-rgb),.5)}
.eyebrow{display:inline-flex;align-items:center;gap:.9em;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--terracotta);font-weight:600}
.eyebrow::before{content:"";width:2.2em;height:1px;background:currentColor;flex:none}
body.rtl .eyebrow{letter-spacing:.02em;font-size:.86rem}
.eyebrow--center{justify-content:center;width:100%}
.eyebrow--center::before{display:none}

/* ---------- Reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(34px)}
.js [data-reveal].is-in,.js.no-gsap [data-reveal]{opacity:1;transform:none;transition:opacity 1.2s var(--ease),transform 1.3s var(--ease)}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}}

/* ---------- Navigation ---------- */
.nav{position:fixed;top:0;inset-inline:0;z-index:900;height:var(--nav-h);display:flex;align-items:center;transition:transform .7s var(--ease),background .5s,box-shadow .5s,height .5s}
.nav.is-scrolled{background:rgba(var(--bg-rgb),.82);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 var(--line-soft);height:68px}
.nav.is-hidden{transform:translateY(-100%)}
.nav.is-menu-open{transform:none;background:transparent;box-shadow:none}
.nav__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav__brand{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-display);font-size:1.5rem;letter-spacing:-.01em;font-weight:500}
body.rtl .nav__brand{font-family:var(--font-arabic-display);font-weight:700}
.nav__mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--ink);color:var(--cream);font-size:.95rem;font-weight:700;font-family:var(--font-display)}
.nav__logo-img{height:38px;width:auto;max-width:min(60vw,300px);object-fit:contain}
.nav__logo-mark{height:36px;width:auto}
.nav__links{display:none}
.nav__actions{display:flex;align-items:center;gap:1.2rem}
.lang-switch{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;letter-spacing:.1em;font-weight:600}
.lang-switch__sep{color:var(--line);font-weight:300}
.lang-switch__item{color:var(--muted);transition:color .3s;padding:.2rem 0}
.lang-switch__item[lang="ar"]{font-family:var(--font-arabic);letter-spacing:0;font-size:.9rem}
.lang-switch__item.is-active{color:var(--ink);text-decoration:underline;text-underline-offset:.35em;text-decoration-color:var(--terracotta);text-decoration-thickness:1.5px}
.lang-switch__item:hover{color:var(--terracotta)}
.lang-switch--large{font-size:1rem}
.nav__toggle{display:inline-flex;align-items:center;gap:.7rem;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
body.rtl .nav__toggle{letter-spacing:0;font-size:.9rem}
.nav__toggle-label{display:none}
.nav__toggle-icon{position:relative;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);display:grid;place-items:center;transition:background .3s,border-color .3s;background:rgba(255,255,255,.3)}
.nav__toggle-icon i{position:absolute;width:16px;height:1.5px;background:var(--ink);transition:transform .5s var(--ease)}
.nav__toggle-icon i:first-child{transform:translateY(-3px)}
.nav__toggle-icon i:last-child{transform:translateY(3px)}
.nav__toggle:hover .nav__toggle-icon{border-color:var(--ink)}
.nav__toggle[aria-expanded="true"] .nav__toggle-icon i:first-child{transform:rotate(45deg)}
.nav__toggle[aria-expanded="true"] .nav__toggle-icon i:last-child{transform:rotate(-45deg)}

/* Full-screen menu (cream) */
.menu{position:fixed;inset:0;z-index:800;background:var(--cream);visibility:hidden;opacity:0;transition:opacity .7s var(--ease-soft),visibility .7s}
.menu.is-open{visibility:visible;opacity:1}
.menu__inner{height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:var(--nav-h);padding-bottom:2rem}
.menu__list{display:flex;flex-direction:column;gap:.15em;border-top:1px solid var(--line)}
.menu__link{display:flex;align-items:baseline;gap:1em;padding:.35em 0;border-bottom:1px solid var(--line-soft);font-size:clamp(2.4rem,8vw,5.6rem);color:var(--ink);opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform 1s var(--ease),color .3s}
.menu__link small{font-family:var(--font-body);font-size:.72rem;letter-spacing:.2em;color:var(--terracotta);font-weight:600}
.menu__link:hover{color:var(--terracotta)}
.menu.is-open .menu__link{opacity:1;transform:none}
.menu.is-open li:nth-child(1) .menu__link{transition-delay:.15s}.menu.is-open li:nth-child(2) .menu__link{transition-delay:.22s}.menu.is-open li:nth-child(3) .menu__link{transition-delay:.29s}
.menu.is-open li:nth-child(4) .menu__link{transition-delay:.36s}.menu.is-open li:nth-child(5) .menu__link{transition-delay:.43s}.menu.is-open li:nth-child(n+6) .menu__link{transition-delay:.5s}
.menu__footer{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:1.2rem 2.4rem;align-items:center;opacity:0;transition:opacity .8s .5s}
.menu.is-open .menu__footer{opacity:1}
.menu__email{color:var(--muted);direction:ltr;unicode-bidi:embed}
.menu__email:hover{color:var(--terracotta)}
body.menu-open{overflow:hidden}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-top:calc(var(--nav-h) + 2rem);padding-bottom:2rem}
.hero__grid{display:grid;grid-template-columns:1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.hero__copy{display:flex;flex-direction:column;align-items:flex-start}
.hero__kicker{display:inline-flex;align-items:center;gap:.9em;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:clamp(1.4rem,3vh,2.4rem)}
body.rtl .hero__kicker{letter-spacing:.02em;font-size:.88rem}
.hero__kicker-dash{width:2.4em;height:1px;background:var(--terracotta)}
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line > *{display:inline-block}
.hero__name{font-size:clamp(4rem,15vw,11.5rem);font-weight:700;letter-spacing:-.055em;line-height:.9;color:var(--ink)}
body.rtl .hero__name{letter-spacing:0;line-height:1.15;font-weight:700;font-size:clamp(4rem,15vw,11rem)}
.hero__tagline{margin-top:clamp(.6rem,2vh,1.4rem);font-size:clamp(1.4rem,3.6vw,2.5rem);color:var(--terracotta);font-weight:500;letter-spacing:-.02em}
body.rtl .hero__tagline{font-weight:400;font-size:clamp(1.5rem,3.8vw,2.6rem)}
.hero__lede{margin-top:clamp(1.4rem,3vh,2.2rem);max-width:44ch;font-size:clamp(1rem,1.35vw,1.15rem);color:var(--muted);line-height:1.8;text-wrap:pretty}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem 2rem;margin-top:clamp(1.8rem,4vh,2.8rem)}
.hero__figure{position:relative;justify-self:center;width:min(78vw,420px)}
.hero__arch{position:relative;border-radius:var(--arch);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow);background:var(--paper);border:1px solid rgba(255,255,255,.7)}
.hero__arch img{width:100%;height:112%;object-fit:cover;will-change:transform}
.hero__seal{position:absolute;inset-inline-end:-8%;bottom:-6%;width:clamp(96px,14vw,150px);aspect-ratio:1;animation:spin 28s linear infinite}
.hero__seal svg{width:100%;height:100%;overflow:visible}
.hero__seal text{font-family:var(--font-body);font-size:8.2px;letter-spacing:.3em;fill:var(--terracotta);font-weight:700}
body.rtl .hero__seal text{font-family:var(--font-body)}
@keyframes spin{to{transform:rotate(360deg)}}
.hero__foot{margin-top:clamp(2.5rem,7vh,5rem);display:flex;flex-direction:column;gap:1.4rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.hero__stats{display:flex;flex-wrap:wrap;gap:1.2rem 2.8rem}
.hero__stats li{display:flex;flex-direction:column}
.hero__stats strong{font-family:var(--font-display);font-weight:700;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.1;letter-spacing:-.03em}
.hero__stats span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-weight:500}
body.rtl .hero__stats span{letter-spacing:0;font-size:.84rem}
.hero__scroll{display:inline-flex;align-items:center;gap:.8rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:600}
body.rtl .hero__scroll{letter-spacing:.02em;font-size:.86rem}
.hero__scroll i{width:44px;height:1px;background:var(--line);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;inset-block:0;inset-inline-start:-100%;width:100%;background:var(--terracotta);animation:sweep 2.4s var(--ease) infinite}
@keyframes sweep{to{inset-inline-start:100%}}

/* ---------- Sections (shared) ---------- */
.section{position:relative;padding-block:var(--section-y)}
.section + .section::before{content:"";position:absolute;top:0;inset-inline:var(--gutter);height:1px;background:var(--line-soft)}
.section__head{margin-bottom:clamp(2.8rem,6vw,5rem);max-width:820px}
.section__head--center{text-align:center;margin-inline:auto}
.section__title{font-size:clamp(2.2rem,5.6vw,4.6rem);margin-top:1.2rem;text-wrap:balance;font-weight:600}
body.rtl .section__title{font-weight:700;font-size:clamp(2.2rem,5.6vw,4.6rem)}
.section__subtitle{margin-top:1rem;font-family:var(--font-display);font-size:clamp(1.2rem,2.2vw,1.65rem);color:var(--terracotta);font-weight:300}
body.rtl .section__subtitle{font-family:var(--font-arabic-display);font-weight:400}
.section__body{margin-top:1.2rem;color:var(--muted);max-width:56ch;line-height:1.85}
.section__head--center .section__body{margin-inline:auto}
.section__body p+p{margin-top:.9em}
.section__cta{margin-top:clamp(2.5rem,5vw,4rem)}
.section__cta--center{text-align:center}
.section__media{margin-block:2rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.statement{font-size:clamp(1.9rem,4.4vw,3.4rem);margin-top:1.2rem;text-wrap:balance;font-weight:600;text-align:center}
.statement__sub{margin-top:1.2rem;color:var(--terracotta);font-family:var(--font-display);font-size:clamp(1.1rem,2vw,1.5rem);text-align:center}
.statement__body{margin-top:1.4rem;color:var(--muted);line-height:1.9;text-align:center}

/* ---------- The Lab ---------- */
.lab{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem)}
.lab__intro .section__head{margin-bottom:1.6rem}
.lab__list{border-top:1px solid var(--line);counter-reset:lab}
.lab-item{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num body" "thumb body";gap:.4rem 1.2rem;padding:1.8rem 0;border-bottom:1px solid var(--line);transition:padding .6s var(--ease)}
.lab-item__num{grid-area:num;font-family:var(--font-body);font-size:.78rem;letter-spacing:.14em;color:var(--terracotta);font-weight:700;min-width:2.4em;padding-top:.75em}
.lab-item__thumb{grid-area:thumb;width:44px;height:44px;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);display:none}
.lab-item__thumb img{width:100%;height:100%;object-fit:cover}
.lab-item__body{grid-area:body}
.lab-item__title{font-size:clamp(1.6rem,3.6vw,2.6rem);transition:color .4s;font-weight:400}
.lab-item:hover .lab-item__title{color:var(--terracotta)}
.lab-item__question{margin-top:.4rem;font-family:var(--font-display);font-size:1.1rem;color:var(--muted)}
body.rtl .lab-item__question{font-family:var(--font-arabic-display)}
.lab-item__text{margin-top:.8rem;color:var(--muted);max-width:58ch;line-height:1.8}
.lab-item .link-arrow{margin-top:.9rem}
.lab-item .tag{position:absolute;top:1.9rem;inset-inline-end:0;display:none}

/* ---------- Models ---------- */
.model-grid{display:grid;gap:clamp(1.4rem,3vw,2.4rem);grid-template-columns:1fr}
.model{position:relative;background:rgba(255,255,255,.6);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:clamp(1.4rem,2.6vw,2rem);transition:transform .8s var(--ease),box-shadow .8s var(--ease),background .5s;box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.model:hover{transform:translateY(-8px);box-shadow:var(--shadow);background:rgba(255,255,255,.5)}
.model__arch{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;margin:0 0 1.6rem;width:100%;background:var(--paper)}
.model__arch img{width:100%;height:110%;object-fit:cover;transition:transform 1.4s var(--ease)}
.model:hover .model__arch img{transform:scale(1.04)}
.model__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.model__no{font-family:var(--font-body);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:700}
.model__title{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.model__sub{margin-top:.5rem;font-family:var(--font-display);color:var(--muted);font-size:1.05rem}
body.rtl .model__sub{font-family:var(--font-arabic-display)}
.model__text{margin-top:.9rem;color:var(--muted);line-height:1.8;font-size:.97rem}
.model__notes{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.8rem}
.model__notes span{width:100%;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:.1rem}
body.rtl .model__notes span{letter-spacing:0;font-size:.8rem}
.model__notes b{font-weight:600;padding:.28em .7em;border-radius:6px;border:1px solid var(--line);background:rgba(255,255,255,.6);font-size:.78rem}
.model__notes i{font-style:normal;color:var(--muted);margin-inline-start:.4em;font-size:.75em}
.model__specs{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem}
.model__specs dt{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
body.rtl .model__specs dt{letter-spacing:0;font-size:.78rem}
.model__specs dd{margin-top:.15rem;font-size:.93rem}
.model .link-arrow{margin-top:1.4rem}

/* ---------- Selected Work ---------- */
.work{display:flex;flex-direction:column;gap:clamp(3.5rem,8vw,7rem)}
.work-row{display:grid;grid-template-columns:1fr;gap:clamp(1.4rem,3vw,2.6rem);align-items:center}
.work-row__media{display:block;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/11;box-shadow:var(--shadow);background:var(--paper)}
.work-row__media img,.work-row__media video{width:100%;height:112%;object-fit:cover;transition:transform 1.4s var(--ease)}
.work-row:hover .work-row__media img{transform:scale(1.03)}
.work-row__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--paper),rgba(var(--primary-rgb),.25))}
.work-row__no{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.2rem);font-weight:600;line-height:1;color:rgba(var(--primary-rgb),.35);letter-spacing:-.04em}
.work-row__meta{display:flex;align-items:center;gap:.8rem;margin-top:.8rem}
.work-row__year{font-size:.74rem;letter-spacing:.18em;color:var(--muted);font-weight:600}
.work-row__title{margin-top:.9rem;font-size:clamp(1.8rem,3.6vw,3rem)}
.work-row__sub{margin-top:.5rem;font-family:var(--font-display);color:var(--terracotta);font-size:1.15rem}
body.rtl .work-row__sub{font-family:var(--font-arabic-display)}
.work-row__text{margin-top:1rem;color:var(--muted);max-width:52ch;line-height:1.8}
.work-row__facts{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:1rem 2.4rem}
.work-row__facts dt{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}
body.rtl .work-row__facts dt{letter-spacing:0;font-size:.78rem}
.work-row__facts dd{font-size:.95rem;margin-top:.15rem}
.work-row .link-arrow{margin-top:1.4rem}

/* ---------- Contact (espresso panel) ---------- */
.section--contact{padding-block:clamp(2rem,4vw,3rem) var(--section-y)}
.contact{background:var(--espresso);color:var(--cream);border-radius:calc(var(--radius-lg) + 6px);padding:clamp(2rem,5vw,4.5rem);display:grid;grid-template-columns:1fr;gap:clamp(2.2rem,5vw,4rem);box-shadow:var(--shadow);position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:auto -20% -40% auto;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(var(--primary-rgb),.5),transparent 65%);filter:blur(40px);pointer-events:none}
.contact__grid{position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(var(--bg-rgb),.6) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--bg-rgb),.6) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse at 100% 0%,#000,transparent 70%);mask-image:radial-gradient(ellipse at 100% 0%,#000,transparent 70%)}
.contact::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--logo-mark,none) 92% 12%/min(40%,320px) no-repeat;opacity:.08;filter:brightness(4) grayscale(1)}
.contact .eyebrow{color:rgba(var(--bg-rgb),.75)}
.contact .section__title{color:var(--cream)}
.contact .section__subtitle{color:rgba(var(--bg-rgb),.8)}
.contact .section__body{color:rgba(var(--bg-rgb),.7)}
.contact .section__head{margin-bottom:2rem}
.contact__details{display:flex;flex-direction:column;gap:1.3rem}
.contact__details dt{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(var(--bg-rgb),.55);margin-bottom:.35rem;font-weight:600}
body.rtl .contact__details dt{letter-spacing:0;font-size:.8rem}
.contact__details dd{font-size:1.05rem;color:var(--cream)}
.contact__details a:hover{color:rgba(var(--bg-rgb),.75)}
.contact__big{font-size:clamp(1.4rem,3.2vw,2.3rem);direction:ltr;unicode-bidi:embed;display:inline-block;word-break:break-all;text-decoration:underline;text-decoration-color:rgba(var(--bg-rgb),.3);text-underline-offset:.2em;text-decoration-thickness:1px}
.contact__social{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.contact__social a{border-bottom:1px solid rgba(var(--bg-rgb),.3);padding-bottom:.1em;font-size:.95rem}
.contact__form-wrap{position:relative;z-index:1}
.contact-form{display:flex;flex-direction:column;gap:1.4rem}
.hp{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;overflow:hidden}
.field{position:relative}
.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(var(--bg-rgb),.3);padding:1.3rem 0 .7rem;color:var(--cream);font:inherit;font-size:1rem;transition:border-color .3s;resize:vertical}
.field textarea{min-height:110px}
.field label{position:absolute;inset-inline-start:0;top:1.2rem;color:rgba(var(--bg-rgb),.6);pointer-events:none;transition:transform .35s var(--ease),color .3s,font-size .35s;transform-origin:top left;font-size:1rem}
body.rtl .field label{transform-origin:top right}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--cream)}
.field input:focus~label,.field input:not(:placeholder-shown)~label,.field textarea:focus~label,.field textarea:not(:placeholder-shown)~label{transform:translateY(-1.1rem);font-size:.72rem;letter-spacing:.08em;color:rgba(var(--bg-rgb),.75)}
.field.is-invalid input,.field.is-invalid textarea{border-color:#e39a7c}
.field__error{display:block;font-size:.75rem;color:#e39a7c;margin-top:.4rem;min-height:1em}
.contact-form__footer{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:.4rem}
.contact-form__footer small{color:rgba(var(--bg-rgb),.55);font-size:.78rem}
.form-status{font-size:.9rem;min-height:1.2em;color:rgba(var(--bg-rgb),.7)}
.form-status.is-success{color:#cfe3c1}
.form-status.is-error{color:#e39a7c}
.contact-form.is-sending{opacity:.6;pointer-events:none}

/* ---------- Cards & gallery (custom sections) ---------- */
.card-grid{display:grid;gap:1.4rem;grid-template-columns:1fr}
.card{padding:1.8rem;border-radius:var(--radius-lg);background:rgba(255,255,255,.6);border:1px solid var(--line-soft);transition:transform .7s var(--ease),box-shadow .7s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card__media{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;margin-bottom:1.2rem}
.card__media img{width:100%;height:100%;object-fit:cover}
.card__title{font-size:1.6rem;margin-top:.8rem}
.card__sub{margin-top:.4rem;font-family:var(--font-display);color:var(--terracotta)}
.card__body{margin-top:.8rem;color:var(--muted);line-height:1.8;font-size:.96rem}
.card .link-arrow{margin-top:1.2rem}
.gallery{display:grid;gap:1.2rem;grid-template-columns:1fr}
.gallery__item{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/3;background:var(--paper);box-shadow:var(--shadow)}
.gallery__item img,.gallery__item video{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.gallery__item:hover img{transform:scale(1.04)}
.gallery__item figcaption{position:absolute;inset-inline:0;bottom:0;padding:1rem 1.2rem;background:linear-gradient(to top,rgba(var(--secondary-rgb),.8),transparent);color:var(--cream);font-size:.9rem}
.gallery__item figcaption span{display:block;opacity:.8;font-size:.78rem;margin-top:.2rem}

/* ---------- Footer ---------- */
.footer{padding-block:clamp(3rem,7vw,5rem) 2rem;border-top:1px solid var(--line)}
.footer__top{display:grid;gap:2.4rem;grid-template-columns:1fr}
.footer__name{font-size:1.7rem;font-weight:700;letter-spacing:-.03em}
.footer__logo img{height:40px;width:auto}
.footer__tag{margin-top:.6rem;color:var(--muted);font-family:var(--font-display);font-size:1.05rem;max-width:34ch}
body.rtl .footer__tag{font-family:var(--font-arabic-display)}
.footer__nav{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;font-size:.9rem;color:var(--muted)}
.footer__nav a:hover,.footer__social-link:hover,.footer__top-link:hover{color:var(--terracotta)}
.footer__social{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;font-size:.9rem;color:var(--muted)}
.footer__bottom{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;font-size:.78rem;color:var(--muted)}
.footer__meta{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}

/* ==========================================================================
   Breakpoints (mobile-first)
   ========================================================================== */
@media (min-width:640px){
  .nav__toggle-label{display:inline}
  .model-grid{grid-template-columns:repeat(2,1fr)}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .lab-item{grid-template-columns:auto auto 1fr;grid-template-areas:"num thumb body";gap:1.4rem;align-items:start;padding:2.2rem 0 2.2rem}
  .lab-item__thumb{display:block;width:60px;height:60px;margin-top:.35rem}
  .lab-item .tag{display:inline-flex}
  .lab-item__body{padding-inline-end:7rem}
  .hero__foot{flex-direction:row;justify-content:space-between;align-items:flex-end}
  .work-row{grid-template-columns:1fr 1fr}
  .work-row:nth-child(even) .work-row__media{order:2}
}
@media (min-width:900px){
  :root{--nav-h:96px}
  .hero__grid{grid-template-columns:1.25fr .9fr;gap:clamp(2rem,6vw,6rem)}
  .hero__figure{justify-self:end;width:min(100%,460px)}
  .lab{grid-template-columns:.9fr 1.3fr;align-items:start}
  .lab__intro{position:sticky;top:calc(var(--nav-h) + 1rem)}
  .contact{grid-template-columns:1fr 1fr;align-items:start;padding:clamp(3rem,6vw,5.5rem)}
  .footer__top{grid-template-columns:1.3fr 1fr auto}
  .lab-item:hover{padding-inline-start:.8rem}
}
@media (min-width:1100px){
  .nav__links{display:flex;gap:2.4rem;position:absolute;left:50%;transform:translateX(-50%)}
  .nav__link{position:relative;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .3s;padding:.4rem 0;font-weight:600}
  body.rtl .nav__link{letter-spacing:0;font-size:.95rem}
  .nav__link::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:var(--terracotta);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
  .nav__link:hover,.nav__link.is-active{color:var(--ink)}
  .nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1);transform-origin:left}
  .model-grid{grid-template-columns:repeat(3,1fr)}
  .card-grid{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(3,1fr)}
  .work-row{gap:clamp(2.5rem,6vw,6rem);grid-template-columns:1.15fr 1fr}
}
@media (min-width:1600px){
  :root{--container:1600px}
  body{font-size:17px}
  .hero__figure{width:min(100%,520px)}
}
@media (max-height:560px) and (orientation:landscape){.hero{min-height:auto;padding-block:7rem 3rem}}
@media print{.nav,.menu,.loader,.light,.hero__scroll{display:none!important}body{background:#fff}}


/* ==========================================================================
   Precision layer — measured, technical details on the warm editorial base
   ========================================================================== */
/* Capability bars (models) */
.bars{margin-top:1.3rem;display:flex;flex-direction:column;gap:.55rem}
.bars__label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:700}
body.rtl .bars__label{letter-spacing:0;font-size:.8rem}
.bar{display:grid;grid-template-columns:minmax(5.5rem,auto) 1fr 2.4em;align-items:center;gap:.8rem;font-size:.8rem}
.bar__name{color:var(--muted);font-weight:500}
.bar__track{height:3px;border-radius:3px;background:rgba(var(--text-rgb),.1);overflow:hidden}
.bar__track i{display:block;height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,var(--terracotta),var(--sage));transition:width 1.4s var(--ease) .2s}
body.rtl .bar__track i{background:linear-gradient(270deg,var(--terracotta),var(--sage))}
.is-in .bar__track i,.no-gsap .bar__track i{width:var(--w)}
.bar__val{font-variant-numeric:tabular-nums;color:var(--ink);text-align:end;font-weight:600;font-family:var(--font-display)}

/* Hero: technical badge instead of a wax seal */
.hero__badge{position:absolute;inset-inline-end:-6%;bottom:8%;display:flex;flex-direction:column;gap:.35rem;padding:.9rem 1.1rem;border-radius:12px;
  background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border:1px solid var(--line-soft);box-shadow:var(--shadow);min-width:150px}
.hero__badge b{font-family:var(--font-display);font-size:1.25rem;letter-spacing:-.03em;line-height:1}
.hero__badge span{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
body.rtl .hero__badge span{letter-spacing:0;font-size:.76rem}
.hero__badge i{width:100%;height:2px;border-radius:2px;background:rgba(var(--text-rgb),.1);position:relative;overflow:hidden;margin-top:.15rem}
.hero__badge i::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:78%;background:linear-gradient(90deg,var(--terracotta),var(--sage));border-radius:2px}
.hero__arch::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);background-size:44px 44px;opacity:.55}

/* Section index chip */
.section__head .eyebrow{padding:.3em .85em .3em 0}
.model__specs dd{font-variant-numeric:tabular-nums}
.work-row__facts dd{font-variant-numeric:tabular-nums}

/* Arabic hero: keep the company name on one line and give it room */
body.rtl .hero__name{font-size:clamp(2.9rem,9vw,6.8rem);letter-spacing:0;line-height:1.45}
body.rtl .hero__name .line{padding-top:.06em}
.hero__name .line > *{white-space:nowrap}
@media (max-width:420px){.hero__name{font-size:clamp(3rem,13vw,4.6rem)}body.rtl .hero__name{font-size:clamp(2.6rem,11vw,4rem)}}

/* ==========================================================================
   Motion layer — split words, progress, marquee
   ========================================================================== */
/* Masked word reveals (created by site.js) */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.w__i{display:inline-block;white-space:pre}
.js .section__title,.js .statement{will-change:transform}

/* Reading progress */
.progress{position:fixed;top:0;inset-inline:0;height:2px;z-index:950;background:var(--terracotta);transform:scaleX(0);transform-origin:left;pointer-events:none}
body.rtl .progress{transform-origin:right}

/* Marquee band */
.marquee{overflow:hidden;padding-block:clamp(2rem,5vw,4rem);border-block:1px solid var(--line-soft);background:linear-gradient(180deg,transparent,rgba(var(--surface-rgb),.55),transparent)}
.marquee__track{display:flex;align-items:center;gap:2.5rem;width:max-content;will-change:transform}
.marquee__track span{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,3.2rem);font-weight:600;letter-spacing:-.03em;color:rgba(var(--text-rgb),.32);white-space:nowrap}
body.rtl .marquee__track span{font-family:var(--font-arabic-display);letter-spacing:0}
.marquee__track i{width:10px;height:10px;border-radius:50%;background:var(--terracotta);opacity:.5;flex:none}

/* Clip-path targets need a paint layer so the unveil is smooth */
.work-row__media,.model__arch,.gallery__item,.card__media,.lab-item__thumb,.hero__arch{will-change:clip-path}

/* Smooth-scroll host */
html.has-lenis{scroll-behavior:auto}
html.has-lenis body{overscroll-behavior:none}

/* heading rule (injected by the motion layer) */
.section__rule{display:block;height:1px;width:min(100%,26rem);margin-block-start:clamp(1.2rem,2.5vw,2rem);background:linear-gradient(to right,var(--line),transparent);transform:scaleX(0)}
.section__head--center .section__rule{margin-inline:auto;background:linear-gradient(to right,transparent,var(--line),transparent)}
body.rtl .section__rule{background:linear-gradient(to left,var(--line),transparent)}
