/* ==========================================================================
   saman.css — تم اصلی چاپ و نشر سمن
   ========================================================================== */

:root{
  --ink:#0e2340;
  --ink-2:#173759;
  --ink-soft:#43587a;
  --teal:#0e9c96;
  --teal-d:#0a7d78;
  --amber:#e0912c;
  --amber-d:#b9741d;
  --paper:#f8f5ef;
  --paper-2:#f1ece2;
  --line:#e3ddd1;
  --white:#fff;
  --text:#22303f;
  --muted:#65758a;
  --ok:#1f9d55;
  --wa:#1faa59;
  --radius:14px;
  --radius-l:22px;
  --shadow-s:0 2px 10px rgba(14,35,64,.06);
  --shadow-m:0 10px 30px rgba(14,35,64,.10);
  --shadow-l:0 22px 60px rgba(14,35,64,.16);
  --wrap:1400px;
  --font:"IRANYekanX","IRANYekan",Tahoma,sans-serif;

  /* --- سازگاری با اجزای باقی مانده از کدبیس نف ---
     چند فایل نف (آکاردئون سوالات متداول، فرم نظرات، کپچا، تب ها) استایل
     inline دارند و رنگ را از متغیرهای نف می خوانند. اگر این متغیرها تعریف
     نشوند، به آبی پیش فرض نف برمی گردند و با تم سمن ناهماهنگ می شوند.
     اینجا همان نام ها به پالت سمن نگاشت می شوند. */
  --accent:var(--teal);
  --accent-dark:var(--teal-d);
  --accent-rgb:14,156,150;
  --blue:var(--teal);
  --blue-dark:var(--teal-d);
  --blue-light:#e6f4f3;
  --blue-border:#bfe2e0;
  --bg-light:#f8f5ef;
  --bg:#fff;
  --border:#e3ddd1;
  --text-light:#43587a;
  --text-muted:#65758a;
  --gray-100:#f1ece2;
  --gray-300:#cdd6e0;
  --gray-400:#8b93a8;
  --gray-500:#65758a;
  --gray-900:#0e2340;
  --red:#c0392b;
  --red-light:#fdecea;
  --green:#1f9d55;
  --green-light:#e9f7ef;
  --container:1400px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.95;
  color:var(--text);
  background:var(--paper);
  background-image:
    radial-gradient(circle at 1px 1px, rgba(14,35,64,.05) 1px, transparent 0);
  background-size:22px 22px;
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink-2);text-decoration:none}
a:hover{color:var(--teal-d)}
h1,h2,h3,h4{line-height:1.6;margin:0 0 .6em;color:var(--ink);font-weight:800}
p{margin:0 0 1em}
.container{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
@media (max-width:640px){.container{padding-inline:14px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- دکمه ها ---------- */
.sm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;border-radius:100px;border:2px solid transparent;
  font-family:var(--font);font-size:15px;font-weight:800;cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
  min-height:46px;line-height:1.4;
}
.sm-btn i{font-size:1.05em}
.sm-btn--primary{background:var(--teal);color:#fff;box-shadow:0 8px 20px rgba(14,156,150,.28)}
.sm-btn--ink{background:var(--ink);color:#fff}
.sm-btn--amber{background:var(--amber);color:#fff;box-shadow:0 8px 20px rgba(224,145,44,.28)}
.sm-btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.sm-btn--wa{background:var(--wa);color:#fff}
.sm-btn--lg{padding:16px 30px;font-size:16.5px;min-height:54px}
@media (hover:hover){
  .sm-btn:hover{transform:translateY(-2px);color:#fff}
  .sm-btn--ghost:hover{background:var(--ink);color:#fff}
}
.sm-btn:active{transform:translateY(0)}

/* ---------- عنوان بخش ---------- */
.sm-head{margin:0 0 30px;text-align:center}
.sm-head__kicker{
  display:inline-block;font-size:13.5px;font-weight:800;color:var(--teal-d);
  background:rgba(14,156,150,.10);padding:5px 14px;border-radius:100px;margin-bottom:12px;
}
.sm-head h2{font-size:clamp(21px,3.2vw,30px);margin:0 0 8px;position:relative;display:inline-block}
.sm-head h2::after{
  content:"";display:block;width:64px;height:5px;margin:11px auto 0;border-radius:5px;
  background:linear-gradient(90deg,var(--teal),var(--amber));
}
.sm-head p{color:var(--muted);max-width:620px;margin:0 auto;font-size:15px}

/* ==========================================================================
   هدر
   ========================================================================== */
.sm-topbar{background:var(--ink);color:#c9d6e6;font-size:13.5px}
.sm-topbar .container{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px}
.sm-topbar a{color:#c9d6e6}
.sm-topbar__left{display:flex;align-items:center;gap:8px}
.sm-topbar__right{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.sm-topbar__tel{display:inline-flex;align-items:center;gap:7px;font-weight:800;color:#fff}
.sm-topbar__tel i{color:var(--teal)}
.sm-topbar__note{color:#9fb2c9}
.sm-soc{display:inline-flex;gap:7px}
.sm-soc a{
  width:31px;height:31px;border-radius:9px;display:grid;place-items:center;
  background:rgba(255,255,255,.09);font-size:14px;transition:background .15s
}
@media (hover:hover){.sm-soc a:hover{background:var(--teal);color:#fff}}
.sm-topbar__cta{
  display:inline-flex;align-items:center;gap:7px;background:var(--teal);color:#fff!important;
  padding:6px 15px;border-radius:100px;font-weight:800;font-size:13px;min-height:32px
}

.sm-header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 var(--line)}
.sm-header.is-stuck{box-shadow:var(--shadow-m)}
.sm-header .container{display:flex;align-items:center;gap:18px;min-height:78px}
.sm-logo{display:flex;align-items:center;gap:11px;flex-shrink:0}
.sm-logo img{max-height:56px;width:auto}
.sm-logo__txt strong{display:block;font-size:21px;font-weight:900;color:var(--ink);line-height:1.4}
.sm-logo__txt span{display:block;font-size:12.5px;color:var(--teal-d);font-weight:700}

.sm-nav{display:flex;align-items:center;gap:4px;margin-inline-start:auto}
.sm-nav > a,.sm-nav__item > a{
  display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:10px;
  font-size:15.5px;font-weight:700;color:var(--ink);white-space:nowrap
}
@media (hover:hover){.sm-nav > a:hover,.sm-nav__item > a:hover{background:var(--paper-2);color:var(--ink)}}
.sm-nav__item{position:relative}
.sm-nav__item > a i{font-size:11px;opacity:.6}
/* --- مگامنوی خدمات ---
   با ۱۲ آیتم، ستون تکی بلندتر از صفحه می شود. بنابراین از سه ستون
   استفاده می شود و منو زیر هدر وسط چین می ایستد تا از لبه بیرون نزند. */
.sm-drop{
  /* در سایت راست چین، منوی کشویی باید لبه راستش با لبه راست عنوان یکی
     باشد و به سمت چپ باز شود — نه اینکه وسط چین زیر عنوان بایستد.
     inset-inline-start در حالت rtl همان right است. */
  position:absolute;top:calc(100% + 8px);inset-inline-start:0;transform:translateY(9px);
  background:#fff;border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-l);padding:16px;z-index:30;
  display:grid;grid-template-columns:repeat(3,minmax(178px,1fr));gap:2px 6px;
  width:max-content;max-width:min(660px,92vw);
  opacity:0;visibility:hidden;transition:opacity .18s,transform .18s,visibility .18s
}
.sm-drop::before{                 /* پل نامرئی تا موقع حرکت ماوس منو بسته نشود */
  content:'';position:absolute;top:-12px;inset-inline:0;height:12px;pointer-events:auto
}
.sm-drop::after{                  /* فلش کوچک، دقیقاً زیر عنوان «خدمات» */
  content:'';position:absolute;top:-7px;inset-inline-start:30px;
  width:13px;height:13px;background:#fff;border-inline-start:1px solid var(--line);
  border-block-start:1px solid var(--line);transform:rotate(45deg);border-radius:3px 0 0 0
}
.sm-nav__item:hover .sm-drop,
.sm-nav__item:focus-within .sm-drop{opacity:1;visibility:visible;transform:translateY(0)}
.sm-drop a{
  display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:11px;
  font-size:14.2px;font-weight:700;color:var(--ink-soft);line-height:1.7;
  white-space:nowrap;transition:background .15s,color .15s
}
.sm-drop a::before{
  content:'';width:6px;height:6px;border-radius:50%;flex:none;
  background:var(--line);transition:background .15s,transform .15s
}
@media (hover:hover){
  .sm-drop a:hover{background:var(--paper);color:var(--teal-d)}
  .sm-drop a:hover::before{background:var(--amber);transform:scale(1.35)}
}
@media (max-width:1200px){
  .sm-drop{grid-template-columns:repeat(2,minmax(170px,1fr));max-width:min(460px,92vw)}
}

.sm-header__act{display:flex;align-items:center;gap:9px;margin-inline-start:auto}
.sm-burger{
  display:none;width:46px;height:46px;border:1px solid var(--line);background:#fff;
  border-radius:12px;font-size:19px;color:var(--ink);cursor:pointer
}
@media (max-width:1080px){
  .sm-nav{
    position:fixed;inset-block:0;inset-inline-end:-320px;width:300px;background:#fff;
    flex-direction:column;align-items:stretch;gap:2px;padding:22px 16px;overflow-y:auto;
    box-shadow:var(--shadow-l);transition:inset-inline-end .28s ease;z-index:120;
    padding-block-end:calc(30px + env(safe-area-inset-bottom));overscroll-behavior:contain
  }
  .sm-nav.is-open{inset-inline-end:0}
  .sm-nav > a,.sm-nav__item > a{padding:13px 12px;border-bottom:1px dashed var(--line);border-radius:0;min-height:48px}
  .sm-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;
    padding:0 0 8px;display:none;background:var(--paper);
    grid-template-columns:1fr;width:auto;max-width:none;border-radius:0}
  .sm-drop::before,.sm-drop::after{display:none}
  .sm-nav__item.is-open .sm-drop{display:grid}
  .sm-burger{display:grid;place-items:center}
  .sm-header__act .sm-btn{display:none}
  .sm-overlay{position:fixed;inset:0;background:rgba(9,20,36,.5);z-index:90;opacity:0;visibility:hidden;transition:.25s}
  .sm-overlay.is-on{opacity:1;visibility:visible}
}
@media (max-width:640px){
  .sm-topbar__note,.sm-topbar__cta{display:none}
  .sm-topbar .container{justify-content:space-between}
  .sm-logo img{max-height:44px}
  .sm-logo__txt strong{font-size:17px}
  .sm-logo__txt span{font-size:11px}
  .sm-header .container{min-height:66px}
}

/* ==========================================================================
   صفحه اصلی — هیرو
   ========================================================================== */
.sm-hero{position:relative;background:var(--ink);overflow:hidden}
.sm-hero__slide{position:relative;min-height:clamp(330px,42vw,470px);display:flex;align-items:center}
.sm-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.sm-hero__slide::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(270deg,rgba(9,22,42,.92) 0%,rgba(9,22,42,.72) 45%,rgba(9,22,42,.25) 100%)
}
.sm-hero__in{position:relative;z-index:2;max-width:640px;padding-block:38px}
.sm-hero h1,.sm-hero h2{color:#fff;font-size:clamp(23px,4.3vw,42px);margin:0 0 14px;line-height:1.55}
.sm-hero p{color:#d3dfee;font-size:clamp(14.5px,1.7vw,17.5px);margin:0 0 22px}
.sm-hero__btns{display:flex;flex-wrap:wrap;gap:11px}
.sm-hero .swiper-pagination-bullet{background:#fff;opacity:.45;width:9px;height:9px}
.sm-hero .swiper-pagination-bullet-active{opacity:1;background:var(--teal);width:26px;border-radius:5px}
@media (max-width:640px){
  .sm-hero__slide::after{background:linear-gradient(0deg,rgba(9,22,42,.94) 20%,rgba(9,22,42,.6) 100%)}
  .sm-hero__btns .sm-btn{flex:1 1 100%}
}

/* ---------- کاشی های سرویس سریع ---------- */
.sm-quick{margin-top:-34px;position:relative;z-index:5;padding-bottom:8px}
.sm-quick__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sm-quick__i{
  display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:15px 16px;box-shadow:var(--shadow-s);
  font-weight:800;color:var(--ink);font-size:15px;min-height:64px;transition:.18s
}
.sm-quick__i span{
  width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;
  background:linear-gradient(140deg,rgba(14,156,150,.14),rgba(224,145,44,.16));color:var(--teal-d);font-size:16px
}
@media (hover:hover){
  .sm-quick__i:hover{transform:translateY(-3px);box-shadow:var(--shadow-m);border-color:var(--teal);color:var(--teal-d)}
}
@media (max-width:900px){.sm-quick__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.sm-quick__i{font-size:13.5px;padding:12px;min-height:56px}}

/* ---------- نوار اعتماد ---------- */
.sm-trust{padding:30px 0 6px}
.sm-trust__grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.sm-trust__i{
  display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px dashed var(--line);
  border-radius:100px;padding:8px 17px;font-size:14px;font-weight:700;color:var(--ink-soft)
}
.sm-trust__i i{color:var(--ok)}

/* ---------- بخش ها ---------- */
.sm-sec{padding:56px 0}
.sm-sec--paper{background:var(--paper-2)}
.sm-sec--ink{background:var(--ink);color:#cfdcec}
.sm-sec--ink h2,.sm-sec--ink .sm-head h2{color:#fff}
.sm-sec--ink .sm-head p{color:#a9bdd4}

/* کارت خدمات */
.sm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sm-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--shadow-s);transition:.2s;position:relative
}
.sm-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.sm-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.sm-card__b{padding:17px 19px 20px;display:flex;flex-direction:column;flex:1}
.sm-card h3{font-size:17.5px;margin:0 0 8px}
.sm-card p{color:var(--muted);font-size:14.5px;margin:0 0 14px;flex:1}
.sm-card__go{
  display:inline-flex;align-items:center;gap:7px;color:var(--teal-d);font-weight:800;font-size:14.5px
}
@media (hover:hover){
  .sm-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-m);border-color:var(--teal)}
  .sm-card:hover .sm-card__img img{transform:scale(1.06)}
}
@media (max-width:920px){.sm-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.sm-cards{grid-template-columns:1fr}}

/* آمار */
.sm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sm-stat{text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);padding:20px 12px}
.sm-stat b{display:block;font-size:clamp(22px,3.6vw,34px);color:var(--amber);font-weight:900;line-height:1.5}
.sm-stat span{font-size:14px;color:#b9cbe0}
@media (max-width:640px){.sm-stats{grid-template-columns:repeat(2,1fr)}}

/* مراحل کار */
.sm-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:st}
.sm-step{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px 18px;
  text-align:center;position:relative;counter-increment:st
}
.sm-step::before{
  content:counter(st);position:absolute;inset-block-start:-15px;inset-inline-start:50%;
  transform:translateX(50%);width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;
  display:grid;place-items:center;font-weight:900;font-size:15px
}
.sm-step i{font-size:27px;color:var(--teal);margin:10px 0 9px;display:block}
.sm-step h3{font-size:16px;margin:0 0 6px}
.sm-step p{font-size:13.8px;color:var(--muted);margin:0}
@media (max-width:900px){.sm-steps{grid-template-columns:repeat(2,1fr);gap:26px 16px}}

/* درباره */
.sm-about{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}
.sm-about__txt{font-size:15.5px;color:var(--ink-soft)}
.sm-about__txt h2{font-size:clamp(20px,3vw,28px)}
.sm-about__box{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);padding:24px;
  box-shadow:var(--shadow-s)
}
.sm-about__box ul{list-style:none;margin:0;padding:0}
.sm-about__box li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.sm-about__box li:last-child{border-bottom:0}
.sm-about__box li i{color:var(--teal);margin-top:7px}
@media (max-width:880px){.sm-about{grid-template-columns:1fr}}

/* گالری کتاب */
.sm-books{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.sm-books a{
  display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff;
  aspect-ratio:3/4;box-shadow:var(--shadow-s)
}
.sm-books img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
@media (hover:hover){.sm-books a:hover img{transform:scale(1.07)}}
@media (max-width:900px){.sm-books{grid-template-columns:repeat(4,1fr)}}
@media (max-width:520px){.sm-books{grid-template-columns:repeat(3,1fr);gap:10px}}

/* مقالات */
.sm-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:920px){.sm-posts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.sm-posts{grid-template-columns:1fr}}

/* سوالات متداول صفحه اصلی */
.sm-faq{max-width:860px;margin-inline:auto}
.sm-faq__i{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:11px;overflow:hidden}
.sm-faq__q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;background:none;border:0;cursor:pointer;font-family:var(--font);
  font-size:15.6px;font-weight:800;color:var(--ink);text-align:start;line-height:1.7
}
.sm-faq__q i{color:var(--teal);transition:transform .22s;font-size:14px}
.sm-faq__i.is-open .sm-faq__q i{transform:rotate(180deg)}
.sm-faq__a{max-height:0;overflow:hidden;transition:max-height .28s ease}
.sm-faq__a p{padding:0 18px 17px;margin:0;color:var(--ink-soft);font-size:14.7px}

/* CTA پایانی */
.sm-cta{
  background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);color:#fff;
  border-radius:var(--radius-l);padding:34px 30px;display:flex;align-items:center;
  justify-content:space-between;gap:24px;flex-wrap:wrap;box-shadow:var(--shadow-m)
}
.sm-cta h2{color:#fff;margin:0 0 7px;font-size:clamp(19px,2.8vw,26px)}
.sm-cta p{color:#bccee2;margin:0;font-size:15px}
.sm-cta__b{display:flex;gap:10px;flex-wrap:wrap}

/* ==========================================================================
   فوتر
   ========================================================================== */
.sm-footer{background:var(--ink);color:#a9bdd4;margin-top:52px;position:relative}
.sm-footer::before{
  content:"";display:block;height:6px;
  background:repeating-linear-gradient(90deg,var(--teal) 0 26px,var(--amber) 26px 52px)
}
.sm-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;padding:44px 0 34px}
.sm-footer h4{color:#fff;font-size:16.5px;margin:0 0 16px;position:relative;padding-bottom:10px}
.sm-footer h4::after{content:"";position:absolute;inset-block-end:0;inset-inline-start:0;width:38px;height:3px;background:var(--teal);border-radius:3px}
.sm-footer a{color:#a9bdd4}
@media (hover:hover){.sm-footer a:hover{color:#fff}}
.sm-footer ul{list-style:none;margin:0;padding:0}
.sm-footer li{padding:5px 0;font-size:14.4px}
.sm-footer li i{color:var(--teal);font-size:12px;margin-inline-end:6px}
.sm-footer__about{font-size:14.4px;line-height:2}
.sm-footer__logo img{max-height:60px;margin-bottom:12px}
.sm-footer__ct li{display:flex;gap:9px;align-items:flex-start}
.sm-footer__ct i{color:var(--teal);margin-top:8px}
.sm-footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:16px 0;font-size:13.4px;text-align:center}
@media (max-width:900px){.sm-footer__grid{grid-template-columns:repeat(2,1fr);gap:26px}}
@media (max-width:560px){.sm-footer__grid{grid-template-columns:1fr}}

/* ==========================================================================
   دکمه های شناور و نوار موبایل
   ========================================================================== */
.sm-float{position:fixed;inset-inline-end:16px;inset-block-end:96px;z-index:80;display:grid;gap:10px}
.sm-float a{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:21px;
  box-shadow:var(--shadow-m)
}
.sm-float .is-wa{background:var(--wa)}
.sm-float .is-tel{background:var(--teal)}
.sm-float .is-tg{background:#2ba0dd}
@media (min-width:861px){.sm-float{inset-block-end:26px}}

.sm-mobar{
  position:fixed;inset-inline:0;inset-block-end:0;z-index:95;background:#fff;
  border-top:1px solid var(--line);display:none;
  grid-template-columns:repeat(4,1fr);box-shadow:0 -6px 22px rgba(14,35,64,.12);
  padding-block-end:env(safe-area-inset-bottom)
}
.sm-mobar a{display:grid;place-items:center;gap:3px;padding:9px 4px;font-size:11.5px;font-weight:700;color:var(--ink-soft);min-height:56px}
.sm-mobar a i{font-size:18px}
.sm-mobar a.is-main{color:var(--teal-d)}
@media (max-width:860px){
  .sm-mobar{display:grid}
  body{padding-block-end:64px}
}

/* ==========================================================================
   اصلاحیه ۱ — منوی چندسطحی و سرریز نشدن هدر
   ========================================================================== */
.sm-header .container{flex-wrap:nowrap}
.sm-nav{flex:1;justify-content:flex-start;min-width:0;flex-wrap:wrap;row-gap:2px}
.sm-nav > a,.sm-nav__item > a{font-size:15px;padding:9px 11px}
@media (max-width:1240px){
  .sm-nav > a,.sm-nav__item > a{font-size:14.2px;padding:8px 8px}
}
@media (max-width:1180px){
  .sm-logo__txt span{display:none}
  .sm-header__act .sm-btn{padding:11px 16px;font-size:14px}
}
/* زیر ۱۱۲۰ پیکسل منو کشویی می شود تا هرگز سرریز نکند */
@media (max-width:1120px){
  .sm-nav{
    position:fixed;inset-block:0;inset-inline-end:-320px;width:300px;background:#fff;
    flex-direction:column;align-items:stretch;gap:2px;padding:22px 16px;overflow-y:auto;
    box-shadow:var(--shadow-l);transition:inset-inline-end .28s ease;z-index:120;
    padding-block-end:calc(30px + env(safe-area-inset-bottom));overscroll-behavior:contain;flex-wrap:nowrap
  }
  .sm-nav.is-open{inset-inline-end:0}
  .sm-nav > a,.sm-nav__item > a{padding:13px 12px;border-bottom:1px dashed var(--line);border-radius:0;min-height:48px;font-size:15px}
  .sm-nav__item > a{justify-content:space-between}
  .sm-drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;
    padding:0;display:none;background:var(--paper);border-radius:0;
    grid-template-columns:1fr;width:auto;max-width:none}
  .sm-drop::before,.sm-drop::after{display:none}
  .sm-nav__item.is-open .sm-drop{display:grid}
  .sm-drop a{padding:11px 22px;border-bottom:1px dashed var(--line);border-radius:0}
  .sm-drop a::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--amber)}
  .sm-burger{display:grid;place-items:center}
}

/* ==========================================================================
   کارت های خدمات صفحه اصلی — طراحی چاپخانه ای
   (بدون خلاصه متن؛ تصویر + برچسب چاپ + نوار جوهر پایین)
   ========================================================================== */
.sm-srv{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sm-srv__i{
  position:relative;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);
  box-shadow:var(--shadow-s);transition:transform .22s,box-shadow .22s,border-color .22s
}
.sm-srv__media{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.sm-srv__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.sm-srv__media::after{
  content:'';position:absolute;inset:auto 0 0 0;height:58%;
  background:linear-gradient(to top,rgba(14,35,64,.55),transparent)
}
.sm-srv__tag{
  position:absolute;top:12px;inset-inline-end:12px;z-index:2;
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.94);color:var(--teal-d);font-size:15px;
  box-shadow:0 6px 18px rgba(14,35,64,.18)
}
.sm-srv__b{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:16px 18px 18px
}
.sm-srv__b::before{
  content:'';position:absolute;top:0;inset-inline-start:18px;inset-inline-end:18px;height:3px;border-radius:3px;
  background:repeating-linear-gradient(90deg,var(--teal) 0 12px,transparent 12px 20px,var(--amber) 20px 32px,transparent 32px 40px);
  opacity:.5;transition:opacity .22s
}
.sm-srv__t{font-size:17px;font-weight:900;color:var(--ink);line-height:1.7}
.sm-srv__go{
  display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:800;
  color:var(--teal-d);white-space:nowrap
}
.sm-srv__go i{transition:transform .22s}
@media (hover:hover){
  .sm-srv__i:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:var(--teal)}
  .sm-srv__i:hover .sm-srv__media img{transform:scale(1.07)}
  .sm-srv__i:hover .sm-srv__b::before{opacity:1}
  .sm-srv__i:hover .sm-srv__go i{transform:translateX(-4px)}
}
@media (max-width:980px){.sm-srv{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:560px){
  .sm-srv{grid-template-columns:repeat(2,1fr);gap:11px}
  .sm-srv__b{flex-direction:column;align-items:flex-start;gap:7px;padding:13px 14px 15px}
  .sm-srv__t{font-size:14.6px}
  .sm-srv__go{font-size:12.6px}
  .sm-srv__tag{width:32px;height:32px;font-size:13px;top:9px;inset-inline-end:9px}
}

/* ==========================================================================
   جداکننده بین سکشن ها
   شکل «پر» است، نه خط. زمینه اش رنگ سکشن بالا و شکل داخلش رنگ سکشن پایین
   را دارد؛ بنابراین هیچ درز یا خط اضافه ای بین سکشن ها دیده نمی شود.
   یک نوار مویی گرادیانی روی خود مسیر کشیده شده تا هویت رنگی برند حفظ شود.
   ========================================================================== */
.sm-div{
  position:relative;width:100%;line-height:0;display:block;
  background:var(--sm-top,var(--paper));
  margin:0;padding:0;border:0;pointer-events:none
}
.sm-div svg{display:block;width:100%;height:auto}
.sm-div--wave svg{height:58px}
.sm-div--arc svg{height:60px}
.sm-div--zigzag svg{height:46px}
.sm-div--slant svg{height:54px}
.sm-div--steps svg{height:48px}
@media (max-width:700px){
  .sm-div svg{height:34px}
  .sm-div--zigzag svg{height:26px}
}

/* نشان چاپی — وقتی رنگ دو طرف یکی است و شکل معنا ندارد */
.sm-mark{
  display:flex;align-items:center;justify-content:center;gap:18px;
  background:var(--sm-mark-bg,var(--paper));padding:26px 24px;margin:0
}
.sm-mark__l{
  flex:1;max-width:280px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(14,35,64,.22),transparent)
}
.sm-mark__s{width:26px;height:26px;flex:none;opacity:.9}

/* ==========================================================================
   نوار اعتماد — دسکتاپ ثابت، موبایل نوار متحرک تک خطی
   ========================================================================== */
.sm-trust{padding:22px 0;background:var(--paper-2);border-top:1px solid var(--line)}
.sm-trust__grid{overflow:hidden}
.sm-trust__run{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 26px
}
.sm-trust__i{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-size:14.5px;font-weight:800;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;
  box-shadow:var(--shadow-s)
}
.sm-trust__i i{color:var(--teal);font-size:14px}
/* در دسکتاپ نسخه تکراری (برای حلقه بی وقفه) لازم نیست */
@media (min-width:721px){
  .sm-trust__i[aria-hidden="true"]{display:none}
}
@media (max-width:720px){
  .sm-trust{padding:14px 0}
  .sm-trust__grid{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
            mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)
  }
  .sm-trust__run{
    flex-wrap:nowrap;justify-content:flex-start;gap:0;width:max-content;
    animation:sm-marquee 22s linear infinite
  }
  .sm-trust__i{margin-inline-end:12px;font-size:13.4px;padding:8px 14px}
  .sm-trust__grid:hover .sm-trust__run,
  .sm-trust__grid:focus-within .sm-trust__run{animation-play-state:paused}
}
@keyframes sm-marquee{
  from{transform:translateX(0)}
  to{transform:translateX(50%)}      /* نیمی از نوار = یک دور کامل چون محتوا دوبار تکرار شده */
}
@media (prefers-reduced-motion:reduce){
  .sm-trust__run{animation:none!important;flex-wrap:wrap!important;width:auto!important;justify-content:center!important}
  .sm-trust__i[aria-hidden="true"]{display:none}
}

/* ==========================================================================
   کروسل (کتاب های چاپ شده)
   ========================================================================== */
.sm-car{position:relative;padding:0 4px}
.sm-car__vp{
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;cursor:grab;
  padding:4px 2px 8px
}
.sm-car__vp::-webkit-scrollbar{display:none}
.sm-car__vp.is-drag{cursor:grabbing;scroll-snap-type:none}
.sm-car__track{display:flex;gap:16px;width:max-content}
.sm-car__i{
  flex:0 0 auto;width:210px;margin:0;scroll-snap-align:start;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);
  overflow:hidden;box-shadow:var(--shadow-s);transition:transform .25s,box-shadow .25s,border-color .25s
}
.sm-car__i a{position:relative;display:block;overflow:hidden}
.sm-car__i img{
  width:100%;aspect-ratio:3/4;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1)
}
.sm-car__zoom{
  position:absolute;inset:0;display:grid;place-items:center;
  background:linear-gradient(180deg,rgba(14,35,64,0),rgba(14,35,64,.55));
  color:#fff;font-size:20px;opacity:0;transition:opacity .25s
}
.sm-car__i figcaption{
  font-size:13px;color:var(--ink-soft);text-align:center;padding:10px 10px 12px;
  background:var(--paper);border-top:1px solid var(--line);line-height:1.8;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden
}
@media (hover:hover){
  .sm-car__i:hover{transform:translateY(-5px);box-shadow:var(--shadow-m);border-color:var(--teal)}
  .sm-car__i:hover img{transform:scale(1.06)}
  .sm-car__i:hover .sm-car__zoom{opacity:1}
}
.sm-car__nav{
  position:absolute;top:calc(50% - 22px);transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;
  box-shadow:var(--shadow-m);transition:.18s;font-size:15px
}
.sm-car__nav.is-prev{inset-inline-start:-14px}
.sm-car__nav.is-next{inset-inline-end:-14px}
.sm-car__nav:disabled{opacity:.32;cursor:default;box-shadow:none}
@media (hover:hover){
  .sm-car__nav:not(:disabled):hover{background:var(--teal);color:#fff;border-color:transparent}
}
.sm-car__dots{display:flex;justify-content:center;gap:7px;margin-top:14px}
.sm-car__dots button{
  width:8px;height:8px;padding:0;border:none;border-radius:50%;cursor:pointer;
  background:var(--line);transition:.2s
}
.sm-car__dots button.is-on{width:26px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--amber))}
@media (max-width:900px){
  .sm-car__nav{display:none}
  .sm-car{padding:0}
}
@media (max-width:560px){
  .sm-car__i{width:150px}
  .sm-car__track{gap:11px}
}

/* رنگ دکمه های شبکه اجتماعی (مشترک در کل سایت) */
.sm-soc-btn.is-wa{background:var(--wa);color:#fff}
.sm-soc-btn.is-tg{background:#229ed9;color:#fff}
.sm-soc-btn.is-bale{background:#1b8f5a;color:#fff}
.sm-soc-btn.is-eitaa{background:#ef7f1a;color:#fff}
.sm-soc-btn.is-rubika{background:#7a5cf0;color:#fff}
.sm-soc-btn.is-ig{background:linear-gradient(135deg,#f09433,#dc2743,#bc1888);color:#fff}
.sm-soc-btn.is-aparat{background:#e02f2f;color:#fff}
.sm-soc-btn.is-yt{background:#f00;color:#fff}
.sm-soc-btn.is-in{background:#0a66c2;color:#fff}
.sm-soc-btn.is-x{background:#111;color:#fff}
@media (hover:hover){.sm-soc-btn:hover{filter:brightness(1.09)}}

/* ==========================================================================
   کروسل مقالات صفحه اصلی
   ========================================================================== */
.sm-car--posts .sm-car__track{gap:18px}
.sm-post{
  flex:0 0 auto;width:326px;margin:0;scroll-snap-align:start;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-l);
  overflow:hidden;box-shadow:var(--shadow-s);
  transition:transform .25s,box-shadow .25s,border-color .25s
}
.sm-post > a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.sm-post__img{display:block;overflow:hidden;background:var(--paper-2)}
.sm-post__img img{
  width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1)
}
.sm-post__b{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.sm-post__t{
  font-size:16px;font-weight:900;line-height:1.85;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.sm-post__x{
  font-size:13.6px;line-height:1.95;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.sm-post__go{
  margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);
  display:inline-flex;align-items:center;gap:6px;
  font-size:13.4px;font-weight:800;color:var(--teal-d)
}
.sm-post__go i{transition:transform .22s}
@media (hover:hover){
  .sm-post:hover{transform:translateY(-5px);box-shadow:var(--shadow-m);border-color:var(--teal)}
  .sm-post:hover .sm-post__img img{transform:scale(1.06)}
  .sm-post:hover .sm-post__go i{transform:translateX(-4px)}
}
@media (max-width:560px){
  .sm-post{width:min(280px,82vw)}
  .sm-car--posts .sm-car__track{gap:12px}
}

/* دکمه های شناور در موبایل کمی کوچک تر تا روی دکمه های تمام عرض ننشینند */
@media (max-width:640px){
  .sm-float{inset-inline-end:11px;gap:8px}
  .sm-float a{width:44px;height:44px;font-size:18px;opacity:.94}
}

/* تگ address نباید ایتالیک شود (پیش فرض مرورگر) */
address,.sm-footer__ct-wrap{font-style:normal}

/* ==========================================================================
   لوگو — هدر و فوتر
   ========================================================================== */
/* وقتی لوگوی تصویری هست، خودِ تصویر برند را می رساند و متنی کنارش نمی آید */
.sm-logo.has-img{gap:0}
.sm-logo.has-img img{max-height:52px;width:auto;object-fit:contain}
@media (max-width:1120px){.sm-logo.has-img img{max-height:44px}}
@media (max-width:520px){.sm-logo.has-img img{max-height:38px}}

/* --- لوگوی فوتر داخل کارت روشن ---
   فوتر تیره است و لوگوهای رنگی روی زمینه تیره خوانا نیستند. لوگو داخل یک
   کارت کاغذی می نشیند تا مثل «کارت ویزیت چاپ شده» دیده شود — متناسب با
   هویت یک چاپخانه. */
.sm-flogo{margin-bottom:16px}
.sm-flogo__card{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:14px 22px;border-radius:16px;
  background:linear-gradient(150deg,#fff 0%,#f8f5ef 100%);
  box-shadow:0 12px 30px rgba(0,0,0,.28), 0 1px 0 rgba(255,255,255,.7) inset;
  overflow:hidden;isolation:isolate
}
/* بافت نقطه چین کاغذ چاپ */
.sm-flogo__card::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background-image:radial-gradient(circle at 1px 1px, rgba(14,35,64,.06) 1px, transparent 0);
  background-size:14px 14px
}
/* نوار جوهر گوشه — امضای بصری برند */
.sm-flogo__card::after{
  content:'';position:absolute;top:0;inset-inline-start:0;width:5px;height:100%;
  background:linear-gradient(180deg,var(--teal),var(--amber))
}
.sm-flogo__card img{
  max-height:58px;width:auto;display:block;object-fit:contain;position:relative
}
/* خط راه راه چاپی زیر کارت */
.sm-flogo__rule{
  display:block;width:96px;height:5px;margin-top:14px;border-radius:5px;
  background:repeating-linear-gradient(90deg,
    var(--teal) 0 12px, transparent 12px 18px,
    var(--amber) 18px 30px, transparent 30px 36px);
  opacity:.6
}
@media (hover:hover){
  .sm-flogo__card{transition:transform .3s, box-shadow .3s}
  .sm-flogo__card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.34)}
}
@media (max-width:900px){
  .sm-flogo__card{padding:12px 18px}
  .sm-flogo__card img{max-height:48px}
}

/* امضای سازنده سایت زیر کپی رایت */
.sm-footer__bottom .container{
  display:flex;flex-direction:column;align-items:center;gap:7px
}
.sm-copy{display:block}
.sm-credit{
  display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;
  font-size:12.8px;color:rgba(255,255,255,.6);letter-spacing:0
}
.sm-credit b,.sm-credit a{font-weight:800;color:rgba(255,255,255,.85);text-decoration:none}
.sm-credit a{border-bottom:1px dotted rgba(255,255,255,.35);padding-bottom:1px}
@media (hover:hover){.sm-credit a:hover{color:var(--amber);border-bottom-color:var(--amber)}}
@media (max-width:560px){.sm-credit{font-size:12.2px}}
