

@font-face { font-family:"Thmanyah Sans"; src:url("assets/fonts/thmanyah/sans/thmanyahsans-Light.woff2") format("woff2"); font-weight:300; font-display:swap; }
@font-face { font-family:"Thmanyah Sans"; src:url("assets/fonts/thmanyah/sans/thmanyahsans-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Thmanyah Sans"; src:url("assets/fonts/thmanyah/sans/thmanyahsans-Medium.woff2") format("woff2"); font-weight:500; font-display:swap; }
@font-face { font-family:"Thmanyah Sans"; src:url("assets/fonts/thmanyah/sans/thmanyahsans-Bold.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"Thmanyah Sans"; src:url("assets/fonts/thmanyah/sans/thmanyahsans-Black.woff2") format("woff2"); font-weight:900; font-display:swap; }
@font-face { font-family:"Thmanyah Display"; src:url("assets/fonts/thmanyah/serifdisplay/thmanyahserifdisplay-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Thmanyah Display"; src:url("assets/fonts/thmanyah/serifdisplay/thmanyahserifdisplay-Medium.woff2") format("woff2"); font-weight:500; font-display:swap; }
@font-face { font-family:"Thmanyah Display"; src:url("assets/fonts/thmanyah/serifdisplay/thmanyahserifdisplay-Bold.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"Thmanyah Display"; src:url("assets/fonts/thmanyah/serifdisplay/thmanyahserifdisplay-Black.woff2") format("woff2"); font-weight:900; font-display:swap; }

:root{
  --bg:#ffffff;
  --bg-alt:#f5f6f8;
  --ink:#14213d;
  --ink-2:#54607a;
  --ink-3:#8b93a6;
  --line:#e8ebf0;
  --line-2:#d5d9e2;

  --brand:#f5620e;
  --brand-600:#df560c;
  --brand-700:#bd4708;
  --brand-050:#fff2e8;
  --navy:#0a2559;
  --dark:#0a2559;

  --font-sans:"Thmanyah Sans", system-ui, "Segoe UI", Tahoma, sans-serif;
  --font-disp:"Thmanyah Display", "Thmanyah Sans", Georgia, serif;
  --font-mono:"JetBrains Mono", "Fira Code", ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;

  --radius:16px;
  --radius-sm:10px;
  --container:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --sh:0 1px 2px rgba(10,12,18,.05);
  --sh-2:0 10px 30px -14px rgba(10,12,18,.18);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } *{ animation:none!important; transition:none!important; } }

body{ font-family:var(--font-sans); background:var(--bg); color:var(--ink); line-height:1.65; font-weight:400;
  overflow-x:hidden; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
img,svg{ display:block; max-width:100%; }
::selection{ background:var(--brand); color:#fff; }
.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:24px; }

body.loading{ overflow:hidden; }
.preloader{ position:fixed; inset:0; z-index:1000; display:grid; place-items:center; background:var(--navy); overflow:hidden;
  transition:opacity .6s var(--ease), visibility .6s; animation:plSafety 1ms linear 7s forwards; }
.preloader.hide{ opacity:0; visibility:hidden; pointer-events:none; }
@keyframes plSafety{ to{ opacity:0; visibility:hidden; pointer-events:none; } }
.preloader::before{ content:""; position:absolute; inset:0; opacity:.6;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:46px 46px;
  -webkit-mask-image:radial-gradient(circle at 50% 45%,#000,transparent 72%); mask-image:radial-gradient(circle at 50% 45%,#000,transparent 72%); }
.pl-glyphs{ position:absolute; inset:0; pointer-events:none; }
.pl-glyphs span{ position:absolute; font-family:var(--font-mono); font-weight:700; color:rgba(255,255,255,.08); font-size:2.3rem;
  animation:plDrift 5.5s var(--ease) infinite; }
.pl-glyphs span:nth-child(1){ top:15%; inset-inline-start:12%; animation-delay:0s; }
.pl-glyphs span:nth-child(2){ top:24%; inset-inline-end:16%; animation-delay:.5s; }
.pl-glyphs span:nth-child(3){ top:68%; inset-inline-start:18%; animation-delay:1s; }
.pl-glyphs span:nth-child(4){ top:78%; inset-inline-end:22%; animation-delay:1.4s; }
.pl-glyphs span:nth-child(5){ top:42%; inset-inline-start:7%; animation-delay:.8s; }
.pl-glyphs span:nth-child(6){ top:55%; inset-inline-end:9%; animation-delay:.3s; }
.pl-glyphs span:nth-child(7){ top:12%; inset-inline-end:34%; animation-delay:1.7s; }
.pl-glyphs span:nth-child(8){ top:84%; inset-inline-start:40%; animation-delay:1.1s; }
.pl-glyphs span:nth-child(9){ top:32%; inset-inline-start:30%; animation-delay:2s; }
.pl-glyphs span:nth-child(10){ top:62%; inset-inline-end:38%; animation-delay:.6s; }
@keyframes plDrift{ 0%,100%{ transform:translateY(0); opacity:.4; } 50%{ transform:translateY(-20px); opacity:1; } }
.pl-center{ position:relative; text-align:center; }
.pl-logo-wrap{ position:relative; width:118px; height:118px; margin:0 auto 24px; display:grid; place-items:center; }
.pl-logo{ width:80px; height:auto; animation:plPulse 1.9s var(--ease) infinite; }
@keyframes plPulse{ 50%{ transform:scale(1.07); } }
.pl-ring{ position:absolute; inset:0; border-radius:50%; border:3px solid rgba(255,255,255,.12); border-top-color:var(--brand); animation:plSpin 1s linear infinite; }
@keyframes plSpin{ to{ transform:rotate(360deg); } }
.pl-word{ font-family:var(--font-disp); font-weight:800; font-size:1.9rem; color:#fff; letter-spacing:.5px; }
.pl-type{ margin-top:12px; height:1.5em; }
.pl-code{ font-family:var(--font-mono); font-size:1rem; color:var(--brand); white-space:nowrap; overflow:hidden;
  display:inline-block; width:0; border-inline-end:2px solid var(--brand);
  animation:plType 1.3s steps(13) .35s forwards, plCaret .7s step-end infinite; }
@keyframes plType{ to{ width:13ch; } }
@keyframes plCaret{ 50%{ border-color:transparent; } }
.pl-bar{ width:210px; height:4px; border-radius:4px; background:rgba(255,255,255,.14); margin:28px auto 0; overflow:hidden; }
.pl-fill{ display:block; height:100%; width:0; background:var(--brand); border-radius:4px; animation:plFill 1.9s var(--ease) forwards; }
@keyframes plFill{ 0%{ width:0; } 100%{ width:100%; } }
@media (prefers-reduced-motion:reduce){
  .preloader{ animation:plSafety 1ms linear 1.2s forwards; }
  .pl-logo,.pl-ring,.pl-glyphs span,.pl-code,.pl-fill{ animation:none; }
  .pl-code{ width:13ch; border-inline-end:none; } .pl-fill{ width:100%; }
}

.fab-stack{ position:fixed; inset-inline-end:22px; inset-block-end:22px; display:flex; flex-direction:column; gap:12px; z-index:120; }
.fab{ width:54px; height:54px; border-radius:50%; display:grid; place-items:center; border:none; color:#fff;
  box-shadow:0 12px 26px -8px rgba(11,42,94,.4); transition:transform .2s var(--ease),box-shadow .2s,opacity .3s var(--ease),visibility .3s; }
.fab svg{ width:27px; height:27px; }
.fab:hover{ transform:translateY(-3px); box-shadow:0 16px 30px -8px rgba(11,42,94,.5); }
.fab-wa{ background:#25d366; }
.fab-wa::after{ content:""; position:absolute; inset:0; border-radius:50%; box-shadow:0 0 0 0 rgba(37,211,102,.5); animation:waPulse 2.6s var(--ease) infinite; }
.fab-wa{ position:relative; }
@keyframes waPulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.45); } 70%,100%{ box-shadow:0 0 0 14px rgba(37,211,102,0); } }
.fab-top{ background:var(--navy); opacity:0; visibility:hidden; transform:translateY(12px); }
.fab-top.show{ opacity:1; visibility:visible; transform:none; }
.fab-top.show:hover{ transform:translateY(-3px); }
@media (max-width:600px){ .fab-stack{ inset-inline-end:16px; inset-block-end:16px; } .fab{ width:50px; height:50px; } .fab svg{ width:24px; height:24px; } }
@media (prefers-reduced-motion:reduce){ .fab-wa::after{ animation:none; } }

.scroll-progress{ position:fixed; inset-block-start:0; inset-inline-start:0; height:3px; width:0; background:var(--brand); z-index:200; transition:width .1s linear; }

.bg-ambient{ position:fixed; inset:0; z-index:-1; pointer-events:none; background:var(--bg); overflow:hidden; }

.bg-ambient::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(58% 42% at 50% -6%, rgba(245,98,14,.05), transparent 70%); }

.grid-overlay{ position:absolute; inset:0;
  background-image:radial-gradient(circle, rgba(10,12,18,.09) 1px, transparent 1.5px);
  background-size:24px 24px;
  mask-image:radial-gradient(ellipse 92% 70% at 50% 2%, #000 26%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 92% 70% at 50% 2%, #000 26%, transparent 80%); }

.bg-spot{ position:absolute; width:600px; height:600px; border-radius:50%;
  left:var(--sx,72%); top:var(--sy,18%); transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(245,98,14,.09), transparent 62%);
  opacity:0; transition:opacity .5s var(--ease); will-change:left,top; }
.bg-spot.on{ opacity:1; }

.grain{ position:fixed; inset:-14%; z-index:60; pointer-events:none; opacity:.09; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain .5s steps(3) infinite; will-change:transform; }
@keyframes grain{ 0%{ transform:translate(0,0) } 20%{ transform:translate(-3%,2%) } 40%{ transform:translate(2%,-3%) } 60%{ transform:translate(-2%,3%) } 80%{ transform:translate(3%,-1%) } 100%{ transform:translate(0,0) } }

html{ scrollbar-width:thin; scrollbar-color:var(--brand) var(--bg-alt); }
::-webkit-scrollbar{ width:12px; }
::-webkit-scrollbar-track{ background:var(--bg-alt); }
::-webkit-scrollbar-thumb{ background:var(--brand); border-radius:12px; border:3px solid var(--bg-alt); }
::-webkit-scrollbar-thumb:hover{ background:var(--brand-700); }

.cursor-dot,.cursor-ring{ position:fixed; top:0; left:0; z-index:300; pointer-events:none; border-radius:50%; transform:translate(-50%,-50%); opacity:0; }
.cursor-dot{ width:7px; height:7px; background:var(--brand); }
.cursor-ring{ width:34px; height:34px; border:1.5px solid rgba(245,98,14,.55);
  transition:width .22s var(--ease),height .22s var(--ease),background .22s,border-color .22s,opacity .3s; }
.cursor-ring.hover{ width:54px; height:54px; background:rgba(245,98,14,.08); border-color:var(--brand); }
.cursor-ring.down{ width:26px; height:26px; }
body.has-cursor .cursor-dot,body.has-cursor .cursor-ring{ opacity:1; }
body.has-cursor{ cursor:none; }
body.has-cursor a,body.has-cursor button,body.has-cursor .card,body.has-cursor label{ cursor:none; }
body.has-cursor input,body.has-cursor textarea,body.has-cursor select{ cursor:text; }
body.has-cursor select{ cursor:pointer; }

.topbar{ background:var(--navy); color:#fff; font-size:.84rem; }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:40px; padding-block:6px; }
.topbar-contacts{ display:flex; align-items:center; gap:22px; }
.topbar a,.topbar span{ display:inline-flex; align-items:center; gap:8px; color:rgba(255,255,255,.82); transition:color .2s; }
.topbar-contacts a:hover{ color:#fff; }
.topbar svg{ width:16px; height:16px; color:var(--brand); flex-shrink:0; }
.topbar [dir="ltr"]{ font-family:var(--font-mono); font-size:.8rem; letter-spacing:.2px; }

.phone{ font-family:var(--font-mono); font-weight:700; letter-spacing:.6px; direction:ltr; unicode-bidi:isolate;
  display:inline-flex; align-items:baseline; gap:0; color:var(--brand); }
.phone .cc{ font-size:.86em; opacity:.7; margin-inline-end:5px; letter-spacing:0; }
.phone b{ font-weight:700; }
.topbar .phone{ color:var(--brand); gap:0; }
.topbar-side{ display:flex; align-items:center; gap:20px; }
.topbar-hours{ color:rgba(255,255,255,.6); }
.topbar-hours svg{ color:rgba(255,255,255,.5); }
.topbar-wa{ font-weight:600; }
.topbar-wa svg{ color:#25d366; width:17px; height:17px; }
@media (max-width:900px){ .topbar .topbar-hours{ display:none; } }
@media (max-width:640px){
  .topbar .topbar-wa{ display:none; }
  .topbar-inner{ justify-content:center; }
  .topbar [dir="ltr"]{ font-size:.82rem; }
}

.site-header{ position:sticky; top:0; z-index:100; background:var(--navy);
  border-bottom:1px solid rgba(255,255,255,.08); transition:box-shadow .3s; }
.site-header.scrolled{ box-shadow:0 10px 30px -14px rgba(0,0,0,.55); }
.header-inner{ display:flex; align-items:center; gap:20px; height:82px; }

.brand{ display:flex; align-items:center; gap:11px; }
.brand-icon{ height:50px; width:auto; }
.brand-wordmark{ height:40px; width:auto; }
.brand-tag{ align-self:center; font-family:var(--font-sans); font-weight:600; font-size:.74rem; color:#fff;
  padding-inline-start:11px; margin-inline-start:2px; border-inline-start:1px solid rgba(255,255,255,.22); }
@media (max-width:640px){ .brand-tag{ display:none; } }
@media (max-width:480px){ .brand-wordmark{ height:30px; } .brand-icon{ height:40px; } }

.nav-links{ display:flex; gap:2px; margin-inline-start:auto; }
.nav-links a{ position:relative; padding:9px 15px; color:rgba(255,255,255,.72); font-size:.95rem; font-weight:500; transition:color .2s; }
.nav-links a::after{ content:""; position:absolute; inset-inline:14px; inset-block-end:2px; height:2px; background:var(--brand); transform:scaleX(0); transform-origin:center; transition:transform .28s var(--ease); }
.nav-links a:hover{ color:#fff; } .nav-links a:hover::after,.nav-links a.active::after{ transform:scaleX(1); }
.nav-links a.active{ color:#fff; }

.header-actions{ display:flex; align-items:center; gap:10px; }
.lang-toggle{ min-width:44px; height:38px; padding:0 12px; border:1px solid var(--line-2); background:#fff; color:var(--ink); font-weight:700; font-size:.85rem; letter-spacing:.5px; transition:border-color .2s,color .2s; }
.lang-toggle:hover{ border-color:var(--brand); color:var(--brand); }

.menu-toggle{ display:none; width:42px; height:38px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.05); flex-direction:column; gap:4px; align-items:center; justify-content:center; }
.menu-toggle span{ width:17px; height:2px; background:#fff; transition:.25s var(--ease); }
.menu-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:1rem;
  padding:13px 26px; border-radius:11px; border:1px solid transparent; transition:transform .18s var(--ease),background .2s,border-color .2s,color .2s; white-space:nowrap; }
.btn:active{ transform:translateY(1px); }
.btn-sm{ padding:9px 17px; font-size:.9rem; }
.btn-block{ width:100%; }
.btn-primary{ background:var(--brand); color:#fff; }
.btn-primary:hover{ background:var(--brand-700); transform:translateY(-2px); }
.btn-ghost{ background:#fff; color:var(--ink); border-color:var(--line-2); }
.btn-ghost:hover{ border-color:var(--ink); transform:translateY(-2px); }

.hero{ padding:56px 0 0; position:relative; background:var(--navy); overflow:hidden; }
.hero::before{ content:""; position:absolute; inset:0; opacity:.55; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000,transparent 78%); mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000,transparent 78%); }
.hero-glyphs{ position:absolute; inset:0; pointer-events:none; z-index:0; }
.hero-glyphs span{ position:absolute; font-family:var(--font-mono); font-weight:700; color:rgba(255,255,255,.07); font-size:2rem; animation:plDrift 6s var(--ease) infinite; }
.hero-glyphs span:nth-child(1){ top:16%; inset-inline-start:8%; animation-delay:0s; }
.hero-glyphs span:nth-child(2){ top:26%; inset-inline-end:10%; animation-delay:.6s; }
.hero-glyphs span:nth-child(3){ top:60%; inset-inline-start:6%; animation-delay:1.1s; }
.hero-glyphs span:nth-child(4){ top:70%; inset-inline-end:12%; animation-delay:1.5s; }
.hero-glyphs span:nth-child(5){ top:40%; inset-inline-start:14%; animation-delay:.9s; }
.hero-glyphs span:nth-child(6){ top:48%; inset-inline-end:7%; animation-delay:.3s; }
.hero-glyphs span:nth-child(7){ top:12%; inset-inline-end:30%; animation-delay:1.8s; }
.hero-glyphs span:nth-child(8){ top:80%; inset-inline-start:34%; animation-delay:1.2s; }
.hero-glyphs span:nth-child(9){ top:30%; inset-inline-start:26%; animation-delay:2.1s; }
.hero-glyphs span:nth-child(10){ top:64%; inset-inline-end:32%; animation-delay:.5s; }
.hero .container,.hero-showcase{ position:relative; z-index:1; }
.hero-copy.centered{ max-width:860px; margin:0 auto; text-align:center; }
.hero-title{ color:#fff; }
.hero .eyebrow{ color:#fff; border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.04); }
.hero .hero-sub{ color:rgba(255,255,255,.72); }
.hero .btn-ghost{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.25); color:#fff; }
.hero .btn-ghost:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
.hero .trust-item strong{ color:#fff; }
.hero .trust-item span{ color:rgba(255,255,255,.55); }
.hero .trust-sep{ background:rgba(255,255,255,.2); }
.hero-showcase .app-window{ box-shadow:0 44px 90px -30px rgba(0,0,0,.6); }
.hero-copy.centered .hero-sub{ margin-inline:auto; }
.hero-copy.centered .hero-cta{ justify-content:center; }
.hero-copy.centered .hero-trust{ justify-content:center; margin-top:34px; }

.hero-showcase{ max-width:1160px; margin:44px auto 0; padding:0 24px 20px;
  -webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);
  animation:fadeIn 1s var(--ease) both .5s; }
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }
.showcase-persp{ perspective:1800px; }
.showcase-rot{ transform:rotateX(9deg); transform-origin:50% 0%; will-change:transform; }
.showcase-skew{ transform:none; }
.hero-showcase .app-window{ box-shadow:0 44px 90px -34px rgba(10,12,18,.42); }
.hero-showcase .app-body{ min-height:420px; }
@media (prefers-reduced-motion:reduce){ .showcase-rot,.showcase-skew{ transform:none; } }

.eyebrow{ display:inline-flex; align-items:center; gap:9px; font-size:.82rem; font-weight:600; color:var(--brand);
  border:1px solid var(--line-2); padding:6px 14px; border-radius:100px; margin-bottom:26px; }
.eyebrow-dot{ width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px rgba(245,98,14,.15); animation:pulse 2.4s var(--ease) infinite; }
@keyframes pulse{ 50%{ box-shadow:0 0 0 8px rgba(245,98,14,0); } }

.hero-title{ font-family:var(--font-disp); font-weight:900; font-size:clamp(2.5rem,5.6vw,4.4rem); line-height:1.22; letter-spacing:-.5px; }
.hero-title .line{ display:block; overflow:hidden; padding-block:.1em; }
.hero-title .line + .line{ margin-top:.06em; }
.hero-title .line-in{ display:block; transform:translateY(108%); animation:lineUp .95s var(--ease) forwards; }
.hero-title .line:nth-child(1) .line-in{ animation-delay:.15s; }
.hero-title .line:nth-child(2) .line-in{ animation-delay:.30s; }
@keyframes lineUp{ to{ transform:translateY(0); } }
@media (prefers-reduced-motion:reduce){ .hero-title .line-in{ transform:none; animation:none; } }
.grad{ color:var(--brand); }
.hero-sub{ color:var(--ink-2); font-size:clamp(1.02rem,1.5vw,1.2rem); max-width:54ch; margin:24px 0 34px; line-height:1.75; }
.hero-cta{ display:flex; gap:13px; flex-wrap:wrap; }
.hero-trust{ display:flex; align-items:center; gap:26px; margin-top:48px; flex-wrap:wrap; }
.trust-item{ display:flex; flex-direction:column; }
.trust-item strong{ font-family:var(--font-disp); font-size:1.5rem; font-weight:800; color:var(--ink); line-height:1; }
.trust-item span{ font-size:.85rem; color:var(--ink-3); margin-top:5px; }
.trust-sep{ width:1px; height:34px; background:var(--line-2); }

@keyframes riseIn{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
.hero-copy .eyebrow{ animation:riseIn .7s var(--ease) both .05s; }
.hero-sub{ animation:riseIn .8s var(--ease) both .44s; }
.hero-cta{ animation:riseIn .8s var(--ease) both .56s; }
.hero-trust{ animation:riseIn .8s var(--ease) both .68s; }
.hero-visual{ animation:riseIn 1s var(--ease) both .5s; }

.hero-visual{ position:relative; }
.app-window{ background:#fff; border:1px solid var(--line-2); border-radius:14px; box-shadow:var(--sh-2); overflow:hidden; }
.app-topbar{ display:flex; align-items:center; gap:12px; padding:11px 15px; background:var(--bg-alt); border-bottom:1px solid var(--line); }
.app-dots{ display:flex; gap:6px; }
.app-dots i{ width:9px; height:9px; border-radius:50%; background:#d3d8e0; }
.app-url{ font-family:var(--font-mono); font-size:.72rem; color:var(--ink-3); background:#fff; border:1px solid var(--line); border-radius:6px; padding:3px 12px; margin-inline:auto; letter-spacing:.2px; }
.app-body{ display:grid; grid-template-columns:54px 1fr; min-height:318px; }
.app-side{ background:var(--bg-alt); border-inline-end:1px solid var(--line); display:flex; flex-direction:column; align-items:center; gap:13px; padding:15px 0; }
.app-brand{ font-family:var(--font-disp); font-weight:800; font-size:.88rem; color:var(--brand); }
.app-nav{ width:26px; height:26px; border-radius:7px; background:#e6e9ef; }
.app-nav.on{ background:var(--brand); }
.app-main{ padding:17px; display:flex; flex-direction:column; gap:13px; }
.app-head{ display:flex; align-items:center; justify-content:space-between; }
.app-h-title{ font-family:var(--font-disp); font-weight:800; font-size:.94rem; color:var(--ink); }
.app-h-btn{ font-size:.66rem; font-weight:600; color:#fff; background:var(--brand); border-radius:7px; padding:5px 12px; }
.app-tiles{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.app-tile{ background:#fff; border:1px solid var(--line); border-radius:10px; padding:11px 12px; display:flex; flex-direction:column; gap:6px; }
.t-cap{ font-size:.6rem; color:var(--ink-3); font-weight:600; }
.t-val{ font-family:var(--font-disp); font-weight:800; font-size:1.02rem; color:var(--ink); }
.t-bar{ height:5px; border-radius:3px; background:#e6e9ef; }
.t-bar.up{ background:var(--brand); width:74%; }
.app-chart{ display:flex; align-items:flex-end; gap:9px; height:86px; padding:14px 12px; background:var(--bg-alt); border:1px solid var(--line); border-radius:10px; }
.app-chart span{ flex:1; height:var(--h); border-radius:5px 5px 2px 2px; background:#cdd4e0; transform:scaleY(0); transform-origin:bottom; }
.app-chart span:nth-child(6){ background:var(--brand); }
.in-view .app-chart span{ animation:grow .7s var(--ease) forwards; }
.in-view .app-chart span:nth-child(1){ animation-delay:.05s } .in-view .app-chart span:nth-child(2){ animation-delay:.11s }
.in-view .app-chart span:nth-child(3){ animation-delay:.17s } .in-view .app-chart span:nth-child(4){ animation-delay:.23s }
.in-view .app-chart span:nth-child(5){ animation-delay:.29s } .in-view .app-chart span:nth-child(6){ animation-delay:.35s }
.in-view .app-chart span:nth-child(7){ animation-delay:.41s } .in-view .app-chart span:nth-child(8){ animation-delay:.47s }
@keyframes grow{ to{ transform:scaleY(1); } }
.app-rows{ display:flex; flex-direction:column; gap:8px; }
.app-row{ display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:10px; }
.app-row span{ height:9px; border-radius:4px; background:#eef1f5; }
.app-row .pill{ width:42px; height:16px; border-radius:100px; background:var(--brand-050); }

.section{ padding:96px 0; position:relative; }
.section-alt{ background:var(--bg-alt); border-block:1px solid var(--line); }
.section-head{ max-width:680px; margin:0 auto 56px; text-align:center; }
.section-kicker{ display:inline-flex; align-items:center; gap:8px; font-size:.8rem; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:var(--brand); margin-bottom:16px; }
.section-kicker::before{ content:""; width:22px; height:1px; background:var(--brand); }
.section-title{ font-family:var(--font-disp); font-weight:800; font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.14; letter-spacing:-.3px; }
.section-desc{ color:var(--ink-2); font-size:1.06rem; margin-top:16px; line-height:1.7; }

.card{ position:relative; background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  transition:transform .3s var(--ease),border-color .3s,box-shadow .3s; }
.card-glow{ display:none; }
.card:hover{ transform:translateY(-4px); border-color:var(--line-2); box-shadow:var(--sh-2); }

.marquee-strip{ padding:6px 0 30px; }
.trust-label{ text-align:center; color:var(--ink-3); font-size:.88rem; font-weight:600; margin-bottom:24px; letter-spacing:.3px; }
.marquee{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee-track{ display:flex; align-items:center; gap:56px; width:max-content; direction:ltr; animation:scrollx 34s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes scrollx{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.m-item{ display:inline-flex; align-items:center; gap:11px; color:var(--ink-2); font-weight:600; font-size:1.05rem; white-space:nowrap; }
.m-item svg{ width:26px; height:26px; color:var(--brand); flex-shrink:0; }

.about-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.about-copy .section-kicker{ margin-bottom:18px; }
.about-copy .section-title{ text-align:start; }
.about-p{ color:var(--ink-2); font-size:1.06rem; line-height:1.8; margin-top:18px; }
.about-points{ list-style:none; display:flex; flex-direction:column; gap:14px; margin-top:28px; }
.about-points li{ position:relative; padding-inline-start:32px; font-weight:600; color:var(--ink); font-size:1rem; }
.about-points li::before{ content:""; position:absolute; inset-inline-start:0; top:4px; width:18px; height:18px; border-radius:5px; background:var(--brand-050); }
.about-points li::after{ content:""; position:absolute; inset-inline-start:5px; top:9px; width:8px; height:4px; border-inline-start:2px solid var(--brand); border-bottom:2px solid var(--brand); transform:rotate(-45deg); }

.about-visual{ display:flex; }
.brand-panel{ position:relative; width:100%; border-radius:var(--radius); padding:44px 40px; color:#fff; background:var(--dark); overflow:hidden; }
.brand-panel::before{ content:""; position:absolute; inset:0; opacity:.5; z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:38px 38px; }
.brand-panel::after{ content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.07) 50%,transparent 60%);
  transform:translateX(-130%); animation:sheen 7.5s ease-in-out 1.2s infinite; }
.bp-mark{ font-family:var(--font-disp); font-weight:900; font-size:2.4rem; color:var(--brand); position:relative; z-index:1; }
.bp-quote{ font-family:var(--font-disp); font-weight:500; font-size:1.45rem; line-height:1.5; margin-top:16px; position:relative; z-index:1; }
.bp-meta{ display:flex; gap:14px; margin-top:32px; padding-top:26px; border-top:1px solid rgba(255,255,255,.14); position:relative; z-index:1; }
@keyframes sheen{ 0%{ transform:translateX(-130%); } 55%,100%{ transform:translateX(130%); } }
.bp-meta div{ display:flex; flex-direction:column; flex:1; }
.bp-meta b{ font-family:var(--font-disp); font-weight:800; font-size:1.7rem; line-height:1; color:#fff; }
.bp-meta span{ font-size:.84rem; color:rgba(255,255,255,.6); margin-top:6px; }

.vm-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.vm-card{ padding:40px; }
.vm-ico{ width:52px; height:52px; border-radius:13px; display:grid; place-items:center; color:#fff; background:var(--navy); margin-bottom:22px; }
.vm-ico svg{ width:27px; height:27px; }
.vm-card h3{ font-family:var(--font-disp); font-weight:800; font-size:1.5rem; margin-bottom:12px; }
.vm-card p{ color:var(--ink-2); font-size:1.05rem; line-height:1.75; }

.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.value-card{ padding:28px; }
.value-ico{ width:48px; height:48px; border-radius:12px; display:grid; place-items:center; color:var(--brand); background:var(--brand-050); margin-bottom:18px; }
.value-ico svg{ width:24px; height:24px; }
.value-card h3{ font-family:var(--font-disp); font-weight:700; font-size:1.26rem; margin-bottom:9px; }
.value-card p{ color:var(--ink-2); font-size:.96rem; line-height:1.65; }

.bento{ display:grid; gap:18px; }
.products-bento{ grid-template-columns:repeat(3,1fr); grid-auto-rows:minmax(0,auto); }
.product-card{ display:flex; flex-direction:column; padding:30px; }
.product-card.feat{ grid-row:span 2; padding:38px; color:#fff; background:var(--navy); border-color:transparent; }
.product-card.custom{ background:var(--bg-alt); border-style:dashed; border-color:var(--line-2); align-items:flex-start; }
.product-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
.product-ico{ width:52px; height:52px; border-radius:13px; display:grid; place-items:center; color:var(--brand); background:var(--brand-050); flex-shrink:0; }
.product-ico svg{ width:27px; height:27px; }
.feat .product-ico{ width:58px; height:58px; color:#fff; background:rgba(255,255,255,.16); } .feat .product-ico svg{ width:30px; height:30px; }
.product-tag{ font-size:.78rem; font-weight:600; color:var(--ink-2); background:var(--bg-alt); border:1px solid var(--line); padding:6px 12px; border-radius:100px; }
.feat .product-tag{ color:#fff; background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.22); }
.product-name{ display:flex; align-items:baseline; gap:10px; font-family:var(--font-disp); font-weight:800; margin-bottom:12px; }
.pn-ar{ font-size:1.7rem; } .pn-en{ font-size:.95rem; color:var(--ink-3); font-weight:500; letter-spacing:.5px; }
.feat .pn-ar{ font-size:2.3rem; } .feat .pn-en{ color:rgba(255,255,255,.75); }
.product-name.single{ font-size:1.5rem; margin-top:20px; color:var(--ink); }
.product-card.feat .product-name.single{ color:#fff; }
.product-card.feat .product-name.single + .product-desc,
.product-card.feat .product-tag{ color:rgba(255,255,255,.9); }
.product-desc{ color:var(--ink-2); font-size:.98rem; line-height:1.7; }
.feat .product-desc{ font-size:1.05rem; color:rgba(255,255,255,.9); }
.product-points{ list-style:none; margin:22px 0 6px; display:flex; flex-direction:column; gap:11px; }
.product-points li{ position:relative; padding-inline-start:26px; color:#fff; font-size:.95rem; font-weight:500; }
.product-points li::before{ content:""; position:absolute; inset-inline-start:0; top:6px; width:14px; height:8px; border-inline-start:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); }
.product-link{ display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:24px; color:var(--brand); font-weight:700; font-size:.98rem; }
.feat .product-link{ color:#fff; } .custom .product-link{ margin-top:20px; }
.product-link .arrow{ transition:transform .25s var(--ease); display:inline-block; }
[dir="rtl"] .product-link .arrow{ transform:scaleX(-1); }
.product-link:hover .arrow{ transform:translateX(4px); } [dir="rtl"] .product-link:hover .arrow{ transform:scaleX(-1) translateX(4px); }

.features-bento{ grid-template-columns:repeat(3,1fr); }
.feature-card{ padding:28px; }
@media(min-width:861px){ .features-bento{ grid-template-columns:repeat(6,1fr); } .feature-card{ grid-column:span 2; } .feature-card.f-wide{ grid-column:span 3; } }
.feature-ico{ width:48px; height:48px; border-radius:12px; display:grid; place-items:center; color:#fff; background:var(--navy); margin-bottom:18px; }
.feature-ico svg{ width:24px; height:24px; }
.feature-card h3{ font-family:var(--font-disp); font-weight:700; font-size:1.28rem; margin-bottom:9px; }
.feature-card p{ color:var(--ink-2); font-size:.96rem; line-height:1.65; }

.stats-band{ padding:16px 0 40px; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; background:var(--dark); border-radius:var(--radius); padding:48px 28px; position:relative; overflow:hidden; }
.stats-grid::before{ content:""; position:absolute; inset:0; opacity:.5; z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:44px 44px; }
.stats-grid::after{ content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.06) 50%,transparent 58%);
  transform:translateX(-130%); animation:sheen 8s ease-in-out 2s infinite; }
.stat{ text-align:center; position:relative; z-index:1; }
.stat-num{ display:block; font-family:var(--font-disp); font-weight:900; font-size:clamp(2.2rem,4vw,3.1rem); line-height:1; color:#fff; }
.stat-label{ display:block; color:rgba(255,255,255,.6); font-size:.92rem; margin-top:10px; }

.process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.process-step{ position:relative; padding:34px 28px; border-inline-end:1px solid var(--line); transition:background .3s; }
.process-step:last-child{ border-inline-end:none; }
.process-step:hover{ background:var(--bg-alt); }
.step-num{ font-family:var(--font-disp); font-weight:900; font-size:1.05rem; color:var(--brand); display:block; margin-bottom:16px; letter-spacing:1px; }
.process-step h3{ font-family:var(--font-disp); font-weight:700; font-size:1.24rem; margin-bottom:9px; }
.process-step p{ color:var(--ink-2); font-size:.94rem; line-height:1.65; }

.contact-card{ padding:0; border-color:var(--line-2); }
.contact-card:hover{ transform:none; box-shadow:none; border-color:var(--line-2); }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; }
.contact-copy{ padding:52px; display:flex; flex-direction:column; }
.contact-copy .section-kicker{ align-self:flex-start; }
.contact-copy .section-title{ font-size:clamp(1.7rem,3vw,2.3rem); }
.contact-copy .section-desc{ margin-bottom:auto; }
.contact-methods{ display:flex; flex-direction:column; gap:12px; margin-top:32px; }
.contact-method{ display:inline-flex; align-items:center; gap:12px; color:var(--ink); font-weight:600; font-size:1rem; }
.cm-ico{ width:42px; height:42px; border-radius:10px; display:grid; place-items:center; color:var(--brand); background:var(--brand-050); }
.cm-ico svg{ width:20px; height:20px; }
.contact-method:hover .cm-ico{ background:var(--brand); color:#fff; }
.contact-form{ padding:52px; background:var(--bg-alt); border-inline-start:1px solid var(--line); display:flex; flex-direction:column; gap:16px; }
.field{ display:flex; flex-direction:column; gap:8px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field label{ font-size:.88rem; font-weight:600; color:var(--ink-2); }
.field input,.field select,.field textarea{ width:100%; font-family:inherit; font-size:.98rem; color:var(--ink); background:#fff; border:1px solid var(--line-2); border-radius:10px; padding:13px 15px; transition:border-color .2s,box-shadow .2s; }
.field textarea{ resize:vertical; min-height:88px; }
.field select{ appearance:none; cursor:pointer; }
.field input::placeholder,.field textarea::placeholder{ color:var(--ink-3); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(245,98,14,.12); }
.form-note{ font-size:.9rem; text-align:center; min-height:1.2em; }
.form-note.ok{ color:#0a7c42; } .form-note.err{ color:#c81e1e; }

.site-footer{ border-top:1px solid var(--line); background:var(--bg-alt); padding-top:58px; }
.footer-inner{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:36px; padding-bottom:44px; }
.footer-brand{ max-width:340px; }
.footer-logo{ height:46px; width:auto; margin-bottom:18px; }
.footer-name{ font-family:var(--font-disp); font-weight:800; font-size:1.18rem; color:var(--ink); margin-bottom:8px; }
.footer-tag{ color:var(--ink-2); font-size:1rem; line-height:1.7; }
.footer-col h4{ font-family:var(--font-disp); font-weight:700; font-size:1.05rem; margin-bottom:16px; }
.footer-col a{ display:block; color:var(--ink-2); padding:6px 0; font-size:.95rem; transition:color .2s; }
.footer-col a:hover{ color:var(--brand); }
.footer-col .muted{ color:var(--ink-3); font-size:.82rem; }
.footer-bottom{ display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-top:1px solid var(--line); color:var(--ink-3); font-size:.88rem; }
.footer-en{ font-weight:800; letter-spacing:3px; color:var(--brand); }

.tech-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; max-width:900px; margin-inline:auto; }
.tech-pill{ display:inline-flex; align-items:center; gap:10px; padding:11px 20px; border:1px solid var(--line-2); border-radius:100px;
  background:#fff; font-weight:600; font-size:1rem; color:var(--ink); transition:transform .2s var(--ease),border-color .2s,box-shadow .2s; }
.tech-pill i{ width:9px; height:9px; border-radius:50%; background:var(--brand); flex-shrink:0; }
.tech-pill:hover{ transform:translateY(-3px); border-color:var(--navy); box-shadow:var(--sh-2); }

.faq-list{ max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:14px; }
.faq-item{ background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; transition:border-color .25s,box-shadow .25s; }
.faq-item.open{ border-color:var(--line-2); box-shadow:var(--sh-2); }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px;
  background:none; border:none; text-align:start; font-family:var(--font-disp); font-weight:700; font-size:1.14rem; color:var(--ink); }
.faq-ico{ position:relative; width:22px; height:22px; flex-shrink:0; }
.faq-ico::before,.faq-ico::after{ content:""; position:absolute; inset-block:50%; inset-inline:0; height:2.5px; border-radius:2px; background:var(--brand); transform:translateY(-50%); transition:transform .3s var(--ease); }
.faq-ico::after{ transform:translateY(-50%) rotate(90deg); }
.faq-item.open .faq-ico::after{ transform:translateY(-50%) rotate(0); }
.faq-a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .32s var(--ease); }
.faq-item.open .faq-a{ grid-template-rows:1fr; }
.faq-a > p{ overflow:hidden; margin:0; padding:0 24px; color:var(--ink-2); font-size:1rem; line-height:1.75; transition:padding .32s var(--ease); }
.faq-item.open .faq-a > p{ padding:0 24px 24px; }

.reveal{ opacity:0; transform:translateY(34px); filter:blur(8px);
  transition:opacity .75s var(--ease),transform .75s var(--ease),filter .75s var(--ease); }
.reveal.in{ opacity:1; transform:none; filter:blur(0); }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; filter:none; } }

@media (max-width:960px){
  .hero{ min-height:auto; padding:40px 0 64px; }
  .hero-grid{ grid-template-columns:1fr; gap:46px; }
  .hero-visual{ max-width:480px; margin-inline:auto; width:100%; }
  .about-grid{ grid-template-columns:1fr; gap:40px; }
  .contact-grid{ grid-template-columns:1fr; }
  .contact-form{ border-inline-start:none; border-top:1px solid var(--line); }
  .process-grid{ grid-template-columns:1fr 1fr; }
  .process-step:nth-child(2){ border-inline-end:none; }
  .process-step:nth-child(1),.process-step:nth-child(2){ border-bottom:1px solid var(--line); }
  .footer-inner{ grid-template-columns:1fr 1fr; } .footer-brand{ grid-column:1 / -1; }
}
@media (max-width:860px){
  .header-actions{ margin-inline-start:auto; }
  .nav-links{ position:fixed; inset:82px 12px auto 12px; flex-direction:column; gap:0; padding:8px 10px 10px;
    background:var(--navy); border:1px solid rgba(255,255,255,.12); border-radius:16px; box-shadow:0 26px 50px -18px rgba(0,0,0,.7);
    transform:translateY(-14px) scale(.98); transform-origin:top; opacity:0; visibility:hidden;
    transition:transform .3s var(--ease), opacity .25s var(--ease), visibility .3s; }
  .nav-links.open{ transform:none; opacity:1; visibility:visible; }
  .nav-links a{ padding:14px 16px; font-size:1.06rem; font-weight:600; color:rgba(255,255,255,.85); border-radius:10px;
    text-align:start; transition:background .2s,color .2s; }
  .nav-links a:hover,.nav-links a.active{ background:rgba(255,255,255,.07); color:#fff; }
  .nav-links a.active{ color:var(--brand); }
  .nav-links a::after{ display:none; }
  .menu-toggle{ display:flex; }
  .products-bento{ grid-template-columns:1fr 1fr; }
  .product-card.feat{ grid-row:auto; grid-column:1 / -1; }
  .values-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .container{ padding-inline:18px; }
  .btn-sm.btn-primary{ display:none; }
  .section{ padding:64px 0; }
  .products-bento{ grid-template-columns:1fr; }
  .features-bento{ grid-template-columns:1fr!important; }
  .feature-card,.feature-card.f-wide{ grid-column:auto!important; }
  .stats-grid{ grid-template-columns:1fr 1fr; gap:30px 18px; padding:36px 22px; }
  .process-grid{ grid-template-columns:1fr; }
  .process-step{ border-inline-end:none!important; border-bottom:1px solid var(--line); }
  .process-step:last-child{ border-bottom:none; }
  .vm-grid{ grid-template-columns:1fr; }
  .values-grid{ grid-template-columns:1fr; }
  .vm-card{ padding:30px; }
  .brand-panel{ padding:34px 26px; }
  .bp-quote{ font-size:1.28rem; }
  .contact-copy,.contact-form{ padding:32px 24px; }
  .field-row{ grid-template-columns:1fr; }
  .hero-trust{ gap:18px; }
  .footer-inner{ grid-template-columns:1fr; }
}
