@font-face{font-family:'Host Grotesk';src:url('/assets/fonts/host-grotesk-latin.woff2?v=fonts-1') format('woff2');font-style:normal;font-weight:300 800;font-display:swap;unicode-range:U+20-7E,U+A0-FF,U+2000-206F,U+2190-21FF,U+2018-201D,U+AB,U+BB,U+B7,U+2022,U+2026,U+20AC}@font-face{font-family:Alexandria;src:url('/assets/fonts/alexandria-ar.woff2?v=fonts-1') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+20-7E,U+A0-FF,U+600-6FF,U+750-77F,U+8A0-8FF,U+FB50-FDFF,U+FE70-FEFF,U+2000-206F,U+2190-21FF,U+2018-201D,U+AB,U+BB,U+B7,U+2022,U+2026,U+20AC,U+61C,U+640}
:root{--dur-breath:1300ms;--dur-stagger:150ms;--color-void:#000000;--color-bone:#ffffff;--color-ash:#9a9a9a;--color-silver:#bdbdbd;--color-iris:#8052ff;--color-iris-text:#9b7bff;--color-iris-hover:#7a4df0;--color-iris-active:#6f47e6;--color-amber:#ffb829;--color-verdant:#15846e;--particle-iris:#8052ff;--particle-amber:#ffb829;--particle-verdant:#15846e;--particle-cyan:#51d4e2;--particle-pink:#ed79b4;--particle-cream:#f4ecdc;--particle-violet:#b9a4ff;--color-surface-0:#000000;--color-surface-1:#0b0b0b;--color-surface-2:#131313;--color-surface-3:#202020;--color-line-faint:#161616;--color-line:#242424;--color-line-strong:#333333;--color-overlay:#000000ba;--color-surface-user:#241d3d;--color-danger:#ffb7ad;--color-danger-surface:#511923;--color-danger-line:#824151;--radius-sm:12px;--radius-lg:24px;--radius-pill:9999px;--radius-bubble:20px 20px 5px 20px;--radius-circle:50%;--focus-color:var(--color-amber);--focus-width:2px;--focus-offset:5px;--font-latin:'Host Grotesk', Arial, sans-serif;--font-arabic:Alexandria, 'Host Grotesk', sans-serif;--text-floor:12px;--text-body-marketing:18px;--text-body-product:16px;--text-label:14px;--text-caption:12px;--leading-marketing:1.75;--leading-arabic:1.95;--weight-heading:400;--weight-label:600;--weight-body:300;--tracking-display:-0.04em;--tracking-heading:-0.035em;--tracking-label:0.025em;--tracking-brand:-0.025em;--tracking-tight:-0.01em;--tracking-ar:0;--weight-ar-heading:400;--weight-ar-label:500;--weight-ar-body:300;--dur-fast:80ms;--dur-base:180ms;--dur-slow:240ms;--dur-enter:140ms;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-inout:cubic-bezier(.4,0,.2,1);--space-3:6px;--space-6:12px;--space-9:18px;--space-12:24px;--space-15:30px;--space-18:36px;--space-30:60px;--space-48:96px;--space-60:120px;--page-max:1280px;--gutter:clamp(24px,5.4vw,84px);--dur-fast:80ms;--dur-base:180ms;--dur-slow:240ms;--dur-enter:140ms;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-inout:cubic-bezier(.4,0,.2,1);;color-scheme:dark;--void:#000;--white:#fff;--iris:#8052ff;--amber:#ffb829;--ash:#9a9a9a;--silver:#bdbdbd;--verdant:#15846e;--gutter:clamp(24px,5.4vw,84px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:48px}body{margin:0;background:var(--void);color:var(--white);font-family:'Host Grotesk',Arial,sans-serif;font-size:18px;font-weight:400;-webkit-font-smoothing:antialiased}html[lang=ar] body{font-family:Alexandria,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:var(--focus-width) solid var(--focus-color);outline-offset:var(--focus-offset)}::selection{background:var(--iris);color:var(--white)}.wrap{max-width:1448px;margin-inline:auto;padding-inline:var(--gutter)}.header{position:relative;z-index:5;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:36px;direction:ltr}.brand{display:inline-flex;align-items:center;gap:11px;font-size:23px;white-space:nowrap;line-height:1.5}.nav{display:flex;gap:32px;align-items:center}.nav a,.header-start,.language{font-size:13px;color:var(--silver);min-height:44px;display:inline-flex;align-items:center}.nav a:hover,.language:hover,.header-start:hover{color:var(--white)}.header-actions{display:flex;align-items:center;gap:28px}.language{border:0;background:none;padding:0;gap:10px;cursor:pointer}.header-start{color:var(--white)}html[dir=rtl] .nav{direction:rtl}#particle-canvas{position:fixed;z-index:0;right:0;top:110px;width:53vw;height:calc(100vh - 140px);pointer-events:none}.mobile-sculpture{display:none}main,.footer{position:relative;z-index:1}.story{min-height:105svh;display:flex;align-items:center;direction:ltr;padding-block:120px}.hero{min-height:calc(100svh - 112px);padding-block:76px 70px}.story-copy{width:49%;max-width:650px}.eyebrow{font-size:13px;letter-spacing:var(--tracking-label);color:var(--amber);margin:0 0 30px;line-height:1.7}.step{color:var(--ash);margin-inline-end:12px;font-variant-numeric:tabular-nums}h1,h2{font-weight:400;font-size:clamp(52px,6.2vw,90px);line-height:1.08;letter-spacing:-.035em;margin:0 0 36px;text-wrap:balance}.intro{max-width:470px;font-size:19px;line-height:1.75;font-weight:300;color:var(--silver);margin:0 0 30px;text-wrap:pretty}.button{display:inline-flex;justify-content:center;align-items:center;gap:36px;min-height:52px;padding:14px 26px;border-radius:999px;background:var(--iris);font-size:14px;line-height:1.5;color:var(--white);transition:transform var(--dur-base),filter var(--dur-base)}.button:hover{transform:translateY(-2px);filter:brightness(1.12)}.arrow{font-family:Arial,sans-serif;font-size:22px}.disclosure{font-size:12px;line-height:1.85;color:var(--ash);max-width:430px;margin:24px 0 0}.scroll-link{display:inline-flex;gap:22px;align-items:center;color:var(--ash);font-size:12px;margin-top:50px;min-height:44px}.quiet{color:var(--ash);font-size:15px;line-height:1.9;max-width:440px;margin:18px 0}.text-link{display:inline-flex;gap:22px;align-items:center;color:var(--white);font-size:15px;min-height:48px;margin-top:22px}.text-link:hover,.footer a:hover{color:var(--amber)}html[dir=rtl] .story-copy{text-align:right;direction:rtl}html[dir=rtl] h1,html[dir=rtl] h2{letter-spacing:0;line-height:1.45;font-size:clamp(54px,6vw,88px)}html[dir=rtl] .intro{font-size:18px;line-height:1.95;font-weight:400}html[dir=rtl] .eyebrow{letter-spacing:0}html[dir=rtl] .arrow{transform:scaleX(-1)}h1,h2{letter-spacing:-.04em;font-optical-sizing:auto}html[lang=ar] h1,html[lang=ar] h2{font-weight:300;letter-spacing:0}.brand{font-weight:500;letter-spacing:-.025em}.eyebrow{font-weight:500;letter-spacing:var(--tracking-label)}html[lang=ar] .eyebrow{font-weight:400}.button{font-weight:500;letter-spacing:var(--tracking-label)}.button:active{transform:scale(.97);transition-duration:var(--dur-fast)}summary{font-weight:400;letter-spacing:var(--tracking-tight)}.faq-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;direction:ltr;padding-block:160px;position:relative;background:var(--void)}.faq-heading h2{font-size:clamp(58px,6vw,82px)}.faq-list{padding-top:12px}details{padding-block:18px 24px}summary{cursor:pointer;list-style:none;display:flex;gap:25px;align-items:center;justify-content:space-between;font-size:19px;line-height:1.6;min-height:44px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font:300 26px 'Host Grotesk',Arial,sans-serif;color:var(--ash)}details[open] summary:after{content:'−'}details p{font-size:15px;color:var(--silver);line-height:1.9;max-width:490px;margin:18px 0 6px}html[dir=rtl] .faq-heading,html[dir=rtl] .faq-list{text-align:right;direction:rtl}.closing{position:relative;background:var(--void);padding-block:120px 170px;direction:ltr}.closing h2{font-size:clamp(80px,9vw,128px)}html[dir=rtl] .closing{direction:rtl;text-align:right}.closing-note{color:var(--ash);font-size:12px;line-height:1.8;margin-top:25px}.footer{background:var(--void);padding-block:40px 35px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px}.footer-top>p{font-size:14px;color:var(--ash)}.footer nav{display:flex;gap:24px;font-size:13px;flex-wrap:wrap}.footer nav a{display:inline-flex;min-height:44px;align-items:center}.footer-safety{font-size:12px;color:var(--ash);max-width:720px;line-height:1.9;margin:50px 0 36px}.footer-bottom{display:flex;justify-content:space-between;color:var(--ash);font-size:12px;gap:30px}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.skip-link{position:fixed;top:-100px;inset-inline-start:24px;background:var(--iris);padding:14px 24px;border-radius:24px;z-index:100}.skip-link:focus{top:20px}
@media(min-width:1600px){#particle-canvas{right:calc((100vw - 1600px)/2);width:800px}}
@media(max-width:1000px){.header{gap:24px}.nav{gap:20px}.header-actions{gap:20px}.story-copy{width:50%}.intro{font-size:17px}.faq-section{gap:60px}.footer-top{flex-wrap:wrap}.footer-top>p{margin-inline-end:auto}}
@media(max-width:900px){.header{min-height:92px;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:16px}.brand{font-size:20px}.header-actions{margin-left:auto}.header-start{display:none}.nav{order:3;width:100%;justify-content:space-between;gap:16px}.nav a{font-size:12px;min-height:36px}.language{font-size:12px}#particle-canvas{display:none}.mobile-sculpture{display:block;height:230px;width:100%;margin:0 auto 26px}.mobile-sculpture canvas{display:block;width:100%;height:100%}.hero .mobile-sculpture{height:210px;margin-bottom:18px}.hero{padding-top:0;min-height:auto;padding-bottom:70px}.story{display:block;min-height:0;padding-block:70px}.story.hero{padding-top:0}.story-copy{width:100%;max-width:550px}h1,h2{font-size:clamp(36px,11.5vw,58px);letter-spacing:var(--tracking-display);line-height:1.12;margin-bottom:24px}html[dir=rtl] h1,html[dir=rtl] h2{font-size:clamp(36px,11.2vw,58px);line-height:1.45;letter-spacing:0}.eyebrow{margin-bottom:16px;font-size:12px}.intro,html[dir=rtl] .intro{font-size:16px;line-height:1.8;margin-bottom:24px}.disclosure{max-width:100%;font-size:12px}.scroll-link{margin-top:28px}.faq-section{grid-template-columns:1fr;gap:32px;padding-block:100px}.faq-heading h2{font-size:clamp(36px,10vw,58px)}.faq-list{padding:0}summary{font-size:17px}details{padding-block:16px 22px}.closing{padding-block:100px 120px}.closing h2{font-size:clamp(36px,10vw,68px)}.footer-top{align-items:flex-start;gap:20px}.footer-top>p{width:100%;order:3;margin:0}.footer nav{gap:16px}.footer-safety{margin-top:36px}.footer-bottom{align-items:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none}}
/* Design-spec alignment: ultra-light body, uppercase 14px nav/labels, flat 14px pill. Host Grotesk's lightest weight is 300, so 300 is the Latin floor. */
.intro{font-size:18px;font-weight:300}html[lang=ar] .intro{font-size:18px;font-weight:300}html[lang=ar] h1,html[lang=ar] h2{font-weight:400}
.nav a,.header-start,.language{font-size:14px;font-weight:600;letter-spacing:.025em;text-transform:uppercase;color:var(--ash)}.header-start{color:var(--white)}.nav a:hover,.language:hover,.header-start:hover{color:var(--white)}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.button{font-weight:600;letter-spacing:.025em;text-transform:uppercase;padding:14px 24px}.button:hover{filter:none}
html[lang=ar] .nav a,html[lang=ar] .header-start,html[lang=ar] .language,html[lang=ar] .eyebrow,html[lang=ar] .button{letter-spacing:0;text-transform:none;font-weight:500}
@media(max-width:900px){.nav a,.language{font-size:13px}.eyebrow{font-size:13px}}
/* Angular triangular mark (flat colours) and the spec's 1280px content width. */

.wrap{max-width:1280px}
@media(min-width:1600px){#particle-canvas{right:calc((100vw - 1280px)/2 - 60px);width:760px}}
/* RTL mirror — design-critic pass. Arabic mirrors the hero + FAQ and the fixed canvas anchor,
   so the reading start and the sculpture face the copy block. Verified against the accepted
   invariant (docW - x - w in AR == x in EN, <=2px) with zero horizontal overflow. */
html[dir=rtl] .header{direction:rtl}
html[dir=rtl] .story{direction:rtl}
html[dir=rtl] .faq-section{direction:rtl}
html[dir=rtl] #particle-canvas{right:auto;left:0}
@media(min-width:1600px){html[dir=rtl] #particle-canvas{right:auto;left:calc((100vw - 1280px)/2 - 60px)}}
/* Short-viewport hero rhythm — design-critic pass. The Arabic hero line-height is 1.45 (vs 1.08 Latin),
   so at a 640px viewport its CTA fell below the fold by 22px. This compresses only the hero's vertical
   rhythm (never the type scale) when height is scarce. Measured: CTA clearance at 640px goes -22px -> +50px,
   zero horizontal overflow, and tall viewports are untouched (the query does not match). */
@media(max-height:720px){
.hero{padding-block:40px 44px}
.hero .eyebrow{margin-bottom:18px}
.hero h1{margin-bottom:22px}
.hero .intro{margin-bottom:20px}
.hero .disclosure{margin-top:16px}
.hero .scroll-link{margin-top:26px}
}

/* Motion pass — @frontend-motion-designer (findings §7.6.1). Rules enforced here:
   1. only transform / opacity / colour animate — no filter, no layout properties;
   2. every animated thing below is neutralised by the reduced-motion query above;
   3. hover + press feedback exists on EVERY touchable element — the tap highlight was
      removed with -webkit-tap-highlight-color, so the :active states are its replacement
      (a state change, not an animation, so they survive prefers-reduced-motion). */
a,button,summary{transition:color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.button{transition:transform var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out)}
.button:hover{transform:translateY(-2px);background-color:var(--color-iris-hover)}
.button:active{transform:scale(.97);transition-duration:var(--dur-fast)}
.nav a:active,.header-start:active,.language:active,.text-link:active,.scroll-link:active,.footer a:active,.footer-bottom a:active,.brand:active,summary:active{opacity:.68}
summary:after{transition:color var(--dur-slow) var(--ease-out)}
details[open] summary:after{color:var(--color-silver)}
/* FAQ disclosure — the only tap-to-reveal gesture on the page had zero motion (transition:all/0s).
   Progressive: browsers without interpolate-size keep the instant open, no breakage. */
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  details::details-content{block-size:0;overflow:hidden;transition:block-size var(--dur-slow) var(--ease-inout) allow-discrete,content-visibility var(--dur-slow) allow-discrete}
  details[open]::details-content{block-size:auto}
}
/* The page-level reduced-motion override is `*,*:before,*:after` — which does NOT reach
   ::details-content (a pseudo-element of details, not of the universal selector). Without
   this line the FAQ kept animating for reduced-motion users (~240ms). Verified by measuring
   the pseudo-element's own computed transitionDuration, not the elements'. */
@media(prefers-reduced-motion:reduce){details::details-content{transition:none!important}}
.brand-logo{width:36px;height:36px;flex-shrink:0;display:block}
