/* ===========================================================
   شگرد — Design System
   نرم‌افزار حسابداری و فروشگاهی | منشور سیمین
   =========================================================== */

@font-face{font-family:Vazirmatn;src:url('../fonts/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}

:root{
  /* Brand */
  --c-primary-900:#2C1466;
  --c-primary-800:#3B1D86;
  --c-primary-700:#4C27A8;
  --c-primary-600:#6032D6;
  --c-primary-500:#7B4FE8;
  --c-primary-400:#9C79EF;
  --c-primary-300:#C3AEF7;
  --c-primary-100:#F1ECFD;

  --c-accent-700:#7A1330;
  --c-accent-600:#96173C;
  --c-accent-500:#B81E4A;

  --c-ink-900:#15101F;
  --c-ink-700:#332B47;
  --c-ink-500:#615A73;
  --c-ink-300:#9992AC;
  --c-ink-100:#E7E2F3;

  --c-bg:#FBFAFE;
  --c-surface:#FFFFFF;
  --c-surface-alt:#F4F1FB;

  --c-success:#1E8A5F;
  --c-warning:#B8790E;

  --font-fa:'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;

  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:26px;
  --radius-pill:999px;

  --shadow-sm: 0 2px 10px rgba(44,20,102,.06);
  --shadow-md: 0 10px 30px rgba(44,20,102,.10);
  --shadow-lg: 0 24px 60px rgba(44,20,102,.16);

  --container: 1180px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-fa);
  background:var(--c-bg);
  color:var(--c-ink-900);
  direction:rtl;
  text-align:right;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2.5px solid var(--c-primary-500);
  outline-offset:2px;
  border-radius:6px;
}
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-weight:800; line-height:1.35; }
p{ margin:0; }
svg{ flex-shrink:0; }

.container{
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 28px;
  border-radius:var(--radius-pill);
  font-weight:700;
  font-size:15px;
  border:2px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn--primary{
  background:linear-gradient(135deg, var(--c-primary-500), var(--c-primary-700));
  color:#fff;
  box-shadow:0 10px 24px rgba(96,50,214,.35);
}
.btn--primary:hover{ box-shadow:0 14px 32px rgba(96,50,214,.45); transform:translateY(-2px); }
.btn--ghost{
  background:transparent;
  border-color:var(--c-ink-100);
  color:var(--c-ink-900);
}
.btn--ghost:hover{ border-color:var(--c-primary-500); color:var(--c-primary-700); }
.btn--on-dark{
  background:#fff;
  color:var(--c-primary-700);
}
.btn--on-dark:hover{ background:var(--c-primary-100); }
.btn--outline-dark{
  border-color:rgba(255,255,255,.35);
  color:#fff;
}
.btn--outline-dark:hover{ border-color:#fff; }
.btn--block{ width:100%; justify-content:center; }
.btn--accent{
  background:linear-gradient(135deg, var(--c-accent-500), var(--c-accent-700));
  color:#fff;
  box-shadow:0 10px 24px rgba(150,23,60,.30);
}

/* ---------- Eyebrow / badge ---------- */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  color:var(--c-primary-700);
  background:var(--c-primary-100);
  padding:8px 16px;
  border-radius:var(--radius-pill);
  margin-bottom:18px;
}
.eyebrow::before{
  content:'';
  width:6px; height:6px; border-radius:50%;
  background:var(--c-primary-600);
}
.eyebrow--accent{ color:var(--c-accent-600); background:#FBE9EE; }
.eyebrow--accent::before{ background:var(--c-accent-600); }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(251,250,254,.88);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--c-ink-100);
}
.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  font-size:22px;
  color:var(--c-ink-900);
}
.brand__mark{
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.brand__mark img{ width:100%; height:100%; object-fit:contain; }
.brand__sub{
  font-size:11px; font-weight:600; color:var(--c-ink-500);
  display:block; margin-top:1px;
}

.nav__menu{
  display:flex;
  align-items:center;
  gap:6px;
}
.nav__item{ position:relative; }
.nav__link{
  display:flex; align-items:center; gap:6px;
  padding:10px 16px;
  border-radius:var(--radius-pill);
  font-weight:600;
  font-size:15px;
  color:var(--c-ink-700);
  transition:background .15s, color .15s;
}
.nav__link:hover, .nav__item.is-open > .nav__link{
  background:var(--c-primary-100);
  color:var(--c-primary-700);
}
.nav__link .chev{ width:11px; height:11px; transition:transform .2s; }
.nav__item.is-open .chev{ transform:rotate(180deg); }

.nav__dropdown{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:230px;
  background:var(--c-surface);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  border:1px solid var(--c-ink-100);
  padding:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:50;
}
.nav__item.is-open .nav__dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
/* Invisible bridge over the gap between the nav link and the dropdown, so the
   pointer never leaves .nav__item while travelling down into the menu. */
.nav__dropdown::before{
  content:'';
  position:absolute;
  bottom:100%; left:0; right:0;
  height:12px;
}
.nav__dropdown a{
  display:block;
  padding:11px 14px;
  border-radius:var(--radius-sm);
  font-size:14.5px;
  font-weight:600;
  color:var(--c-ink-700);
}
.nav__dropdown a:hover{ background:var(--c-surface-alt); color:var(--c-primary-700); }

.nav__subitem{ position:relative; }
.nav__subitem > .nav__sublink{
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  padding:11px 14px;
  border-radius:var(--radius-sm);
  font-size:14.5px; font-weight:600; color:var(--c-ink-700);
  cursor:pointer;
}
.nav__subitem > .nav__sublink:hover{ background:var(--c-surface-alt); color:var(--c-primary-700); }
.nav__subitem .chev-sub{ width:10px; height:10px; flex-shrink:0; transition:transform .2s ease; color:var(--c-ink-300); }
.nav__subitem.is-open .chev-sub{ transform:rotate(180deg); }
.nav__subdropdown{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}
.nav__subitem.is-open .nav__subdropdown{ max-height:420px; }
.nav__subdropdown a{
  display:block;
  padding:9px 14px 9px 30px;
  border-radius:var(--radius-sm);
  font-size:13.5px; font-weight:600; color:var(--c-ink-500);
}
.nav__subdropdown a:hover{ background:var(--c-surface-alt); color:var(--c-primary-700); }

.nav__actions{ display:flex; align-items:center; gap:10px; }
.nav__burger{
  display:none;
  width:42px; height:42px;
  border-radius:12px;
  border:1px solid var(--c-ink-100);
  background:#fff;
  align-items:center; justify-content:center;
}
.nav__burger span, .nav__burger span::before, .nav__burger span::after{
  content:''; display:block; width:18px; height:2px; background:var(--c-ink-900); position:relative; transition:.2s;
}
.nav__burger span::before{ position:absolute; top:-6px; }
.nav__burger span::after{ position:absolute; top:6px; }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  padding:56px 0 72px;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute; inset:-20% -10% auto -10%;
  height:600px;
  background:radial-gradient(60% 60% at 70% 20%, var(--c-primary-100), transparent 70%);
  z-index:-1;
}
.hero__grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
/* Give the interactive POS demo more visual weight in the masthead specifically */
.hero .hero__grid{ grid-template-columns:.82fr 1.18fr; gap:44px; }
/* Form pages: wider form column, narrower sidebar. Declared here (not inline) so
   the mobile breakpoint below can still collapse it to a single column. */
.hero__grid--form{ grid-template-columns:1.25fr 1fr; }
.hero h1{
  font-size:clamp(32px, 4.2vw, 52px);
  letter-spacing:-.5px;
  color:var(--c-ink-900);
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(135deg, var(--c-primary-600), var(--c-accent-600));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero p.lead{
  margin-top:20px;
  font-size:18px;
  color:var(--c-ink-500);
  max-width:52ch;
}
.hero__actions{ display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }
.hero__cta-note{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  margin-top:16px;
  color:var(--c-ink-500);
  font-size:14px; font-weight:600;
}
.hero__cta-note a{
  color:var(--c-primary-700);
  font-weight:800;
}
.hero__cta-note a:hover{ color:var(--c-accent-600); }
.hero__stats{
  display:flex; gap:16px; margin-top:44px; flex-wrap:wrap;
}
.hero__stat{ min-width:0; }
.hero__stat b{ display:block; font-size:19px; color:var(--c-primary-700); white-space:nowrap; }
.hero__stat span{ font-size:11px; color:var(--c-ink-500); font-weight:600; white-space:nowrap; }

.hero__media{ position:relative; }
.hero__media-frame{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:10px solid #fff;
}
.hero__media-frame img{ width:100%; height:100%; object-fit:cover; }
.hero__floating{
  position:absolute;
  bottom:-26px; right:-22px;
  background:#fff;
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  padding:16px 18px;
  display:flex; align-items:center; gap:12px;
  max-width:230px;
}
.hero__floating .ico{
  width:44px; height:44px; border-radius:12px;
  background:var(--c-primary-100);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-primary-700);
}
.hero__floating b{ display:block; font-size:14px; }
.hero__floating span{ font-size:12px; color:var(--c-ink-500); }
.hero__blob{
  position:absolute; top:-30px; left:-40px;
  width:120px; height:120px;
  border-radius:30px;
  background:linear-gradient(135deg, var(--c-accent-500), var(--c-accent-700));
  opacity:.14;
  z-index:-1;
}

/* ---------- Interactive POS demo (hero) ---------- */
.pos-demo{ position:relative; }

.pos-demo__stage{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:3/2;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--c-ink-100);
}
.pos-demo__bg{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transition:opacity .25s ease;
}
/* Screen overlay is positioned to match the monitor in the source photo (measured) */
.pos-demo__screen-overlay{
  position:absolute;
  left:30.3%; top:24.4%;
  width:37.8%; height:36.8%;
  border-radius:1%;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35);
  background:#fff;
}
.pos-demo__screen-overlay img{
  width:100%; height:100%; object-fit:contain;
  transition:opacity .18s ease;
}

.pos-demo__menu{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top:16px;
}
.pos-menu-btn{
  padding:9px 16px; min-height:38px;
  border-radius:var(--radius-pill);
  font-family:inherit; font-size:12.5px; font-weight:700;
  background:#fff; border:1.5px solid var(--c-ink-100); color:var(--c-ink-500);
  cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease, transform .1s ease;
}
.pos-menu-btn:hover{ border-color:var(--c-primary-300); color:var(--c-primary-700); }
.pos-menu-btn:active{ transform:translateY(1px); }
.pos-menu-btn.is-active{ background:var(--c-primary-700); border-color:var(--c-primary-700); color:#fff; }
.pos-demo__hint{
  margin-top:12px; font-size:12px; color:var(--c-ink-300); text-align:center;
}

/* ---------- Homepage POS picker ("صندوق را انتخاب کنید") ---------- */
.pos-picker__stage-wrap{
  max-width:640px;
  margin:0 auto;
}
.pos-picker__label{
  text-align:center;
  font-size:12.5px; font-weight:700; color:var(--c-ink-300);
  margin-bottom:12px;
}
.pos-picker__ring{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px;
}
.pos-picker__ring--top{ margin-bottom:16px; }
.pos-picker__ring--bottom{ margin-top:16px; }
.pos-picker-btn{
  padding:9px 16px; min-height:38px;
  border-radius:var(--radius-pill);
  font-family:inherit; font-size:12.5px; font-weight:700;
  background:#fff; border:1.5px solid var(--c-ink-100); color:var(--c-ink-500);
  cursor:pointer; transition:background .15s ease, border-color .15s ease, color .15s ease, transform .1s ease;
}
.pos-picker-btn:hover{ border-color:var(--c-primary-300); color:var(--c-primary-700); }
.pos-picker-btn:active{ transform:translateY(1px); }
.pos-picker-btn.is-active{ background:var(--c-primary-700); border-color:var(--c-primary-700); color:#fff; }
.pos-picker-btn--other{
  display:inline-flex; align-items:center;
  border-style:dashed; border-color:var(--c-primary-300); color:var(--c-primary-700);
  text-decoration:none;
}
.pos-picker-btn--other:hover{ background:var(--c-primary-100); border-color:var(--c-primary-600); }

.pos-picker__stage{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  aspect-ratio:3/2;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--c-ink-100);
}
.pos-picker__bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:opacity .25s ease;
}
.pos-picker__screen-overlay{
  position:absolute;
  border-radius:1%;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35);
  background:#fff;
  transition:opacity .18s ease;
}
.pos-picker__screen-overlay img{ width:100%; height:100%; object-fit:contain; }

.pos-picker__desc{
  max-width:560px; margin:28px auto 0; text-align:center;
}
.pos-picker__desc h3{ font-size:19px; margin-bottom:10px; }
.pos-picker__desc p{ color:var(--c-ink-500); font-size:14.5px; margin-bottom:14px; }

/* Hotspots on the POS device */
.pos-hotspot{
  position:absolute;
  width:30px; height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  border:none;
  display:flex; align-items:center; justify-content:center;
  color:var(--c-primary-700);
  cursor:pointer;
  box-shadow:0 2px 10px rgba(0,0,0,.25);
  transform:translate(-50%,-50%);
  transition:transform .15s ease, background .15s ease;
}
.pos-hotspot::before{
  content:'';
  position:absolute; inset:-6px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.7);
  animation:pos-hotspot-pulse 2.2s ease-out infinite;
}
@media (prefers-reduced-motion: reduce){ .pos-hotspot::before{ animation:none; } }
@keyframes pos-hotspot-pulse{
  0%{ transform:scale(.85); opacity:.9; }
  100%{ transform:scale(1.7); opacity:0; }
}
.pos-hotspot:hover, .pos-hotspot:focus-visible{ transform:translate(-50%,-50%) scale(1.12); background:#fff; }
.pos-hotspot svg{ width:15px; height:15px; }
.pos-hotspot__tip{
  position:absolute;
  bottom:calc(100% + 10px); left:50%;
  transform:translateX(-50%) translateY(4px);
  min-width:150px;
  background:var(--c-ink-900);
  color:#fff;
  border-radius:var(--radius-sm);
  padding:9px 12px;
  font-size:12px; font-weight:600; line-height:1.6;
  text-align:center;
  opacity:0; visibility:hidden;
  transition:opacity .15s ease, transform .15s ease;
  pointer-events:none;
  z-index:5;
}
.pos-hotspot__tip b{ display:block; color:var(--c-primary-300); font-size:11.5px; margin-bottom:2px; }
.pos-hotspot__tip::after{
  content:'';
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  border:5px solid transparent; border-top-color:var(--c-ink-900);
}
.pos-hotspot:hover .pos-hotspot__tip, .pos-hotspot:focus-visible .pos-hotspot__tip{
  opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);
}

/* ---------- شگرد در یک نگاه ---------- */
.glance-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.glance-card{
  position:relative;
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-md);
  padding:28px 22px 24px;
  box-shadow:var(--shadow-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.glance-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent; }
.glance-card__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%;
  background:var(--c-primary-100); color:var(--c-primary-700);
  font-size:14px; font-weight:900;
  margin-bottom:14px;
}
.glance-card h3{ font-size:17px; margin-bottom:8px; }
.glance-card p{ font-size:14.5px; color:var(--c-ink-500); }
.glance-summary{
  margin-top:24px;
  background:linear-gradient(135deg, rgba(96,50,214,.08), rgba(184,30,74,.06));
  border:1px solid rgba(96,50,214,.14);
  border-radius:var(--radius-lg);
  padding:28px 32px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  flex-wrap:wrap;
}
.glance-summary h3{ font-size:19px; margin-bottom:8px; }
.glance-summary p{ font-size:14.5px; color:var(--c-ink-500); max-width:58ch; }

/* ---------- "صنف شما؟" CTA under industries ---------- */
.industry-any{
  margin-top:24px;
  background:var(--c-surface);
  border:1.5px dashed var(--c-primary-300);
  border-radius:var(--radius-md);
  padding:26px 30px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  flex-wrap:wrap;
}
.industry-any h3{ font-size:18px; margin-bottom:6px; }
.industry-any p{ font-size:14.5px; color:var(--c-ink-500); max-width:56ch; }

/* ---------- Challenge cards (industry pages) ---------- */
.challenge-card{
  position:relative;
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-md);
  padding:30px 24px 26px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.challenge-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); }
.challenge-card__num{
  position:absolute;
  top:-16px; inset-inline-start:24px;
  width:34px; height:34px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--c-accent-500), var(--c-accent-700));
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:15px; font-weight:800;
  box-shadow:0 6px 14px rgba(150,23,60,.3);
}
.challenge-card h3{ font-size:16.5px; margin-bottom:9px; }
.challenge-card p{ font-size:14.5px; color:var(--c-ink-500); }

/* ---------- FAQ ---------- */
.faq{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq-item{
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.faq-question{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 22px;
  background:none; border:none; text-align:right;
  font-family:inherit; font-size:15.5px; font-weight:700; color:var(--c-ink-900);
  cursor:pointer;
}
.faq-question .faq-plus{
  flex-shrink:0; width:26px; height:26px; border-radius:50%;
  background:var(--c-primary-100); color:var(--c-primary-700);
  display:flex; align-items:center; justify-content:center;
  transition:transform .2s ease, background .2s ease, color .2s ease;
}
.faq-question .faq-plus svg{ transition:transform .2s ease; }
.faq-item.is-open .faq-question .faq-plus{ background:var(--c-primary-700); color:#fff; }
.faq-item.is-open .faq-question .faq-plus svg{ transform:rotate(45deg); }
.faq-answer{
  max-height:0; overflow:hidden;
  transition:max-height .25s ease;
}
.faq-answer__inner{ padding:0 22px 22px; font-size:14.5px; color:var(--c-ink-500); line-height:1.9; }

/* ---------- Savings calculator (ticket / receipt styled) ---------- */
.calc-ticket{
  position:relative;
  background:var(--c-surface);
  border:1.5px dashed var(--c-ink-100);
  border-radius:var(--radius-lg);
  padding:44px clamp(24px,5vw,56px) 30px;
  overflow:hidden;
}
.calc-ticket::before, .calc-ticket::after{
  content:'';
  position:absolute;
  top:50%; transform:translateY(-50%);
  width:34px; height:34px;
  border-radius:50%;
  background:var(--c-bg);
  border:1.5px dashed var(--c-ink-100);
}
.calc-ticket::before{ right:-17px; }
.calc-ticket::after{ left:-17px; }
.section--alt .calc-ticket::before, .section--alt .calc-ticket::after{ background:var(--c-surface-alt); }

.calc{ max-width:560px; margin:0 auto; }
.calc__label{ display:block; font-size:14px; font-weight:700; color:var(--c-ink-700); margin-bottom:14px; text-align:center; }
.calc input[type="range"]{
  width:100%;
  accent-color:var(--c-primary-600);
  height:6px;
  cursor:pointer;
}
.calc__value{
  text-align:center; margin-top:14px; font-size:14px; color:var(--c-ink-500); font-weight:600;
}
.calc__value b{ color:var(--c-primary-700); font-size:20px; }
.calc__results{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
  margin-top:30px;
}
.calc__stat{
  text-align:center; padding:22px 12px;
  background:var(--c-bg);
  border-radius:var(--radius-md);
}
.section--alt .calc__stat{ background:var(--c-surface); }
.calc__stat b{ display:block; font-size:30px; color:var(--c-primary-700); font-variant-numeric:tabular-nums; }
.calc__stat span{ font-size:13px; color:var(--c-ink-500); font-weight:600; }
.calc-ticket__barcode{
  display:flex; align-items:flex-end; gap:2px;
  height:26px; margin:30px auto 0; max-width:280px; justify-content:center;
  opacity:.5;
}
.calc-ticket__barcode span{ display:block; width:2px; background:var(--c-ink-300); }

/* ---------- Factory gallery (درباره ما) ---------- */
.factory-gallery{ display:flex; flex-direction:column; gap:16px; }
.factory-gallery img{
  width:100%; display:block; border-radius:var(--radius-md);
  filter:grayscale(1) contrast(1.05);
  box-shadow:var(--shadow-sm);
}

/* ---------- Sections ---------- */
.section{ padding:72px 0; }
.section--tight{ padding:48px 0; }
.section--alt{ background:var(--c-surface-alt); }
.section-head{ max-width:640px; margin-bottom:40px; }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head h2{ font-size:clamp(26px,3vw,38px); }
.section-head p{ margin-top:14px; font-size:16.5px; color:var(--c-ink-500); }

/* ---------- Feature cards (چرا ما را انتخاب کنید) ---------- */
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }

.feature-card{
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-md);
  padding:28px 24px;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
}
.feature-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:transparent; }
.feature-card .ico{
  width:52px; height:52px;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
  background:var(--c-primary-100);
  color:var(--c-primary-700);
}
.feature-card h3{ font-size:17.5px; margin-bottom:8px; }
.feature-card p{ font-size:14.5px; color:var(--c-ink-500); }

/* alt palette rotation for variety */
.feature-card:nth-child(4n+2) .ico{ background:#FBE9EE; color:var(--c-accent-600); }
.feature-card:nth-child(4n+3) .ico{ background:#EAF6F0; color:var(--c-success); }
.feature-card:nth-child(4n+4) .ico{ background:#FDF2E3; color:var(--c-warning); }

/* ---------- Dark feature band ---------- */
.band{
  background:radial-gradient(120% 140% at 15% 0%, var(--c-primary-800), var(--c-primary-900) 55%);
  color:#fff;
  border-radius:var(--radius-lg);
  padding:64px 48px;
  position:relative;
  overflow:hidden;
}
.band::after{
  content:'';
  position:absolute; left:-60px; bottom:-80px;
  width:280px; height:280px;
  background:var(--c-accent-600);
  filter:blur(90px);
  opacity:.5;
}
.band .section-head h2, .band .section-head p{ color:#fff; }
.band .section-head p{ color:rgba(255,255,255,.72); }
.band-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px 40px; margin-top:12px; }
.band-list li{
  display:flex; gap:14px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.band-list li .ico{
  width:36px; height:36px; flex-shrink:0;
  border-radius:10px;
  background:rgba(255,255,255,.12);
  display:flex; align-items:center; justify-content:center;
}
.band-list li b{ display:block; font-size:15px; margin-bottom:3px; }
.band-list li span{ font-size:13.5px; color:rgba(255,255,255,.68); }

/* ---------- Product / hardware cards ---------- */
.product-card{
  background:var(--c-surface);
  border-radius:var(--radius-md);
  border:1px solid var(--c-ink-100);
  overflow:hidden;
  display:flex; flex-direction:column;
  transition:box-shadow .2s, transform .2s;
}
.product-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-4px); }
.product-card__media{
  aspect-ratio:4/3;
  background:linear-gradient(150deg, var(--c-primary-100), #fff 60%);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-primary-600);
  position:relative;
}
.product-card__media svg{ width:64px; height:64px; }
.product-card__tag{
  position:absolute; top:14px; right:14px;
  background:#fff; padding:5px 12px; border-radius:var(--radius-pill);
  font-size:11.5px; font-weight:700; color:var(--c-accent-600);
  box-shadow:var(--shadow-sm);
}
.product-card__body{ padding:22px 22px 26px; flex:1; display:flex; flex-direction:column; }
.product-card__body h3{ font-size:17px; margin-bottom:8px; }
.product-card__body p{ font-size:14px; color:var(--c-ink-500); margin-bottom:16px; flex:1; }
.product-card__specs{ display:flex; flex-wrap:wrap; gap:8px; }
.spec-pill{
  font-size:12px; font-weight:600; color:var(--c-ink-700);
  background:var(--c-surface-alt); padding:6px 12px; border-radius:var(--radius-pill);
}

/* ---------- Addon chips (software add-on modules) ---------- */
.addon-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.addon-chip{
  display:flex; align-items:center; gap:13px;
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-md);
  padding:16px 18px;
  transition:border-color .18s, transform .18s, box-shadow .18s;
}
.addon-chip:hover{ border-color:var(--c-primary-300); transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.addon-chip .ico{
  width:40px; height:40px; flex-shrink:0;
  border-radius:11px;
  background:var(--c-primary-100); color:var(--c-primary-700);
  display:flex; align-items:center; justify-content:center;
}
.addon-chip b{ font-size:14.5px; font-weight:700; line-height:1.4; }
.addon-chip .badge{
  margin-inline-start:auto; flex-shrink:0;
  font-size:10.5px; font-weight:800;
  background:#FBE9EE; color:var(--c-accent-600);
  padding:4px 10px; border-radius:var(--radius-pill);
}

/* ---------- Checklist ---------- */
.check-list li{
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 0;
  font-size:15px;
  border-bottom:1px dashed var(--c-ink-100);
}
.check-list li:last-child{ border-bottom:none; }
.check-list .tick{
  width:24px; height:24px; border-radius:50%; flex-shrink:0;
  background:var(--c-primary-100); color:var(--c-primary-700);
  display:flex; align-items:center; justify-content:center; margin-top:2px;
}
.check-list b{ display:block; margin-bottom:2px; }
.check-list span{ color:var(--c-ink-500); font-size:13.5px; }

/* ---------- Stats strip ---------- */
.stats-strip{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-md);
}
.stats-strip .stat{
  background:var(--c-surface);
  padding:34px 20px;
  text-align:center;
  border-inline-end:1px solid var(--c-ink-100);
}
.stats-strip .stat:last-child{ border-inline-end:none; }
.stats-strip .stat b{ display:block; font-size:30px; color:var(--c-primary-700); }
.stats-strip .stat span{ font-size:13px; color:var(--c-ink-500); font-weight:600; }

/* ---------- Industries ---------- */
.industry-showcase{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:repeat(4,190px);
  grid-template-areas:
    "supermarket supermarket restaurant restaurant"
    "supermarket supermarket fastfood cafe"
    "pastry protein clothing clothing"
    "pastry cosmetics cosmetics cosmetics";
  gap:18px;
}
.industry-card{
  position:relative;
  min-width:0;
  min-height:0;
  border-radius:24px;
  overflow:hidden;
  background:var(--c-surface);
  border:1px solid rgba(44,20,102,.10);
  box-shadow:var(--shadow-sm);
  isolation:isolate;
  transition:transform .22s ease, box-shadow .22s ease;
}
.industry-card:nth-child(1){ grid-area:supermarket; }
.industry-card:nth-child(2){ grid-area:restaurant; }
.industry-card:nth-child(3){ grid-area:fastfood; }
.industry-card:nth-child(4){ grid-area:cafe; }
.industry-card:nth-child(5){ grid-area:pastry; }
.industry-card:nth-child(6){ grid-area:protein; }
.industry-card:nth-child(7){ grid-area:clothing; }
.industry-card:nth-child(8){ grid-area:cosmetics; }
.industry-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); }
.industry-card__media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  background:var(--c-surface-alt);
}
.industry-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.industry-card:hover .industry-card__media img{ transform:scale(1.045); }
.industry-card::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(16,10,28,0) 28%, rgba(19,11,34,.20) 52%, rgba(20,10,38,.90) 100%);
  pointer-events:none;
}
.industry-card__body{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:7px;
  padding:22px;
  color:#fff;
}
.industry-card__tag{
  position:absolute;
  top:16px;
  right:16px;
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:calc(100% - 32px);
  padding:6px 12px;
  border-radius:var(--radius-pill);
  background:rgba(255,255,255,.90);
  color:var(--c-primary-800);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 6px 20px rgba(44,20,102,.12);
  backdrop-filter:blur(8px);
  font-size:11.5px;
  font-weight:800;
}
.industry-card h3{
  color:#fff;
  font-size:22px;
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}
.industry-card p{
  color:rgba(255,255,255,.90);
  font-size:13.5px;
  line-height:1.75;
  max-width:48ch;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.industry-card__meta{
  color:rgba(255,255,255,.68);
  font-size:12px;
  line-height:1.65;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
}
.industry-card__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  margin-top:3px;
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.industry-card__link::after{ content:'←'; font-size:15px; }
.industry-card:nth-child(3) .industry-card__body,
.industry-card:nth-child(4) .industry-card__body,
.industry-card:nth-child(6) .industry-card__body{
  padding:16px;
}
.industry-card:nth-child(3) h3,
.industry-card:nth-child(4) h3,
.industry-card:nth-child(6) h3{
  font-size:18px;
}
.industry-card:nth-child(3) p,
.industry-card:nth-child(4) p,
.industry-card:nth-child(6) p{
  font-size:12px;
  -webkit-line-clamp:1;
}
.industry-card:nth-child(3) .industry-card__link,
.industry-card:nth-child(4) .industry-card__link,
.industry-card:nth-child(6) .industry-card__link{
  font-size:11.5px;
}
.industry-card:nth-child(3) .industry-card__tag,
.industry-card:nth-child(4) .industry-card__tag,
.industry-card:nth-child(6) .industry-card__tag{
  top:12px;
  right:12px;
  padding:5px 9px;
  font-size:10.5px;
}
.stats-strip--software .stat b{ font-size:24px; }
.stats-strip--software .stat span{ display:block; max-width:22ch; margin:8px auto 0; line-height:1.7; }

/* ---------- CTA banner ---------- */
.cta-banner{
  border-radius:var(--radius-lg);
  padding:56px 48px;
  background:linear-gradient(120deg, var(--c-accent-600), var(--c-primary-700));
  color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:30px;
  flex-wrap:wrap;
}
.cta-banner h2{ font-size:28px; max-width:520px; }
.cta-banner p{ margin-top:10px; color:rgba(255,255,255,.82); }
.cta-banner__actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* ---------- Timeline (about) ---------- */
.timeline{ position:relative; padding-right:28px; border-right:2px solid var(--c-ink-100); }
.timeline li{ position:relative; padding-bottom:34px; }
.timeline li:last-child{ padding-bottom:0; }
.timeline li::before{
  content:''; position:absolute; right:-35px; top:2px;
  width:14px; height:14px; border-radius:50%;
  background:var(--c-primary-600); border:3px solid var(--c-primary-100);
}
.timeline b{ display:block; color:var(--c-primary-700); font-size:14px; margin-bottom:4px; }
.timeline span{ color:var(--c-ink-500); font-size:14.5px; }

/* ---------- Cards generic ---------- */
.info-card{
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-md);
  padding:30px;
}

/* ---------- Forms ---------- */
.form-card{
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-lg);
  padding:40px;
  box-shadow:var(--shadow-sm);
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ margin-bottom:18px; }
.field label{ display:block; font-size:14px; font-weight:700; margin-bottom:8px; }
.field label .opt{ font-weight:500; color:var(--c-ink-300); font-size:12.5px; }
.field input, .field select, .field textarea{
  width:100%;
  font-family:inherit;
  font-size:15px;
  padding:13px 16px;
  border-radius:var(--radius-sm);
  border:1.5px solid var(--c-ink-100);
  background:var(--c-bg);
  color:var(--c-ink-900);
  transition:border-color .15s, box-shadow .15s;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--c-primary-500); box-shadow:0 0 0 4px var(--c-primary-100);
}
.field textarea{ resize:vertical; min-height:120px; }
.form-note{ font-size:13px; color:var(--c-ink-300); margin-top:14px; text-align:center; }
.form-success{
  display:none;
  background:#EAF6F0; color:var(--c-success);
  border:1px solid #BFE6D3;
  padding:16px 18px; border-radius:var(--radius-sm);
  font-weight:700; font-size:14.5px; margin-bottom:22px;
}
.form-error{
  display:none;
  background:#FBE9EE; color:var(--c-accent-600);
  border:1px solid #F1C6D2;
  padding:16px 18px; border-radius:var(--radius-sm);
  font-weight:700; font-size:14.5px; margin-bottom:22px;
  line-height:1.8;
}

/* ---------- Contact tiles ---------- */
.contact-tile{
  display:flex; align-items:flex-start; gap:16px;
  padding:24px; border-radius:var(--radius-md);
  background:var(--c-surface); border:1px solid var(--c-ink-100);
}
.contact-tile .ico{
  width:46px; height:46px; border-radius:13px; flex-shrink:0;
  background:var(--c-primary-100); color:var(--c-primary-700);
  display:flex; align-items:center; justify-content:center;
}
.contact-tile b{ display:block; margin-bottom:4px; font-size:15px; }
.contact-tile span, .contact-tile a{ font-size:14px; color:var(--c-ink-500); }
.map-frame{ border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--c-ink-100); }
.map-frame iframe{ width:100%; height:340px; border:0; display:block; }

/* ---------- Breadcrumb / page header ---------- */
.page-hero{
  padding:52px 0 60px;
  background:linear-gradient(180deg, var(--c-primary-100), var(--c-bg));
}
.breadcrumb{ display:flex; gap:8px; align-items:center; font-size:13px; color:var(--c-ink-500); margin-bottom:16px; }
.breadcrumb a:hover{ color:var(--c-primary-700); }
.page-hero h1{ font-size:clamp(28px,3.6vw,42px); }
.page-hero p{ margin-top:14px; color:var(--c-ink-500); font-size:16px; max-width:60ch; }

/* ---------- Sub-nav pills (product category switch) ---------- */
.subnav{ display:flex; gap:10px; margin-top:28px; flex-wrap:wrap; }
.subnav a{
  padding:10px 20px; border-radius:var(--radius-pill);
  font-weight:700; font-size:14px;
  background:#fff; border:1.5px solid var(--c-ink-100); color:var(--c-ink-700);
}
.subnav a.is-active, .subnav a:hover{ background:var(--c-primary-700); border-color:var(--c-primary-700); color:#fff; }

/* ---------- Footer ---------- */
.site-footer{
  background:var(--c-ink-900);
  color:rgba(255,255,255,.72);
  padding:70px 0 26px;
  margin-top:60px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:40px;
  padding-bottom:44px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand .brand{ color:#fff; }
.footer-brand p{ margin-top:16px; font-size:14px; line-height:1.9; color:rgba(255,255,255,.55); max-width:38ch; }
.footer-col h4{ color:#fff; font-size:15px; margin-bottom:20px; }
.footer-col ul li{ margin-bottom:12px; }
.footer-col a{ font-size:14px; color:rgba(255,255,255,.6); transition:color .15s; }
.footer-col a:hover{ color:#fff; }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:24px; font-size:13px; color:rgba(255,255,255,.45); flex-wrap:wrap; gap:10px;
}

/* ---------- Partner logo cards ---------- */
.partner-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
}
.partner-card{
  background:var(--c-surface);
  border:1px solid var(--c-ink-100);
  border-radius:var(--radius-md);
  padding:16px 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.partner-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); border-color:transparent; }
.partner-card img{
  height:44px;
  width:100%;
  object-fit:contain;
}
.partner-card span{
  font-size:12px;
  font-weight:600;
  color:var(--c-ink-500);
  line-height:1.4;
}
.partner-card--next{
  border-style:dashed;
  border-color:var(--c-primary-300);
  text-decoration:none;
  justify-content:center;
}
.partner-card--next .partner-card__next-mark{
  height:44px; width:44px;
  border-radius:50%;
  background:var(--c-primary-100);
  color:var(--c-primary-700);
  display:flex; align-items:center; justify-content:center;
}
.partner-card--next .partner-card__next-mark svg{ width:20px; height:20px; }
.partner-card--next span:last-child{ color:var(--c-primary-700); font-weight:700; }
.partner-card--next:hover{
  background:var(--c-primary-100);
  border-color:var(--c-primary-600);
}

@media (max-width:980px){ .partner-grid{ grid-template-columns:repeat(4,1fr); } }
@media (max-width:760px){ .partner-grid{ grid-template-columns:repeat(3,1fr); } }

/* ---------- Mobile CTA bar ---------- */
.mobile-cta-bar{ display:none; }
/* ---------- Scroll reveal ---------- */
@media (prefers-reduced-motion: no-preference){
  .reveal-target{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
  }
  .reveal-target.is-visible{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion: reduce){
  .pos-demo__stage, .pos-demo__screen img{ transition:none !important; }
}

/* ---------- Utilities ---------- */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.muted{ color:var(--c-ink-500); }

/* ---------- Responsive ---------- */
@media (max-width:1040px){
  .nav__menu{ display:none; }
  .nav__actions .btn{ display:inline-flex; padding:10px 16px; font-size:13px; }
  .nav__burger{ display:flex; }
  .nav.is-mobile-open .nav__menu{
    display:flex; flex-direction:column; align-items:stretch;
    position:absolute; top:100%; right:0; left:0;
    background:#fff; padding:14px; border-bottom:1px solid var(--c-ink-100);
    box-shadow:var(--shadow-md);
  }
  .nav.is-mobile-open .nav__dropdown{ position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; display:none; margin-top:4px; }
  .nav.is-mobile-open .nav__item.is-open .nav__dropdown{ display:block; }
  .brand__sub{ display:none; }
}
@media (max-width:980px){
  .hero__grid, .hero .hero__grid, .hero__grid--form{ grid-template-columns:1fr; }
  .hero__media{ order:-1; }
  .grid-4{ grid-template-columns:repeat(2,1fr); }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
  .addon-grid{ grid-template-columns:repeat(2,1fr); }
  .band-list{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .stats-strip{ grid-template-columns:repeat(2,1fr); }
  .stats-strip .stat:nth-child(2){ border-inline-end:none; }
  .glance-grid{ grid-template-columns:repeat(2,1fr); }
  .industry-showcase{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(7,190px);
    grid-template-areas:
      "supermarket supermarket"
      "supermarket supermarket"
      "restaurant restaurant"
      "fastfood cafe"
      "pastry protein"
      "clothing clothing"
      "cosmetics cosmetics";
  }
}
@media (max-width:760px){
  .grid-4, .grid-3, .grid-2, .addon-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .cta-banner{ flex-direction:column; align-items:flex-start; }
  .band{ padding:40px 24px; }
  .section{ padding:60px 0; }
  .stats-strip{ grid-template-columns:1fr 1fr; }
  .hero__cta-note{ font-size:13px; }
  .glance-grid{ grid-template-columns:1fr; }
  .glance-summary{ padding:24px 22px; }
  .industry-showcase{
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:repeat(7,180px);
    gap:14px;
  }
  .industry-card__body{ padding:18px 16px 20px; }
  .industry-card h3{ font-size:18px; }
  .mobile-cta-bar{
    display:flex;
    position:fixed; left:14px; right:14px; bottom:14px; z-index:140;
    background:rgba(255,255,255,.96);
    border:1px solid var(--c-ink-100);
    box-shadow:var(--shadow-lg);
    border-radius:20px;
    padding:10px;
    gap:10px;
    backdrop-filter:blur(12px);
  }
  .mobile-cta-bar a{
    flex:1;
    display:inline-flex; align-items:center; justify-content:center;
    padding:12px 10px; border-radius:14px;
    font-size:13px; font-weight:800;
  }
  .mobile-cta-bar__call{ background:var(--c-primary-100); color:var(--c-primary-700); }
  .mobile-cta-bar__consult{ background:linear-gradient(135deg, var(--c-primary-500), var(--c-primary-700)); color:#fff; }
  body{ padding-bottom:92px; }
}


@media (max-width:560px){
  .industry-showcase{
    grid-template-columns:1fr;
    grid-template-rows:repeat(8,270px);
    grid-template-areas:
      "supermarket"
      "restaurant"
      "fastfood"
      "cafe"
      "pastry"
      "protein"
      "clothing"
      "cosmetics";
    gap:14px;
  }
  .industry-card__body,
  .industry-card:nth-child(3) .industry-card__body,
  .industry-card:nth-child(4) .industry-card__body,
  .industry-card:nth-child(6) .industry-card__body{ padding:18px; }
  .industry-card h3,
  .industry-card:nth-child(3) h3,
  .industry-card:nth-child(4) h3,
  .industry-card:nth-child(6) h3{ font-size:20px; }
  .industry-card p,
  .industry-card:nth-child(3) p,
  .industry-card:nth-child(4) p,
  .industry-card:nth-child(6) p{ font-size:13px; -webkit-line-clamp:2; }
  .industry-card__link,
  .industry-card:nth-child(3) .industry-card__link,
  .industry-card:nth-child(4) .industry-card__link,
  .industry-card:nth-child(6) .industry-card__link{ font-size:12.5px; }
  .nav__actions .btn{ padding:9px 12px; font-size:12px; }
}

/* ---------- Mobile-first homepage hero ---------- */
.hero__mobile-lead,
.pos-picker__mobile-kicker{ display:none; }

@media (max-width:980px){
  .hero{
    padding:22px 0 56px;
  }
  .hero::before{
    inset:-8% -45% auto -45%;
    height:520px;
    background:
      radial-gradient(55% 52% at 72% 14%, rgba(123,79,232,.20), transparent 72%),
      radial-gradient(45% 44% at 20% 34%, rgba(184,30,74,.09), transparent 76%);
  }
  .hero .hero__grid{
    gap:26px;
    align-items:start;
  }
  .hero__copy{ order:2; }
  .pos-picker__stage-wrap{
    order:1;
    width:100%;
    max-width:680px;
    display:flex;
    flex-direction:column;
  }
  .pos-picker__label{ display:none; }
  .pos-picker__stage{
    order:1;
    border:6px solid #fff;
    border-radius:24px;
    box-shadow:0 18px 44px rgba(44,20,102,.18);
  }
  .pos-picker__ring{
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    padding:2px 2px 5px;
  }
  .pos-picker__ring::-webkit-scrollbar{ display:none; }
  .pos-picker__ring--top{
    order:2;
    margin:12px 0 0;
  }
  .pos-picker__ring--bottom{
    order:3;
    margin:6px 0 0;
  }
  .pos-picker-btn{
    flex:0 0 auto;
    min-height:34px;
    padding:7px 13px;
    font-size:12px;
    scroll-snap-align:start;
    box-shadow:0 3px 10px rgba(44,20,102,.05);
  }
  .pos-picker__desc{ display:none; }
  .pos-picker__mobile-kicker{
    position:absolute;
    right:12px;
    bottom:12px;
    z-index:6;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:1px;
    padding:8px 12px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:14px;
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(10px);
    box-shadow:0 8px 22px rgba(44,20,102,.16);
    color:var(--c-ink-900);
    line-height:1.45;
  }
  .pos-picker__mobile-kicker span{
    font-size:12.5px;
    font-weight:800;
  }
  .pos-picker__mobile-kicker b{ color:var(--c-primary-700); }
  .pos-picker__mobile-kicker small{
    font-size:10.5px;
    font-weight:600;
    color:var(--c-ink-500);
  }
  .hero__copy .eyebrow{
    margin-bottom:10px;
  }
  .hero h1{
    font-size:clamp(30px,8vw,38px);
    line-height:1.42;
  }
  .hero__desktop-lead{ display:none; }
  .hero__mobile-lead{
    display:block;
    margin-top:12px;
    color:var(--c-ink-500);
    font-size:15px;
    font-weight:500;
    line-height:1.9;
    max-width:42ch;
  }
  .hero__actions{
    margin-top:20px;
    gap:10px;
  }
  .hero__actions .btn{
    min-height:46px;
    padding:11px 18px;
    font-size:14px;
  }
  .hero__actions .btn--primary{
    flex:1 1 100%;
    justify-content:center;
  }
  .hero__actions .btn--ghost{
    flex:1 1 100%;
    justify-content:center;
    background:rgba(255,255,255,.65);
  }
  .hero__cta-note{ display:none; }
  .hero__stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:24px;
  }
  .hero__stat{
    padding:11px 12px;
    border:1px solid var(--c-ink-100);
    border-radius:14px;
    background:rgba(255,255,255,.72);
    box-shadow:0 5px 16px rgba(44,20,102,.05);
  }
  .hero__stat b{ font-size:17px; }
  .hero__stat span{
    display:block;
    margin-top:2px;
    white-space:normal;
    line-height:1.55;
  }
}

@media (max-width:560px){
  .site-header .container,
  .hero .container{ padding-inline:16px; }
  .nav{
    gap:8px;
    padding:10px 0;
  }
  .brand{
    gap:7px;
    font-size:19px;
  }
  .brand__mark{ width:32px; height:32px; }
  .nav__actions{ gap:7px; }
  .nav__burger{ width:38px; height:38px; border-radius:11px; }
  .nav__actions .btn{
    padding:8px 11px;
    min-height:38px;
    font-size:11.5px;
  }
  .hero{
    padding-top:14px;
  }
  .hero .hero__grid{ gap:22px; }
  .pos-picker__stage{
    border-width:4px;
    border-radius:20px;
  }
  .pos-picker-btn{
    min-height:32px;
    padding:6px 11px;
    font-size:11px;
  }
  .pos-picker__ring--top{ margin-top:10px; }
  .pos-picker__ring--bottom{ margin-top:4px; }
  .pos-picker__mobile-kicker{
    right:9px;
    bottom:9px;
    padding:7px 10px;
    border-radius:12px;
  }
  .pos-picker__mobile-kicker span{ font-size:11.5px; }
  .pos-picker__mobile-kicker small{ font-size:9.5px; }
  .pos-hotspot{
    width:25px;
    height:25px;
  }
  .pos-hotspot svg{ width:12px; height:12px; }
  .hero__copy .eyebrow{
    padding:6px 11px;
    font-size:11.5px;
  }
  .hero h1{
    font-size:29px;
    letter-spacing:-.2px;
  }
  .hero__mobile-lead{
    margin-top:10px;
    font-size:14px;
    line-height:1.85;
  }
  .hero__actions{ margin-top:17px; }
  .hero__actions .btn{
    min-height:44px;
    padding:10px 15px;
    font-size:13px;
  }
  .hero__stats{ margin-top:20px; }
}
