/* Everything below the hero except the product stories (flagship.css).
   Motion comes from site.js: [data-reveal] entrance, [data-px] parallax, [data-tilt] pointer tilt.
   Reveal uses `translate`/`opacity`, parallax and tilt use `transform`, so they never collide. */
:root { --ground:#e7f0e9; --paper:#f7faf9; --ink:#103e35; --deep:#092823; --soft:#49655b; --teal:#00a99d; --orange:#f99a1e; --hair:rgba(16,62,53,.14); --ease:cubic-bezier(.16,1,.3,1); }
html { scroll-padding-top:90px; }
body { background:var(--paper); color:var(--ink); }
main { overflow:clip; }
.scroll-progress { position:fixed; top:0; left:0; width:100%; height:3px; background:var(--teal); z-index:100; transform:scaleX(var(--progress,0)); transform-origin:left; }
[dir="rtl"] .scroll-progress { transform-origin:right; }
.brand-orange { color:var(--orange); }

/* Shared pieces */
.eyebrow { display:block; font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--soft); }
.sec-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.4fr); gap:30px; align-items:start; padding:0 6%; margin:0 0 64px; }
.sec-head .eyebrow { padding-top:14px; }
.sec-head h2, .fq-head h2 { font-size:clamp(36px,5.2vw,84px); font-weight:400; line-height:1.03; letter-spacing:-.055em; margin:0; }
.btn { display:inline-flex; align-items:center; gap:26px; min-height:54px; padding:15px 24px; border-radius:60px; font-size:15px; transition:background .25s, translate .25s var(--ease), box-shadow .25s; }
.btn--orange { background:var(--orange); color:var(--ink); box-shadow:0 18px 30px -16px rgba(180,95,5,.8); }
.btn--orange:hover { background:#ffad38; translate:0 -3px; }
.btn--lg { min-height:68px; padding:20px 32px; font-size:18px; gap:40px; }
.link-arrow { display:inline-flex; align-items:center; gap:12px; padding-bottom:6px; border-bottom:1px solid currentColor; font-size:15px; }
.link-arrow span:last-child { transition:translate .25s var(--ease); }
.link-arrow:hover span:last-child { translate:4px -4px; }
[dir="rtl"] .link-arrow:hover span:last-child { translate:-4px -4px; }
.tags { display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:0; padding:0; }
.tags li { padding:8px 14px; border:1px solid currentColor; border-radius:40px; font-size:13px; opacity:.86; }
.ghost { position:absolute; left:50%; translate:-50% 0; font-size:clamp(160px,30vw,520px); line-height:1; letter-spacing:-.06em; white-space:nowrap; color:transparent; -webkit-text-stroke:1.5px rgba(16,62,53,.13); pointer-events:none; will-change:transform; }
.lang-rtl .ghost { -webkit-text-stroke:0; color:rgba(16,62,53,.05); font-family:'NRT',sans-serif; }
.shape { position:absolute; display:block; pointer-events:none; will-change:transform; }
.shape--orb-teal { width:54px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 34% 28%,#8fe6da 0,#06917f 45%,#04483f 100%); box-shadow:0 22px 30px -16px rgba(4,70,62,.6); }
.shape--orb-orange { width:40px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 34% 28%,#ffd693 0,#f99a1e 42%,#b55d05 100%); box-shadow:0 18px 26px -12px rgba(140,70,0,.55); }
.shape--pill-orange { width:120px; height:28px; rotate:-24deg; border-radius:28px; background:linear-gradient(180deg,#ffd693 0,#f99a1e 46%,#b55d05 100%); box-shadow:0 18px 26px -14px rgba(140,70,0,.55); }
.shape--pill-teal { width:120px; height:28px; rotate:-24deg; border-radius:28px; background:linear-gradient(180deg,#5fd3c6 0,#06917f 46%,#04594f 100%); box-shadow:0 18px 26px -14px rgba(4,70,62,.6); }
.shape--blur-orange { width:170px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 34% 28%,#ffd693 0,#f99a1e 42%,#b55d05 100%); filter:blur(9px); opacity:.9; }
.shape--blur-teal { width:190px; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 34% 28%,#8fe6da 0,#06917f 45%,#04483f 100%); filter:blur(10px); }

/* Entrance */
.js [data-reveal] { opacity:0; translate:0 34px; transition:opacity .9s var(--ease) var(--d,0s), translate .9s var(--ease) var(--d,0s); }
.js [data-reveal].is-in { opacity:1; translate:0 0; }
[data-px] { will-change:transform; }

.ln { display:block; will-change:transform; }

/* Floating navigation, shown once the hero has gone */
.topnav { position:fixed; top:16px; left:50%; z-index:90; display:flex; align-items:center; gap:4px; padding:6px; border-radius:60px; background:rgba(247,250,249,.78); -webkit-backdrop-filter:blur(16px) saturate(1.4); backdrop-filter:blur(16px) saturate(1.4); border:1px solid rgba(16,62,53,.1); box-shadow:0 18px 40px -22px rgba(9,40,35,.5); color:var(--ink); font-size:14px; white-space:nowrap; translate:-50% -90px; opacity:0; visibility:hidden; transition:translate .5s var(--ease), opacity .3s, visibility .5s; }
.topnav.is-on { translate:-50% 0; opacity:1; visibility:visible; }
body.flagship-view .topnav { translate:-50% -90px; opacity:0; visibility:hidden; }
.topnav a { display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border-radius:40px; transition:background .2s; }
.topnav a:hover { background:rgba(16,62,53,.08); }
.topnav-brand { padding:0 10px !important; }
.topnav-brand img { display:block; width:28px; height:auto; }
.topnav .topnav-cta { background:var(--ink); color:var(--ground); }
.topnav .topnav-cta:hover { background:#0b2b25; }

/* ───────── Websites ───────── */
.wk { position:relative; isolation:isolate; background:var(--ground); padding:130px 0 190px; overflow:clip; }
.wk-ghost { top:250px; z-index:-1; }
.wk-head { display:grid; grid-template-columns:1.4fr 1fr; align-items:end; gap:60px; padding:0 6% 90px; }
.wk-head h2 { font-size:clamp(48px,7.5vw,112px); font-weight:400; line-height:1; letter-spacing:-.06em; margin:0; }
.wk-head p { max-width:390px; font-size:19px; line-height:1.6; color:var(--soft); margin:0 0 24px; }
.wk-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 4.5%; padding:0 6%; }
.wk-card:nth-child(even) { margin-top:120px; margin-bottom:-120px; }
.wk-shot { position:relative; display:block; padding:9% 9% 0; border-radius:28px; background:var(--tone); overflow:hidden; perspective:1100px; }
.wk-shot::after { content:''; position:absolute; inset:0; border-radius:inherit; background:radial-gradient(circle at var(--gx,50%) var(--gy,0%), rgba(255,255,255,.35), transparent 55%); opacity:0; transition:opacity .3s; pointer-events:none; }
.wk-shot:hover::after { opacity:1; }
.wk-frame { display:block; border-radius:12px 12px 0 0; overflow:hidden; background:#0d1614; box-shadow:0 40px 70px -30px rgba(9,40,35,.6); transform:rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg)) translateY(var(--lift,10%)); transform-origin:50% 100%; transition:transform .5s var(--ease); }
.wk-shot:hover .wk-frame, .wk-shot:focus-visible .wk-frame { --lift:3%; }
.wk-bar { display:flex; align-items:center; gap:6px; height:26px; padding:0 12px; background:#16211e; }
.wk-bar i { width:8px; height:8px; border-radius:50%; background:#3a4a45; }
.wk-bar i:first-child { background:var(--orange); }
.wk-img { display:block; aspect-ratio:2048/1114; overflow:hidden; }
.wk-img img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.wk-open { position:absolute; top:18px; inset-inline-end:18px; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--orange); color:var(--ink); font-size:24px; scale:0; transition:scale .35s var(--ease); }
.wk-shot:hover .wk-open, .wk-shot:focus-visible .wk-open { scale:1; }
.wk-cap { display:grid; grid-template-columns:auto 1fr auto; align-items:baseline; gap:18px; padding:22px 6px 0; }
.wk-num { font-size:13px; letter-spacing:.12em; color:var(--soft); }
.wk-cap h3 { font-size:clamp(26px,2.9vw,44px); font-weight:400; letter-spacing:-.045em; line-height:1.05; margin:0; }
.wk-cap p { font-size:15px; color:var(--soft); margin:0; text-align:end; max-width:230px; }
.wk-shape-a { top:330px; inset-inline-end:8%; }
.wk-shape-b { top:54%; inset-inline-start:47.5%; }
.wk-shape-c { bottom:6%; inset-inline-start:-3%; }
.wk a:focus-visible { outline:3px solid var(--orange); outline-offset:6px; }

/* ───────── Mobile apps ───────── */
.ap { position:relative; isolation:isolate; background:var(--deep); color:#f1f6f3; padding:130px 0 150px; overflow:clip; }
.ap::before { content:''; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse 60% 55% at 68% 50%, rgba(0,169,157,.2), transparent 70%); }
.ap-ghost { top:50%; translate:-50% -50%; z-index:-1; -webkit-text-stroke-color:rgba(134,214,196,.16); }
.lang-rtl .ap-ghost { color:rgba(134,214,196,.05); }
.ap-inner { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,2fr); gap:5%; align-items:center; padding:0 6%; }
.ap .eyebrow { color:#9cc0b1; margin-bottom:26px; }
.ap-head h2 { font-size:clamp(40px,4.8vw,76px); font-weight:400; line-height:1.03; letter-spacing:-.055em; margin:0 0 26px; }
.ap-head p { font-size:18px; line-height:1.6; color:#b3c9be; margin:0 0 36px; max-width:340px; }
.ap-deck { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3.2%; align-items:start; perspective:1600px; }
.ap-phone:nth-child(1) { margin-top:60px; }
.ap-phone:nth-child(3) { margin-top:30px; }
.ap-phone:nth-child(4) { margin-top:95px; }
.ap-phone > a { display:block; border-radius:34px; }
.ap-device { display:block; border:6px solid #17261f; border-radius:34px; overflow:hidden; background:#fff; box-shadow:0 0 0 1px rgba(159,184,169,.35), 0 40px 60px -24px rgba(0,0,0,.75); transform:rotateY(calc((var(--i) - 1.5) * -7deg)); transition:transform .6s var(--ease), box-shadow .4s; }
[dir="rtl"] .ap-device { transform:rotateY(calc((var(--i) - 1.5) * 7deg)); }
.ap-phone > a:hover .ap-device, .ap-phone > a:focus-visible .ap-device { transform:rotateY(0deg) translateY(-14px) scale(1.03); box-shadow:0 0 0 1px var(--teal), 0 50px 70px -24px rgba(0,0,0,.8), 0 0 70px -20px var(--teal); }
.ap-device img { display:block; width:100%; height:auto; aspect-ratio:590/1280; object-fit:cover; }
.ap-cap { padding:22px 4px 0; }
.ap-cap span { font-size:11px; letter-spacing:.14em; color:#86ad9c; }
.ap-cap h3 { font-size:20px; font-weight:400; letter-spacing:-.02em; margin:8px 0 6px; }
.ap-cap p { font-size:13px; line-height:1.5; color:#b3c9be; margin:0; }
.ap-shape-a { top:14%; inset-inline-start:30%; }
.ap-shape-b { bottom:-4%; inset-inline-end:-3%; }
.ap a:focus-visible { outline:3px solid var(--orange); outline-offset:6px; }

/* ───────── Services ───────── */
.sv { position:relative; isolation:isolate; padding:150px 0 130px; background:var(--paper); overflow:clip; }
.sv-ghost { top:38%; z-index:-1; }
.sv-slot { min-width:0; }
.sv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:0 6%; perspective:1600px; }
.sv-card { position:relative; isolation:isolate; display:flex; flex-direction:column; height:100%; min-height:600px; padding:38px 34px 34px; border-radius:30px; overflow:hidden; transform:rotateX(var(--ty,0deg)) rotateY(var(--tx,0deg)); transition:opacity .9s var(--ease) var(--d,0s), translate .9s var(--ease) var(--d,0s), transform .5s var(--ease), box-shadow .4s !important; }
.sv-card:hover { box-shadow:0 50px 70px -40px rgba(9,40,35,.55); }
.sv-card--ink { background:var(--ink); color:#e7f0e9; }
.sv-card--mint { background:#cfe6dd; }
.sv-card--sand { background:#f3e2c8; }
.sv-card::after { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at var(--gx,50%) var(--gy,0%), rgba(255,255,255,.28), transparent 55%); opacity:0; transition:opacity .3s; }
.sv-card:hover::after { opacity:1; }
.sv-num { position:absolute; top:6px; inset-inline-end:22px; z-index:-1; font-size:190px; line-height:1; letter-spacing:-.07em; color:transparent; -webkit-text-stroke:1.5px currentColor; opacity:.16; }
.sv-shape { top:150px; inset-inline-end:40px; }
.sv-card .eyebrow { color:inherit; opacity:.7; margin-bottom:auto; max-width:60%; line-height:1.6; }
.sv-card h3 { font-size:clamp(34px,3.4vw,54px); font-weight:400; line-height:1.02; letter-spacing:-.05em; margin:150px 0 20px; }
.sv-card > p { font-size:16px; line-height:1.6; margin:0 0 24px; opacity:.86; }
.sv-more { margin-top:26px; padding-top:22px; border-top:1px solid color-mix(in srgb, currentColor 22%, transparent); }
.sv-more strong { display:block; font-size:15px; font-weight:600; margin-bottom:8px; }
.sv-more p { font-size:14px; line-height:1.6; margin:0; opacity:.74; }
.sv-foot { margin:54px 6% 0; padding-top:22px; border-top:1px solid var(--hair); font-size:12px; letter-spacing:.14em; color:var(--soft); }

/* ───────── About ───────── */
.ab { position:relative; isolation:isolate; background:var(--ink); color:#e7f0e9; padding:160px 0; overflow:clip; }
.ab-emblem { position:absolute; z-index:-1; top:8%; inset-inline-end:-9%; width:min(54vw,760px); height:auto; opacity:.13; }
.ab-inner { padding:0 6%; }
.ab-shape-a { z-index:-1; top:16%; inset-inline-start:46%; }
.ab-shape-b { z-index:-1; top:58%; inset-inline-end:7%; }
.ab-shape-c { bottom:-6%; inset-inline-start:-4%; opacity:.8; }
.ab .eyebrow { color:#9cc0b1; margin-bottom:40px; }
.ab-title { font-size:clamp(40px,6.6vw,108px); font-weight:400; line-height:1.03; letter-spacing:-.055em; margin:0 0 90px; max-width:1300px; }
.ab-title > span:not(.w) { color:#7fe0d0; }
.ab-title .w { display:inline-block; opacity:var(--o,1); transition:opacity .25s linear; }
.ab-cols { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:8%; align-items:start; }
.ab-cols > p { font-size:clamp(17px,1.5vw,21px); line-height:1.65; color:#c6d9cf; margin:0; max-width:620px; }
.ab-principles { list-style:none; margin:0; padding:0; }
.ab-principles li { display:flex; align-items:baseline; gap:26px; padding:24px 0; border-top:1px solid rgba(231,240,233,.18); font-size:clamp(22px,2.2vw,32px); letter-spacing:-.03em; }
.ab-principles li:last-child { border-bottom:1px solid rgba(231,240,233,.18); }
.ab-principles li span:first-child { font-size:13px; letter-spacing:.12em; color:var(--orange); }

/* ───────── Process ───────── */
.pr { position:relative; isolation:isolate; background:var(--ground); padding:150px 0; overflow:clip; }
.pr-shape-a { z-index:-1; top:14%; inset-inline-end:9%; }
.pr-shape-b { z-index:-1; bottom:4%; inset-inline-end:-3%; }
.pr-track { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding:0 6%; }
.pr-line { position:absolute; top:0; left:6%; right:6%; height:2px; background:var(--hair); }
.pr-line i { display:block; height:100%; background:linear-gradient(90deg,var(--teal),var(--orange)); transform:scaleX(var(--p,0)); transform-origin:left; }
[dir="rtl"] .pr-line i { transform-origin:right; background:linear-gradient(270deg,var(--teal),var(--orange)); }
.pr-step { position:relative; padding-top:46px; }
.pr-dot { position:absolute; top:-7px; inset-inline-start:0; width:16px; height:16px; border-radius:50%; background:var(--ground); border:2px solid #9bb5aa; transition:background .4s, border-color .4s, scale .4s var(--ease); }
.pr-step.is-on .pr-dot { background:var(--teal); border-color:var(--teal); scale:1.25; }
.pr-num { display:block; font-size:clamp(70px,8vw,128px); line-height:.9; letter-spacing:-.07em; color:transparent; -webkit-text-stroke:1.5px rgba(16,62,53,.3); margin-bottom:26px; transition:color .5s, -webkit-text-stroke-color .5s; }
.pr-step.is-on .pr-num { color:var(--ink); -webkit-text-stroke-color:var(--ink); }
.pr-tag { display:block; font-size:12px; letter-spacing:.14em; color:var(--teal); font-weight:600; margin-bottom:14px; }
.pr-step h3 { font-size:clamp(22px,2vw,30px); font-weight:400; line-height:1.15; letter-spacing:-.035em; margin:0 0 14px; }
.pr-step p { font-size:15px; line-height:1.6; color:var(--soft); margin:0; max-width:300px; }

/* ───────── Technology ───────── */
.tk { position:relative; background:var(--paper); padding:150px 0 130px; overflow:clip; }
.tk-shape-a { top:120px; inset-inline-end:10%; }
.tk-marquee { display:grid; gap:14px; margin:0 0 70px; direction:ltr; }
.tk-row { display:flex; gap:14px; width:max-content; will-change:transform; }
.tk-row span { padding:16px 34px; border:1px solid var(--hair); border-radius:70px; font-size:clamp(26px,3.6vw,56px); letter-spacing:-.045em; line-height:1.1; white-space:nowrap; }
.tk-row span:nth-child(3n+1) { background:var(--ink); color:var(--ground); border-color:var(--ink); }
.tk-row--alt span:nth-child(3n+2) { background:var(--orange); border-color:var(--orange); }
.tk-row--alt span:nth-child(3n+1) { background:#cfe6dd; color:var(--ink); border-color:#cfe6dd; }
.tk-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:0 6%; }
.tk-card { padding:30px; border:1px solid var(--hair); border-radius:26px; background:#fff; transition:opacity .9s var(--ease) var(--d,0s), translate .9s var(--ease) var(--d,0s), border-color .3s, box-shadow .3s !important; }
.tk-card:hover { border-color:var(--teal); box-shadow:0 30px 50px -34px rgba(9,40,35,.5); }
.tk-top { display:flex; align-items:baseline; gap:16px; font-size:clamp(24px,2.3vw,34px); letter-spacing:-.04em; margin-bottom:10px; }
.tk-top span:first-child { font-size:13px; letter-spacing:.12em; color:var(--orange); }
.tk-card p { font-size:15px; color:var(--soft); margin:0 0 30px; }
.tk-support { margin:50px 6% 0; max-width:720px; font-size:18px; line-height:1.6; color:var(--soft); }

/* ───────── FAQ ───────── */
.fq { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:6%; align-items:start; padding:130px 6% 150px; background:var(--paper); border-top:1px solid var(--hair); }
.fq { position:relative; isolation:isolate; overflow:clip; }
.fq-ghost { z-index:-1; top:4%; left:auto; inset-inline-start:2%; translate:none; font-size:clamp(300px,46vw,760px); }
.fq-shape-a { top:18%; inset-inline-start:36%; }
.fq-head { position:sticky; top:120px; }
.fq-head .eyebrow { margin-bottom:26px; }
.fq-list details { border-bottom:1px solid var(--hair); }
.fq-list details:first-child { border-top:1px solid var(--hair); }
.fq-list summary { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:30px 0; font-size:clamp(20px,2vw,28px); letter-spacing:-.03em; cursor:pointer; list-style:none; }
.fq-list summary::-webkit-details-marker { display:none; }
.fq-list summary i { position:relative; flex:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--hair); transition:background .3s, rotate .4s var(--ease), border-color .3s; }
.fq-list summary i::before, .fq-list summary i::after { content:''; position:absolute; top:50%; left:50%; width:14px; height:1.5px; background:currentColor; translate:-50% -50%; }
.fq-list summary i::after { rotate:90deg; transition:rotate .4s var(--ease); }
.fq-list summary:hover i { border-color:var(--ink); }
.fq-list details[open] summary i { background:var(--orange); border-color:var(--orange); rotate:180deg; }
.fq-list details[open] summary i::after { rotate:0deg; }
.fq-list details p { margin:0; padding:0 74px 34px 0; max-width:640px; font-size:17px; line-height:1.65; color:var(--soft); }
[dir="rtl"] .fq-list details p { padding:0 0 34px 74px; }
.fq-list details[open] p { animation:fq-open .5s var(--ease); }
@keyframes fq-open { from { opacity:0; translate:0 -8px; } }

/* ───────── Contact + footer ───────── */
.ct { padding:0 2.5% 30px; background:var(--paper); }
.ct-panel { transform-origin:50% 100%; will-change:transform; position:relative; isolation:isolate; overflow:hidden; padding:130px 6% 54px; border-radius:44px; background:var(--ink); color:#e7f0e9; }
.ct-panel::before { content:''; position:absolute; inset:0; z-index:-2; background:radial-gradient(ellipse 55% 60% at 82% 20%, rgba(0,169,157,.34), transparent 70%); }
.ct .eyebrow { color:#9cc0b1; margin-bottom:34px; }
.ct h2 { font-size:clamp(54px,10.5vw,176px); font-weight:400; line-height:.96; letter-spacing:-.065em; margin:0 0 60px; }
.ct-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:120px; }
.ct-links a { position:relative; display:grid; gap:12px; padding:24px; border-radius:22px; border:1px solid rgba(231,240,233,.16); background:rgba(231,240,233,.04); transition:opacity .9s var(--ease) var(--d,0s), translate .9s var(--ease) var(--d,0s), background .3s, color .3s !important; }
.ct-links a:hover { background:#e7f0e9; color:var(--ink); }
.ct-links span { font-size:11px; letter-spacing:.16em; opacity:.7; }
.ct-links b { font-size:18px; font-weight:400; letter-spacing:-.01em; overflow-wrap:anywhere; text-align:start; }
.ct-links i { position:absolute; top:20px; inset-inline-end:22px; font-style:normal; font-size:20px; transition:translate .3s var(--ease); }
.ct-links a:hover i { translate:3px -3px; }
.ct-shape-a { z-index:-1; top:10%; inset-inline-end:8%; }
.ct-shape-b { z-index:-1; top:46%; inset-inline-end:30%; }
.ct-shape-c { z-index:-1; top:14%; inset-inline-end:26%; }
.ct a:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
.ft { display:block; margin:0; border:0; background:var(--paper); padding:0 6% 34px; overflow:clip; letter-spacing:normal; text-transform:none; }
.ft-sign { display:flex; justify-content:center; font-size:clamp(56px,17.5vw,330px); line-height:.9; letter-spacing:-.075em; color:var(--ink); padding:50px 0 26px; white-space:nowrap; }
.ft-sign > span { display:block; }
.ft-row { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:26px; border-top:1px solid var(--hair); font-size:14px; color:var(--soft); }

.lang-rtl .wk-head h2, .lang-rtl .sec-head h2, .lang-rtl .fq-head h2, .lang-rtl .ap-head h2, .lang-rtl .ab-title, .lang-rtl .ct h2, .lang-rtl .sv-card h3 { line-height:1.3; }
.lang-rtl .ft-sign { line-height:1.25; }

@media (max-width:1050px) {
  .sv-grid, .tk-grid { grid-template-columns:1fr; }
  .sv-grid { display:block; perspective:none; }
  .sv-slot { position:sticky; top:calc(84px + var(--i) * 18px); margin-bottom:22px; }
  .sv-card { min-height:min(560px, 78svh); height:auto; box-shadow:0 -24px 40px -30px rgba(9,40,35,.55); }
  .sv-card h3 { margin-top:90px; }
  .sv-shape { top:38px; inset-inline-end:34px; }
  .pr-track { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:70px; }
  .ap-inner { grid-template-columns:1fr; gap:60px; }
  .ct-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .topnav a:not(.topnav-brand):not(.topnav-cta) { padding:0 11px; font-size:13px; }
}
@media (max-width:700px) {
  .sec-head { grid-template-columns:1fr; gap:18px; margin-bottom:44px; }
  .sec-head .eyebrow { padding:0; }
  .wk { padding:80px 0 90px; }
  .wk-head { grid-template-columns:1fr; gap:26px; padding-bottom:50px; }
  .wk-head p { font-size:17px; }
  .wk-grid { grid-template-columns:1fr; gap:44px; }
  .wk-card:nth-child(even) { margin:0; }
  .wk-shot { border-radius:20px; }
  .wk-cap { grid-template-columns:auto 1fr; gap:6px 14px; padding-top:16px; }
  .wk-cap p { grid-column:2; text-align:start; max-width:none; font-size:14px; }
  .wk-shape-b, .wk-shape-c { display:none; }
  .wk-shape-a { top:120px; width:34px; }
  .wk-ghost { top:330px; }
  .ap { padding:80px 0 70px; }
  .ap-deck { display:flex; gap:22px; margin:0 -6.4%; padding:10px 9vw 30px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; perspective:none; }
  .ap-deck::-webkit-scrollbar { display:none; }
  .ap-phone { flex:0 0 58vw; max-width:260px; margin:0 !important; scroll-snap-align:center; }
  .ap-device, [dir="rtl"] .ap-device { transform:none; }
  .ap-shape-a { display:none; }
  .sv, .pr, .tk { padding:90px 0; }
  .sv-card { padding:30px 26px; border-radius:24px; }
  .sv-num { font-size:130px; }
  .ab { padding:100px 0; }
  .ab-title { margin-bottom:54px; }
  .ab-cols { grid-template-columns:1fr; gap:50px; }
  .ab-emblem { width:96vw; inset-inline-end:-40%; top:16%; }
  .pr-track { grid-template-columns:1fr; row-gap:0; padding-inline-start:calc(6% + 34px); }
  .pr-line { top:0; bottom:0; left:auto; right:auto; inset-inline-start:calc(6% + 7px); width:2px; height:auto; }
  .pr-line i { height:100%; transform:scaleY(var(--p,0)); transform-origin:top !important; background:linear-gradient(180deg,var(--teal),var(--orange)) !important; }
  .pr-step { padding:0 0 54px; }
  .pr-dot { top:8px; inset-inline-start:-34px; }
  .pr-num { font-size:74px; margin-bottom:16px; }
  .tk-marquee { margin-bottom:44px; }
  .fq { grid-template-columns:1fr; gap:40px; padding:80px 6% 90px; }
  .fq-head { position:static; }
  .fq-ghost { top:0; inset-inline-start:auto; inset-inline-end:-6%; font-size:90vw; }
  .fq-shape-a { display:none; }
  .ab-shape-a { inset-inline-start:auto; inset-inline-end:10%; top:5%; }
  .ab-shape-c { width:120px; }
  .pr-shape-a { inset-inline-end:8%; top:3%; width:36px; }
  .tk-shape-a { top:50px; width:80px; height:19px; }
  .fq-list summary { padding:22px 0; }
  .fq-list details p, [dir="rtl"] .fq-list details p { padding:0 0 26px; font-size:16px; }
  .ct { padding:0 3% 20px; }
  .ct-panel { padding:80px 7% 30px; border-radius:30px; }
  .ct h2 { margin-bottom:40px; }
  .ct-links { grid-template-columns:1fr; margin-top:70px; }
  .ct-shape-b, .ct-shape-c { display:none; }
  .ct-shape-a { top:3%; inset-inline-end:-12%; width:120px; }
  .ft-row { flex-direction:column; align-items:flex-start; gap:16px; }
  .topnav { top:10px; max-width:calc(100vw - 20px); }
  .topnav a:not(.topnav-brand):not(.topnav-cta) { display:none; }
  .topnav .topnav-cta { padding:0 18px; }
}
@media (prefers-reduced-motion:reduce) {
  .js [data-reveal] { opacity:1; translate:none; }
  main *, .topnav, .ft * { transition:none !important; animation:none !important; }
}
