/* Lahzeh (FaNum) — official corporate typeface */
@font-face{font-family:"Lahzeh";src:url("../fonts/Lahzeh-FaNum-Light.woff2") format("woff2"),url("../fonts/Lahzeh-FaNum-Light.ttf") format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:"Lahzeh";src:url("../fonts/Lahzeh-FaNum-Regular.woff2") format("woff2"),url("../fonts/Lahzeh-FaNum-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Lahzeh";src:url("../fonts/Lahzeh-FaNum-Medium.woff2") format("woff2"),url("../fonts/Lahzeh-FaNum-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Lahzeh";src:url("../fonts/Lahzeh-FaNum-SemiBold.woff2") format("woff2"),url("../fonts/Lahzeh-FaNum-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Lahzeh";src:url("../fonts/Lahzeh-FaNum-Bold.woff2") format("woff2"),url("../fonts/Lahzeh-FaNum-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"Lahzeh";src:url("../fonts/Lahzeh-FaNum-ExtraBold.woff2") format("woff2"),url("../fonts/Lahzeh-FaNum-ExtraBold.ttf") format("truetype");font-weight:800;font-display:swap}
@font-face{font-family:"Lahzeh";src:url("../fonts/Lahzeh-FaNum-Black.woff2") format("woff2"),url("../fonts/Lahzeh-FaNum-Black.ttf") format("truetype");font-weight:900;font-display:swap}

/* IRANSansX (FaNum) — local files, only downloaded when chosen in the admin */
@font-face{font-family:"IRANSansX";src:url("../fonts/IRANSansXFaNum-Light.ttf") format("truetype");font-weight:300;font-display:swap}
@font-face{font-family:"IRANSansX";src:url("../fonts/IRANSansXFaNum-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IRANSansX";src:url("../fonts/IRANSansXFaNum-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"IRANSansX";src:url("../fonts/IRANSansXFaNum-DemiBold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"IRANSansX";src:url("../fonts/IRANSansXFaNum-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:"IRANSansX";src:url("../fonts/IRANSansXFaNum-ExtraBold.ttf") format("truetype");font-weight:800;font-display:swap}
/* =========================================================
   Design tokens
   ========================================================= */
:root{
  /* colors */
  --brand:#00b0f0;
  --brand-dark:#0096cc;
  --brand-accent:#1bb5ec;
  --navy:#16213e;
  --navy-2:#1f2c50;
  --muted:#5d6b90;
  --line:#e4e8f0;
  --surface:#f5f7fb;
  --white:#fff;

  /* type */
  --font:"Lahzeh", "Vazirmatn", "IRANSansX", Tahoma, sans-serif;
  --font-head:var(--font);
  /* text size multipliers — set from the admin (تایپوگرافی) */
  --ts:0.9; --ts-head:1; --ts-body:1;
  --fs-h1:clamp(38px, 5.6vw, 76px);
  --fs-h2:clamp(30px, 3.6vw, 48px);
  --fs-h3:clamp(22px, 2.2vw, 30px);
  --fs-h4:clamp(18px, 1.6vw, 22px);
  --fs-lead:clamp(17px, 1.4vw, 20px);
  --fs-body:16px;
  --fs-small:14px;
  --fs-eyebrow:13px;

  /* spacing scale (8px base) */
  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:40px; --s-6:48px; --s-8:64px; --s-12:96px;
  --section:var(--s-12);
  --gutter:24px;
  --container:1240px;
  --radius:6px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* =========================================================
   Base
   ========================================================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{font-family:var(--font);font-size:calc(var(--fs-body) * var(--ts,1) * var(--ts-body,1));font-weight:400;line-height:1.9;color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"calt" 1,"kern" 1}
a{color:var(--brand);text-decoration:none;transition:color .2s,background-color .2s,border-color .2s}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-weight:800;line-height:1.45;letter-spacing:0;text-wrap:balance;word-break:normal;overflow-wrap:break-word}
h1,h2,h3,h4,.h1-like,.ps-title,.tile-title,.stat b{font-family:var(--font-head)}
.h1-like,.ps-title,.tile-title{text-wrap:balance}
p{text-wrap:pretty;word-break:normal;overflow-wrap:break-word}
p + p{margin-top:var(--s-2)}
.latin{direction:ltr;unicode-bidi:isolate}
.bg-img{background-color:var(--navy);background-size:cover;background-position:center;background-repeat:no-repeat}

/* layout */
.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section) 0}
.bg-brand{background:var(--brand);color:#fff}

/* shared text components */
.eyebrow{display:inline-block;font-size:calc(var(--fs-eyebrow) * var(--ts,1) * var(--ts-body,1));font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);direction:ltr;margin-bottom:var(--s-2)}
.bg-brand .eyebrow{color:var(--navy)}
.h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));line-height:1.45;text-wrap:balance}
.lead{font-size:calc(var(--fs-lead) * var(--ts,1) * var(--ts-body,1));line-height:1.95;font-weight:300;text-wrap:pretty}

/* =========================================================
   Buttons — one system, three variants
   ========================================================= */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 28px;border:2px solid transparent;border-radius:var(--radius);font-family:inherit;font-size:calc(16px * var(--ts,1) * var(--ts-body,1));font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn .arrow{display:inline-block;transition:transform .25s var(--ease)}
.btn:hover .arrow{transform:translateX(-4px)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.9);color:#fff}
.btn-outline:hover{background:#fff;border-color:#fff;color:var(--navy)}
.btn-light{background:#fff;border-color:#fff;color:var(--navy)}
.btn-light:hover{background:transparent;color:#fff}
.btn-group{display:flex;flex-wrap:wrap;gap:var(--s-2)}

/* inline "read more" link */
.more{display:inline-flex;align-items:center;gap:8px;font-size:calc(15px * var(--ts,1) * var(--ts-body,1));font-weight:600;color:#fff}
.more .arrow{transition:transform .25s var(--ease)}

/* =========================================================
   Header
   ========================================================= */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background-color .3s,box-shadow .3s,backdrop-filter .3s}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding-top:var(--s-3);padding-bottom:var(--s-3);transition:padding .3s}
.site-header.scrolled{background:rgba(22,33,62,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.15)}
.site-header.scrolled .container{padding-top:12px;padding-bottom:12px}
.site-header.scrolled .site-logo{height:52px}
.site-logo{display:block;height:72px;flex-shrink:0;transition:height .3s}
.site-logo img{height:100%;width:auto}
.main-nav ul{list-style:none;margin:0;padding:0}
.main-nav > ul{display:flex;align-items:center;gap:var(--s-1)}
.main-nav li{position:relative}
.main-nav > ul > li > a{display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:var(--radius);color:#fff;font-size:calc(15px * var(--ts,1) * var(--ts-body,1));font-weight:500;white-space:nowrap}
.main-nav > ul > li > a:hover{background:rgba(255,255,255,.12)}
.main-nav .chev{width:12px;height:12px;transition:transform .2s}
.main-nav li:hover > a .chev{transform:rotate(180deg)}
.main-nav .lang a{border:1px solid rgba(255,255,255,.5);height:36px;padding:0 12px;font-size:calc(13px * var(--ts,1) * var(--ts-body,1));font-weight:700;margin-right:var(--s-1)}
.sub-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:250px;padding:var(--s-1);background:#fff;border-radius:10px;box-shadow:0 16px 40px rgba(22,33,62,.18);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s;z-index:99}
.sub-menu::before{content:"";position:absolute;inset:-10px 0 auto 0;height:10px}
.main-nav li:hover > .sub-menu,.main-nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.sub-menu a{display:flex;align-items:center;gap:var(--s-1);padding:10px 14px;border-radius:var(--radius);color:var(--navy);font-size:calc(14px * var(--ts,1) * var(--ts-body,1));font-weight:500;line-height:1.6}
.sub-menu a .latin{font-size:calc(11px * var(--ts,1) * var(--ts-body,1));font-weight:700;color:var(--brand);letter-spacing:.05em;min-width:58px}
.sub-menu a:hover{background:var(--surface);color:var(--brand)}
.menu-toggle{display:none;align-items:center;gap:var(--s-1);height:44px;padding:0 var(--s-2);background:rgba(255,255,255,.12);border:0;border-radius:var(--radius);color:#fff;font:600 15px var(--font);cursor:pointer}

/* =========================================================
   Hero
   ========================================================= */
/* Two layouts, chosen in the admin (اسلایدشو → سبک نمایش):
   .hero--split   : text on a navy panel, photo shown clean beside it (default)
   .hero--overlay : full-screen photo with the text on top                     */
.hero{--panel:44%;position:relative;display:grid;min-height:100vh;min-height:100svh;color:#fff;background:var(--navy);overflow:hidden}
/* all slides share one grid cell, so the hero grows to fit the longest text instead of cutting it */
.hero-slide{grid-area:1/1;position:relative;min-height:inherit;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-media{position:absolute;inset:0;overflow:hidden;background:var(--navy-2)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 8s linear}
.hero-slide.is-active .hero-bg{transform:scale(1)}
.hero-panel{position:relative;z-index:2;min-height:inherit;display:flex;align-items:center}
.hero-content{width:100%}
.hero-content > *{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.hero-slide.is-active .hero-content > *{opacity:1;transform:none}
.hero-slide.is-active .hero-content > :nth-child(2){transition-delay:.12s}
.hero-slide.is-active .hero-content > :nth-child(3){transition-delay:.24s}
.hero-slide.is-active .hero-content > :nth-child(4){transition-delay:.36s}
.hero-slide.is-active .hero-content > :nth-child(5){transition-delay:.48s}
.hero-count{display:flex;align-items:center;gap:12px;margin-bottom:var(--s-3);font-size:calc(14px * var(--ts,1) * var(--ts-body,1));font-weight:700;color:rgba(255,255,255,.55)}
.hero-count b{color:var(--brand);font-size:calc(15px * var(--ts,1) * var(--ts-body,1))}
.hero-count::after{content:"";width:48px;height:1px;background:rgba(255,255,255,.3)}
.hero .eyebrow{display:block;color:var(--brand-accent);font-weight:600;margin-bottom:var(--s-2);direction:rtl;letter-spacing:0;font-size:calc(15px * var(--ts,1) * var(--ts-body,1));text-transform:none}
.hero h1,.hero .h1-like{font-size:calc(clamp(26px,3.1vw,46px) * var(--ts,1) * var(--ts-head,1));font-weight:800;line-height:1.45;color:#fff;margin:0;text-wrap:balance}
.hero-text{margin-top:var(--s-3);font-size:calc(clamp(15px,1.15vw,18px) * var(--ts,1) * var(--ts-body,1));line-height:2;font-weight:300;color:rgba(255,255,255,.82);text-wrap:pretty}
.hero-text p + p{margin-top:var(--s-2)}
.hero .btn{margin-top:var(--s-4)}

/* ---- split layout ---- */
.hero--split .hero-media{inset:0 auto 0 0;width:calc(100% - var(--panel))}           /* photo on the left (RTL) */
.hero--split .hero-media::before{content:"";position:absolute;inset:0 0 auto 0;height:170px;z-index:1;background:linear-gradient(180deg,rgba(13,20,40,.55),rgba(13,20,40,0))} /* keeps the menu readable */
.hero--split .hero-panel{width:var(--panel);margin-right:0;background:var(--navy);background-image:radial-gradient(circle at 85% 15%,rgba(0,176,240,.18),transparent 55%)}
.hero--split .hero-content{padding:150px clamp(28px,4vw,72px) 150px clamp(28px,3.5vw,64px)}
.hero--split .hero-panel::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand)}  /* thin accent where text meets photo */

/* ---- overlay layout ---- */
.hero--overlay .hero-slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(270deg,rgba(13,20,40,.92) 0%,rgba(13,20,40,.75) 40%,rgba(13,20,40,.15) 85%)}
.hero--overlay .hero-content{max-width:calc(var(--container) + var(--gutter) * 2);margin:0 auto;padding:150px var(--gutter) 150px}
.hero--overlay .hero-content > *{max-width:760px}

/* ---- controls ---- */
.hero-controls{position:absolute;z-index:5;bottom:var(--s-5);right:0;width:var(--panel);display:flex;align-items:center;gap:var(--s-3);padding:0 clamp(28px,4vw,72px)}
.hero--overlay .hero-controls{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);right:50%;transform:translateX(50%);padding:0 var(--gutter)}
.hero-dots{display:flex;gap:10px}
.hero-dot{position:relative;width:48px;height:4px;padding:0;border:0;border-radius:4px;background:rgba(255,255,255,.25);cursor:pointer;overflow:hidden}
.hero-dot::before{content:"";position:absolute;inset:-10px 0}
.hero-dot span{position:absolute;inset:0;width:0;background:var(--brand);border-radius:4px}
.hero-dot.is-active span{animation:heroProgress var(--hero-interval,6s) linear forwards}
.hero.is-paused .hero-dot.is-active span{animation-play-state:paused}
.hero.no-autoplay .hero-dot.is-active span{animation:none;width:100%}
@keyframes heroProgress{from{width:0}to{width:100%}}
.hero-arrows{display:flex;gap:8px;margin-right:auto}
.hero-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .25s,border-color .25s,color .25s}
.hero-arrow:hover{background:#fff;border-color:#fff;color:var(--navy)}
.hero.single .hero-controls{display:none}
@media (prefers-reduced-motion:reduce){
  .hero-bg,.hero-slide,.hero-content > *{transition:none!important}
}

/* ---- products slideshow (services page) — reuses the hero slider ---- */
.hero.product-slider{--panel:46%;display:block;min-height:0;border-radius:16px;box-shadow:0 30px 70px rgba(22,33,62,.18)}
.product-slider .ps-stage{position:relative;display:grid;min-height:560px}
.product-slider .hero-media::before{display:none}
.product-slider .hero-content{padding:56px clamp(24px,3.5vw,56px) 104px}
.product-slider .hero-controls{bottom:32px;padding:0 clamp(24px,3.5vw,56px)}
.product-slider .hero-arrows{margin-right:0}
.ps-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--navy-2);border-bottom:1px solid rgba(255,255,255,.08)}
.ps-tabs .hero-dot{width:auto;height:auto;border-radius:0;background:transparent;padding:18px 24px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font:inherit;text-align:right;color:rgba(255,255,255,.55);transition:background-color .25s,color .25s}
.ps-tabs .hero-dot + .hero-dot{border-right:1px solid rgba(255,255,255,.08)}
.ps-tabs .hero-dot:hover{color:#fff;background:rgba(255,255,255,.04)}
.ps-tabs .hero-dot.is-active{color:#fff;background:rgba(255,255,255,.07)}
.ps-tabs .hero-dot b{font-size:calc(13px * var(--ts,1) * var(--ts-body,1));font-weight:800;letter-spacing:.06em;color:var(--brand);direction:ltr}
.ps-tabs .hero-dot em{font-style:normal;font-weight:600;font-size:calc(15px * var(--ts,1) * var(--ts-body,1));line-height:1.6}
.ps-tabs .hero-dot span{inset:auto 0 0 auto;height:3px;border-radius:0}
.ps-tag{display:inline-block;margin-bottom:var(--s-2);font-size:calc(15px * var(--ts,1) * var(--ts-head,1));font-weight:800;letter-spacing:.1em;color:var(--brand-accent);direction:ltr}
.ps-title{font-size:calc(clamp(26px,2.6vw,40px) * var(--ts,1) * var(--ts-head,1));line-height:1.4;color:#fff}
.ps-points{margin-top:var(--s-3)}
.ps-points > b{display:block;margin-bottom:var(--s-1);font-size:calc(13px * var(--ts,1) * var(--ts-body,1));font-weight:600;color:rgba(255,255,255,.55)}
.ps-points .checks{gap:8px}
.ps-points .checks li{color:rgba(255,255,255,.9);font-size:calc(15px * var(--ts,1) * var(--ts-body,1))}
.product-slider .btn-group{margin-top:var(--s-4)}
.product-slider .btn{margin-top:0}

/* page loading state (content comes from content/content.json) */
body.is-loading main,body.is-loading footer{visibility:hidden}
.load-error{max-width:640px;margin:160px auto;padding:var(--s-4);text-align:center;border:1px solid var(--line);border-radius:12px;color:var(--navy)}

/* =========================================================
   Intro (What we do)
   ========================================================= */
.intro{padding-bottom:calc(var(--section) + 140px)}
.intro .container{display:grid;grid-template-columns:5fr 7fr;gap:var(--s-8);align-items:start}
.intro h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));color:#fff}
.intro .lead{color:#fff;max-width:620px}
.intro .btn{margin-top:var(--s-4)}

/* =========================================================
   Services grid (overlaps the cyan band above)
   ========================================================= */
.services{padding-top:0}
.services .container{margin-top:-140px;position:relative}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.services-left{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.25fr 1fr;gap:var(--s-2)}
.card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--s-4);color:#fff;overflow:hidden;min-height:400px;border-radius:12px;box-shadow:0 18px 40px rgba(22,33,62,.12)}
.card p{max-width:440px}
.card::before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:center;transition:transform .6s var(--ease);z-index:0}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,33,62,.05) 20%,rgba(22,33,62,.85) 100%);transition:background-color .3s;z-index:0}
.card:hover::before{transform:scale(1.05)}
.card:hover::after{background-color:rgba(22,33,62,.2)}
.card > *{position:relative;z-index:1}
.card .card-link{position:absolute;inset:0;z-index:3}
.card .eyebrow,.tile .eyebrow{align-self:flex-start;background:var(--brand);color:#fff;font-size:calc(11px * var(--ts,1) * var(--ts-body,1));letter-spacing:.14em;line-height:1;padding:6px 10px;border-radius:4px;margin-bottom:var(--s-2)}
.card h3{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));color:#fff;margin-bottom:var(--s-1);line-height:1.45;text-wrap:balance}
.card p{font-size:calc(15px * var(--ts,1) * var(--ts-body,1));line-height:1.85;color:rgba(255,255,255,.88);text-wrap:pretty}
.card .more{margin-top:var(--s-2)}
.card:hover .more .arrow{transform:translateX(-4px)}
.card-wide{grid-column:1 / -1;min-height:340px}
.card-tall{min-height:100%;padding:var(--s-6)}
.card-tall h3{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));margin-bottom:var(--s-2);line-height:1.45;text-wrap:balance}
.card-tall p{font-size:calc(var(--fs-lead) * var(--ts,1) * var(--ts-body,1));max-width:520px;text-wrap:pretty}

/* =========================================================
   Story (Who we are)
   ========================================================= */
.story .container{display:grid;grid-template-columns:7fr 5fr;gap:var(--s-8);align-items:stretch}
.story h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));color:var(--navy);margin-bottom:var(--s-3);line-height:1.55;text-wrap:balance}
.story h2 em{font-style:normal;color:var(--brand)}
.story .lead{color:var(--muted);max-width:660px;line-height:1.95;text-wrap:pretty}
.story .lead strong{color:var(--navy);font-weight:700}
.story .container.story--single{display:block;max-width:960px;margin:0 auto}
.story .container.story--single h2{max-width:100%;font-size:calc(clamp(22px, 2.5vw, 35px) * var(--ts,1) * var(--ts-head,1));line-height:1.75;font-weight:700;text-wrap:balance}
.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:var(--s-6);border-top:1px solid var(--line)}
.stat{padding:var(--s-3) var(--s-3) 0 0}
.stat + .stat{border-right:1px solid var(--line);padding-right:var(--s-3)}
.stat:first-child{padding-right:0}
.stat b{display:block;font-size:calc(clamp(36px,4vw,52px) * var(--ts,1) * var(--ts-head,1));font-weight:800;line-height:1.1;color:var(--brand)}
.stat span{display:block;margin-top:var(--s-1);font-size:calc(var(--fs-small) * var(--ts,1) * var(--ts-body,1));color:var(--muted)}
.cta-box{background:var(--navy);color:#fff;border-radius:12px;padding:var(--s-6);display:flex;flex-direction:column;justify-content:center}
.cta-box h3{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));color:#fff;margin-bottom:var(--s-2)}
.cta-box p{color:rgba(255,255,255,.78)}
.cta-box .btn-group{margin-top:var(--s-4)}

/* =========================================================
   Customer pains (What you face)
   ========================================================= */
.pains{background:var(--navy);color:#fff}
.pains .container{display:grid;grid-template-columns:5fr 7fr;gap:var(--s-8);align-items:center}
.pains-media{aspect-ratio:4/5;border-radius:14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.35);overflow:hidden}
.pains h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));color:#fff;margin-bottom:var(--s-2)}
.pains .lead{color:rgba(255,255,255,.75)}
.pain-list{list-style:none;margin:var(--s-5) 0 0;padding:0;display:grid;gap:var(--s-2)}
.pain-item{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;transition:border-color .25s,background-color .25s}
.pain-item:hover{border-color:var(--brand);background:rgba(0,176,240,.08)}
.pain-item .num{flex-shrink:0;font-size:calc(28px * var(--ts,1) * var(--ts-head,1));font-weight:800;line-height:1;color:var(--brand)}
.pain-item h4{font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));font-weight:600;line-height:1.6;color:#fff}
.pains-close{margin-top:var(--s-4);padding-right:var(--s-3);border-right:3px solid var(--brand);font-size:calc(var(--fs-lead) * var(--ts,1) * var(--ts-body,1));font-weight:500;line-height:1.9;color:#fff}

/* =========================================================
   Difference + video (How we help)
   ========================================================= */
.discover .container{display:grid;grid-template-columns:5fr 7fr;gap:var(--s-8);align-items:center}
.discover h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));color:#fff;margin-bottom:var(--s-3)}
.discover .lead{color:#fff;max-width:520px}
.pains .lead{max-width:560px}
.discover .btn{margin-top:var(--s-4)}
.video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--navy);box-shadow:0 24px 60px rgba(22,33,62,.25)}
.video .bg-img{position:absolute;inset:0;transition:transform .6s var(--ease)}
.video::after{content:"";position:absolute;inset:0;background:rgba(22,33,62,.25)}
.video:hover .bg-img{transform:scale(1.04)}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:76px;height:76px;border-radius:50%;background:#fff;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 10px rgba(255,255,255,.25);transition:box-shadow .3s,transform .3s}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
.video-play::before{content:"";border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--brand);margin-left:5px}
.video:hover .video-play{box-shadow:0 0 0 16px rgba(255,255,255,.2)}

/* =========================================================
   Solution tiles
   ========================================================= */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-5)}
.section-head h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1))}
.section-head .link{font-weight:600;font-size:calc(15px * var(--ts,1) * var(--ts-body,1));display:inline-flex;gap:8px;align-items:center}
.section-head .link:hover{color:var(--navy)}
.tiles-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:300px 230px;gap:var(--s-2)}
.tile{position:relative;overflow:hidden;display:block;color:#fff;border-radius:12px;isolation:isolate}
.tile-lg{grid-column:1 / 3;grid-row:1 / 3}
.tile-md{grid-column:3 / 5;grid-row:1}
.tile-image{position:absolute;inset:0;transition:transform .6s var(--ease)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(22,33,62,.85) 100%)}
.tile:hover .tile-image{transform:scale(1.08)}
.tile-text{position:absolute;inset:auto 0 0 0;z-index:1;padding:var(--s-3)}
.tile .eyebrow{margin-bottom:var(--s-1)}
.tile-title{font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));font-weight:700;line-height:1.5;color:#fff}
.tile-lg .tile-text{padding:var(--s-4)}
.tile-lg .tile-title{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1))}

/* =========================================================
   Industries carousel
   ========================================================= */
/* two white sections in a row share one gap (order is editable in the admin) */
.is-light + .is-light{padding-top:0}
.industries .eyebrow{display:block;text-align:center;margin-bottom:var(--s-3)}
.logo-carousel{position:relative;padding:0 var(--s-6)}
.logo-viewport{overflow:hidden;direction:ltr}
.logo-track{display:flex;transition:transform .6s var(--ease)}
.logo-item{flex:0 0 auto;padding:0 6px;direction:rtl}
.logo-box{height:88px;display:flex;align-items:center;justify-content:center;padding:0 var(--s-2);background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--navy);font-size:calc(15px * var(--ts,1) * var(--ts-body,1));font-weight:600;text-align:center;transition:border-color .25s,color .25s,background-color .25s}
.logo-box:hover{border-color:var(--brand);color:var(--brand);background:#fff}
.logo-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .25s}
.logo-nav:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.logo-prev{right:0}
.logo-next{left:0}

/* =========================================================
   Footer
   ========================================================= */
.footer-main{padding:var(--s-8) 0 var(--s-6)}
.footer-grid{display:grid;grid-template-columns:minmax(240px, 1.6fr) 1fr 1.2fr;gap:var(--s-6);align-items:start}
.footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.footer-logo img{width:150px;height:auto;display:block}
.footer-tagline{margin-top:16px;margin-bottom:0;display:inline-flex;align-items:center;gap:8px;padding:7px 16px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1;direction:ltr;align-self:flex-start;box-shadow:0 2px 10px rgba(0,0,0,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .25s ease;user-select:none}
.footer-tagline:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.45);transform:translateY(-1px)}
.footer-tagline::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 6px #fff;flex-shrink:0}
.footer-contact-item{margin:0 0 10px}
.footer-contact-link{display:inline-flex;align-items:center;gap:10px;color:rgba(255,255,255,.94);font-size:calc(15px * var(--ts,1) * var(--ts-body,1));line-height:1.6;transition:all .2s ease;text-decoration:none}
.footer-contact-link:hover{color:#fff;text-decoration:none}
html[dir="rtl"] .footer-contact-link:hover{transform:translateX(-3px)}
html[dir="ltr"] .footer-contact-link:hover{transform:translateX(3px)}
.footer-contact-icon{width:30px;height:30px;border-radius:7px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:background-color .2s ease}
.footer-contact-link:hover .footer-contact-icon{background:rgba(255,255,255,.3)}
.footer-phone{font-family:inherit;font-weight:600;letter-spacing:.04em;font-feature-settings:"tnum";direction:ltr;display:inline-block}
.channel-phone{font-family:inherit;font-weight:600;letter-spacing:.04em;font-feature-settings:"tnum";direction:ltr;display:inline-block}
.footer-main h4{font-size:calc(15px * var(--ts,1) * var(--ts-head,1));font-weight:700;color:#fff;margin-bottom:var(--s-2);text-wrap:balance}
.footer-main p,.footer-main a{color:rgba(255,255,255,.92);font-size:calc(15px * var(--ts,1) * var(--ts-body,1));line-height:2;text-wrap:pretty}
.footer-main a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-main ul{list-style:none;margin:0;padding:0}
.social{display:flex;gap:10px}
.footer-main .social a{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .25s,background-color .25s,color .25s}
.footer-main .social a:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.footer-bottom{border-top:1px solid var(--line)}
.footer-bottom .container{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding-top:var(--s-3);padding-bottom:var(--s-3)}
.footer-bottom p{font-size:calc(13px * var(--ts,1) * var(--ts-body,1));color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3)}
.footer-links a{font-size:calc(13px * var(--ts,1) * var(--ts-body,1));color:var(--muted)}
.footer-links a:hover{color:var(--brand)}

/* =========================================================
   Inner pages (about, solutions, details, insights, contact…)
   ========================================================= */
.main-nav > ul > li > a.is-current{background:rgba(255,255,255,.14)}
.page-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;color:#fff;background:var(--navy) center/cover no-repeat;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,33,62,.55) 0%,rgba(22,33,62,.55) 40%,rgba(22,33,62,.9) 100%)}
.page-hero.no-img{min-height:auto}
.page-hero.no-img::after{background:radial-gradient(circle at 15% 20%,rgba(0,176,240,.25),transparent 55%)}
.page-hero .container{position:relative;z-index:1;padding-top:200px;padding-bottom:var(--s-8)}
.page-hero.no-img .container{padding-top:180px;padding-bottom:var(--s-6)}
.page-hero .eyebrow{color:var(--brand-accent)}
.page-hero h1{font-size:calc(clamp(28px,4vw,52px) * var(--ts,1) * var(--ts-head,1));line-height:1.4;max-width:880px;text-wrap:balance}
.page-hero h1 .tag{display:inline-block;font-size:.55em;vertical-align:middle;color:var(--brand-accent);direction:ltr;margin-left:var(--s-2)}
.page-hero .lead{max-width:720px;margin-top:var(--s-3);color:rgba(255,255,255,.85);text-wrap:pretty}
.page-hero .meta{display:flex;flex-wrap:wrap;gap:var(--s-1) var(--s-3);margin-top:var(--s-3);font-size:calc(14px * var(--ts,1) * var(--ts-body,1));color:rgba(255,255,255,.75)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s-3);font-size:calc(13px * var(--ts,1) * var(--ts-body,1));color:rgba(255,255,255,.7)}
.crumbs a{color:rgba(255,255,255,.85)}
.crumbs a:hover{color:#fff}
.crumbs span[aria-hidden]{opacity:.5}

.surface{background:var(--surface)}
.sec-head{max-width:760px;margin-bottom:var(--s-6)}
.sec-head h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));line-height:1.45;text-wrap:balance}
.sec-head .lead{margin-top:var(--s-2);color:var(--muted);text-wrap:pretty}
.sec-head.center{margin-inline:auto;text-align:center}
.bg-brand .sec-head .lead,.pains .sec-head .lead{color:rgba(255,255,255,.8)}

/* split text block */
.split{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr);gap:var(--s-8);align-items:start}
.split h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));line-height:1.5;text-wrap:balance}
.split .lead{color:var(--muted);line-height:1.95;text-wrap:pretty}
.split .lead + .lead{margin-top:var(--s-2)}
.about-blocks{padding-top:var(--s-6)}
.about-block-item.split{grid-template-columns:minmax(0, 1.15fr) minmax(0, 1.35fr);gap:var(--s-8);align-items:start}
.about-block-item h2{font-size:calc(clamp(20px, 2.2vw, 32px) * var(--ts,1) * var(--ts-head,1));line-height:1.55;color:var(--navy);text-wrap:balance}
.about-block-item .lead{color:var(--muted);line-height:2;text-wrap:pretty}

/* generic cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--s-2)}
.info-card{position:relative;display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4);background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--navy);transition:border-color .25s,box-shadow .25s,transform .25s}
a.info-card:hover{border-color:var(--brand);box-shadow:0 18px 40px rgba(22,33,62,.08);transform:translateY(-3px)}
.info-card .num{font-size:calc(15px * var(--ts,1) * var(--ts-head,1));font-weight:800;color:var(--brand)}
.info-card h3{font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));line-height:1.5;text-wrap:balance}
.info-card p{color:var(--muted);font-size:calc(15px * var(--ts,1) * var(--ts-body,1));line-height:1.95;text-wrap:pretty}
.info-card .tag{direction:ltr;align-self:flex-start;font-size:calc(12px * var(--ts,1) * var(--ts-body,1));font-weight:700;letter-spacing:.12em;color:var(--brand)}
.info-card .more{color:var(--brand);margin-top:auto;padding-top:var(--s-2)}
a.info-card:hover .more .arrow{transform:translateX(-4px)}
.surface .info-card{border-color:transparent}

/* two highlighted statements (vision / mission) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.duo > div{padding:var(--s-5);border-radius:12px;background:var(--navy);color:#fff}
.duo > div:last-child{background:var(--brand)}
.duo h3{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));margin-bottom:var(--s-2)}
.duo p{font-size:calc(var(--fs-lead) * var(--ts,1) * var(--ts-body,1));line-height:1.9;color:rgba(255,255,255,.9)}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-2)}
.pillar{position:relative;padding:var(--s-5) var(--s-4);border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.pillar .num{display:block;font-size:calc(44px * var(--ts,1) * var(--ts-head,1));font-weight:800;line-height:1;color:var(--brand);margin-bottom:var(--s-3)}
.pillar h3{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));color:#fff}
.pillar p{margin-top:var(--s-1);color:rgba(255,255,255,.75)}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s-2)}
.chips span,.chips a{display:inline-flex;align-items:center;padding:6px 14px;border-radius:40px;background:var(--surface);border:1px solid var(--line);font-size:calc(13px * var(--ts,1) * var(--ts-body,1));font-weight:500;color:var(--navy)}
.chips a:hover{border-color:var(--brand);color:var(--brand)}

/* problem → help cards */
.pain-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-2)}
.pain-card{padding:var(--s-4);border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.pain-card h3{font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));color:#fff;margin-bottom:var(--s-1)}
.pain-card p{color:rgba(255,255,255,.75)}
.pain-card .help{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid rgba(255,255,255,.1)}
.pain-card .help b{display:block;color:var(--brand);font-size:calc(13px * var(--ts,1) * var(--ts-body,1));margin-bottom:4px}
.pain-card .help p{color:#fff}

/* checklists & numbered steps */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.checks li{position:relative;padding-right:34px;line-height:1.9}
.checks li::before{content:"";position:absolute;right:0;top:6px;width:22px;height:22px;border-radius:50%;background:rgba(0,176,240,.12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300b0f0' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat}
.checks.cross li::before{background:rgba(229,72,77,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e5484d' stroke-width='3'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/11px no-repeat}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2);counter-reset:step}
.steps li{counter-increment:step;display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3);background:#fff;border:1px solid var(--line);border-radius:12px;font-weight:500}
.steps li::before{content:counter(step,persian);flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:calc(18px * var(--ts,1) * var(--ts-body,1))}

/* detail page layout */
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2)}
.detail-box{padding:var(--s-5);border-radius:12px;background:#fff;border:1px solid var(--line)}
.detail-box h3{font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));line-height:1.5;text-wrap:balance;margin-bottom:var(--s-2)}
.detail-box h3::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--brand);margin-left:10px;vertical-align:middle}
.detail-box p{color:var(--muted);line-height:2;text-wrap:pretty}
.impact-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-2)}
.impact{padding:var(--s-4);border-radius:12px;background:var(--brand);color:#fff;font-weight:700;font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));line-height:1.6;text-wrap:balance}
.note{margin-top:var(--s-3);font-size:calc(13px * var(--ts,1) * var(--ts-body,1));color:var(--muted);text-wrap:pretty}
.bg-brand .note{color:rgba(255,255,255,.8)}

/* FAQ */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:var(--s-3);font-weight:700;line-height:1.5;text-wrap:balance}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--surface);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:calc(20px * var(--ts,1) * var(--ts-body,1));font-weight:400;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 var(--s-3) var(--s-3);color:var(--muted);line-height:2;text-wrap:pretty}

/* articles */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-3)}
.post-card{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);color:var(--navy);transition:box-shadow .25s,transform .25s}
.post-card:hover{box-shadow:0 18px 40px rgba(22,33,62,.1);transform:translateY(-3px)}
.post-card .thumb{aspect-ratio:16/10;background:var(--navy) center/cover;transition:transform .6s var(--ease)}
.post-card .thumb-wrap{overflow:hidden}
.post-card:hover .thumb{transform:scale(1.05)}
.post-card .body{padding:var(--s-3) var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:var(--s-1);flex:1}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:calc(13px * var(--ts,1) * var(--ts-body,1));color:var(--muted)}
.post-meta .type{color:var(--brand);font-weight:700}
.post-card h3{font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));line-height:1.5;text-wrap:balance}
.post-card p{color:var(--muted);font-size:calc(15px * var(--ts,1) * var(--ts-body,1));line-height:1.9;text-wrap:pretty}
.post-card .more{color:var(--brand);margin-top:auto;padding-top:var(--s-2)}
.post-card.featured{grid-column:1/-1;display:grid;grid-template-columns:7fr 5fr}
.post-card.featured .thumb{aspect-ratio:auto;height:100%;min-height:340px}
.post-card.featured .body{padding:var(--s-6) var(--s-5);justify-content:center}
.post-card.featured h3{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));line-height:1.45;text-wrap:balance}

/* long-form text */
.prose{max-width:760px;margin:0 auto;font-size:calc(18px * var(--ts,1) * var(--ts-body,1));line-height:2.15;color:#2a3553}
.prose p{margin:0 0 1.4em;text-wrap:pretty}
.prose h2{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));margin:1.6em 0 .6em;color:var(--navy);line-height:1.45;text-wrap:balance}
.prose h3{font-size:calc(var(--fs-h4) * var(--ts,1) * var(--ts-head,1));margin:1.4em 0 .5em;color:var(--navy);line-height:1.5;text-wrap:balance}
.prose ul{margin:0 0 1.4em;padding-right:1.2em}
.prose blockquote{margin:1.6em 0;padding:var(--s-2) var(--s-3);border-right:4px solid var(--brand);background:var(--surface);border-radius:8px;font-weight:500;text-wrap:pretty}
.prose > :first-child{margin-top:0}
.article-cover{max-width:1000px;margin:0 auto var(--s-6);aspect-ratio:16/8;border-radius:16px;background:var(--navy) center/cover;box-shadow:0 24px 60px rgba(22,33,62,.15)}

/* CTA band (bottom of inner pages) */
.cta-band{background:var(--brand);color:#fff}
.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding-top:var(--s-8);padding-bottom:var(--s-8)}
.cta-band h2{font-size:calc(var(--fs-h2) * var(--ts,1) * var(--ts-head,1));line-height:1.45;text-wrap:balance}
.cta-band p{margin-top:var(--s-1);font-size:calc(var(--fs-lead) * var(--ts,1) * var(--ts-body,1));color:rgba(255,255,255,.9);text-wrap:pretty}
.cta-band .eyebrow{color:var(--navy)}

/* contact */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:var(--s-3);align-items:start}
.contact-card{padding:var(--s-5);border-radius:16px;background:var(--navy);color:#fff;position:sticky;top:110px}
.contact-card h2{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));margin-bottom:var(--s-3);line-height:1.45;text-wrap:balance}
.channel{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff;word-break:break-all}
.channel:last-of-type{border-bottom:0}
.channel .ico{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--brand)}
a.channel:hover .ico{background:var(--brand);color:#fff}
.contact-card .muted{margin-top:var(--s-2);font-size:calc(13px * var(--ts,1) * var(--ts-body,1));color:rgba(255,255,255,.6)}
.form-card{position:relative;padding:var(--s-5);border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px rgba(22,33,62,.06)}
.form-card h2{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1))}
.form-card > p{color:var(--muted);margin:var(--s-1) 0 var(--s-4)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-3)}
.form-grid .full{grid-column:1/-1}
.f-field{display:flex;flex-direction:column;gap:6px;font-size:calc(14px * var(--ts,1) * var(--ts-body,1));font-weight:600}
.f-field small{font-weight:400;color:var(--muted);font-size:calc(12px * var(--ts,1) * var(--ts-body,1))}
.f-field .req{font-style:normal;color:#e5484d}
.f-field input,.f-field select,.f-field textarea{font:inherit;font-weight:400;font-size:calc(15px * var(--ts,1) * var(--ts-body,1));padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);outline:none;transition:border-color .2s,box-shadow .2s}
.f-field textarea{min-height:120px;resize:vertical;line-height:1.9}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,176,240,.15)}
.f-field input:invalid:not(:placeholder-shown){border-color:#e5484d}
.f-check{display:flex;align-items:flex-start;gap:10px;font-size:calc(14px * var(--ts,1) * var(--ts-body,1));color:var(--muted);cursor:pointer}
.f-check input{margin-top:6px;accent-color:var(--brand)}
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
.form-status{margin-top:var(--s-2);padding:12px 16px;border-radius:8px;font-weight:500}
.form-status.ok{background:rgba(47,163,107,.1);color:#1d7a4d}
.form-status.err{background:rgba(229,72,77,.1);color:#c02f34}
.form-card .btn{margin-top:var(--s-3)}

.empty-state{max-width:560px;margin:0 auto;text-align:center;padding:var(--s-8) 0}
.empty-state h2{font-size:calc(var(--fs-h3) * var(--ts,1) * var(--ts-head,1));margin-bottom:var(--s-2)}
.empty-state p{color:var(--muted);margin-bottom:var(--s-4)}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  :root{--section:var(--s-8)}
  .main-nav > ul > li > a{padding:0 10px;font-size:calc(14px * var(--ts,1) * var(--ts-body,1))}
  .site-logo{height:60px}
}
@media (max-width:900px){
  :root{--gutter:16px}
  .site-header .container{flex-wrap:wrap}
  .site-logo{height:54px}
  .menu-toggle{display:flex}
  .main-nav{width:100%;display:none}
  .main-nav.toggled{display:block}
  .main-nav > ul{flex-direction:column;align-items:stretch;gap:2px;background:var(--navy);border-radius:10px;padding:var(--s-1)}
  .main-nav > ul > li > a{justify-content:space-between}
  .main-nav .lang a{margin:var(--s-1) 0 0;justify-content:center}
  .sub-menu{position:static;min-width:0;box-shadow:none;background:var(--navy-2);opacity:1;visibility:visible;transform:none;display:none;margin:2px 0}
  .sub-menu a{color:#fff}
  .sub-menu a:hover{background:rgba(255,255,255,.08);color:#fff}
  .main-nav li.open > .sub-menu{display:block}
  .intro .container,.story .container,.discover .container,.pains .container{grid-template-columns:1fr;gap:var(--s-5)}
  .pains-media{aspect-ratio:16/10}
  .services-grid{grid-template-columns:1fr}
  .intro{padding-bottom:calc(var(--section) + 80px)}
  .services .container{margin-top:-80px}
  .card-tall{min-height:480px}
  .tiles-grid{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px 220px}
  .tile-lg{grid-column:1 / 3;grid-row:1}
  .tile-md{grid-column:1 / 3;grid-row:2}
  .footer-grid{grid-template-columns:1fr 1fr}
  /* hero: photo on top, text below */
  .hero{min-height:0}
  .hero--split .hero-slide{display:flex;flex-direction:column;min-height:0}
  .hero--split .hero-media{position:relative;inset:auto;order:-1;width:100%;height:clamp(260px,48svh,520px)}
  .hero--split .hero-panel{width:100%;min-height:0;flex:1}
  .hero--split .hero-panel::after{inset:0 0 auto 0;width:auto;height:4px}
  .hero--split .hero-content{padding:var(--s-5) var(--gutter) 110px}
  .hero--split .hero-controls{width:100%;padding:0 var(--gutter);bottom:var(--s-4)}
  .product-slider .ps-stage{min-height:0}
  .product-slider .hero-content{padding:var(--s-4) var(--gutter) 96px}
  .ps-tabs{grid-auto-columns:minmax(150px,1fr);overflow-x:auto;scrollbar-width:none}
  .ps-tabs .hero-dot{padding:14px 16px 16px}
  .hero--overlay{min-height:100svh}
  .hero--overlay .hero-slide::after{background:linear-gradient(180deg,rgba(13,20,40,.45) 0%,rgba(13,20,40,.85) 70%)}
  .hero--overlay .hero-panel{align-items:flex-end}
  .hero--overlay .hero-content{padding:160px var(--gutter) 120px}
  .split,.contact-grid,.duo,.detail-grid,.pain-cards{grid-template-columns:1fr;gap:var(--s-3)}
  .pillars{grid-template-columns:1fr 1fr}
  .post-card.featured{grid-template-columns:1fr}
  .post-card.featured .thumb{min-height:240px}
  .post-card.featured .body{padding:var(--s-4) var(--s-3)}
  .cta-band .container{flex-direction:column;align-items:flex-start}
  .contact-card{position:static}
  .page-hero{min-height:52vh}
  .page-hero .container{padding-top:160px;padding-bottom:var(--s-6)}
}
@media (max-width:560px){
  :root{--section:var(--s-6)}
  .hero-arrow{width:38px;height:38px}
  .hero-dot{width:32px}
  .services-left{grid-template-columns:1fr;grid-template-rows:none}
  .card{min-height:320px;padding:var(--s-3)}
  .card-tall{padding:var(--s-3)}
  .tiles-grid{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:240px}
  .tile-lg,.tile-md{grid-column:auto;grid-row:auto}
  .section-head{flex-direction:column;align-items:flex-start}
  .cta-box{padding:var(--s-4)}
  .stat{padding-left:var(--s-1)}
  .stat + .stat{padding-right:var(--s-2)}
  .logo-carousel{padding:0 var(--s-5)}
  .footer-grid{grid-template-columns:1fr;gap:var(--s-4)}
  .footer-bottom .container{flex-direction:column;align-items:flex-start}
  .btn-group .btn{flex:1 1 100%}
  .pillars,.form-grid{grid-template-columns:1fr}
  .info-card,.detail-box,.form-card,.contact-card,.duo > div{padding:var(--s-3)}
  .prose{font-size:calc(17px * var(--ts,1) * var(--ts-body,1))}
  .article-cover{border-radius:12px;margin-bottom:var(--s-4)}
}

/* =========================================================
   LTR (English) Polish & Direction Rules
   ========================================================= */
html[dir="ltr"] {
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-head: var(--font);
}

html[dir="ltr"] body {
  line-height: 1.68;
}

html[dir="ltr"] h1,
html[dir="ltr"] h2,
html[dir="ltr"] h3,
html[dir="ltr"] h4,
html[dir="ltr"] .h1-like,
html[dir="ltr"] .ps-title,
html[dir="ltr"] .tile-title {
  letter-spacing: -0.025em;
  line-height: 1.25;
}

html[dir="ltr"] .lead {
  line-height: 1.65;
  letter-spacing: -0.01em;
}

html[dir="ltr"] .hero .eyebrow {
  direction: ltr;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 700;
}

/* Header & Menu */
html[dir="ltr"] .sub-menu {
  right: auto;
  left: 0;
  min-width: 320px;
}

html[dir="ltr"] .sub-menu a .latin {
  min-width: 84px;
  flex-shrink: 0;
  margin-right: 8px;
}

html[dir="ltr"] .main-nav .lang a {
  margin-right: 0;
  margin-left: var(--s-1);
}

/* Arrows & Micro-motion */
html[dir="ltr"] .btn .arrow,
html[dir="ltr"] .more .arrow,
html[dir="ltr"] .section-head .link .arrow {
  display: inline-block;
  transform: none;
  transition: transform 0.25s var(--ease);
}

html[dir="ltr"] .btn:hover .arrow,
html[dir="ltr"] .card:hover .more .arrow,
html[dir="ltr"] a.info-card:hover .more .arrow,
html[dir="ltr"] .post-card:hover .more .arrow,
html[dir="ltr"] .section-head .link:hover .arrow {
  transform: translateX(5px);
}

/* Hero Split layout in LTR: text on left, photo on right */
html[dir="ltr"] .hero--split .hero-panel {
  margin-right: auto;
  margin-left: 0;
  background-image: radial-gradient(circle at 15% 15%, rgba(0, 176, 240, 0.18), transparent 55%);
}

html[dir="ltr"] .hero--split .hero-media {
  inset: 0 0 0 auto;
  left: auto;
  right: 0;
}

html[dir="ltr"] .hero--split .hero-panel::after {
  inset: 0 0 0 auto;
  left: auto;
  right: 0;
}

/* Hero Overlay layout in LTR: dark gradient on left */
html[dir="ltr"] .hero--overlay .hero-slide::after {
  background: linear-gradient(90deg, rgba(13, 20, 40, 0.94) 0%, rgba(13, 20, 40, 0.76) 45%, rgba(13, 20, 40, 0.18) 85%);
}

html[dir="ltr"] .hero-controls {
  right: auto;
  left: 0;
}

html[dir="ltr"] .hero--overlay .hero-controls {
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}

html[dir="ltr"] .hero-arrows {
  margin-right: 0;
  margin-left: auto;
}

/* Product slider on services page */
html[dir="ltr"] .ps-tabs .hero-dot {
  text-align: left;
}

html[dir="ltr"] .ps-tabs .hero-dot + .hero-dot {
  border-right: none;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

html[dir="ltr"] .ps-tabs .hero-dot span {
  inset: auto auto 0 0;
}

html[dir="ltr"] .product-slider .hero-arrows {
  margin-right: 0;
  margin-left: 0;
}

/* Layout blocks & alignment */
html[dir="ltr"] .story .container.story--single {
  text-align: left;
}

html[dir="ltr"] .stat + .stat {
  border-right: none;
  border-left: 1px solid var(--line);
  padding-right: 0;
  padding-left: var(--s-3);
}

html[dir="ltr"] .stat:first-child {
  padding-left: 0;
}

html[dir="ltr"] .pains-close {
  border-right: none;
  border-left: 3px solid var(--brand);
  padding-right: 0;
  padding-left: var(--s-3);
}

html[dir="ltr"] .checks li {
  padding-right: 0;
  padding-left: 34px;
}

html[dir="ltr"] .checks li::before {
  right: auto;
  left: 0;
}

html[dir="ltr"] .steps li::before {
  content: counter(step, decimal);
}

html[dir="ltr"] .detail-box h3::before {
  margin-left: 0;
  margin-right: 10px;
}

html[dir="ltr"] .prose blockquote {
  border-right: none;
  border-left: 4px solid var(--brand);
}

html[dir="ltr"] .prose ul {
  padding-right: 0;
  padding-left: 1.4em;
}

html[dir="ltr"] .page-hero h1 .tag {
  margin-left: 0;
  margin-right: var(--s-2);
}

html[dir="ltr"] .f-field .req {
  margin-right: 0;
  margin-left: 4px;
}

/* Industries Carousel */
html[dir="ltr"] .logo-item {
  direction: ltr;
}

html[dir="ltr"] .logo-prev {
  right: auto;
  left: 0;
}

html[dir="ltr"] .logo-next {
  left: auto;
  right: 0;
}

/* Footer in LTR */
html[dir="ltr"] .footer-brand {
  align-items: flex-start;
  text-align: left;
}

html[dir="ltr"] .footer-tagline {
  align-self: flex-start;
  text-align: left;
}
