/* ZEST landing page — styles
   Brand source: ZEST Brand Guidelines v1.0 (Oct 2026) + Website Developer Brief v1.0 (14 Oct 2026).
   Where the two disagree, the guidelines win. Square corners, no shadows, no gradients, no blur. */

@font-face{font-family:"Montserrat";src:url("fonts/montserrat-var.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("fonts/plex-arabic-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("fonts/plex-arabic-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("fonts/plex-arabic-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"IBM Plex Sans Arabic";src:url("fonts/plex-arabic-700.woff2") format("woff2");font-weight:700;font-display:swap}

:root{
  /* 6.1 Color */
  --midnight:#030447; --paper:#F7F7F7; --signal:#3B3ECE; --mist:#E0E1F5; --slate:#5E5F78; --zest:#D4F25A;
  --midnight-2:#181A6B; --line:#C9CBE3; --line-dark:#2C2E86;

  --sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --arabic:"IBM Plex Sans Arabic",Tahoma,sans-serif;
  --text:var(--sans);

  /* 6.3 Layout */
  --max:1280px; --pad:80px; --sec:128px; --hdr:84px;

  /* 6.2 Type scale (fluid between desktop and mobile values) */
  --fs-hero:clamp(46px,7vw,112px);
  --fs-h1:clamp(40px,5.8vw,88px);
  --fs-h2:clamp(30px,3.6vw,52px);
  --fs-h3:clamp(22px,2vw,30px);
  --fs-num:clamp(40px,4.7vw,68px);
  --fs-num-xl:clamp(56px,8.9vw,128px);
  --fs-lead:clamp(18px,1.55vw,22px);
  --fs-body:17px;
  --w-head:700; --lh-head:1.08; --lh-h2:1.12; --lh-h3:1.25; --lh-body:1.65; --ls-head:-.012em;
}
html[dir=rtl]{
  --text:var(--arabic);
  --fs-hero:clamp(48px,7.4vw,118px);
  --fs-h1:clamp(42px,6.2vw,94px);
  --fs-h2:clamp(32px,3.9vw,56px);
  --fs-h3:clamp(24px,2.2vw,33px);
  --fs-lead:clamp(19px,1.7vw,24px);
  --fs-body:18px;
  --w-head:600; --lh-head:1.4; --lh-h2:1.4; --lh-h3:1.5; --lh-body:1.75; --ls-head:0;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 24px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--midnight);font-family:var(--text);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html.sheet-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
p,figure,ul,ol{margin:0}
ul{padding:0;list-style:none}
button{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:var(--w-head);letter-spacing:var(--ls-head)}
h1{font-size:var(--fs-h1);line-height:var(--lh-head)}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2)}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3)}
html[dir=rtl] :is(h1,h2,h3,p,li,a,span,button){letter-spacing:0}

/* Numbers, the email address and Latin names stay left-to-right and in Montserrat (Section 7) */
.num,.ltr{direction:ltr;unicode-bidi:isolate;font-family:var(--sans)}
html[dir=rtl] .num{text-align:right}
html[dir=rtl] p .num,html[dir=rtl] li .num,html[dir=rtl] .card-cap .num,html[dir=rtl] .label .num{font-size:.94em}

.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;top:12px;inset-inline-start:12px;z-index:100;background:var(--midnight);color:var(--paper);padding:12px 18px;font-weight:600;font-size:15px;text-decoration:none;transform:translateY(-200%)}
.skip:focus{transform:none}

.wrap{max-width:calc(var(--max) + var(--pad)*2);margin-inline:auto;padding-inline:var(--pad)}
.sec{padding-block:var(--sec)}
.sec + .sec.g-paper.flush{padding-top:0}
.g-mid{background:var(--midnight);color:var(--paper)}
.g-paper{background:var(--paper);color:var(--midnight)}
.g-mist{background:var(--mist);color:var(--midnight)}

/* Focus ring: Signal on light grounds, Zest on Midnight */
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.g-mid :focus-visible,.hdr.on-dark :focus-visible,.menu :focus-visible{outline-color:var(--zest)}

/* ---------- Type pieces ---------- */
.label{font:600 13px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin:0 0 24px}
html[dir=rtl] .label{font-family:var(--arabic);font-weight:500;font-size:14px;letter-spacing:0;text-transform:none}
.g-mid .label{color:var(--mist)}
.lead{font-size:var(--fs-lead);line-height:1.55;max-width:34em}
.g-mid .lead{color:var(--mist)}
.muted{color:var(--slate)}

/* Parallel rule — the two lines of the Z, 3 px each, 4 px apart */
.rule{display:block;width:64px;height:10px;border-block:3px solid currentColor;color:var(--signal)}
.g-mid .rule{color:var(--mist)}
.rule.zest{color:var(--zest)}

/* ---------- Buttons and links (6.4) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;height:56px;padding-inline:28px;border:2px solid currentColor;background:transparent;color:inherit;font:600 15px/1 var(--sans);letter-spacing:.01em;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
html[dir=rtl] .btn{font-family:var(--arabic);font-size:16px;font-weight:600}
.btn-zest{background:var(--zest);border-color:var(--zest);color:var(--midnight)}
.btn-zest:hover{background:var(--paper);border-color:var(--paper)}
.btn-dark{background:var(--midnight);border-color:var(--midnight);color:var(--paper)}
.btn-dark:hover{background:var(--signal);border-color:var(--signal)}
.g-mid .btn-line:hover,.on-dark .btn-line:hover,.menu .btn-line:hover{background:var(--paper);border-color:var(--paper);color:var(--midnight)}
.g-paper .btn-line:hover,.g-mist .btn-line:hover,.hdr.solid .btn-line:hover{background:var(--midnight);border-color:var(--midnight);color:var(--paper)}
.btn-sm{height:44px;padding-inline:20px;font-size:14px}
html[dir=rtl] .btn-sm{font-size:15px}

.arrow{display:inline-block;font-family:var(--sans);font-weight:600;transition:transform .2s ease}
html[dir=rtl] .arrow{transform:scaleX(-1)}
a:hover .arrow,button:hover .arrow{transform:translateX(4px)}
html[dir=rtl] a:hover .arrow,html[dir=rtl] button:hover .arrow{transform:scaleX(-1) translateX(4px)}

.tlink{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:4px;background:none;border-top:0;border-inline:0;cursor:pointer}
html[dir=rtl] .tlink{font-size:16px}
.g-paper .tlink,.g-mist .tlink{color:var(--signal)}
.g-mid .tlink{color:var(--paper)}

/* ---------- Header G-01 ---------- */
.hdr{position:fixed;inset-block-start:0;inset-inline:0;z-index:40;height:var(--hdr);color:var(--midnight);transition:background-color .25s,color .25s,box-shadow .25s}
.hdr.on-dark{color:var(--paper)}
.hdr.solid{background:var(--paper);color:var(--midnight);box-shadow:0 1px 0 var(--line)}
.hdr-in{height:100%;display:flex;align-items:center;gap:40px}
.hdr-logo{display:flex;align-items:center;color:inherit;flex:none}
.hdr-logo svg{height:36px;width:auto}
.nav{display:flex;gap:32px;margin-inline-start:auto}
.nav a{font-weight:600;font-size:15px;text-decoration:none;padding-block:6px;border-bottom:2px solid transparent;transition:border-color .2s}
html[dir=rtl] .nav a{font-size:16px}
.nav a:hover,.nav a[aria-current]{border-bottom-color:currentColor}
.hdr-end{display:flex;align-items:center;gap:24px}
.lang{font-weight:600;font-size:15px;text-decoration:none;padding-block:6px}
.lang[lang=ar]{font-family:var(--arabic);font-size:17px}
.lang[lang=en]{font-family:var(--sans)}
.menu-btn{display:none;align-items:center;gap:10px;background:none;border:0;padding:10px 0;font-weight:600;font-size:15px;cursor:pointer}
.menu-btn i{display:block;width:24px;height:10px;border-block:2px solid currentColor}

/* Mobile menu G-02 */
dialog.menu{margin:0;padding:0 24px 32px;border:0;width:100%;max-width:100%;height:100%;max-height:100%;background:var(--midnight);color:var(--paper);overflow-y:auto}
dialog.menu[open]{display:flex;flex-direction:column}
dialog.menu::backdrop{background:var(--midnight)}
.menu-top{display:flex;align-items:center;justify-content:space-between;height:68px;flex:none}
.menu-top svg{height:30px;width:auto}
.menu nav{display:flex;flex-direction:column;margin-top:40px}
.menu nav a{font-size:40px;font-weight:700;line-height:1.3;text-decoration:none;padding-block:4px}
html[dir=rtl] .menu nav a{font-size:42px;font-weight:600;line-height:1.5}
.menu-foot{margin-top:auto;padding-top:48px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.menu-foot .btn{width:100%}

/* ---------- H-01 Hero ---------- */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding-block:clamp(120px,15vh,168px) 56px;overflow:hidden}
.hero .wrap{width:100%}
.hero-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;align-items:end}
.hero h1{font-size:var(--fs-hero);line-height:var(--lh-head);max-width:9.4em}
html[dir=rtl] .hero h1{line-height:1.3}
.hero .lead{margin-top:28px;max-width:30em}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:44px}
.hero-mark{justify-self:end;color:var(--paper)}
.hero-mark svg{height:min(50vh,470px);width:auto}
.hero-svc{margin-top:clamp(48px,7vh,72px);padding-top:24px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;gap:10px 32px;font:600 12px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
html[dir=rtl] .hero-svc{font-family:var(--arabic);font-weight:500;font-size:14px;letter-spacing:0;text-transform:none}
@media (min-width:1440px){.hero-svc{justify-content:space-between;column-gap:16px}}

/* Load-in for the hero (once, short; off with reduced motion) */
@media (prefers-reduced-motion:no-preference){
  .js .hero-mark{animation:rise .9s cubic-bezier(.2,.7,.2,1) .15s both}
  .js .hero-svc{animation:fade .9s ease .35s both}
}
@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* ---------- Section head ---------- */
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:56px}
.shead h2{max-width:15em}
.shead .lead{margin-top:16px}

/* ---------- H-02 Proof numbers ---------- */
.proof{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:40px}
.proof .rule{margin-bottom:28px}
.proof-n{font:800 var(--fs-num)/1 var(--sans);letter-spacing:-.02em;white-space:nowrap}
.proof-t{margin-top:16px;font-size:16px;line-height:1.55;max-width:19em}
html[dir=rtl] .proof-t{font-size:17px;line-height:1.7}
.proof-s{margin-top:14px;font:600 11px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
html[dir=rtl] .proof-s{font-family:var(--arabic);font-weight:500;font-size:13px;letter-spacing:0;text-transform:none}
.count{display:inline-grid}
.count>*{grid-area:1/1}
.count .ghost{visibility:hidden}
html[dir=rtl] .count{justify-items:end}

/* ---------- H-03 Case cards ---------- */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.card{--cardbg:var(--midnight);background:var(--cardbg);color:var(--paper);padding:44px;min-height:460px;display:flex;flex-direction:column;text-decoration:none;transition:background-color .25s;cursor:pointer}
.card:hover{--cardbg:var(--midnight-2)}
.card .label{color:var(--mist);margin-bottom:20px}
.card h3{font-size:clamp(26px,2.4vw,36px);line-height:1.15;max-width:12em}
html[dir=rtl] .card h3{font-size:clamp(28px,2.6vw,39px);line-height:1.45}
.card-mark{margin-top:auto;padding-top:56px}
.card-cap{margin-top:16px;color:var(--mist);font-size:16px;max-width:22em}
.card-more{margin-top:28px;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;border-bottom:2px solid var(--paper);padding-bottom:4px}
html[dir=rtl] .card-more{font-size:16px}
/* An odd card out spans the row, so three published cases still read as a designed grid */
.card--wide{grid-column:1/-1;min-height:360px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr auto;column-gap:48px}
.card--wide .card-head{grid-column:1;grid-row:1}
.card--wide .card-mark{grid-column:2;grid-row:1/4;align-self:center;justify-self:center;padding-top:0;margin-top:0}
.card--wide .card-more{grid-column:1;grid-row:3;justify-self:start}

/* The client's hand-drawn mark around the hero number (case studies only) */
.marked{position:relative;display:inline-block;font:800 clamp(48px,5.4vw,84px)/1 var(--sans);letter-spacing:-.02em;padding-inline:.08em;white-space:nowrap}
.marked.xl{font-size:var(--fs-num-xl)}
.mk{position:absolute;overflow:visible;pointer-events:none}
.mk-circle{inset:-22% -12% -26% -10%;width:122%;height:148%}
.mk-flight{left:calc(100% + 6px);bottom:22%;height:80%;width:72%}
html[dir=rtl] .mk-flight{left:auto;right:calc(100% + 6px);transform:scaleX(-1)}
.mk-brackets{inset:-18% -7%;width:114%;height:136%}
.mk-lines{inset:0;width:100%;height:100%;z-index:0}
html[dir=rtl] .mk-lines{transform:scaleX(-1)}
.lineline{position:relative;display:inline-block;font:700 clamp(22px,2.2vw,32px)/1.3 var(--sans);padding:.6em .5em .6em 1.2em}
html[dir=rtl] .lineline{font-family:var(--arabic);font-weight:600;line-height:1.6;padding:.6em 1.2em .6em .5em}
.lineline .tx{position:relative;z-index:1;background:var(--cardbg,var(--midnight));padding-inline:.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-color .25s}
.lineline.xl{font-size:clamp(26px,2.8vw,40px)}

/* ---------- H-04 Services ---------- */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.svc-tile{display:block;width:100%;height:100%;text-align:start;background:none;border:0;border-bottom:1px solid var(--line);padding:36px 32px 44px 0;cursor:pointer;text-decoration:none;transition:background-color .2s,padding .2s}
html[dir=rtl] .svc-tile{padding:36px 0 44px 32px}
.svc-tile:hover{background:var(--mist);padding-inline-start:20px}
.svc-n{font:600 13px/1 var(--sans);letter-spacing:.12em;color:var(--signal)}
.svc-tile h3{margin-top:20px;font-size:24px;line-height:1.25}
html[dir=rtl] .svc-tile h3{font-size:26px;line-height:1.5}
.svc-tile p{margin-top:12px;color:var(--slate);font-size:16px;max-width:20em}
html[dir=rtl] .svc-tile p{font-size:17px}

/* ---------- H-05 How we work ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.steps .rule{margin-bottom:24px}
.step-n{font:600 13px/1 var(--sans);letter-spacing:.12em;color:var(--slate)}
.steps h3{margin-top:14px;font-size:24px;line-height:1.25}
html[dir=rtl] .steps h3{font-size:26px;line-height:1.5}
.steps p{margin-top:12px;font-size:16px}
html[dir=rtl] .steps p{font-size:17px}

/* ---------- H-06 Client logos picture ---------- */
.clients-pic{border-block:1px solid var(--line);padding-block:40px}
.clients-pic img{width:100%;height:auto}

/* ---------- G-03 Closing CTA + G-04 Footer ---------- */
.cta{padding-block:var(--sec) 96px}
.cta h2{font-size:clamp(38px,5.6vw,84px);line-height:1.08;max-width:14em}
html[dir=rtl] .cta h2{font-size:clamp(40px,6vw,90px);line-height:1.35}
.cta .l2{display:block;color:var(--zest)}
.cta-row{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px}
.cta-mail{display:inline-flex;align-items:center;gap:14px;font:600 clamp(20px,2.2vw,30px)/1.3 var(--sans);text-decoration:none;border-bottom:2px solid var(--mist);padding-bottom:6px;color:var(--paper);overflow-wrap:anywhere}
.copy{background:none;border:0;padding:0;cursor:pointer;font-weight:600;font-size:15px;color:var(--mist);text-decoration:underline;text-underline-offset:4px}
html[dir=rtl] .copy{font-size:16px}
.copy:hover{color:var(--paper)}

.ftr{padding-block:56px 40px}
.ftr-top{border-top:1px solid var(--line-dark);padding-top:56px;display:grid;grid-template-columns:minmax(0,5fr) repeat(var(--fcols,2),minmax(0,2fr));gap:40px}
.ftr-z{height:44px;width:auto}
.ftr-line{margin-top:20px;color:var(--mist);font-size:15px;max-width:18em}
.ftr h4{margin:0 0 16px;font:600 12px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
html[dir=rtl] .ftr h4{font-family:var(--arabic);font-weight:500;font-size:14px;letter-spacing:0;text-transform:none}
.ftr ul{display:flex;flex-direction:column;gap:10px;font-size:15px}
.ftr a{text-decoration:none}
.ftr a:hover{text-decoration:underline;text-underline-offset:4px}
.ftr-bot{margin-top:56px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;gap:24px;color:var(--mist);font-size:13px}
html[dir=rtl] .ftr-bot{font-size:14px}
.ftr-bot .lang{padding:0;font-size:14px}
.ftr-bot .lang[lang=ar]{font-size:15px}

/* ---------- Case and service sheets (full-screen, in place of separate pages) ---------- */
dialog.sheet{margin:0;padding:0;border:0;width:100%;max-width:100%;height:100%;max-height:100%;background:var(--paper);color:var(--midnight);overflow-y:auto;overscroll-behavior:contain}
dialog.sheet::backdrop{background:rgba(3,4,71,.72)}
@media (prefers-reduced-motion:no-preference){dialog.sheet[open]>*{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}}
.sheet-bar{position:sticky;top:0;z-index:5;height:var(--hdr);display:flex;align-items:center}
.sheet-bar .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.sheet-bar svg{height:32px;width:auto}
.sheet-bar.g-paper{box-shadow:0 1px 0 var(--line)}
.sheet-bar.g-mid{box-shadow:0 1px 0 var(--line-dark)}
.sheet-close,.menu-close{display:inline-flex;align-items:center;background:none;border:0;border-bottom:2px solid currentColor;padding:6px 0 4px;font-weight:600;font-size:15px;cursor:pointer}
html[dir=rtl] :is(.sheet-close,.menu-close){font-size:16px}

/* C-01 case hero */
.chero{padding-block:72px 104px}
.chero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end}
.chero h2{font-size:var(--fs-h1);line-height:var(--lh-head);max-width:11em}
.chero .client{margin-top:28px;color:var(--mist);font-size:var(--fs-lead);max-width:30em}
.chero-num{justify-self:start}
.chero-num .htext{margin-top:22px;color:var(--mist);font-size:18px;max-width:20em}
/* C-02 overview */
.cbody{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}
.meta{position:sticky;top:calc(var(--hdr) + 32px);align-self:start;display:flex;flex-direction:column;gap:22px}
.meta .label{margin:0 0 6px}
.meta .v{font-weight:600;font-size:16px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:var(--mist);border:0;border-radius:4px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;color:var(--midnight);transition:background-color .2s,color .2s}
html[dir=rtl] .tag{font-size:14px}
.tag:hover{background:var(--midnight);color:var(--paper)}
.blk+.blk{margin-top:56px}
.blk p:not(.label){font-size:20px;line-height:1.6;max-width:36em}
html[dir=rtl] .blk p:not(.label){font-size:21px;line-height:1.8}
/* C-03 results */
.res h3{font-size:var(--fs-h2);line-height:var(--lh-h2);max-width:14em}
.res-grid{margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.res-grid .rule{margin-bottom:24px}
.res-n{font:800 clamp(34px,3.6vw,58px)/1.05 var(--sans);letter-spacing:-.02em}
.res-n.z{color:var(--zest)}
.res-t{margin-top:14px;color:var(--mist);font-size:16px}
.res-note{margin-top:56px;color:var(--mist);font-size:14px;max-width:48em}
.res-note+.res-note{margin-top:8px}
/* C-04 lesson */
.lesson q{display:block;font:700 clamp(28px,3.4vw,52px)/1.2 var(--sans);max-width:20em;quotes:none}
html[dir=rtl] .lesson q{font-family:var(--arabic);font-weight:600;line-height:1.55}
/* C-06 next case */
.next{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;width:100%;text-align:start;background:none;border:0;border-top:1px solid var(--line);padding:72px 0;cursor:pointer;color:inherit}
.next h3{font-size:var(--fs-h2);line-height:var(--lh-h2);max-width:14em}
.next .label{margin-bottom:16px}
.next .tlink{flex:none}
/* Service sheet (S-02) */
.srow{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;padding-block:72px var(--sec)}
.srow .svc-n{display:block}
.srow h2{margin-top:18px;font-size:clamp(26px,2.4vw,36px);line-height:1.2}
html[dir=rtl] .srow h2{line-height:1.5}
.srow .hd{font-size:var(--fs-h2);line-height:var(--lh-h2);font-weight:var(--w-head);max-width:15em}
.srow .bd{margin-top:24px;font-size:19px;line-height:1.6;max-width:38em}
html[dir=rtl] .srow .bd{font-size:20px;line-height:1.8}
.inc{margin-top:44px}
.inc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;border-top:1px solid var(--line)}
.inc li{display:flex;gap:14px;align-items:baseline;padding-block:14px;border-bottom:1px solid var(--line);font-size:16px}
html[dir=rtl] .inc li{font-size:17px}
.inc li::before{content:"";flex:0 0 14px;height:6px;border-block:2px solid var(--signal);transform:translateY(-2px)}
.rel{margin-top:36px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.rel .label{margin:0}

/* ---------- Reveal on scroll (6.5) ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;transition-delay:calc(var(--i,0) * 70ms)}
  .js .rv.in{opacity:1;transform:none}
}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  :root{--pad:48px}
  .nav,.hdr-end .btn{display:none}
  .menu-btn{display:inline-flex}
  .hdr-end{margin-inline-start:auto}
  .proof{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:56px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:56px}
  .svc{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-top>div:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  :root{--pad:24px;--sec:88px;--hdr:68px;--fs-body:16px}
  html[dir=rtl]{--fs-body:17px}
  .hdr-logo svg{height:30px}
  .hdr-end{gap:20px}
  .hero{min-height:auto;padding-block:132px 48px}
  .hero-grid{grid-template-columns:1fr}
  .hero-mark{display:none}
  .hero-actions .btn{flex:1 1 100%}
  .hero-svc{margin-top:48px;gap:8px 24px}
  .shead{flex-direction:column;align-items:flex-start;margin-bottom:40px}
  .proof{grid-template-columns:1fr;row-gap:44px}
  .cards{grid-template-columns:1fr}
  .card{min-height:400px;padding:32px 28px}
  .card--wide{display:flex;min-height:400px}
  .card--wide .card-mark{align-self:flex-start;margin-top:auto;padding-top:56px}
  .card--wide .card-more{margin-top:28px}
  .svc{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;row-gap:44px}
  .clients-pic{padding-block:24px}
  .cta{padding-block:var(--sec) 72px}
  .ftr-bot{flex-direction:column}
  .chero{padding-block:48px 72px}
  .chero-grid,.cbody,.srow{grid-template-columns:1fr;gap:40px}
  .meta{position:static}
  .res-grid{grid-template-columns:1fr;row-gap:44px}
  .inc ul{grid-template-columns:1fr}
  .next{flex-direction:column;align-items:flex-start}
  .srow{padding-top:48px}
}
