@font-face { font-family:"Noto Sans Arabic"; src:url("/figure/fonts/noto-sans-arabic.ttf") format("truetype"); font-style:normal; font-weight:100 900; font-display:swap; }
/* Figure v10: bilingual-ready editorial grid, quiet news motion, symbol intro. */
.language-picker { position:relative; margin-inline-start:20px; flex-shrink:0; }
.language-trigger { display:flex; align-items:center; gap:7px; min-height:40px; padding:8px 4px; font-size:12px; font-weight:400; }
.language-trigger svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1; }
.language-options { position:absolute; inset-inline-end:0; top:calc(100% + 8px); width:166px; padding:8px; background:var(--color-paper-frost); color:var(--color-ink); border:1px solid var(--color-control-gray); border-radius:12px; box-shadow:0 12px 30px #1d1d1f0a; opacity:0; transform:translateY(-5px); transition:opacity 220ms ease,transform 300ms var(--ui-ease); }
.language-options[hidden] { display:none; }
.language-options.is-open { opacity:1; transform:none; }
.language-options a { display:block; padding:12px; border-radius:7px; font-size:13px; direction:ltr; text-align:start; transition:background-color 250ms ease,color 250ms ease; }
.language-options [aria-current] { color:var(--color-apple-blue); }
@media(hover:hover) { .language-options a:hover { background:var(--color-control-gray); } }
.navigation-content { gap:16px; }
.desktop-links { margin-inline-start:auto; }
.preorder-context { min-height:100%; }
.preorder-form input[name=contact] { direction:ltr; text-align:start; }
.preorder-card>h2,.preorder-logo,#preorder-description,.preorder-field,.preorder-dismiss-area { transition-duration:400ms,480ms; }
.is-closing .preorder-card>h2,.is-closing .preorder-logo,.is-closing #preorder-description,.is-closing .preorder-field,.is-closing .preorder-dismiss-area { transition-duration:240ms; transition-delay:0ms; }

.news-section { position:relative; display:grid; grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr); gap:40px; align-items:center; min-height:820px; padding:100px var(--gutter); background:var(--color-studio-mist); overflow:hidden; }
.news-intro { position:relative; z-index:1; padding:35px 0; }
.news-intro h2 { margin:0 0 28px; font:400 clamp(42px,5.5vw,78px)/1.07 var(--display); letter-spacing:-.05em; }
.news-intro>p { max-width:290px; font:400 17px/1.6 var(--body); color:var(--color-slate); }
.news-motion { margin-top:40px; min-height:40px; font:400 12px/1.4 var(--body); color:var(--color-slate); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; transition:color 200ms ease; }
.news-motion:hover { color:var(--color-ink); }
.drift-wall { --tile-width:250px; --tile-height:192px; --tile-gap:24px; position:relative; height:620px; width:100%; perspective:1100px; overflow:hidden; mask-image:linear-gradient(transparent,black 15%,black 85%,transparent); }
.drift-plane { position:absolute; top:50%; left:50%; display:flex; direction:ltr; transform-style:preserve-3d; transform:translate(-50%,-50%) rotateX(8deg) rotateY(-14deg) rotateZ(-3deg); }
.drift-column { width:calc(var(--tile-width) + var(--tile-gap)); transform-style:preserve-3d; }
.drift-track { will-change:transform; transform-style:preserve-3d; }
.drift-copy { display:flex; flex-direction:column; }
.drift-card { position:relative; display:block; width:100%; height:calc(var(--tile-height) + var(--tile-gap)); flex:0 0 auto; transform-style:preserve-3d; }
.drift-card-surface { position:absolute; inset:calc(var(--tile-gap)/2); display:block; background:var(--color-paper-frost); border:1px solid #e0e0e3; border-radius:12px; overflow:hidden; transform:translateZ(0); opacity:.8; transition:opacity 400ms ease,transform 450ms var(--ui-ease),border-color 400ms ease; }
.drift-column:nth-child(2) .drift-card-surface { background:var(--color-gallery-white); }
.drift-card img,.drift-card video { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.drift-card-copy { position:absolute; inset:22px; display:flex; flex-direction:column; justify-content:space-between; text-align:start; direction:inherit; }
.drift-card-copy>span { font:400 11px/1.4 var(--body); color:var(--color-slate); }
.drift-card-copy h3 { margin:0; max-width:200px; font:400 23px/1.16 var(--display); letter-spacing:-.035em; color:var(--color-ink); }
.drift-card-surface:has(img,video)::after { content:''; position:absolute; inset:0; background:linear-gradient(#0001,#0007); }
.drift-card-surface:has(img,video) .drift-card-copy { z-index:1; }
.drift-card-surface:has(img,video) .drift-card-copy :is(h3,span) { color:#fff; }
@media(hover:hover) and (pointer:fine) { .drift-card:hover .drift-card-surface { transform:translateZ(16px); opacity:1; border-color:var(--color-steel); } }
/* Keyboard access gets a stationary layout with one copy of every post. */
.drift-wall:focus-within { height:auto; mask-image:none; overflow:visible; }
.drift-wall:focus-within .drift-plane { position:static; transform:none; }
.drift-wall:focus-within .drift-track { transform:none!important; }
.drift-wall:focus-within [data-copy] { display:none; }
.drift-card:focus-visible .drift-card-surface { outline:2px solid var(--color-apple-blue); outline-offset:2px; opacity:1; }

.page-loader { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; background:var(--color-gallery-white); opacity:0; visibility:hidden; pointer-events:none; }
.loader-mark { width:62px; height:65px; overflow:visible; }
.brand-loading .page-loader { visibility:visible; opacity:1; animation:brand-away 400ms 850ms ease both; }
.brand-loading .loader-mark path { stroke-width:1.5; stroke:#0b1521; stroke-dasharray:1; animation:mark-trace 670ms cubic-bezier(.22,1,.36,1) both; }
.brand-loading .loader-mark path+path { stroke:#2457f1; animation-delay:110ms; }
@keyframes mark-trace { 0% { stroke-dashoffset:1; fill-opacity:0; } 65% { stroke-dashoffset:0; fill-opacity:0; } 100% { stroke-dashoffset:0; fill-opacity:1; } }
@keyframes brand-away { to { opacity:0; visibility:hidden; } }



@keyframes page-out { to { opacity:0; } }
@keyframes page-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
html.page-leaving body { opacity:0; transition:opacity 240ms ease; }
html.page-arriving body { animation:page-in 420ms var(--ui-ease) both; }

/* Arabic uses native right-to-left reading order, with unmirrored brand geometry. */
html[dir=rtl] { --display:"Noto Sans Arabic",Arial,sans-serif; --body:"Noto Sans Arabic",Arial,sans-serif; }
[dir=rtl] :is(h1,h2,h3,.story-masthead,.footer-link-label) { letter-spacing:0!important; text-transform:none; }
[dir=rtl] .scene-description :is(h1,h2) { line-height:1.35; }
[dir=rtl] .scene-description p { line-height:1.8; }
[dir=rtl] .desktop-links>a,[dir=rtl] .desktop-links>button { font-family:var(--body); font-size:13px; }
[dir=rtl] .story-masthead { font-size:clamp(52px,7vw,112px); line-height:1.3; }
[dir=rtl] .story-right .scene-description { margin-left:0; margin-right:auto; }
[dir=rtl] .story-right .scene-content>.action { margin-left:0; margin-right:calc(100% - 520px); }
[dir=rtl] .preorder-layout { direction:ltr; }
[dir=rtl] .preorder-card { direction:rtl; }
[dir=rtl] .preorder-card h2 { line-height:1.4; }
[dir=rtl] .preorder-form label>span { margin-left:0; margin-right:6px; }
[dir=rtl] .contact-start input { direction:ltr; }
[dir=rtl] .workflow-step { padding-left:0; padding-right:42px; }
[dir=rtl] .workflow-dot { left:auto; right:1px; }
[dir=rtl] .workflow-steps::before,[dir=rtl] .workflow-steps::after { left:auto; right:5px; }
[dir=rtl] .workflow-note { padding-left:0; padding-right:42px; }
[dir=rtl] .workflow h2,[dir=rtl] .workflow h3 { line-height:1.4; }
[dir=rtl] .drift-card-copy { direction:rtl; }
[dir=rtl] .drift-card-copy h3 { line-height:1.45; }
[dir=rtl] .news-intro h2 { line-height:1.25; }
[dir=rtl] .numbered-links a { text-align:right; }
[dir=rtl] .preorder-card label { line-height:1.6; }
@media(max-width:1100px) { .desktop-links { gap:12px; } .language-picker { margin-inline-start:6px; } .news-section { grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr); gap:20px; } }
@media(max-width:800px) {
  .language-picker { margin-inline-start:auto; }
  .navigation-content { gap:12px; }
  .news-section { display:block; padding:84px var(--gutter) 40px; min-height:0; }
  .news-intro { padding:0; }
  .news-intro h2 { font-size:48px; margin-bottom:22px; }
  .news-intro h2 br { display:none; }
  .news-intro h2 br::after { content:' '; }
  .news-intro>p { max-width:330px; font-size:16px; }
  .news-motion { margin-top:22px; }
  .drift-wall { height:490px; width:calc(100% + 2 * var(--gutter)); margin-inline:calc(-1 * var(--gutter)); --tile-width:210px; --tile-height:168px; --tile-gap:18px; }
  .drift-plane { transform:translate(-50%,-50%) rotateX(6deg) rotateY(-10deg) rotateZ(-3deg); }
  .drift-card-copy { inset:18px; }
  .drift-card-copy h3 { font-size:21px; }
  .drift-wall:focus-within { width:100%; margin-inline:0; }
  .drift-wall:focus-within .drift-plane { flex-direction:column; }
  .drift-wall:focus-within .drift-column { width:100%; }
  [dir=rtl] .story-right .scene-content>.action { margin-right:0; }
  [dir=rtl] .workflow-step,[dir=rtl] .workflow-note { padding-right:30px; }
  [dir=rtl] .story-masthead { font-size:clamp(36px,8.5vw,70px); }
}
@media(max-width:360px) { .brand-logo img { width:112px; } .navigation-content { gap:9px; } .language-trigger { gap:4px; font-size:11px; } .news-intro h2 { font-size:40px; } }
@media(prefers-reduced-motion:reduce) {
  .page-loader { display:none!important; }
  ::view-transition-old(root),::view-transition-new(root) { animation:none; }
  .drift-wall { height:auto; mask-image:none; overflow:visible; width:100%; margin:36px 0 0; }
  .drift-plane { position:static; transform:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .drift-column { width:100%; }
  .drift-track { transform:none!important; will-change:auto; }
  .drift-track [data-copy] { display:none; }
  .drift-card-surface { opacity:1; }
  .news-motion { display:none; }
  .news-section { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) and (max-width:800px) { .drift-plane { grid-template-columns:1fr; } }
html.keyboard-input .language-options { transition:none; }

/* v11: a continuous canvas, media-only news, and a single product story. */
.footer-editorial { background:var(--color-gallery-white); }
.page-company .footer-editorial { background:var(--color-studio-mist); }
.footer-editorial .contact-start { background:var(--color-studio-mist); }
.page-company .footer-editorial .contact-start { background:var(--color-gallery-white); }
.news-intro h2 { margin:0; }
.news-section { padding-bottom:0; }
.news-section .drift-card-surface { opacity:1; }
.news-section .drift-card:hover .drift-card-surface { transform:none; border-color:#e0e0e3; }

.product-gallery { position:relative; background:var(--color-gallery-white); }
.product-gallery-pin { padding:88px 0 72px; overflow:hidden; }
.product-gallery h2 { padding-inline:var(--gutter); margin:0 0 36px; font:400 clamp(42px,5.5vw,78px)/1.1 var(--display); letter-spacing:-.05em; }
.product-gallery-window { overflow-x:auto; scrollbar-width:none; }
.product-gallery-window::-webkit-scrollbar { display:none; }
.product-gallery-track { display:flex; width:max-content; gap:28px; padding-inline:var(--gutter); }
.product-slide { display:block; flex:0 0 auto; width:min(64vw,920px); }
.product-slide-media { width:100%; height:clamp(240px,42svh,460px); background:var(--color-studio-mist); border-radius:3px; transition:background-color 400ms ease; }
.product-slide-copy { padding-top:24px; }
.product-slide h3 { display:inline-block; margin:0 0 10px; font:400 28px/1.2 var(--display); letter-spacing:-.035em; }
.product-slide p { max-width:560px; margin:0; font:300 17px/1.5 var(--body); color:var(--color-slate); }
.product-slide:focus-visible { outline-offset:6px; }
@media(hover:hover) { .product-slide:hover .product-slide-media { background:#eeeeF0; } }
.is-scroll-gallery .product-gallery-pin { position:sticky; top:0; height:100svh; padding-top:60px; }
.is-scroll-gallery .product-gallery-window { overflow:hidden; }
.is-scroll-gallery .product-gallery-track { will-change:transform; }
html.keyboard-input .product-gallery:focus-within { height:auto!important; }
html.keyboard-input .product-gallery:focus-within .product-gallery-pin { position:static; height:auto; }
html.keyboard-input .product-gallery:focus-within .product-gallery-window { overflow-x:auto; }
html.keyboard-input .product-gallery:focus-within .product-gallery-track { transform:none!important; }
@media(max-width:800px) {
  .product-gallery-pin { padding:72px 0 64px; }
  .product-gallery h2 { font-size:48px; margin-bottom:28px; }
  .product-gallery-track { gap:20px; }
  .product-slide { width:83vw; }
  .product-slide-media { height:36svh; min-height:220px; }
  .product-slide-copy { padding-top:22px; }
  .product-slide h3 { font-size:25px; }
  .product-slide p { font-size:16px; max-width:300px; }
  .is-scroll-gallery .product-gallery-pin { display:flex; flex-direction:column; justify-content:center; padding-block:44px; }
}
@media(prefers-reduced-motion:reduce) {
  .product-gallery-track { transform:none!important; }
  .product-slide-media { transition:none; }
}

/* The mark gets a full, visible introduction once the document can paint. */
.loader-mark { width:96px; height:100px; }
.brand-pending .page-loader { opacity:1; visibility:visible; }
.brand-pending .loader-mark { opacity:0; }
.brand-loading .page-loader { animation:brand-away 450ms 1450ms ease both; }
.brand-loading .loader-mark path { stroke-width:2; animation:mark-trace 1100ms cubic-bezier(.22,1,.36,1) both; }
.brand-loading .loader-mark path+path { animation-delay:130ms; }
@keyframes mark-trace { 0% { stroke-dashoffset:1; fill-opacity:0; opacity:0; } 15% { opacity:1; } 60% { stroke-dashoffset:0; fill-opacity:0; } 100% { stroke-dashoffset:0; fill-opacity:1; opacity:1; } }
.contact-input-motion { position:relative; display:block; min-width:0; width:100%; }
.contact-start>.contact-input-motion { flex:1 1 auto; }
.contact-input-motion>input { width:100%; }
.input-edit-layer { position:absolute; inset:0; display:flex; align-items:center; overflow:hidden; border-style:solid; border-color:transparent; border-radius:inherit; pointer-events:none; white-space:pre; direction:ltr; text-align:left; }
.input-edit-line { position:relative; display:flex; align-items:baseline; flex:none; }
.input-edit-line>span { display:inline-block; flex:none; }
.input-edit-removed { position:absolute; top:0; }
.contact-input-motion.is-editing>input { color:transparent!important; -webkit-text-fill-color:transparent!important; caret-color:var(--input-ink); }
.contact-input-motion.is-editing>input::placeholder { color:transparent!important; -webkit-text-fill-color:transparent!important; }
.contact-input-motion.is-editing .input-edit-layer { color:var(--input-ink); }
@media(prefers-reduced-motion:reduce) { .input-edit-layer { display:none; } .brand-pending .page-loader,.brand-loading .page-loader { display:none!important; } }
.contact-input-motion>input::placeholder { transition:opacity 180ms ease; }
.contact-input-motion.is-editing>input::placeholder { opacity:0; }

/* v13: one quiet transition; no transformed body or delayed double entrance. */
html.page-leaving body { opacity:1; transition:none; }
html.page-arriving body { animation:none; }
.page-leaving .page-loader { opacity:1; visibility:visible; transition:opacity 140ms ease; }
.page-leaving .loader-mark { opacity:0; }
.brand-loading .page-loader { animation:brand-away 340ms 800ms ease both; }
.brand-loading .loader-mark path { animation-duration:700ms; }
.brand-loading .loader-mark path+path { animation-delay:80ms; }
.workflow-steps::before,.workflow-steps::after,.workflow-dot::after { display:none; }
.workflow-track { position:absolute; width:1px; background:var(--color-hairline-silver); pointer-events:none; }
.workflow-fill { display:block; width:100%; height:100%; background:var(--color-ink); transform-origin:top; }
.workflow-dot i { position:absolute; inset:1px; background:var(--color-ink); border-radius:50%; opacity:1; }
.workflow-copy { opacity:1; transform:none; }
.workflow-note { opacity:1; }
@media(prefers-reduced-motion:reduce) { .page-leaving .page-loader { display:none; } }
