/* =========================================================
   Tatwir Tech — Design tokens
   ========================================================= */
:root{
  /* Brand colors */
  --deep-teal:   #183B39;
  --forest-teal: #234946;
  --mint-accent: #9BD8C8;
  --soft-mint:   #DDF1EB;
  --light-gray:  #E8ECEA;
  --warm-white:  #F8F8F6;

  --ink:    var(--deep-teal);
  --ink-2:  var(--forest-teal);
  --bg:     var(--warm-white);
  --line:   var(--light-gray);
  --accent: var(--mint-accent);
  --accent-soft: var(--soft-mint);

  /* Type */
  --font-en: "Inter", -apple-system, "Segoe UI", sans-serif;
  --font-ar: "IBM Plex Sans Arabic", "Inter", sans-serif;

  /* Scale (per brand guide: 48/36/24/18/16/14) */
  --fs-h1: clamp(2.25rem, 1.6rem + 2.6vw, 3rem);
  --fs-h2: clamp(1.6rem, 1.3rem + 1.4vw, 2.25rem);
  --fs-h3: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
  --fs-body-lg: 1.125rem;
  --fs-body: 1rem;
  --fs-small: 0.875rem;

  /* Radius per brand guide */
  --r-sm: 8px;
  --r-card: 12px;
  --r-lg: 16px;

  /* Shadow per brand guide */
  --shadow-card: 0 4px 16px rgba(24, 59, 57, 0.06);
  --shadow-lift: 0 12px 32px rgba(24, 59, 57, 0.10);

  --container: 1200px;
  --gap: 24px;

  --dur-fast: 160ms;
  --dur: 320ms;
  --ease: cubic-bezier(.22,.61,.36,1);
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-en);
  font-size: var(--fs-body);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* Branded loading screen */
body.is-loading{ overflow:hidden; }
.site-loader{
  position:fixed; inset:0; z-index:9999; display:grid; place-items:center; overflow:hidden;
  color:var(--warm-white); background:
    radial-gradient(circle at 50% 44%,rgba(155,216,200,.13),transparent 34%),
    linear-gradient(145deg,#102d2b 0%,var(--deep-teal) 58%,#214b47 100%);
  opacity:1; visibility:visible; transition:opacity .55s var(--ease),visibility .55s step-end;
}
.site-loader.is-leaving{ opacity:0; visibility:hidden; pointer-events:none; }
.site-loader__content{ position:relative; z-index:2; width:min(74vw,310px); text-align:center; }
.site-loader__logo{
  display:block; width:min(100%,270px); height:auto; margin:0 auto;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.16));
  animation:loader-logo-in .8s var(--ease) both,loader-logo-breathe 2.4s .8s ease-in-out infinite;
}
.site-loader__line{
  width:min(190px,70%); height:3px; margin:30px auto 17px; overflow:hidden;
  border-radius:999px; background:rgba(248,248,246,.13);
}
.site-loader__line span{
  display:block; width:48%; height:100%; border-radius:inherit;
  background:linear-gradient(90deg,transparent,var(--mint-accent),#fff,var(--mint-accent),transparent);
  animation:loader-line 1.25s ease-in-out infinite;
}
.site-loader p{
  margin:0; color:rgba(248,248,246,.68); font-size:.76rem; font-weight:500;
  letter-spacing:.04em; animation:loader-copy-in .65s .25s var(--ease) both;
}
.site-loader__ambient{ position:absolute; inset:0; pointer-events:none; }
.site-loader__ambient::before,.site-loader__ambient::after{
  content:""; position:absolute; border:1px solid rgba(155,216,200,.12); border-radius:50%;
}
.site-loader__ambient::before{ width:430px; height:430px; inset-inline-start:-245px; top:-255px; box-shadow:0 0 0 48px rgba(155,216,200,.025),0 0 0 96px rgba(155,216,200,.015); }
.site-loader__ambient::after{ width:350px; height:350px; inset-inline-end:-215px; bottom:-230px; box-shadow:0 0 0 44px rgba(155,216,200,.022); }
.site-loader__ambient span{ position:absolute; width:7px; height:7px; border-radius:50%; background:var(--mint-accent); box-shadow:0 0 22px rgba(155,216,200,.65); animation:loader-node 2.2s ease-in-out infinite; }
.site-loader__ambient span:nth-child(1){ left:18%; top:28%; }
.site-loader__ambient span:nth-child(2){ right:19%; top:36%; animation-delay:.45s; }
.site-loader__ambient span:nth-child(3){ left:31%; bottom:21%; animation-delay:.9s; }
@keyframes loader-logo-in{ from{ opacity:0; transform:translateY(12px) scale(.97); } to{ opacity:1; transform:none; } }
@keyframes loader-logo-breathe{ 0%,100%{ transform:scale(1); } 50%{ transform:scale(1.018); } }
@keyframes loader-line{ from{ transform:translateX(-115%); } to{ transform:translateX(320%); } }
@keyframes loader-copy-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@keyframes loader-node{ 0%,100%{ opacity:.25; transform:scale(.75); } 50%{ opacity:1; transform:scale(1.2); } }
html[dir="rtl"] .site-loader__line span{ animation-direction:reverse; }
@media(max-width:560px){
  .site-loader__content{ width:min(76vw,270px); }
  .site-loader__logo{ width:min(100%,235px); }
  .site-loader__line{ margin-top:25px; }
  .site-loader__ambient span:nth-child(1){ left:10%; }.site-loader__ambient span:nth-child(2){ right:11%; }
}
@media(prefers-reduced-motion:reduce){
  .site-loader,.site-loader__logo,.site-loader__line span,.site-loader p,.site-loader__ambient span{ animation:none!important; transition-duration:.01ms!important; }
}
html[lang="ar"] body{ font-family: var(--font-ar); }
html[dir="rtl"] body{ direction: rtl; }

img{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
ul{ list-style: none; margin: 0; padding: 0; }
button{ font: inherit; }

h1,h2,h3,h4{ margin: 0 0 .5em; font-weight: 600; letter-spacing: -0.01em; line-height: 1.15; color: var(--deep-teal); }
h1{ font-size: var(--fs-h1); font-weight: 700; }
h2{ font-size: var(--fs-h2); }
h3{ font-size: var(--fs-h3); }
p{ margin: 0 0 1em; color: var(--forest-teal); }

:focus-visible{ outline: 2px solid var(--deep-teal); outline-offset: 3px; border-radius: 4px; }

.container{ max-width: var(--container); margin-inline: auto; padding-inline: 24px; }
.sr-only{ position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.section{ padding-block: clamp(52px, 5vw, 76px); }
.section--tight{ padding-block: clamp(30px, 4vw, 48px); }
.section--soft{ background: linear-gradient(180deg, #edf7f4 0%, #f6faf8 100%); }
.section--deep{ background: var(--deep-teal); color: var(--warm-white); }
.section--deep h2, .section--deep h3{ color: var(--warm-white); }
.section--deep p{ color: rgba(248,248,246,.8); }

.eyebrow{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: var(--fs-small); font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--forest-teal);
  margin-bottom: 12px;
}
.eyebrow::before{
  content:""; width: 6px; height: 6px; border-radius: 50%; background: var(--mint-accent);
}
.section-head{ max-width: 640px; margin-bottom: clamp(26px, 3vw, 40px); }
.section-head--center{ margin-inline: auto; text-align: center; }

/* Buttons */
.btn{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 24px; border-radius: var(--r-sm);
  font-weight: 600; font-size: var(--fs-body);
  border: 1px solid transparent; cursor: pointer;
  transition: transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
  white-space: nowrap;
}
.btn:active{ transform: translateY(1px); }
.btn-primary{ background: var(--deep-teal); color: var(--warm-white); }
.btn-primary:hover{ background: var(--forest-teal); box-shadow: var(--shadow-lift); }
.btn-secondary{ background: transparent; color: var(--deep-teal); border-color: var(--light-gray); }
.btn-secondary:hover{ border-color: var(--deep-teal); background: var(--soft-mint); }
.btn-ghost{ background: transparent; color: var(--warm-white); border-color: rgba(248,248,246,.35); }
.btn-ghost:hover{ background: rgba(248,248,246,.1); }
.btn-icon{ width: 1em; height: 1em; transition: transform var(--dur-fast) var(--ease); }
.btn:hover .btn-icon{ transform: translateX(3px); }
html[dir="rtl"] .btn:hover .btn-icon{ transform: translateX(-3px) scaleX(-1); }
html[dir="rtl"] .btn-icon{ transform: scaleX(-1); }

/* =========================================================
   Header / Nav
   ========================================================= */
.site-header{
  position: sticky; top: 0; z-index: 100;
  background: rgba(248,248,246,.82); backdrop-filter: saturate(180%) blur(16px);
  border-bottom: 1px solid rgba(24,59,57,.08);
  box-shadow: 0 10px 35px rgba(24,59,57,.035);
  transition:transform .36s var(--ease),background .25s ease,box-shadow .25s ease;
}
.site-header.is-scrolled{ background:rgba(248,248,246,.94); box-shadow:0 12px 34px rgba(24,59,57,.08); }
.site-header.is-hidden:not(.is-open){ transform:translateY(calc(-100% - 2px)); }
.site-progress{ position:absolute; inset:0 0 auto; height:3px; overflow:hidden; pointer-events:none; }
.site-progress span{ display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--mint-accent),#50b79f); transform:scaleX(0); transform-origin:left; will-change:transform; }
html[dir="rtl"] .site-progress span{ transform-origin:right; }
.nav{ display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 14px; transition:padding .25s var(--ease); }
.site-header.is-scrolled .nav{ padding-block:10px; }
.nav-logo img{ height: 70px; width: auto; }
.nav-links{ display: flex; align-items: center; gap: 4px; }
.nav-links a{
  padding: 10px 14px; border-radius: var(--r-sm); font-size: var(--fs-small); font-weight: 600; color: var(--forest-teal);
  transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
  position: relative;
}
.nav-links a:hover{ background: var(--soft-mint); color: var(--deep-teal); }
.nav-links a.is-active{ color: var(--deep-teal); }
.nav-links a.is-active::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:2px; background: var(--mint-accent); border-radius: 2px;
}
.nav-actions{ display: flex; align-items: center; gap: 10px; }
.nav-cta{ padding:10px 17px;border-radius:15px;font-size:.82rem;box-shadow:0 8px 20px rgba(24,59,57,.11); }
.lang-switch{
  display: inline-flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: var(--r-sm); border: 1px solid var(--line);
  font-size: var(--fs-small); font-weight: 700; color: var(--forest-teal);
  transition: border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.lang-switch:hover{ border-color: var(--deep-teal); color: var(--deep-teal); }
.nav-toggle{
  display:none; width: 40px; height: 40px; border-radius: var(--r-sm); border: 1px solid var(--line);
  background: none; align-items:center; justify-content:center; cursor:pointer;
}
.nav-toggle svg{ width: 18px; height: 18px; }

@media (max-width: 900px){
  .site-header,.site-header.is-scrolled{ background:#fff;backdrop-filter:none;box-shadow:0 8px 26px rgba(24,59,57,.09); }
  .nav{ min-height:66px;gap:10px;padding-block:9px; }
  .site-header.is-scrolled .nav{ padding-block:8px; }
  .nav-logo{ display:flex;align-items:center;flex:none; }
  .nav-logo img{ height:30px;max-width:104px;object-fit:contain; }
  .nav-actions{ gap:7px; }
  .nav-cta{ padding:9px 13px;border-radius:13px;font-size:.74rem;box-shadow:none; }
  .lang-switch{ width:38px;height:38px;border-radius:12px;background:#f8faf9;font-size:.72rem; }
  .nav-toggle{ width:40px;height:40px;border-radius:12px;background:#f8faf9; }
  .nav-links{
    position:fixed;inset:66px 0 0;background:#fff!important;backdrop-filter:none;
    flex-direction:column;align-items:stretch;gap:6px;padding:20px max(20px,calc((100vw - 1180px)/2));
    transform:translateY(-8px);opacity:0;pointer-events:none;
    transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease);
    border-top:1px solid var(--line);box-shadow:0 22px 44px rgba(24,59,57,.1);overflow-y:auto;
  }
  .nav-links a{ padding:14px 15px;border:1px solid transparent;border-radius:13px;font-size:.94rem;background:#f8faf9; }
  .nav-links a:hover,.nav-links a.is-active{ border-color:rgba(155,216,200,.55);background:var(--soft-mint); }
  .nav-links a.is-active::after{ inset-inline:15px auto;width:28px;bottom:7px; }
  .site-header.is-open .nav-links{ transform: translateY(0); opacity: 1; pointer-events: auto; }
  .nav-toggle{ display: inline-flex; }
}
@media(max-width:520px){
  .nav{ gap:7px; }
  .nav-logo img{ height:57px;max-width:86px; }
  .nav-actions{ gap:5px; }
  .nav-cta{ padding:8px 11px;border-radius:12px;font-size:.69rem; }
  .lang-switch{ width:35px;height:35px;border-radius:11px;font-size:.68rem; }
  .nav-toggle{ width:37px;height:37px;border-radius:11px; }
  .nav-toggle svg{ width:17px;height:17px; }
}

/* =========================================================
   Hero — "The Working System"
   ========================================================= */
.hero{ position: relative; overflow: hidden; }
.hero-slider{
  padding-block: clamp(24px, 3vw, 42px) 28px;
  background: var(--deep-teal);
  color: var(--warm-white);
  isolation: isolate;
}
.hero-slider::before{
  content:""; position:absolute; inset:0; z-index:-2; opacity:.18;
  background-image: linear-gradient(rgba(155,216,200,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(155,216,200,.18) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}
.hero-slider__glow{
  position:absolute; z-index:-1; width:680px; height:680px; inset-inline-end:-260px; top:-330px;
  border-radius:50%; background:radial-gradient(circle, rgba(155,216,200,.2), transparent 68%);
}
.hero-slider__viewport{ position:relative; display:grid; }
.hero-slide{
  position:relative; grid-area:1 / 1; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:clamp(40px,7vw,92px); align-items:start;
  opacity:0; visibility:hidden; transform:translateY(18px);
  transition:opacity .65s var(--ease), transform .65s var(--ease), visibility .65s;
  pointer-events:none;
}
.hero-slide.is-active{ opacity:1; visibility:visible; transform:none; pointer-events:auto; }
.hero-copy{ max-width:700px; }
.hero-copy .eyebrow{ color:var(--mint-accent); }
.hero-copy h1{ color:var(--warm-white); margin-bottom:.42em; max-width:15ch; font-size:clamp(2.5rem, 2rem + 2.7vw, 4.7rem); letter-spacing:-.035em; }
html[lang="ar"] .hero-copy h1{ letter-spacing:0; line-height:1.22; }
.hero-copy .lede{ color:rgba(248,248,246,.72); font-size:var(--fs-body-lg); max-width:56ch; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-btn-primary{ background:var(--mint-accent); color:var(--deep-teal); }
.hero-btn-primary:hover{ background:var(--warm-white); box-shadow:0 12px 30px rgba(0,0,0,.2); }
.hero-slide__visual{ position:relative; min-height:390px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; padding-bottom:34px; }
.hero-slide__number{ position:absolute; top:0; inset-inline-end:0; font-size:clamp(4rem,10vw,8rem); line-height:1; font-weight:700; color:rgba(248,248,246,.055); }
.hero-slide__orb{ position:absolute; top:42%; left:50%; width:260px; height:260px; transform:translate(-50%,-50%); border:1px solid rgba(155,216,200,.34); border-radius:50%; animation:orb-float 6s ease-in-out infinite; }
.hero-slide__orb::before,.hero-slide__orb::after{ content:""; position:absolute; border:1px solid rgba(155,216,200,.18); border-radius:50%; }
.hero-slide__orb::before{ inset:34px; }.hero-slide__orb::after{ inset:72px; background:rgba(155,216,200,.07); }
.hero-slide__orb span{ position:absolute; width:12px; height:12px; border-radius:50%; background:var(--mint-accent); box-shadow:0 0 22px rgba(155,216,200,.7); }
.hero-slide__orb span:nth-child(1){ top:22px; left:55px; }.hero-slide__orb span:nth-child(2){ top:110px; right:-6px; }.hero-slide__orb span:nth-child(3){ bottom:10px; left:92px; }
.hero-slide__orb i{ position:absolute; inset:112px; border-radius:50%; background:var(--mint-accent); box-shadow:0 0 45px rgba(155,216,200,.55); }
@keyframes orb-float{ 0%,100%{ transform:translate(-50%,-50%) rotate(0deg); } 50%{ transform:translate(-50%,calc(-50% - 10px)) rotate(7deg); } }
.hero-slide__label{ position:relative; font-size:1.25rem; font-weight:600; color:var(--warm-white); }
.hero-slide__tags{ position:relative; display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:14px; }
.hero-slide__tags span{ padding:7px 12px; border:1px solid rgba(248,248,246,.16); border-radius:999px; color:rgba(248,248,246,.7); font-size:.75rem; backdrop-filter:blur(5px); }
.hero-slider__footer{ min-height:74px; padding-top:20px; border-top:1px solid rgba(248,248,246,.12); display:flex; justify-content:space-between; align-items:center; gap:30px; }
.hero-slider__controls{ display:flex; align-items:center; gap:12px; }
.hero-slider__arrow{ width:42px; height:42px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(248,248,246,.2); color:var(--warm-white); background:transparent; cursor:pointer; transition:.2s ease; }
.hero-slider__arrow:hover{ background:var(--mint-accent); border-color:var(--mint-accent); color:var(--deep-teal); }
.hero-slider__arrow svg{ width:18px; height:18px; }
html[dir="rtl"] .hero-slider__arrow svg{ transform:scaleX(-1); }
.hero-slider__dots{ display:flex; align-items:center; gap:7px; }
.hero-slider__dot{ width:30px; height:20px; padding:0; border:0; background:transparent; cursor:pointer; }
.hero-slider__dot span{ display:block; width:100%; height:3px; border-radius:2px; background:rgba(248,248,246,.22); overflow:hidden; }
.hero-slider__dot.is-active span{ background:var(--mint-accent); }
.hero-stats{ display:flex; gap:clamp(20px,4vw,42px); margin:0; }
.hero-stat{ display:grid; grid-template-columns:auto auto; align-items:baseline; column-gap:4px; }
.hero-stat .num{ font-size:1.45rem; font-weight:700; color:var(--warm-white); }
.hero-stat .label{ font-size:.72rem; color:rgba(248,248,246,.55); }

/* On laptop/desktop, let the slider fill the screen below the header and
   keep its controls aligned cleanly along the bottom edge. */
@media (min-width: 901px){
  .hero-slider{ min-height:calc(100svh - 82px); display:flex; }
  .hero-slider > .container{ width:100%; display:flex; flex-direction:column; }
  .hero-slider__footer{ margin-top:auto; }
}

/* Node network visual */
.node-system{ position: relative; aspect-ratio: 1/1; }
.node-system svg{ width: 100%; height: 100%; }
.node-system .link{
  stroke: var(--light-gray); stroke-width: 1.5; fill: none;
  stroke-dasharray: 4 500; stroke-dashoffset: 0;
  animation: link-draw 2.4s var(--ease) forwards;
}
.node-system .link.is-resolved{ stroke: var(--mint-accent); }
@keyframes link-draw{ from{ stroke-dasharray: 0 500; } to{ stroke-dasharray: 500 0; } }
.node-system .node{ transform-origin: center; animation: node-in .6s var(--ease) backwards; }
.node-system .node circle{ transition: r var(--dur) var(--ease); }
.node-system .node.core circle{ fill: var(--deep-teal); }
.node-system .node.leaf circle{ fill: var(--mint-accent); }
@keyframes node-in{ from{ opacity: 0; transform: scale(.4); } to{ opacity: 1; transform: scale(1); } }
.node-system .pulse{ animation: pulse 2.6s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{ opacity: .35; } 50%{ opacity: .9; } }

/* =========================================================
   Scroll reveal
   ========================================================= */
.reveal{ opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.is-visible{ opacity: 1; transform: none; }

/* =========================================================
   Cards / grids
   ========================================================= */
.grid{ display: grid; gap: var(--gap); }
.grid-3{ grid-template-columns: repeat(3, 1fr); }
.grid-4{ grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px){ .grid-3, .grid-4{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px){ .grid-3, .grid-4{ grid-template-columns: 1fr; } }

.card{
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-card);
  padding: 28px; box-shadow: var(--shadow-card);
  transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.card:hover{ transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--mint-accent); }
.card .icon{
  width: 44px; height: 44px; border-radius: var(--r-sm); background: var(--soft-mint);
  display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
}
.card .icon svg{ width: 22px; height: 22px; stroke: var(--deep-teal); }
.card h3{ margin-bottom: 8px; }
.card p{ margin-bottom: 0; font-size: var(--fs-small); }
.card-link{ display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size: var(--fs-small); font-weight:600; color: var(--deep-teal); }

/* Problem -> Solution signature section */
.resolve{ position: relative; }
.resolve-before, .resolve-after{
  display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr);
}
.resolve-chip{
  display: flex; align-items: center; gap: 10px; padding: 14px 16px;
  background: #fff; border: 1px dashed var(--light-gray); border-radius: var(--r-sm);
  font-size: var(--fs-small); font-weight: 600; color: var(--forest-teal);
  transform: rotate(var(--tilt, 0deg));
}
.resolve-arrow{ display:flex; align-items:center; justify-content:center; margin-block: 28px; }
.resolve-arrow svg{ width: 28px; height: 28px; }
html[dir="rtl"] .resolve-arrow svg{ transform: scaleX(-1); }
.resolve-after{ grid-template-columns: 1fr; }
.resolve-unified{
  display:flex; align-items:center; gap:16px; padding: 22px 24px;
  background: var(--deep-teal); color: var(--warm-white); border-radius: var(--r-card);
  box-shadow: var(--shadow-lift);
}
.resolve-unified .dot{ width: 10px; height: 10px; border-radius: 50%; background: var(--mint-accent); animation: pulse 2s ease-in-out infinite; flex: none; }

/* Process */
.process-list{ display: grid; gap: 0; }
.process-item{
  display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding-block: 26px;
  border-top: 1px solid var(--line);
}
.process-item:last-child{ border-bottom: 1px solid var(--line); }
.process-num{ font-size: 1.1rem; font-weight: 700; color: var(--mint-accent); }
.process-item h3{ margin-bottom: 4px; }
.process-item p{ margin: 0; }

/* Testimonials */
.testimonial-card{ background: #fff; border: 1px solid var(--line); border-radius: var(--r-card); padding: 28px; box-shadow: var(--shadow-card); }
.testimonial-card .quote{ font-size: var(--fs-body-lg); color: var(--deep-teal); margin-bottom: 18px; }
.testimonial-person{ display:flex; align-items:center; gap: 12px; }
.testimonial-avatar{ width: 44px; height: 44px; border-radius: 50%; background: var(--soft-mint); flex: none; overflow:hidden; }
.testimonial-avatar img{ width:100%; height:100%; object-fit:cover; }
.testimonial-name{ font-weight: 700; font-size: var(--fs-small); color: var(--deep-teal); }
.testimonial-role{ font-size: var(--fs-small); color: var(--forest-teal); }

/* Technology chips */
.tech-chips{ display: flex; flex-wrap: wrap; gap: 10px; }
.tech-chip{ padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: var(--fs-small); font-weight: 600; }

/* Industries */
.industry-item{ position:relative; overflow:hidden; display:flex; align-items:center; gap: 14px; min-height:84px; padding: 18px; border-radius: 16px; background: #fff; border: 1px solid rgba(24,59,57,.09); box-shadow:0 7px 24px rgba(24,59,57,.04); transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease); }
.industry-item:hover{ transform:translateY(-3px); border-color:var(--mint-accent); box-shadow:0 16px 35px rgba(24,59,57,.08); }
.industry-item .icon{ width:42px; height:42px; display:grid; place-items:center; flex:none; margin-bottom:0; border-radius:12px; color:var(--deep-teal); background:var(--soft-mint); }
.industry-item span{ font-weight:600; font-size:var(--fs-small); line-height:1.45; }

/* =========================================================
   Homepage visual refresh (hero slider intentionally untouched)
   ========================================================= */
.success-story-card__visual {
    position: relative;
    overflow: hidden;
}

.success-story-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.section--about{ position:relative; overflow:hidden; }
.section--about::before{ content:""; position:absolute; width:420px; height:420px; inset-inline-start:-260px; bottom:-240px; border-radius:50%; background:radial-gradient(circle,rgba(155,216,200,.23),transparent 68%); pointer-events:none; }
.about-layout{ display:grid; grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr); align-items:center; gap:clamp(44px,7vw,90px); }
.about-copy h2{ max-width:15ch; font-size:clamp(2rem,1.5rem + 1.8vw,3.2rem); }
html[lang="ar"] .about-copy h2{ line-height:1.25; }
.about-copy>p{ max-width:58ch; font-size:var(--fs-body-lg); color:#4f6c68; }
.about-points{ display:flex; flex-wrap:wrap; gap:9px; margin:26px 0; }
.about-points span{ display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid rgba(24,59,57,.09); border-radius:999px; color:var(--forest-teal); background:rgba(255,255,255,.72); font-size:.78rem; font-weight:600; }
.about-points i{ width:7px; height:7px; flex:none; border-radius:50%; background:var(--mint-accent); box-shadow:0 0 0 4px rgba(155,216,200,.2); }
.text-link{ display:inline-flex; align-items:center; gap:9px; color:var(--deep-teal); font-weight:700; }
.text-link svg{ width:18px; height:18px; transition:transform .2s var(--ease); }
.text-link:hover svg{ transform:translateX(4px); }
html[dir="rtl"] .text-link svg{ transform:scaleX(-1); }
html[dir="rtl"] .text-link:hover svg{ transform:translateX(-4px) scaleX(-1); }
.about-visual{ position:relative; isolation:isolate; margin:0; padding:10px; border:1px solid rgba(24,59,57,.08); border-radius:28px; background:rgba(255,255,255,.78); box-shadow:0 30px 70px rgba(24,59,57,.13); }
.about-visual::before{ content:""; position:absolute; z-index:-1; inset:15% -6% -8% 16%; border-radius:30px; background:var(--soft-mint); transform:rotate(3deg); }
.about-visual img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px; }
.about-visual figcaption{ position:absolute; inset-inline-start:30px; bottom:28px; display:flex; align-items:center; gap:12px; padding:12px 16px; border:1px solid rgba(255,255,255,.7); border-radius:14px; color:var(--deep-teal); background:rgba(248,248,246,.86); backdrop-filter:blur(14px); box-shadow:0 14px 32px rgba(24,59,57,.13); }
.about-visual figcaption .status-dot{ width:10px; height:10px; border-radius:50%; background:#3bb787; box-shadow:0 0 0 5px rgba(59,183,135,.14); }
.about-visual figcaption div{ display:grid; line-height:1.3; }
.about-visual figcaption strong{ font-size:.8rem; }
.about-visual figcaption small{ margin-top:3px; color:#68827f; font-size:.68rem; }

.service-card{ position:relative; overflow:hidden; min-height:260px; padding:30px; border-color:rgba(24,59,57,.08); border-radius:20px; box-shadow:0 10px 35px rgba(24,59,57,.045); }
.service-card::before{ content:""; position:absolute; width:150px; height:150px; inset-inline-end:-95px; top:-95px; border-radius:50%; background:var(--soft-mint); transition:transform .45s var(--ease); }
.service-card:hover::before{ transform:scale(1.28); }
.service-card__number{ position:absolute; top:24px; inset-inline-end:25px; color:#9cb0ad; font-size:.72rem; font-weight:700; letter-spacing:.08em; }
.service-card .icon{ position:relative; width:50px; height:50px; border-radius:14px; background:linear-gradient(145deg,#e8f7f2,#cdece3); }
.service-card h3{ position:relative; max-width:15ch; }
.service-card p{ position:relative; max-width:36ch; color:#5a7470; line-height:1.7; }
.service-card__line{ position:absolute; inset-inline:30px; bottom:0; height:3px; border-radius:3px 3px 0 0; background:var(--mint-accent); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
html[dir="rtl"] .service-card__line{ transform-origin:right; }
.service-card:hover .service-card__line{ transform:scaleX(1); }
.service-card::after,.why-card::after,.industry-item::after{ content:""; position:absolute; z-index:0; inset:0; border-radius:inherit; opacity:0; pointer-events:none; background:radial-gradient(230px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(155,216,200,.3),transparent 68%); transition:opacity .2s ease; }
.service-card.is-pointer-active::after,.why-card.is-pointer-active::after,.industry-item.is-pointer-active::after{ opacity:1; }
.service-card>*,.why-card>*,.industry-item>*{ position:relative; z-index:1; }
.service-feature {
    display: grid;
    grid-template-columns: 40% 60%;
    height: 350px;
    min-height: 0;
    overflow: hidden;
}

.service-feature__visual {
    width: 100%;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: 0;
}

.service-feature__visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
}

.service-feature__content {
    height: 100%;
    box-sizing: border-box;
}

.resolve{ overflow:hidden; background:linear-gradient(180deg,#fff,#f7faf9); }
.resolve::before{ content:""; position:absolute; width:520px; height:520px; inset-inline-end:-300px; top:50%; border:1px solid rgba(155,216,200,.35); border-radius:50%; transform:translateY(-50%); box-shadow:0 0 0 55px rgba(155,216,200,.05),0 0 0 110px rgba(155,216,200,.035); pointer-events:none; }
.resolve-chip{ position:relative; min-height:68px; padding:13px 16px; border-style:solid; border-color:rgba(24,59,57,.09); border-radius:14px; box-shadow:0 8px 24px rgba(24,59,57,.05); }
.resolve-chip__icon{ width:38px; height:38px; display:grid; place-items:center; flex:none; border-radius:11px; color:var(--deep-teal); background:var(--soft-mint); }
.resolve-chip__icon svg{ width:19px; height:19px; }
.resolve-arrow{ position:relative; width:52px; height:52px; margin-inline:auto; border:1px solid rgba(24,59,57,.1); border-radius:50%; color:var(--deep-teal); background:#fff; box-shadow:0 10px 28px rgba(24,59,57,.08); }
.resolve-arrow svg{ width:21px; height:21px; }
.resolve-unified{ position:relative; overflow:hidden; padding:28px 30px; border-radius:20px; box-shadow:0 24px 60px rgba(24,59,57,.2); }
.resolve-unified::after{ content:""; position:absolute; width:180px; height:180px; inset-inline-end:-80px; top:-115px; border:1px solid rgba(155,216,200,.23); border-radius:50%; box-shadow:0 0 0 30px rgba(155,216,200,.05); }

.why-card{ position:relative; overflow:hidden; border:0; border-radius:18px; box-shadow:0 10px 34px rgba(24,59,57,.055); }
.why-card .icon{ border-radius:50%; }

.home-dark-section{ position:relative; overflow:hidden; color:var(--warm-white); background:linear-gradient(145deg,#102d2b 0%,var(--deep-teal) 55%,#214b47 100%); isolation:isolate; }
.home-dark-section::before,.home-dark-section::after{ content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.home-dark-section::before{ width:470px; height:470px; inset-inline-end:-290px; top:-290px; border:1px solid rgba(155,216,200,.16); box-shadow:0 0 0 54px rgba(155,216,200,.028),0 0 0 108px rgba(155,216,200,.018); }
.home-dark-section::after{ width:330px; height:330px; inset-inline-start:-240px; bottom:-250px; background:radial-gradient(circle,rgba(155,216,200,.1),transparent 68%); }
.home-dark-section .section-head h2{ color:var(--warm-white); }
.home-dark-section .section-head p{ color:rgba(248,248,246,.68); }
.home-dark-section .eyebrow{ color:var(--mint-accent); }
.home-dark-section .why-card{ border:1px solid rgba(248,248,246,.1); background:rgba(248,248,246,.055); box-shadow:0 18px 42px rgba(0,0,0,.13); backdrop-filter:blur(8px); }
.home-dark-section .why-card:hover{ border-color:rgba(155,216,200,.48); background:rgba(248,248,246,.08); box-shadow:0 24px 52px rgba(0,0,0,.2); }
.home-dark-section .why-card h3{ color:var(--warm-white); }
.home-dark-section .why-card p{ color:rgba(248,248,246,.66); }
.home-dark-section .why-card .icon{ color:var(--deep-teal); background:var(--mint-accent); }
.home-dark-section .why-card .icon svg{ stroke:var(--deep-teal); }
.home-dark-section .why-card::after{ background:radial-gradient(230px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(155,216,200,.16),transparent 68%); }
.home-dark-section .industry-item{ border-color:rgba(248,248,246,.1); color:var(--warm-white); background:rgba(248,248,246,.055); box-shadow:0 15px 38px rgba(0,0,0,.12); backdrop-filter:blur(8px); }
.home-dark-section .industry-item:hover{ border-color:rgba(155,216,200,.5); background:rgba(248,248,246,.085); box-shadow:0 22px 45px rgba(0,0,0,.18); }
.home-dark-section .industry-item span{ color:var(--warm-white); }
.home-dark-section .industry-item .icon{ color:var(--mint-accent); background:rgba(155,216,200,.12); box-shadow:inset 0 0 0 1px rgba(155,216,200,.14); }
.home-dark-section .industry-item::after{ background:radial-gradient(190px circle at var(--pointer-x,50%) var(--pointer-y,50%),rgba(155,216,200,.16),transparent 68%); }

.work-teaser{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); align-items:stretch; overflow:hidden; border-radius:26px; color:var(--warm-white); background:var(--deep-teal); box-shadow:0 30px 70px rgba(24,59,57,.18); }
.work-teaser__preview{ position:relative; min-height:440px; overflow:hidden; padding-top:42px; background:#102b29; }
.work-teaser__preview::after{ content:""; position:absolute; inset:42px 0 0; background:linear-gradient(0deg,rgba(16,43,41,.36),transparent 48%); pointer-events:none; }
.work-teaser__preview>img{ width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .8s var(--ease); }
.work-teaser:hover .work-teaser__preview>img{ transform:scale(1.025); }
.work-teaser__browser{ position:absolute; z-index:2; inset:0 0 auto; height:42px; display:flex; align-items:center; gap:6px; padding:0 15px; color:rgba(248,248,246,.6); background:#102b29; }
.work-teaser__browser i{ width:7px; height:7px; border-radius:50%; background:rgba(248,248,246,.35); }
.work-teaser__browser span{ margin-inline:auto; font-size:.66rem; direction:ltr; }
.work-teaser__badge{ position:absolute; z-index:3; inset-inline-start:20px; bottom:20px; padding:8px 13px; border:1px solid rgba(255,255,255,.32); border-radius:999px; color:var(--deep-teal); background:rgba(248,248,246,.9); backdrop-filter:blur(10px); font-size:.72rem; font-weight:700; }
.work-teaser__badge::before{ content:""; display:inline-block; width:7px; height:7px; margin-inline-end:7px; border-radius:50%; background:#3bb787; }
.work-teaser__copy{ position:relative; display:flex; flex-direction:column; justify-content:center; padding:clamp(36px,5vw,66px); }
.work-teaser__copy::before{ content:""; position:absolute; width:240px; height:240px; inset-inline-end:-130px; top:-120px; border:1px solid rgba(155,216,200,.18); border-radius:50%; box-shadow:0 0 0 42px rgba(155,216,200,.035); }
.work-teaser__copy .eyebrow{ color:var(--mint-accent); }
.work-teaser__copy h2{ max-width:12ch; color:var(--warm-white); font-size:clamp(2rem,1.6rem + 1.2vw,2.9rem); }
.work-teaser__copy p{ color:rgba(248,248,246,.7); }
.work-teaser__copy .btn{ align-self:flex-start; margin-top:12px; background:var(--mint-accent); color:var(--deep-teal); }

.success-stories{ position:relative; overflow:hidden; background:#f8faf9; }
.success-stories::before{ content:""; position:absolute; width:560px; height:560px; inset-inline-end:-360px; top:-300px; border:1px solid rgba(155,216,200,.3); border-radius:50%; box-shadow:0 0 0 65px rgba(155,216,200,.045); pointer-events:none; }
.success-stories .section-head p{ max-width:58ch; margin-inline:auto; }
.client-strip{ position:relative; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin-bottom:28px; padding:15px; border:1px solid rgba(24,59,57,.08); border-radius:16px; background:rgba(255,255,255,.8); box-shadow:0 10px 30px rgba(24,59,57,.04); }
.client-strip__label{ padding-inline:8px 16px; color:#78908c; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.client-name{ padding:9px 14px; border-radius:10px; color:var(--deep-teal); background:#eaf5f1; font-size:.78rem; font-weight:700; }
.success-story-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.success-story-card{ min-width:0; overflow:hidden; border:1px solid rgba(24,59,57,.09); border-radius:20px; background:#fff; box-shadow:0 12px 38px rgba(24,59,57,.055); transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s ease; }
.success-story-card:hover{ transform:translateY(-6px); border-color:rgba(155,216,200,.9); box-shadow:0 24px 52px rgba(24,59,57,.11); }
.success-story-card__visual{ position:relative; display:grid; place-items:center; overflow:hidden; aspect-ratio:16/10; color:var(--deep-teal); background:linear-gradient(145deg,#d8eee8,#9bd8c8); }
.success-story-card--2 .success-story-card__visual{ background:linear-gradient(145deg,#e8eee9,#b8d0c8); }
.success-story-card--3 .success-story-card__visual{ background:linear-gradient(145deg,#e1efe9,#b7ded3); }
.success-story-card__visual::before,.success-story-card__visual::after{ content:""; position:absolute; border:1px solid rgba(24,59,57,.13); border-radius:50%; transition:transform .6s var(--ease); }
.success-story-card__visual::before{ width:220px; height:220px; inset-inline-end:-80px; top:-110px; }
.success-story-card__visual::after{ width:120px; height:120px; inset-inline-end:-15px; top:-50px; }
.success-story-card:hover .success-story-card__visual::before{ transform:scale(1.1) rotate(8deg); }
.success-story-card__number{ position:absolute; top:18px; inset-inline-start:20px; color:rgba(24,59,57,.2); font-size:2.5rem; font-weight:700; line-height:1; }
.success-story-card__mark{ position:relative; width:82px; height:82px; display:grid; place-items:center; border-radius:22px; color:var(--warm-white); background:var(--deep-teal); box-shadow:0 18px 38px rgba(24,59,57,.22); font-size:2.2rem; font-weight:700; transition:transform .45s var(--ease); }
.success-story-card:hover .success-story-card__mark{ transform:rotate(-4deg) scale(1.04); }
.success-story-card__domain{ position:absolute; inset-inline-start:18px; bottom:16px; padding:7px 10px; border-radius:8px; color:var(--deep-teal); background:rgba(248,248,246,.7); backdrop-filter:blur(8px); font-size:.66rem; font-weight:600; direction:ltr; }
.success-story-card__open{ position:absolute; inset-inline-end:18px; bottom:16px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--deep-teal); background:rgba(248,248,246,.82); }
.success-story-card__open svg{ width:16px; height:16px; }
.success-story-card__body{ padding:22px; }
.success-story-card__type{ display:inline-flex; margin-bottom:8px; color:#6f8884; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.success-story-card__body h3{ margin-bottom:8px; }
.success-story-card__body p{ min-height:4.8em; margin-bottom:16px; color:#607975; font-size:.82rem; }
.success-story-card__client{ display:block; padding-top:14px; border-top:1px solid var(--line); color:var(--deep-teal); font-size:.72rem; font-weight:700; }
.success-stories__action{ margin-top:28px; text-align:center; }

.section--process-home{ padding-bottom:clamp(36px,3vw,48px); }
.section--industries-home{ padding-top:clamp(36px,3vw,48px); }
.process-list{ position:relative; padding-inline-start:24px; --timeline-progress:0; }
.process-list::before,.process-list::after{ content:""; position:absolute; inset-inline-start:4px; top:18px; bottom:18px; width:2px; border-radius:2px; }
.process-list::before{ background:rgba(24,59,57,.1); }
.process-list::after{ background:linear-gradient(var(--mint-accent),#4fb79e); transform:scaleY(var(--timeline-progress)); transform-origin:top; will-change:transform; }
.process-item{ position:relative; z-index:1; grid-template-columns:64px 1fr; padding:24px 28px; margin-bottom:12px; border:1px solid rgba(24,59,57,.08)!important; border-radius:16px; background:rgba(255,255,255,.74); transition:transform .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease); }
.process-item::before{ content:""; position:absolute; width:9px; height:9px; inset-inline-start:-24px; top:50%; border:3px solid #edf7f4; border-radius:50%; background:var(--mint-accent); transform:translate(-50%,-50%); box-shadow:0 0 0 1px rgba(24,59,57,.1); }
html[dir="rtl"] .process-item::before{ transform:translate(50%,-50%); }
.process-item:hover{ transform:translateX(5px); background:#fff; box-shadow:0 15px 36px rgba(24,59,57,.07); }
html[dir="rtl"] .process-item:hover{ transform:translateX(-5px); }
.process-item.is-current{ background:#fff; border-color:rgba(155,216,200,.8)!important; box-shadow:0 15px 38px rgba(24,59,57,.075); }
.process-item.is-current::before{ background:#42b795; box-shadow:0 0 0 5px rgba(66,183,149,.16); }
.process-num{ display:grid; place-items:center; width:44px; height:44px; border-radius:13px; color:var(--deep-teal); background:var(--soft-mint); }

.tech-chips{ gap:12px; }
.tech-chip{ display:inline-flex; align-items:center; gap:9px; padding:11px 16px; border-color:rgba(24,59,57,.09); border-radius:12px; box-shadow:0 7px 22px rgba(24,59,57,.035); }
.tech-chip::before{ content:""; width:7px; height:7px; border-radius:2px; background:var(--mint-accent); transform:rotate(45deg); }

.faq{ max-width:900px; margin-inline:auto; border-top:0; }
.faq-item{ margin-bottom:10px; padding-inline:20px; border:1px solid rgba(24,59,57,.08); border-radius:14px; background:rgba(255,255,255,.74); }
.faq-q{ padding-block:22px; }
.faq-item.is-open{ border-color:rgba(155,216,200,.9); box-shadow:0 12px 32px rgba(24,59,57,.065); background:#fff; }
.faq-item.is-open .faq-a{ max-height:420px; }

.cta-band{ position:relative; overflow:hidden; padding:10px 24px; }
.cta-band::before,.cta-band::after{ content:""; position:absolute; width:260px; height:260px; border:1px solid rgba(155,216,200,.17); border-radius:50%; pointer-events:none; }
.cta-band::before{ inset-inline-start:-180px; top:-140px; box-shadow:0 0 0 46px rgba(155,216,200,.035); }
.cta-band::after{ inset-inline-end:-180px; bottom:-180px; box-shadow:0 0 0 46px rgba(155,216,200,.035); }

@media (max-width: 900px){
  .about-layout{ grid-template-columns:1fr; }
  .about-copy{ max-width:700px; }
  .about-visual{ max-width:700px; }
  .work-teaser{ grid-template-columns:1fr; }
  .work-teaser__preview{ min-height:390px; }
  .work-teaser__copy{ min-height:360px; }
  .success-story-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px){
  .section{ padding-block:46px; }
  .section--process-home{ padding-bottom:34px; }
  .section--industries-home{ padding-top:34px; }
  .about-layout{ gap:34px; }
  .about-visual{ padding:7px; border-radius:20px; }
  .about-visual img{ border-radius:15px; }
  .about-visual figcaption{ inset-inline:18px; bottom:18px; }
  .about-visual figcaption small{ display:none; }
  .service-card{ min-height:auto; padding:25px; }
  .resolve-before{ grid-template-columns:1fr; }
  .resolve-chip{ transform:none; }
  .work-teaser{ border-radius:20px; }
  .work-teaser__preview{ min-height:280px; }
  .work-teaser__copy{ min-height:auto; padding:34px 26px 38px; }
  .client-strip{ justify-content:flex-start; }
  .client-strip__label{ flex-basis:100%; padding-inline:4px; }
  .success-story-grid{ grid-template-columns:1fr; }
  .success-story-card__body p{ min-height:0; }
  .process-list{ padding-inline-start:16px; }
  .process-list::before{ inset-inline-start:2px; }
  .process-item{ grid-template-columns:50px 1fr; gap:13px; padding:21px 18px; }
  .process-item::before{ inset-inline-start:-16px; }
  .faq-item{ padding-inline:15px; }
}

/* FAQ accordion */
.faq{ border-top: 1px solid var(--line); }
.faq-item{ border-bottom: 1px solid var(--line); }
.faq-q{
  width: 100%; display:flex; align-items:center; justify-content:space-between; gap: 16px;
  padding: 20px 4px; background: none; border: none; text-align: start; cursor: pointer;
  font-weight: 600; color: var(--deep-teal); font-size: var(--fs-body-lg);
}
.faq-q .plus{ flex:none; width: 22px; height: 22px; position: relative; }
.faq-q .plus::before, .faq-q .plus::after{ content:""; position:absolute; background: var(--deep-teal); border-radius: 2px; }
.faq-q .plus::before{ inset-inline-start: 0; top: 50%; width: 100%; height: 2px; transform: translateY(-50%); }
.faq-q .plus::after{ top: 0; inset-inline-start: 50%; width: 2px; height: 100%; transform: translateX(-50%); transition: transform var(--dur) var(--ease); }
.faq-item.is-open .plus::after{ transform: translateX(-50%) rotate(90deg); }
.faq-a{ max-height: 0; overflow: hidden; transition: max-height var(--dur) var(--ease); }
.faq-a-inner{ padding: 0 4px 20px; color: var(--forest-teal); font-size: var(--fs-body); max-width: 68ch; }

/* CTA band */
.cta-band{ text-align:center; }
.cta-band h2{ margin-bottom: 12px; }
.cta-band .btn-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top: 24px; }

/* Footer */
.site-footer{ background: var(--deep-teal); color: rgba(248,248,246,.85); padding-block: 56px 28px; }
.footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.footer-logo img{ height: 28px; }
.vision-2030{ display:inline-flex;margin-top:22px;padding-top:18px;border-top:1px solid rgba(248,248,246,.14); }
.vision-2030 img{ width:132px;height:auto;object-fit:contain;opacity:.92;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease); }
.vision-2030:hover img{ opacity:1;transform:translateY(-2px); }
.footer-col h4{ color: var(--warm-white); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 14px; }
.footer-col ul{ display: grid; gap: 10px; }
.footer-col a{ font-size: var(--fs-small); color: rgba(248,248,246,.75); transition: color var(--dur-fast) var(--ease); }
.footer-col a:hover{ color: var(--mint-accent); }
.footer-bottom{ margin-top: 44px; padding-top: 24px; border-top: 1px solid rgba(248,248,246,.15); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size: var(--fs-small); }
.social-row{ display:flex; gap: 10px; }
.social-row a{ width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(248,248,246,.2); display:flex; align-items:center; justify-content:center; }
.social-row svg{ width: 16px; height: 16px; stroke: var(--warm-white); }
@media (max-width: 800px){ .footer-grid{ grid-template-columns: 1fr 1fr; } }
.whatsapp-float{ position:fixed;z-index:120;inset-inline-end:22px;bottom:22px;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;background:#25d366;box-shadow:0 14px 36px rgba(15,94,48,.28);transition:transform .2s var(--ease),box-shadow .2s var(--ease); }
.whatsapp-float:hover{ color:#fff;transform:translateY(-4px);box-shadow:0 19px 42px rgba(15,94,48,.34); }
.whatsapp-float__icon{ width:39px;height:39px;display:grid;place-items:center;border-radius:50%;color:#25a958;background:#fff; }
.whatsapp-float__icon svg{ width:24px;height:24px; }
.whatsapp-float__label{ padding-inline-end:4px;color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.01em; }

/* =========================================================
   Forms
   ========================================================= */
.field{ margin-bottom: 18px; }
.field label{ display:block; font-size: var(--fs-small); font-weight: 600; color: var(--deep-teal); margin-bottom: 6px; }
.field input, .field textarea, .field select{
  width: 100%; padding: 13px 14px; border: 1px solid var(--light-gray); border-radius: var(--r-sm);
  font: inherit; background: #fff; color: var(--ink); transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.field input:focus, .field textarea:focus, .field select:focus{ border-color: var(--deep-teal); box-shadow: 0 0 0 3px var(--soft-mint); outline: none; }
.field textarea{ min-height: 140px; resize: vertical; }
.field.has-error input, .field.has-error textarea{ border-color: #C0392B; }
.field-error{ font-size: var(--fs-small); color: #C0392B; margin-top: 6px; }
.form-card{ background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(24px,4vw,40px); box-shadow: var(--shadow-card); }

/* =========================================================
   Contact page
   ========================================================= */
.contact-hero{ position:relative;overflow:hidden; }
.contact-hero::before{ content:"";position:absolute;width:520px;height:520px;inset-inline-end:-260px;top:-320px;border:1px solid rgba(155,216,200,.18);border-radius:50%;box-shadow:0 0 0 70px rgba(155,216,200,.04),0 0 0 140px rgba(155,216,200,.025);pointer-events:none; }
.contact-hero__grid{ display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(48px,8vw,110px);min-height:350px; }
.contact-hero__copy .eyebrow{ color:var(--mint-accent); }
.contact-hero__copy h1{ max-width:14ch;margin:12px 0 18px;color:var(--warm-white);font-size:clamp(2.45rem,2rem + 2vw,4rem);line-height:1.12;letter-spacing:-.04em; }
.contact-hero__copy p{ max-width:58ch;margin:0;color:rgba(248,248,246,.7);font-size:var(--fs-body-lg); }
html[lang="ar"] .contact-hero__copy h1{ letter-spacing:0;line-height:1.22; }
.contact-hero__promise{ position:relative;display:grid;gap:13px;padding:28px;border:1px solid rgba(248,248,246,.15);border-radius:20px;background:rgba(248,248,246,.055);backdrop-filter:blur(10px); }
.contact-hero__promise::before{ content:"";position:absolute;inset-inline-start:28px;top:-5px;width:58px;height:3px;border-radius:3px;background:var(--mint-accent); }
.contact-hero__promise span{ color:var(--mint-accent);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em; }
.contact-hero__promise strong{ max-width:28ch;color:var(--warm-white);font-size:clamp(1.15rem,1rem + .45vw,1.45rem);line-height:1.65; }
.contact-main__grid{ display:grid;grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(30px,5vw,68px); }
.contact-direct{ position:sticky;top:112px; }
.contact-direct h2{ max-width:15ch;margin:10px 0 25px;font-size:clamp(1.75rem,1.4rem + .8vw,2.4rem); }
.contact-links{ display:grid;gap:10px; }
.contact-link{ display:grid;grid-template-columns:48px 1fr 22px;align-items:center;gap:14px;min-width:0;padding:15px;border:1px solid rgba(24,59,57,.09);border-radius:15px;color:var(--deep-teal);background:rgba(255,255,255,.82);transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease); }
.contact-link:hover{ color:var(--deep-teal);transform:translateY(-3px);border-color:rgba(155,216,200,.8);box-shadow:0 14px 32px rgba(24,59,57,.07); }
.contact-link__mark{ width:48px;height:48px;display:grid;place-items:center;border-radius:13px;color:var(--deep-teal);background:var(--soft-mint);font-size:.7rem;font-weight:800;letter-spacing:.02em; }
.contact-link--whatsapp .contact-link__mark{ color:#fff;background:#25b95f; }
.contact-link>span:nth-child(2){ min-width:0;display:grid;gap:3px; }
.contact-link small{ color:#78908d;font-size:.68rem; }
.contact-link strong{ overflow:hidden;color:var(--deep-teal);font-size:.84rem;text-overflow:ellipsis;white-space:nowrap; }
.contact-link>b{ color:#65bba2;font-size:1rem;font-weight:500; }
.contact-form-card{ padding:clamp(24px,4vw,38px);border:1px solid rgba(24,59,57,.1);border-radius:24px;background:#fff;box-shadow:0 24px 65px rgba(24,59,57,.1); }
.contact-form-card__head{ margin-bottom:28px;padding-bottom:22px;border-bottom:1px solid var(--line); }
.contact-form-card__head>span{ color:#6d8783;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em; }
.contact-form-card__head h2{ margin:8px 0 4px;font-size:clamp(1.75rem,1.4rem + .75vw,2.3rem); }
.contact-form-card__head p{ margin:0; }
.contact-form-row{ display:grid;grid-template-columns:1fr 1fr;gap:15px; }
.contact-form-card .field input,.contact-form-card .field textarea{ border-color:#dce7e3;border-radius:12px;background:#fbfcfc; }
.contact-form-card .field textarea{ min-height:145px; }
.contact-form-card .field textarea::placeholder{ color:#99aaa7; }
.contact-submit{ width:100%;justify-content:center;gap:10px; }
.contact-submit span{ font-size:1rem; }
html[dir="rtl"] .contact-submit span{ transform:scaleX(-1); }
.contact-form-notice{ position:static!important;margin-bottom:20px;transform:none!important; }
.contact-form-card .field-error.contact-form-notice{ padding:13px 15px;border:1px solid rgba(192,57,43,.22);border-radius:10px;background:#fff5f4;font-weight:600; }
@media(max-width:900px){ .contact-hero__grid,.contact-main__grid{ grid-template-columns:1fr; }.contact-hero__grid{ min-height:auto; }.contact-hero__promise{ max-width:650px; }.contact-direct{ position:static; }.contact-direct h2{ max-width:22ch; }.contact-links{ grid-template-columns:1fr 1fr; } }
@media(max-width:620px){ .contact-hero__copy h1{ font-size:clamp(2.25rem,11vw,3.2rem); }.contact-links{ grid-template-columns:1fr; }.contact-form-card{ padding:22px;border-radius:18px; }.contact-form-row{ grid-template-columns:1fr;gap:0; }.whatsapp-float{ inset-inline-end:15px;bottom:15px;padding:7px; }.whatsapp-float__icon{ width:42px;height:42px; }.whatsapp-float__label{ display:none; } }

/* Toasts */
.toast-stack{ position: fixed; bottom: 20px; inset-inline-end: 20px; z-index: 999; display:grid; gap:10px; }
.toast{
  background: var(--deep-teal); color: var(--warm-white); padding: 14px 18px; border-radius: var(--r-sm);
  box-shadow: var(--shadow-lift); font-size: var(--fs-small); font-weight: 600;
  transform: translateY(12px); opacity: 0; transition: all var(--dur) var(--ease);
  display:flex; align-items:center; gap:10px;
}
.toast.is-visible{ transform: translateY(0); opacity: 1; }
.toast.is-error{ background: #7A2E24; }

/* =========================================================
   Pricing page
   ========================================================= */
.pricing-page{ --price-accent:#d96b2b;--price-accent-dark:#b94f18; }
.pricing-hero{ position:relative;overflow:hidden;padding-block:clamp(48px,5vw,72px);background:var(--warm-white); }.pricing-hero::before{ content:"";position:absolute;width:480px;height:480px;inset-inline-start:-300px;top:-270px;border-radius:50%;background:radial-gradient(circle,rgba(155,216,200,.22),transparent 68%);pointer-events:none; }.pricing-hero__copy{ max-width:780px;margin-inline:auto;text-align:center; }.pricing-hero__copy h1{ margin:12px 0 14px;font-size:clamp(2.45rem,2rem + 2vw,4.25rem);letter-spacing:-.045em; }.pricing-hero__copy p{ max-width:65ch;margin:0 auto;color:#56716d;font-size:var(--fs-body-lg); }html[lang="ar"] .pricing-hero__copy h1{ letter-spacing:0;line-height:1.2; }
.currency-switcher{ max-width:1000px;margin:38px auto 0;padding:18px;border:1px solid rgba(24,59,57,.09);border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 18px 48px rgba(24,59,57,.07); }.currency-switcher__label{ display:block;margin-bottom:11px;color:#617b78;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em; }.currency-switcher__options{ display:grid;grid-template-columns:repeat(6,1fr);gap:8px; }.currency-switcher button{ min-width:0;display:grid;gap:2px;padding:11px 9px;border:1px solid var(--line);border-radius:12px;color:var(--forest-teal);background:#fff;font:inherit;cursor:pointer;transition:.2s var(--ease); }.currency-switcher button strong{ font-size:.82rem; }.currency-switcher button small{ overflow:hidden;color:#78908d;font-size:.62rem;white-space:nowrap;text-overflow:ellipsis; }.currency-switcher button:hover{ border-color:#9bd8c8;transform:translateY(-2px); }.currency-switcher button.is-active{ border-color:var(--deep-teal);color:var(--warm-white);background:var(--deep-teal);box-shadow:0 9px 24px rgba(24,59,57,.17); }.currency-switcher button.is-active small{ color:rgba(248,248,246,.7); }.currency-rate-note{ margin:12px 2px 0;color:#6c8581;font-size:.72rem;text-align:center; }
.pricing-packages{ padding-top:clamp(42px,4vw,60px); }.pricing-grid{ display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:14px; }.pricing-card{ position:relative;display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid rgba(24,59,57,.1);border-radius:20px;background:#fff;box-shadow:0 12px 38px rgba(24,59,57,.05); }.pricing-card--featured{ border:1.5px solid var(--deep-teal);box-shadow:0 18px 50px rgba(24,59,57,.11); }.pricing-card__badge{ position:absolute;inset-inline-end:18px;top:-12px;padding:6px 11px;border-radius:999px;color:var(--deep-teal);background:var(--mint-accent);font-size:.68rem;font-weight:700;box-shadow:0 7px 18px rgba(24,59,57,.12); }.pricing-card__num{ color:#8ba09d;font-size:.7rem;font-weight:700;letter-spacing:.08em; }.pricing-card h2{ margin:14px 0 13px;font-size:clamp(1.35rem,1.12rem + .45vw,1.7rem); }.pricing-card__price{ display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;min-height:52px; }.pricing-card__price small{ width:100%;color:#718885;font-size:.7rem; }.pricing-card__price strong{ color:var(--deep-teal);font-size:clamp(2rem,1.5rem + 1vw,2.75rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em; }.pricing-card__price span{ color:#6a817e;font-size:.75rem;font-weight:700; }.pricing-card__timeline{ margin-top:12px;color:#728885;font-size:.72rem; }.pricing-card__timeline strong{ color:var(--deep-teal); }.pricing-card__fit{ min-height:112px;margin:20px 0;padding:15px;border-radius:14px;background:#f1f6f4; }.pricing-card__fit span{ color:var(--deep-teal);font-size:.7rem;font-weight:700; }.pricing-card__fit p{ margin:5px 0 0;color:#6a817e;font-size:.76rem;line-height:1.65; }.pricing-card__features{ display:grid;gap:11px;margin:0 0 24px; }.pricing-card__features li{ position:relative;padding-inline-start:22px;color:#425f5b;font-size:.77rem;line-height:1.55; }.pricing-card__features li::before{ content:"";position:absolute;inset-inline-start:1px;top:.38em;width:11px;height:7px;border-inline-start:2px solid #45ad89;border-bottom:2px solid #45ad89;transform:rotate(-45deg); }html[dir="rtl"] .pricing-card__features li::before{ transform:rotate(45deg); }.pricing-card .btn{ width:100%;margin-top:auto; }.pricing-disclaimer{ max-width:850px;margin:30px auto 0;padding:22px 24px;border:1px solid rgba(24,59,57,.1);border-radius:16px;text-align:center;background:rgba(255,255,255,.72); }.pricing-disclaimer strong{ color:var(--deep-teal); }.pricing-disclaimer p{ margin:7px 0 0;font-size:.82rem; }
.pricing-catalog{ background:#fff; }.pricing-catalog__heading{ display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px; }.pricing-catalog__heading>div{ max-width:720px; }.pricing-catalog__heading h2{ margin-bottom:0; }.pricing-catalog__heading>p{ max-width:45ch;margin:0; }.service-price-table{ overflow:hidden;border:1px solid rgba(24,59,57,.1);border-radius:22px;background:#fff;box-shadow:0 20px 55px rgba(24,59,57,.065); }.service-price-table__head,.service-price-row{ display:grid;grid-template-columns:minmax(190px,1.15fr) minmax(340px,2.6fr) minmax(120px,.72fr) minmax(95px,.55fr);align-items:center;gap:22px;padding-inline:24px; }.service-price-table__head{ min-height:58px;color:#67817d;background:#edf6f3;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em; }.service-price-row{ min-height:96px;border-top:1px solid rgba(24,59,57,.09);transition:background .2s var(--ease),padding .2s var(--ease); }.service-price-row:hover{ padding-inline:29px;background:#f8fbfa; }.service-price-row__title{ display:flex;align-items:center;gap:13px;min-width:0; }.service-price-row__title>span{ width:39px;height:39px;flex:none;display:grid;place-items:center;border-radius:12px;color:var(--deep-teal);background:var(--soft-mint);font-size:.68rem;font-weight:700; }.service-price-row__title strong{ color:var(--deep-teal);font-size:.9rem; }.service-price-row>p{ margin:0;color:#647d79;font-size:.76rem;line-height:1.7; }.service-price-row__price{ display:flex;align-items:baseline;gap:5px;white-space:nowrap;direction:ltr;justify-content:flex-end; }.service-price-row__price strong{ color:var(--deep-teal);font-size:1.18rem;font-variant-numeric:tabular-nums; }.service-price-row__price span{ color:#78908d;font-size:.65rem;font-weight:700; }.service-price-row__link{ display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--deep-teal);font-size:.76rem;font-weight:700; }.service-price-row__link span{ color:#56b99b;font-size:1rem;transition:transform .2s var(--ease); }.service-price-row__link:hover span{ transform:translateX(4px); }html[dir="rtl"] .service-price-row__link span{ transform:scaleX(-1); }html[dir="rtl"] .service-price-row__link:hover span{ transform:scaleX(-1) translateX(4px); }
.pricing-card__price strong,.service-price-row__price strong{ color:var(--price-accent)!important;text-shadow:0 6px 22px rgba(217,107,43,.12); }
.pricing-card__price span,.service-price-row__price span{ color:var(--price-accent-dark); }
.pricing-packages{ background:linear-gradient(180deg,#e9f5f1 0%,#f4f8f6 42%,#edf5f2 100%); }
.pricing-card--tone-1{ --card-accent:#247a9f;--card-wash:#e3f3f8;--card-glow:rgba(36,122,159,.16); }
.pricing-card--tone-2{ --card-accent:#16866f;--card-wash:#def3ec;--card-glow:rgba(22,134,111,.17); }
.pricing-card--tone-3{ --card-accent:#7055c8;--card-wash:#eee9ff;--card-glow:rgba(112,85,200,.17); }
.pricing-card--tone-4{ --card-accent:#cb642b;--card-wash:#fbe9df;--card-glow:rgba(203,100,43,.17); }
.pricing-card{ isolation:isolate;border-color:rgba(24,59,57,.13);background:linear-gradient(180deg,var(--card-wash) 0,rgba(255,255,255,.98) 31%,#fff 100%);box-shadow:0 18px 46px rgba(24,59,57,.09);transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease); }
.pricing-card::before{ content:"";position:absolute;z-index:0;inset-inline:18px;top:0;height:5px;border-radius:0 0 7px 7px;background:var(--card-accent);box-shadow:0 7px 20px var(--card-glow); }
.pricing-card::after{ display:none; }
.pricing-card>*{ position:relative;z-index:1; }
.pricing-card>.pricing-card__badge{ position:absolute; }
.pricing-card:hover{ transform:translateY(-8px);border-color:var(--card-accent);box-shadow:0 26px 62px rgba(24,59,57,.15); }
.pricing-card--featured{ border:2px solid var(--card-accent);box-shadow:0 24px 64px var(--card-glow),0 16px 42px rgba(24,59,57,.12); }
.pricing-card__badge{ z-index:3;color:#fff;background:var(--card-accent);box-shadow:0 9px 24px var(--card-glow); }
.pricing-card__num{ width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--card-accent) 28%,transparent);border-radius:12px;color:var(--card-accent);background:rgba(255,255,255,.76);font-size:.72rem; }
.pricing-card h2{ color:var(--card-accent);font-weight:700; }
.pricing-card__fit{ border:1px solid color-mix(in srgb,var(--card-accent) 15%,transparent);background:color-mix(in srgb,var(--card-wash) 74%,#fff); }
.pricing-card__fit span{ color:var(--card-accent); }
.pricing-card__features li{ color:#334f4b; }
.pricing-card__features li::before{ border-color:var(--card-accent); }
.pricing-card .btn-secondary{ border-color:var(--card-accent);color:var(--card-accent);background:#fff; }
.pricing-card .btn-secondary:hover{ color:#fff;background:var(--card-accent);box-shadow:0 12px 28px var(--card-glow); }
@media(max-width:1180px){ .pricing-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }.pricing-card__fit{ min-height:96px; } }
@media(max-width:920px){ .pricing-catalog__heading{ align-items:flex-start;flex-direction:column;gap:14px; }.service-price-table__head{ display:none; }.service-price-row{ grid-template-columns:1fr auto;gap:13px 20px;padding:20px 22px; }.service-price-row:hover{ padding:20px 22px; }.service-price-row>p{ grid-column:1/-1; }.service-price-row__price{ grid-column:2;grid-row:1; }.service-price-row__link{ grid-column:1/-1;justify-content:flex-start;padding-top:2px; } }
@media(max-width:760px){ .currency-switcher__options{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:620px){ .pricing-grid{ grid-template-columns:1fr; }.pricing-card{ padding:22px; }.pricing-card__fit{ min-height:auto; }.currency-switcher{ margin-top:28px;padding:13px;border-radius:16px; }.currency-switcher__options{ grid-template-columns:repeat(2,1fr); }.currency-switcher button{ padding:10px 7px; }.service-price-table{ border-radius:16px; }.service-price-row{ grid-template-columns:1fr;gap:10px;padding:20px; }.service-price-row:hover{ padding:20px; }.service-price-row__price{ grid-column:1;grid-row:auto;justify-content:flex-start; }.service-price-row__link{ grid-column:1; }.service-price-row__title>span{ width:35px;height:35px; } }

/* =========================================================
   About page
   ========================================================= */
.about-page__intro{ position:relative;overflow:hidden;background:var(--warm-white); }.about-page__intro::before{ content:"";position:absolute;width:440px;height:440px;inset-inline-end:-250px;top:-250px;border:1px solid rgba(24,59,57,.08);border-radius:50%;box-shadow:0 0 0 70px rgba(155,216,200,.06),0 0 0 140px rgba(155,216,200,.035);pointer-events:none; }.about-page__intro-grid{ display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(45px,8vw,110px);min-height:450px; }.about-page__intro-copy h1{ max-width:13ch;margin:12px 0 20px;font-size:clamp(2.5rem,2rem + 2.3vw,4.6rem);line-height:1.08;letter-spacing:-.045em; }.about-page__intro-copy p{ max-width:62ch;margin:0;color:#506c68;font-size:var(--fs-body-lg);line-height:1.85; }html[lang="ar"] .about-page__intro-copy h1{ letter-spacing:0;line-height:1.2; }.about-page__statement{ position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;padding:32px;overflow:hidden;border-radius:24px;color:var(--warm-white);background:var(--deep-teal);box-shadow:0 24px 60px rgba(24,59,57,.16); }.about-page__statement::before{ content:"";position:absolute;width:230px;height:230px;inset-inline-end:-90px;top:-105px;border:1px solid rgba(155,216,200,.22);border-radius:50%;box-shadow:0 0 0 45px rgba(155,216,200,.05); }.about-page__statement>span{ margin-bottom:auto;color:var(--mint-accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em; }.about-page__statement strong{ position:relative;max-width:14ch;color:var(--warm-white);font-size:clamp(1.55rem,1.2rem + .8vw,2rem);line-height:1.45; }.about-page__statement-line{ width:58px;height:3px;margin-top:22px;border-radius:3px;background:var(--mint-accent); }
.about-page__heading{ max-width:680px;margin-bottom:34px; }.about-page__heading h2{ margin-bottom:0; }.about-values__grid{ display:grid;grid-template-columns:1fr 1fr;gap:14px; }.about-value{ min-height:220px;display:flex;flex-direction:column;padding:26px;border:1px solid rgba(24,59,57,.09);border-radius:18px;background:rgba(255,255,255,.84);transition:transform .25s var(--ease),box-shadow .25s var(--ease); }.about-value:hover{ transform:translateY(-4px);box-shadow:0 18px 42px rgba(24,59,57,.075); }.about-value>span{ color:#78908d;font-size:.72rem;font-weight:700; }.about-value h3{ margin:auto 0 8px;font-size:clamp(1.25rem,1.1rem + .4vw,1.55rem); }.about-value p{ max-width:48ch;margin:0; }
.about-why__grid{ display:grid;grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(48px,8vw,110px); }.about-page__heading--light{ position:sticky;top:120px;margin-bottom:0; }.about-page__heading--light .eyebrow{ color:var(--mint-accent); }.about-page__heading--light h2{ color:var(--warm-white); }.about-page__heading--light p{ margin-top:18px;color:rgba(248,248,246,.7); }.about-why__list{ border-top:1px solid rgba(248,248,246,.16); }.about-reason{ display:grid;grid-template-columns:50px 1fr;gap:20px;padding:24px 4px;border-bottom:1px solid rgba(248,248,246,.16); }.about-reason>span{ color:var(--mint-accent);font-size:.75rem;font-weight:700; }.about-reason h3{ margin:0 0 5px;color:var(--warm-white);font-size:1.2rem; }.about-reason p{ max-width:58ch;margin:0;color:rgba(248,248,246,.68); }
@media(max-width:900px){ .about-page__intro-grid,.about-why__grid{ grid-template-columns:1fr; }.about-page__intro-grid{ min-height:auto; }.about-page__statement{ min-height:250px; }.about-page__heading--light{ position:static; }.about-values__grid{ grid-template-columns:1fr; }.about-value{ min-height:190px; } }
@media(max-width:560px){ .about-page__intro-copy h1{ font-size:clamp(2.25rem,11vw,3.3rem); }.about-page__statement{ min-height:220px;padding:25px;border-radius:18px; }.about-value{ min-height:175px;padding:22px; }.about-reason{ grid-template-columns:38px 1fr;gap:12px;padding-block:21px; } }

/* =========================================================
   Services page
   ========================================================= */
.services-hero{ position:relative; overflow:hidden; min-height:420px; display:flex; align-items:center; padding-block:clamp(42px,4vw,58px); color:var(--warm-white); background:var(--deep-teal); isolation:isolate; }.services-hero::before{ content:"";position:absolute;inset:0;z-index:-2;opacity:.13;background-image:linear-gradient(rgba(155,216,200,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(155,216,200,.2) 1px,transparent 1px);background-size:68px 68px; }.services-hero__glow{ position:absolute;z-index:-1;width:520px;height:520px;inset-inline-end:-220px;top:-280px;border-radius:50%;background:radial-gradient(circle,rgba(155,216,200,.22),transparent 68%); }.services-hero__grid{ width:100%;display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:clamp(45px,8vw,110px); }.services-hero .eyebrow{ color:var(--mint-accent); }.services-hero h2{ max-width:14ch;color:var(--warm-white);font-size:clamp(2.25rem,1.75rem + 1.65vw,3.4rem);letter-spacing:-.035em; }.services-hero__copy p{ margin:16px 0 0;color:rgba(248,248,246,.7);font-size:var(--fs-body-lg); }html[lang="ar"] .services-hero h2{ letter-spacing:0;line-height:1.22; }
.service-stack{ position:relative;width:100%;max-width:320px;aspect-ratio:320/230;margin-inline:auto; }.service-stack svg{ position:absolute;inset:0;width:100%;height:100%;stroke:rgba(155,216,200,.3);stroke-dasharray:5 5; }.service-stack__core{ position:absolute;z-index:2;left:50%;top:50%;width:74px;height:74px;transform:translate(-50%,-50%) rotate(8deg);display:grid;place-items:center;border-radius:22px;background:var(--mint-accent);box-shadow:0 18px 45px rgba(0,0,0,.2); }.service-stack__core span{ transform:rotate(-8deg);color:var(--deep-teal);font-size:2rem;font-weight:700; }.service-stack__node{ position:absolute;z-index:2;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(248,248,246,.2);border-radius:14px;color:var(--warm-white);background:#2b504d;font-size:.75rem;font-weight:700; }.service-stack__node--1{ left:0;top:12px; }.service-stack__node--2{ right:0;top:12px; }.service-stack__node--3{ left:0;bottom:4px; }.service-stack__node--4{ right:0;bottom:4px; }
.services-heading{ display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:30px; }.services-heading>div{ max-width:650px; }.services-heading>p{ max-width:40ch;margin:0; }.service-list{ display:grid;gap:16px; }.service-feature{ display:grid;grid-template-columns:.8fr 1.2fr;min-height:315px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff; }.service-feature:nth-child(even) .service-feature__visual{ order:2; }.service-feature__visual{ position:relative;overflow:hidden;display:grid;place-items:center;min-height:260px;background:#dcefe9; }.service-feature__visual--2{ background:#e7e8f3; }.service-feature__visual--3{ background:#f0e8da; }.service-feature__visual--4{ background:#dfe9ef; }.service-feature__visual::before,.service-feature__visual::after{ content:"";position:absolute;border:1px solid rgba(24,59,57,.14);border-radius:50%; }.service-feature__visual::before{ width:270px;height:270px; }.service-feature__visual::after{ width:170px;height:170px; }.service-feature__visual>span{ position:absolute;inset-inline-start:22px;top:16px;color:rgba(24,59,57,.18);font-size:3.2rem;font-weight:700; }.service-feature__visual svg{ position:relative;z-index:1;width:72px;height:72px;padding:19px;border-radius:20px;color:var(--warm-white);background:var(--deep-teal);box-shadow:0 16px 36px rgba(24,59,57,.2); }.service-feature__content{ display:flex;flex-direction:column;padding:clamp(24px,3.2vw,38px); }.service-feature__num{ color:#78908d;font-size:.72rem;font-weight:700; }.service-feature__content h3{ margin:10px 0 7px;font-size:clamp(1.65rem,1.35rem + .75vw,2.15rem); }.service-feature__content>p{ max-width:52ch;margin-bottom:10px; }.service-feature__content ul{ display:flex;flex-wrap:wrap;gap:7px;margin-top:5px; }.service-feature__content li{ padding:6px 10px;border-radius:999px;background:var(--soft-mint);color:var(--forest-teal);font-size:.7rem;font-weight:600; }.service-outcome{ display:grid;gap:3px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line); }.service-outcome small{ color:#78908d;text-transform:uppercase;letter-spacing:.06em; }.service-outcome strong{ color:var(--deep-teal); }.service-technologies{ overflow:hidden; }.tech-chips--services{ max-width:1120px; }.tech-chips--services .tech-chip{ background:rgba(255,255,255,.9); }
.services-heading--light h2{ color:var(--warm-white); }.services-heading--light .eyebrow{ color:var(--mint-accent); }.scenario-grid{ display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(248,248,246,.15);border-inline-start:1px solid rgba(248,248,246,.15); }.scenario-card{ min-height:210px;display:flex;flex-direction:column;padding:26px;border-inline-end:1px solid rgba(248,248,246,.15);border-bottom:1px solid rgba(248,248,246,.15); }.scenario-card>span{ color:var(--mint-accent);font-size:1.5rem; }.scenario-card p{ margin:auto 0 20px;color:var(--warm-white);font-size:clamp(1.15rem,2vw,1.5rem);font-weight:600; }.scenario-card strong{ color:var(--mint-accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em; }
.service-system__grid{ display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(50px,9vw,120px); }.service-system__copy h2{ max-width:17ch; }.service-system__copy p{ max-width:48ch; }.system-map{ position:relative;min-height:430px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(24,59,57,.08); }.system-map::before,.system-map::after{ content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px dashed #c7d6d2;border-radius:50%; }.system-map::before{ width:280px;height:280px; }.system-map::after{ width:170px;height:170px; }.system-map__center{ position:absolute;z-index:2;left:50%;top:50%;width:112px;height:112px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;color:var(--warm-white);background:var(--deep-teal);font-weight:700;text-align:center; }.system-map__item{ position:absolute;z-index:3;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:var(--warm-white);color:var(--deep-teal);font-size:.75rem;font-weight:700;box-shadow:var(--shadow-card); }.system-map__item--1{ left:10%;top:15%; }.system-map__item--2{ right:9%;top:18%; }.system-map__item--3{ left:12%;bottom:16%; }.system-map__item--4{ right:8%;bottom:14%; }
.engagement-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }.engagement-card{ min-height:260px;display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff; }.engagement-card>span{ color:#78908d;font-size:.72rem;font-weight:700; }.engagement-card h3{ margin-top:auto; }.engagement-card p{ margin-bottom:0; }.engagement-card--dark{ color:var(--warm-white);background:var(--deep-teal);border-color:var(--deep-teal); }.engagement-card--dark h3{ color:var(--warm-white); }.engagement-card--dark p{ color:rgba(248,248,246,.7); }.engagement-card--dark>span{ color:var(--mint-accent); }.service-final-cta{ display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:28px;padding:28px;border-radius:16px;background:var(--mint-accent); }.service-final-cta h2{ margin:0 0 4px; }.service-final-cta p{ margin:0; }
@media(max-width:900px){ .services-hero{ min-height:auto; }.services-hero__grid,.service-system__grid{ grid-template-columns:1fr; }.service-stack{ display:none; }.service-feature{ grid-template-columns:1fr; }.service-feature:nth-child(even) .service-feature__visual{ order:0; }.service-feature__visual{ min-height:240px; }.engagement-grid{ grid-template-columns:1fr; }.engagement-card{ min-height:210px; } }
@media(max-width:600px){ .services-hero{ padding-block:36px; }.services-hero h2{ font-size:clamp(2.1rem,10vw,3rem); }.services-heading{ align-items:flex-start;flex-direction:column;gap:15px; }.scenario-grid{ grid-template-columns:1fr; }.scenario-card{ min-height:170px; }.system-map{ min-height:340px; }.system-map::before{ width:230px;height:230px; }.service-final-cta{ align-items:flex-start;flex-direction:column; } }

/* =========================================================
   Process page
   ========================================================= */
.process-hero{ position:relative; overflow:hidden; min-height:420px; display:flex; align-items:center; padding-block:clamp(42px,4vw,58px); color:var(--warm-white); background:var(--deep-teal); isolation:isolate; }
.process-hero__mesh{ position:absolute; inset:0; z-index:-1; opacity:.16; background-image:linear-gradient(rgba(155,216,200,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(155,216,200,.2) 1px,transparent 1px); background-size:68px 68px; mask-image:linear-gradient(90deg,#000,transparent 80%); }
.process-hero__inner{ width:100%; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:clamp(48px,9vw,130px); }
.process-hero__copy .eyebrow{ color:var(--mint-accent); }.process-hero h2{ max-width:14ch; color:var(--warm-white); font-size:clamp(2.25rem,1.75rem + 1.65vw,3.4rem); letter-spacing:-.035em; }.process-hero__copy p{ max-width:52ch; margin:16px 0 24px; color:rgba(248,248,246,.72); font-size:var(--fs-body-lg); }html[lang="ar"] .process-hero h2{ letter-spacing:0;line-height:1.22; }
.process-hero__signal{ position:relative; aspect-ratio:1; max-width:250px; width:100%; margin-inline:auto; }.signal-ring{ position:absolute; inset:50%; border:1px solid rgba(155,216,200,.25); border-radius:50%; transform:translate(-50%,-50%); }.signal-ring--1{ width:36%;height:36%; }.signal-ring--2{ width:64%;height:64%; }.signal-ring--3{ width:92%;height:92%; }.signal-core{ position:absolute; left:50%;top:50%;width:30px;height:30px;transform:translate(-50%,-50%);border-radius:50%;background:var(--mint-accent);box-shadow:0 0 55px rgba(155,216,200,.55); }.signal-label{ position:absolute; display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--deep-teal);background:var(--warm-white);font-size:.8rem;font-weight:700;box-shadow:0 14px 35px rgba(0,0,0,.18); }.signal-label--1{ top:8%;left:43%; }.signal-label--2{ top:49%;right:0; }.signal-label--3{ bottom:4%;left:17%; }
.process-section-head{ display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:44px; }.process-section-head>div{ max-width:620px; }.process-section-head>p{ max-width:38ch; margin:0; }.process-section-head--light h2{ color:var(--warm-white); }.process-section-head--light p{ color:rgba(248,248,246,.65); }.process-section-head--light .eyebrow{ color:var(--mint-accent); }
.principle-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.principle-card{ display:flex; flex-direction:column; padding:28px; border:1px solid var(--line); border-radius:16px; background:#fff; transition:.3s var(--ease); }.principle-card:hover{ transform:translateY(-6px);box-shadow:var(--shadow-lift); }.principle-card>span{ color:#78908d;font-size:.78rem;font-weight:700; }.principle-card h3{ margin:48px 0 .5em; }.principle-card p{ margin-bottom:0; }.principle-card--accent{ color:var(--warm-white);background:var(--deep-teal);border-color:var(--deep-teal); }.principle-card--accent h3{ color:var(--warm-white); }.principle-card--accent p{ color:rgba(248,248,246,.7); }.principle-card--accent>span{ color:var(--mint-accent); }
.process-journey{ background:var(--deep-teal); }.journey-list{ border-top:1px solid rgba(248,248,246,.15); }.journey-step{ display:grid;grid-template-columns:70px minmax(190px,.75fr) 1.25fr 32px;align-items:center;gap:28px;padding:28px 8px;border-bottom:1px solid rgba(248,248,246,.15);transition:background .25s ease,padding .25s ease; }.journey-step:hover{ padding-inline:18px;background:rgba(248,248,246,.04); }.journey-step__num{ color:var(--mint-accent);font-weight:700; }.journey-step h3{ margin:0;color:var(--warm-white); }.journey-step__title span{ display:inline-block;margin-top:5px;color:var(--mint-accent);font-size:.75rem; }.journey-step>p{ margin:0;color:rgba(248,248,246,.65); }.journey-step>svg{ width:21px;color:var(--mint-accent); }html[dir="rtl"] .journey-step>svg{ transform:scaleX(-1); }
.process-rhythm__grid{ display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(48px,9vw,120px); }.process-rhythm__copy h2{ max-width:15ch; }.process-rhythm__copy>p{ max-width:48ch; }.rhythm-checks{ display:grid;gap:12px;margin-top:25px; }.rhythm-checks li{ position:relative;padding-inline-start:27px;color:var(--forest-teal);font-weight:600; }.rhythm-checks li::before{ content:"";position:absolute;inset-inline-start:0;top:.5em;width:13px;height:8px;border-inline-start:2px solid var(--deep-teal);border-bottom:2px solid var(--deep-teal);transform:rotate(-45deg); }html[dir="rtl"] .rhythm-checks li::before{ transform:rotate(45deg); }
.rhythm-board{ overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 24px 65px rgba(24,59,57,.1); }.rhythm-board__top{ display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line);font-weight:700; }.rhythm-board__top i{ padding:6px 10px;border-radius:999px;background:var(--soft-mint);color:var(--deep-teal);font-size:.72rem;font-style:normal; }.rhythm-day{ display:grid;grid-template-columns:120px 1fr;align-items:center;gap:20px;padding:24px;border-bottom:1px solid var(--line); }.rhythm-day:last-child{ border:0; }.rhythm-day strong{ font-size:.78rem;color:#78908d; }.rhythm-day>div{ display:flex;align-items:center;gap:12px; }.rhythm-day>div span{ width:10px;height:10px;border-radius:50%;background:var(--mint-accent);box-shadow:0 0 0 6px var(--soft-mint); }.rhythm-day p{ margin:0;font-weight:600; }
.process-proof__top{ display:flex;align-items:end;justify-content:space-between;gap:40px; }.process-proof__top .eyebrow{ color:var(--mint-accent); }.process-proof__top h2{ margin:0;font-size:clamp(2.5rem,5vw,5rem); }.process-proof__top>p{ max-width:42ch;margin:0;color:rgba(248,248,246,.7); }.proof-strip{ display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-block:1px solid rgba(248,248,246,.15); }.proof-strip span{ padding:22px 18px;text-align:center;border-inline-end:1px solid rgba(248,248,246,.15);font-size:.82rem;font-weight:600; }.proof-strip span:last-child{ border:0; }.process-proof__cta{ display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:55px; }.process-proof__cta h3{ margin:0;color:var(--warm-white); }
@media(max-width:900px){ .process-hero{ min-height:auto; }.process-hero__inner,.process-rhythm__grid{ grid-template-columns:1fr; }.process-hero__signal{ display:none; }.process-section-head,.process-proof__top{ align-items:flex-start;flex-direction:column; }.principle-grid{ grid-template-columns:1fr; }.principle-card h3{ margin-top:32px; }.journey-step{ grid-template-columns:50px 1fr 24px;gap:18px; }.journey-step>p{ grid-column:2/4; }.proof-strip{ grid-template-columns:1fr 1fr; }.proof-strip span:nth-child(2){ border-inline-end:0; }.proof-strip span:nth-child(-n+2){ border-bottom:1px solid rgba(248,248,246,.15); } }
@media(max-width:560px){ .process-hero h2{ font-size:clamp(2.1rem,10vw,3rem); }.journey-step{ padding-block:22px; }.rhythm-day{ grid-template-columns:1fr;gap:8px; }.proof-strip{ grid-template-columns:1fr; }.proof-strip span{ border-inline-end:0;border-bottom:1px solid rgba(248,248,246,.15); }.process-proof__cta{ align-items:flex-start;flex-direction:column; } }

/* =========================================================
   Work / Portfolio page
   ========================================================= */
.work-hero{ position:relative; overflow:hidden; min-height:420px; display:flex; align-items:center; padding-block:clamp(42px,4vw,58px); background:var(--deep-teal); color:var(--warm-white); isolation:isolate; }
.work-hero::before{ content:""; position:absolute; inset:0; z-index:-2; opacity:.14; background-image:linear-gradient(rgba(155,216,200,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(155,216,200,.2) 1px,transparent 1px); background-size:72px 72px; }
.work-hero__glow{ position:absolute; z-index:-1; width:620px; height:620px; inset-inline-start:-260px; top:-300px; border-radius:50%; background:radial-gradient(circle,rgba(155,216,200,.22),transparent 68%); }
.work-hero__grid{ display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:clamp(42px,8vw,120px); }
.work-hero .eyebrow{ color:var(--mint-accent); }
.work-hero h2{ max-width:15ch; margin:0; color:var(--warm-white); font-size:clamp(2.25rem,1.75rem + 1.65vw,3.4rem); letter-spacing:-.035em; }
html[lang="ar"] .work-hero h2{ letter-spacing:0; line-height:1.22; }
.work-hero__aside{ padding-bottom:8px; }
.work-hero__aside p{ color:rgba(248,248,246,.72); font-size:var(--fs-body-lg); }
.work-hero__count{ display:flex; align-items:baseline; gap:10px; margin-top:28px; padding-top:22px; border-top:1px solid rgba(248,248,246,.14); }
.work-hero__count strong{ font-size:2rem; color:var(--mint-accent); }.work-hero__count span{ color:rgba(248,248,246,.6); font-size:var(--fs-small); }
.work-list{ background:#f1f4f2; }
.work-filters{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:36px; }
.work-filter{ padding:10px 17px; border:1px solid #d9e1de; border-radius:999px; color:var(--forest-teal); background:transparent; font:inherit; font-size:var(--fs-small); font-weight:600; cursor:pointer; transition:.2s ease; }
.work-filter:hover,.work-filter.is-active{ color:var(--warm-white); border-color:var(--deep-teal); background:var(--deep-teal); }
.project-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,48px) 28px; }
.project-card{ min-width:0; }
.project-preview{ position:relative; display:block; overflow:hidden; aspect-ratio:16/10; border-radius:18px; background:#dfe9e5; box-shadow:0 20px 50px rgba(24,59,57,.1); }
.project-preview--image{ aspect-ratio:auto; padding-top:42px; }
.browser-bar{ position:absolute; z-index:3; inset:0 0 auto; height:42px; display:flex; align-items:center; gap:6px; padding:0 14px; color:rgba(248,248,246,.62); background:rgba(17,43,41,.78); backdrop-filter:blur(12px); }
.browser-bar>span{ width:7px; height:7px; border-radius:50%; background:rgba(248,248,246,.42); }.browser-bar>div{ margin-inline:auto; font-size:11px; direction:ltr; }
.project-preview>img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.project-preview--image>img{ height:auto; object-fit:contain; }
.project-art{ position:absolute; inset:42px 0 0; overflow:hidden; display:grid; place-items:center; background:linear-gradient(135deg,#d8eee8,#91cdbd); }
.project-card--2 .project-art{ background:linear-gradient(135deg,#eee9df,#c9bfa7); }.project-card--3 .project-art{ background:linear-gradient(135deg,#dfe6ee,#aebfd0); }
.project-art::before,.project-art::after{ content:""; position:absolute; border:1px solid rgba(24,59,57,.14); border-radius:50%; }.project-art::before{ width:290px;height:290px;inset-inline-end:-80px;top:-120px; }.project-art::after{ width:170px;height:170px;inset-inline-end:-20px;top:-60px; }
.project-art__index{ position:absolute; inset-inline-start:28px; top:24px; color:rgba(24,59,57,.16); font-size:4rem; font-weight:700; }
.project-art__mark{ position:relative; width:110px; height:110px; display:grid; place-items:center; border-radius:28px; color:var(--warm-white); background:var(--deep-teal); font-size:3.2rem; font-weight:700; box-shadow:0 20px 44px rgba(24,59,57,.24); }
.project-art__lines{ position:absolute; inset-inline-start:28px; bottom:24px; display:grid; gap:7px; }.project-art__lines i{ display:block; width:112px; height:4px; border-radius:2px; background:rgba(24,59,57,.17); }.project-art__lines i:nth-child(2){ width:78px; }.project-art__lines i:nth-child(3){ width:94px; }
.project-preview__visit{ position:absolute; z-index:4; inset-inline-end:18px; bottom:18px; display:flex; align-items:center; gap:7px; padding:10px 14px; border-radius:999px; opacity:0; transform:translateY(8px); color:var(--deep-teal); background:var(--warm-white); font-size:12px; font-weight:700; transition:.25s ease; }.project-preview__visit svg{ width:15px;height:15px; }html[dir="rtl"] .project-preview__visit svg{ transform:scaleX(-1); }
.project-preview:hover .project-preview__visit{ opacity:1; transform:none; }.project-preview:hover>img{ transform:scale(1.035); }.project-preview:hover .project-art__mark{ transform:rotate(-4deg) scale(1.04); }.project-art__mark{ transition:transform .5s var(--ease); }
.project-preview--image:hover>img{ transform:none; }
.project-card__body{ padding:22px 4px 0; }.project-card__meta{ display:flex; justify-content:space-between; gap:14px; color:#62817d; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }.project-card__body h2{ margin:8px 0; font-size:clamp(1.5rem,1.2rem + .8vw,2rem); }.project-card__body p{ max-width:58ch; margin-bottom:15px; }.project-tech{ display:flex; flex-wrap:wrap; gap:7px; }.project-tech span{ padding:6px 10px; border-radius:999px; background:#fff; color:#58736f; font-size:.72rem; font-weight:600; }
.project-card.is-filtered-out{ display:none; }
.work-empty{ padding:70px 24px; text-align:center; border:1px dashed #bdcbc7; border-radius:18px; }
.work-cta__inner{ display:flex; align-items:center; justify-content:space-between; gap:32px; }.work-cta h2{ margin:0; }.work-cta .eyebrow{ color:var(--mint-accent); }
@media(max-width:760px){ .work-hero{ min-height:auto;padding-block:36px; }.work-hero__grid{ grid-template-columns:1fr; gap:20px; }.work-hero h2{ font-size:clamp(1.95rem,8.5vw,2.65rem); }.work-hero__aside{ max-width:38ch; }.work-hero__aside p{ font-size:1rem;margin-bottom:0; }.work-hero__count{ margin-top:14px;padding-top:12px; }.project-grid{ grid-template-columns:1fr; }.work-cta__inner{ align-items:flex-start; flex-direction:column; }.project-preview__visit{ opacity:1;transform:none; }.work-filter{ padding:8px 13px; } }

/* Responsive: hero + generic */
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: 1fr; }
  .node-system{ max-width: 360px; margin-inline: auto; }
  .hero-slider{ min-height:calc(100svh - 64px); padding-top:30px; display:flex; }
  .hero-slider > .container{ width:100%; display:flex; flex-direction:column; }
  .hero-slider__footer{ margin-top:auto; }
  .hero-slide{ grid-template-columns:1fr; align-content:start; gap:20px; }
  .hero-copy h1{ font-size:clamp(2.35rem,8vw,3.8rem); }
  .hero-slide__visual{ min-height:150px; margin-top:28px; padding-bottom:4px; }
  .hero-slide__number,.hero-slide__tags{ display:none; }
  .hero-slide__orb{ width:112px; height:112px; top:42%; }
  .hero-slide__orb::before{ inset:18px; }.hero-slide__orb::after{ inset:36px; }
  .hero-slide__orb i{ inset:46px; }
  .hero-slide__orb span{ width:8px; height:8px; }
  .hero-slide__orb span:nth-child(1){ top:9px; left:25px; }.hero-slide__orb span:nth-child(2){ top:47px; right:-4px; }.hero-slide__orb span:nth-child(3){ bottom:4px; left:40px; }
  .hero-slide__label{ font-size:1rem; }
  .hero-slider__footer{ align-items:flex-start; }
  .footer-grid{ grid-template-columns: 1fr; }
  .resolve-before{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px){
  .hero-slider{ padding-top:26px; }
  .hero-slide{ gap:12px; }
  .hero-slide__visual{ min-height:150px; padding-bottom:4px; }
  .hero-slide__number,
  .hero-slide__tags{ display:none; }
  .hero-slide__orb{ width:112px; height:112px; top:42%; }
  .hero-slide__orb::before{ inset:18px; }
  .hero-slide__orb::after{ inset:36px; }
  .hero-slide__orb i{ inset:46px; }
  .hero-slide__orb span{ width:8px; height:8px; }
  .hero-slide__orb span:nth-child(1){ top:9px; left:25px; }
  .hero-slide__orb span:nth-child(2){ top:47px; right:-4px; }
  .hero-slide__orb span:nth-child(3){ bottom:4px; left:40px; }
  .hero-slide__label{ font-size:1rem; }
  .hero-slider__footer{ flex-direction:column; gap:18px; }
  .hero-slider__controls{ width:100%; justify-content:space-between; }
  .hero-stats{ width:100%; justify-content:space-between; padding-bottom:8px; }
  .hero-stat{ display:block; }
  .hero-stat .label{ display:block; }
}

/* =========================================================
   Project request wizard
   ========================================================= */
.request-page{ background:#f3f7f5; }
.request-shell{ position:relative; overflow:hidden; min-height:calc(100svh - 72px); padding-block:clamp(38px,5vw,70px) clamp(58px,7vw,96px); }
.request-shell::before,.request-shell::after{ content:""; position:absolute; border-radius:50%; pointer-events:none; }
.request-shell::before{ width:520px; height:520px; inset-inline-start:-340px; top:10%; background:radial-gradient(circle,rgba(155,216,200,.28),transparent 70%); }
.request-shell::after{ width:380px; height:380px; inset-inline-end:-260px; bottom:5%; border:1px solid rgba(155,216,200,.26); box-shadow:0 0 0 60px rgba(155,216,200,.05); }
.request-container{ position:relative; z-index:1; max-width:1040px; }
.request-intro{ max-width:720px; margin:0 auto clamp(28px,4vw,44px); text-align:center; }
.request-intro .eyebrow{ justify-content:center; }
.request-intro h1{ margin-bottom:12px; font-size:clamp(2rem,1.45rem + 2vw,3.4rem); }
html[lang="ar"] .request-intro h1{ line-height:1.25; }
.request-intro p{ max-width:56ch; margin-inline:auto; font-size:var(--fs-body-lg); }
.project-wizard{ position:relative; }
.wizard-status{ position:sticky; top:78px; z-index:12; margin-bottom:16px; padding:18px 22px; border:1px solid rgba(24,59,57,.1); border-radius:18px; background:rgba(255,255,255,.9); backdrop-filter:blur(16px); box-shadow:0 14px 38px rgba(24,59,57,.075); }
.wizard-status__meta{ display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; color:var(--deep-teal); font-size:.82rem; font-weight:700; }
.wizard-status__meta strong{ color:#6e8783; font-size:.75rem; direction:ltr; }
.wizard-progress{ height:5px; overflow:hidden; border-radius:999px; background:#dfebe7; }
.wizard-progress span{ display:block; width:25%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#52b69e,var(--deep-teal)); transform-origin:left; transition:width .45s var(--ease); }
html[dir="rtl"] .wizard-progress span{ transform-origin:right; }
.wizard-stage{ border:1px solid rgba(24,59,57,.09); border-radius:24px; background:#fff; box-shadow:0 24px 65px rgba(24,59,57,.09); }
.project-wizard__step{ min-width:0; margin:0; padding:clamp(28px,5vw,54px); border:0; }
.project-wizard__step+ .project-wizard__step{ border-top:1px solid var(--line); }
.project-wizard.wizard-ready .project-wizard__step{ display:none; }
.project-wizard.wizard-ready .project-wizard__step.is-active{ display:block; animation:wizard-step-in .4s var(--ease) both; }
@keyframes wizard-step-in{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
.project-wizard__step legend{ width:100%; margin-bottom:8px; padding:0; text-align:center; color:var(--deep-teal); font-size:clamp(1.65rem,1.35rem + 1vw,2.35rem); font-weight:700; line-height:1.25; }
.wizard-step-hint{ margin:0 0 30px; text-align:center; color:#718783; }
.wizard-options{ display:grid; gap:12px; }
.wizard-options--types{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.wizard-options--features{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.wizard-option{ position:relative; display:grid; grid-template-columns:52px minmax(0,1fr) 28px; align-items:center; gap:15px; min-height:112px; padding:18px; overflow:hidden; border:1px solid #dfe7e4; border-radius:17px; background:#fff; cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,transform .2s var(--ease),background .2s ease; }
.wizard-option:hover{ transform:translateY(-2px); border-color:#a9cfc5; box-shadow:0 12px 28px rgba(24,59,57,.07); }
.wizard-option.is-selected,.wizard-option:has(input:checked){ border-color:var(--deep-teal); background:#f4faf8; box-shadow:0 0 0 2px rgba(155,216,200,.45),0 14px 30px rgba(24,59,57,.08); }
.wizard-option input,.wizard-pill input{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.wizard-option__icon{ width:52px; height:52px; display:grid; place-items:center; border-radius:14px; color:var(--deep-teal); background:#e5f2ee; }
.wizard-option__icon svg{ width:25px; height:25px; }
.wizard-option__copy{ display:grid; gap:4px; }
.wizard-option__copy strong{ color:var(--deep-teal); font-size:1.02rem; line-height:1.35; }
.wizard-option__copy small{ color:#78908c; font-size:.78rem; line-height:1.55; }
.wizard-option__check{ width:24px; height:24px; display:grid; place-items:center; border:1px solid #cbd9d5; border-radius:50%; color:transparent; transition:.2s ease; }
.wizard-option__check svg{ width:14px; height:14px; }
.wizard-option.is-selected .wizard-option__check,.wizard-option:has(input:checked) .wizard-option__check{ color:#fff; border-color:var(--deep-teal); background:var(--deep-teal); }
.wizard-option--compact{ min-height:84px; grid-template-columns:44px minmax(0,1fr) 26px; padding:15px 17px; }
.wizard-option--compact .wizard-option__icon{ width:44px; height:44px; border-radius:12px; }
.wizard-option--compact .wizard-option__icon svg{ width:21px; height:21px; }
.wizard-design-status{ display:grid; gap:16px; margin-top:28px; padding:22px; border:1px solid #dfe8e5; border-radius:18px; background:#f7faf9; }
.wizard-design-status h2{ margin:0 0 4px; font-size:1.1rem; }
.wizard-design-status p{ margin:0; color:#718783; font-size:.8rem; }
.wizard-design-options{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.wizard-design-options .wizard-pill{ margin:0; }
.wizard-design-options .wizard-pill span{ justify-content:center; text-align:center; }
.wizard-step-error{ min-height:20px; margin-top:10px; color:#b33b31; font-size:.78rem; font-weight:600; }
.wizard-actions{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.wizard-actions--end{ justify-content:flex-end; }
.wizard-next,.wizard-submit{ justify-content:center; min-width:150px; color:var(--warm-white); background:var(--deep-teal); }
.wizard-next:hover,.wizard-submit:hover{ background:var(--forest-teal); box-shadow:0 12px 26px rgba(24,59,57,.16); }
.wizard-next svg,.wizard-submit svg{ width:17px; height:17px; }
html[dir="rtl"] .wizard-next svg,html[dir="rtl"] .wizard-submit svg{ transform:scaleX(-1); }
.wizard-back{ color:#58716d; border-color:#d8e3df; background:#fff; }
.wizard-back:hover{ color:var(--deep-teal); border-color:var(--deep-teal); }
.wizard-split{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.wizard-choice-group{ padding:22px; border:1px solid #e0e8e5; border-radius:18px; background:#f9fbfa; }
.wizard-choice-group h2{ margin-bottom:16px; font-size:1.05rem; }
.wizard-pill{ position:relative; display:block; margin-bottom:8px; cursor:pointer; }
.wizard-pill span{ display:flex; align-items:center; min-height:48px; padding:10px 14px; border:1px solid #dce6e2; border-radius:11px; color:#536d69; background:#fff; font-size:.84rem; font-weight:600; transition:.2s ease; }
.wizard-pill--detailed span{ display:grid; align-content:center; gap:3px; min-height:60px; padding-block:10px; }
.wizard-pill--detailed strong{ color:var(--deep-teal); font-size:.88rem; line-height:1.35; }
.wizard-pill--detailed small{ color:#7a908c; font-size:.7rem; font-weight:500; line-height:1.35; }
.wizard-pill:hover span{ border-color:#a9cfc5; }
.wizard-pill.is-selected span,.wizard-pill:has(input:checked) span{ padding-inline-start:38px; color:var(--deep-teal); border-color:var(--deep-teal); background:#eaf5f1; box-shadow:0 0 0 2px rgba(155,216,200,.3); }
.wizard-pill.is-selected span::before,.wizard-pill:has(input:checked) span::before{ content:""; position:absolute; inset-inline-start:16px; width:10px; height:6px; border-inline-start:2px solid var(--deep-teal); border-bottom:2px solid var(--deep-teal); transform:rotate(-45deg); }
html[dir="rtl"] .wizard-pill.is-selected span::before,html[dir="rtl"] .wizard-pill:has(input:checked) span::before{ transform:rotate(45deg); }
.wizard-final-grid{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:22px; align-items:start; }
.wizard-contact-card{ padding:24px; border:1px solid #e0e8e5; border-radius:18px; background:#fff; }
.wizard-contact-row{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.wizard-contact-card .field:last-child{ margin-bottom:0; }
.wizard-contact-card .field input,.wizard-contact-card .field textarea{ border-color:#dce6e2; border-radius:11px; background:#fbfcfc; }
.wizard-contact-card .field textarea{ min-height:112px; }
.wizard-summary{ position:sticky; top:174px; padding:24px; border-radius:18px; color:var(--warm-white); background:var(--deep-teal); box-shadow:0 18px 42px rgba(24,59,57,.18); }
.wizard-summary .eyebrow{ color:var(--mint-accent); }
.wizard-summary dl{ display:grid; gap:0; margin:6px 0 18px; }
.wizard-summary dl div{ padding:13px 0; border-bottom:1px solid rgba(248,248,246,.12); }
.wizard-summary dt{ margin-bottom:4px; color:rgba(248,248,246,.55); font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.wizard-summary dd{ margin:0; color:var(--warm-white); font-size:.82rem; font-weight:600; line-height:1.5; }
.wizard-summary__note{ display:block; color:rgba(248,248,246,.65); font-size:.72rem; line-height:1.65; }
.wizard-honeypot{ position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; }
.request-alert{ margin-bottom:15px; padding:14px 17px; border:1px solid #efcbc7; border-radius:12px; color:#8f2f27; background:#fff4f2; font-size:.86rem; font-weight:600; }
.request-success{ max-width:720px; margin:30px auto; padding:clamp(34px,6vw,68px); border:1px solid rgba(24,59,57,.09); border-radius:24px; text-align:center; background:#fff; box-shadow:0 24px 65px rgba(24,59,57,.09); }
.request-success__icon{ width:70px; height:70px; display:grid; place-items:center; margin:0 auto 22px; border-radius:50%; color:var(--deep-teal); background:var(--soft-mint); box-shadow:0 0 0 12px rgba(155,216,200,.18); }
.request-success__icon svg{ width:30px; height:30px; }
.request-success .eyebrow{ justify-content:center; }
.request-success h1{ font-size:clamp(1.8rem,1.45rem + 1.2vw,2.7rem); }
.request-success p{ max-width:52ch; margin-inline:auto; }
.request-success .btn{ margin-top:12px; }

@media(max-width:800px){
  .wizard-status{ top:68px; }
  .wizard-options--types,.wizard-options--features,.wizard-split,.wizard-final-grid{ grid-template-columns:1fr; }
  .wizard-design-options{ grid-template-columns:1fr; }
  .wizard-summary{ position:relative; top:auto; order:-1; }
}
@media(max-width:560px){
  .request-shell{ padding-block:28px 54px; }
  .request-intro{ margin-bottom:22px; text-align:start; }
  .request-intro .eyebrow{ justify-content:flex-start; }
  .request-intro h1{ font-size:2rem; }
  .request-intro p{ font-size:.95rem; }
  .wizard-status{ top:62px; margin-inline:-8px; padding:14px 16px; border-radius:14px; }
  .wizard-stage{ margin-inline:-8px; border-radius:18px; }
  .project-wizard__step{ padding:27px 18px 22px; }
  .project-wizard__step legend,.wizard-step-hint{ text-align:start; }
  .project-wizard__step legend{ font-size:1.65rem; }
  .wizard-step-hint{ margin-bottom:22px; }
  .wizard-option{ min-height:94px; grid-template-columns:46px minmax(0,1fr) 24px; gap:12px; padding:14px; }
  .wizard-option__icon{ width:46px; height:46px; border-radius:12px; }
  .wizard-option__copy strong{ font-size:.95rem; }
  .wizard-option__copy small{ font-size:.71rem; }
  .wizard-option--compact{ min-height:72px; grid-template-columns:40px minmax(0,1fr) 24px; }
  .wizard-option--compact .wizard-option__icon{ width:40px; height:40px; }
  .wizard-choice-group,.wizard-contact-card,.wizard-summary{ padding:18px; border-radius:15px; }
  .wizard-contact-row{ grid-template-columns:1fr; gap:0; }
  .wizard-actions{ position:sticky; z-index:8; bottom:10px; margin-inline:-6px; padding:12px 6px 0; background:linear-gradient(transparent,#fff 22%); }
  .wizard-next,.wizard-submit{ flex:1; min-width:0; }
  .wizard-back{ padding-inline:17px; }
}
/* FINAL SERVICE PHOTOS FIX */

.service-feature__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Mobile */
@media (max-width: 900px) {
    .service-feature {
        height: auto !important;
    }

    .service-feature__visual {
        height: 240px;
        min-height: 240px;
    }

    .service-feature__content {
        height: auto;
    }
}