/*
Theme Name: Dr. Atazadeh — Lumen
Theme URI: https://mohsenatazadeh.com
Author: —
Description: پوسته‌ی اختصاصی دکتر محسن عطازاده — نسخه‌ی روشن (Lumen). پس‌زمینه‌ی گرادیانی ملایم، قاب سفید شناور، کارت‌های گرد و تایپوگرافی وزیرمتن. راست‌چین.
Version: 2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL v2 or later
Text Domain: dratz-lumen
*/

/* ==========================================================================
   ۰. توکن‌ها
   ========================================================================== */

:root{
  --navy:       #1B2559;
  --blue:       #5B6CF0;
  --blue-deep:  #4657DE;
  --blue-soft:  #EBEEFE;
  --blue-tint:  #F5F7FF;

  --mint:       #2FBF77;
  --mint-soft:  #E3F6EC;

  --ink:        #1B2559;
  --ink-mid:    #545E80;
  --ink-soft:   #8A93AF;

  --line:       #EEF0F8;
  --line-2:     #E3E7F4;

  /* --- عمق فضایی (spatial) ---
     هر لایه دو سایه دارد: یکی نرم و پخش (نور محیط) و یکی نزدیک‌تر و
     تیره‌تر (تماس با سطح). هرچه عنصر «جلوتر» باشد، فاصله و پخش بیشتر. */
  --d0: 0 1px 2px rgba(27,37,89,.05);
  --d1: 0 1px 2px rgba(27,37,89,.05), 0 4px 12px -4px rgba(27,37,89,.09);
  --d2: 0 2px 4px rgba(27,37,89,.05), 0 12px 26px -10px rgba(27,37,89,.15);
  --d3: 0 4px 8px rgba(27,37,89,.05), 0 26px 50px -18px rgba(27,37,89,.22);
  --d4: 0 8px 14px rgba(27,37,89,.06), 0 48px 90px -30px rgba(27,37,89,.30);
  --d5: 0 12px 20px rgba(27,37,89,.07), 0 70px 130px -40px rgba(27,37,89,.36);

  --sh-xs: var(--d0);
  --sh-sm: var(--d1);
  --sh-md: var(--d3);
  --sh-lg: var(--d5);

  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 24px;
  --r-xl: 32px;
  --r-2xl: 44px;
  --pill: 999px;

  --font: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --shell: 1280px;
}

*, *::before, *::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

/* پس‌زمینه‌ی گرادیانی صفحه — امضای اصلی این استایل */
body{
  margin: 0;
  padding: 18px;
  min-height: 100vh;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink-mid);
  background:
    radial-gradient(70% 55% at 100% 0%, #D9E1FB 0%, rgba(217,225,251,0) 62%),
    radial-gradient(65% 55% at 0% 100%, #DDF1E4 0%, rgba(221,241,228,0) 62%),
    radial-gradient(60% 50% at 0% 0%,   #E7ECFE 0%, rgba(231,236,254,0) 60%),
    #F2F5FC;
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4,p,figure,blockquote,ol,ul{ margin: 0; }
ol,ul{ padding: 0; list-style: none; }
h1,h2,h3,h4{ color: var(--ink); font-weight: 700; line-height: 1.42; letter-spacing: -.5px; }
a{ color: inherit; text-decoration: none; }
img,svg{ max-width: 100%; display: block; }
button{ font-family: inherit; }

/* قاب سفید شناور که کل سایت داخل آن است */
.shell{
  max-width: var(--shell);
  margin: 0 auto;
  background: #fff;
  border-radius: var(--r-2xl);
  box-shadow: var(--d5);
  overflow: hidden;
}

.wrap{ width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 40px; }

.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
:focus-visible{ outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 6px; }

/* ==========================================================================
   ۱. عناصر پایه
   ========================================================================== */

.eyebrow{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: var(--blue);
  margin-bottom: 16px;
}
.eyebrow svg{ width: 15px; height: 15px; }
.eyebrow--mint{ color: var(--mint); }

.btn{
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-size: 15px; font-weight: 600;
  padding: 15px 30px;
  border-radius: var(--pill);
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
  -webkit-tap-highlight-color: transparent;
}
.btn svg{ width: 16px; height: 16px; flex: none; }
.btn-blue{ background: var(--blue); color: #fff; box-shadow: 0 14px 26px -14px rgba(91,108,240,.85); }
.btn-blue:hover{ background: var(--blue-deep); transform: translateY(-2px); }
.btn-white{ background: #fff; color: var(--ink); border-color: var(--line-2); box-shadow: var(--sh-xs); }
.btn-white:hover{ border-color: var(--blue); color: var(--blue); transform: translateY(-2px); }

.link-ul{
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 14.5px; font-weight: 600; color: var(--blue);
  padding-bottom: 9px;
  border-bottom: 1.5px solid var(--blue-soft);
  transition: border-color .2s ease;
}
.link-ul:hover{ border-bottom-color: var(--blue); }
.link-ul svg{ width: 14px; height: 14px; transition: transform .2s ease; }
.link-ul:hover svg{ transform: translateX(-4px); }

.sec{ padding: 88px 0; }
.sec-head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; flex-wrap: wrap; margin-bottom: 40px; }
.sec-head h2{ font-size: clamp(26px, 2.7vw, 38px); }
.sec-head p{ max-width: 46ch; margin-top: 12px; font-size: 15.5px; line-height: 1.95; color: var(--ink-soft); }
.sec-head--center{ flex-direction: column; align-items: center; text-align: center; }
.sec-head--center p{ margin-inline: auto; }

/* ستاره‌های تزئینی پراکنده */
.spark{ position: absolute; color: var(--blue); opacity: .32; pointer-events: none; z-index: 1; }
.spark svg{ width: 100%; height: 100%; }

/* ==========================================================================
   ۲. ناوبری
   ========================================================================== */

.nav{
  position: sticky; top: 0; z-index: 40;
  padding: 14px 0 6px;
  background: linear-gradient(to bottom, rgba(255,255,255,.96) 40%, rgba(255,255,255,0));
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}

/* «جزیره‌ی» ناوبری — از لبه‌های قاب فاصله دارد و روی محتوا شناور است */
.nav-row{
  display: flex; align-items: center; gap: 22px;
  padding: 10px 14px 10px 26px;
  border-radius: var(--pill);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: var(--d1);
  transition: box-shadow .3s ease, background .3s ease;
}
.nav.is-stuck .nav-row{ background: rgba(255,255,255,.94); box-shadow: var(--d3); }

/* نام دکتر — فقط نوشته، بدون هیچ نشان یا کادر پشتش */
.logo{ display: block; flex: none; }
.logo b{
  display: block;
  font-size: 17px; font-weight: 700; color: var(--ink);
  line-height: 1.28; letter-spacing: -.4px;
}
.logo i{
  display: block; font-style: normal;
  font-size: 11.5px; font-weight: 500; color: var(--ink-soft); line-height: 1.35;
}

.nav-links{ display: flex; align-items: center; gap: 2px; margin-inline: auto; }
.nav-links a{
  font-size: 14.5px; font-weight: 500; color: var(--ink-mid);
  padding: 9px 15px; border-radius: var(--pill);
  transition: background .2s ease, color .2s ease;
}
.nav-links a:hover{ background: var(--blue-tint); color: var(--blue); }
.nav-links a.is-current{ color: var(--ink); font-weight: 600; background: var(--blue-tint); }

.nav-actions{ display: flex; align-items: center; gap: 8px; flex: none; }
.nav-tel{
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13.5px; font-weight: 600; color: var(--ink);
  padding: 10px 18px; border-radius: var(--pill);
  border: 1px solid var(--line-2); background: #fff;
  transition: border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.nav-tel:hover{ border-color: var(--blue); color: var(--blue); box-shadow: var(--d1); }
.nav-tel svg{ width: 15px; height: 15px; }
.nav-cta{
  font-size: 13.5px; font-weight: 600; color: #fff; background: var(--navy);
  padding: 12px 22px; border-radius: var(--pill);
  box-shadow: var(--d2);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.nav-cta:hover{ background: #121A42; transform: translateY(-2px); box-shadow: var(--d3); }

.burger{
  display: none; width: 44px; height: 44px;
  border: 1px solid var(--line-2); border-radius: 12px; background: #fff;
  cursor: pointer; padding: 0;
  flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  margin-inline-start: auto;
  -webkit-tap-highlight-color: transparent;
}
.burger span{ display: block; width: 18px; height: 1.8px; background: var(--ink); border-radius: 2px; }

.backdrop{ position: fixed; inset: 0; z-index: 55; background: rgba(27,37,89,.42); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); animation: fade .2s ease; }
.backdrop[hidden]{ display: none; }
@keyframes fade{ from{opacity:0} to{opacity:1} }

.drawer{
  position: fixed; z-index: 60; inset-inline: 12px; top: 12px;
  max-height: calc(100dvh - 24px); overflow-y: auto; -webkit-overflow-scrolling: touch;
  padding: 0 22px calc(26px + env(safe-area-inset-bottom));
  background: #fff; border-radius: var(--r-xl); box-shadow: var(--sh-lg);
  animation: drop .25s cubic-bezier(.2,.7,.3,1);
}
.drawer[hidden]{ display: none; }
@keyframes drop{ from{ transform: translateY(-14px); opacity:0 } to{ transform: translateY(0); opacity:1 } }
.drawer-top{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0 14px; }
.drawer-close{
  flex: none; width: 44px; height: 44px; display: grid; place-items: center;
  border: 1px solid var(--line-2); border-radius: 50%; background: #fff; color: var(--ink);
  cursor: pointer; padding: 0; transition: background .2s ease, border-color .2s ease;
}
.drawer-close:hover, .drawer-close:active{ background: var(--blue-soft); border-color: var(--blue); color: var(--blue); }
.drawer-close svg{ width: 20px; height: 20px; }
.drawer-links{ display: flex; flex-direction: column; }
.drawer-links a{ padding: 16px 4px; font-size: 16.5px; font-weight: 500; color: var(--ink); border-bottom: 1px solid var(--line); }
.drawer-links a:first-child{ border-top: 1px solid var(--line); }
.drawer-cta{ display: block; text-align: center; margin-top: 22px; background: var(--blue); color: #fff; font-size: 15.5px; font-weight: 600; padding: 16px; border-radius: var(--pill); }
.drawer-tel{ display: block; text-align: center; margin-top: 10px; font-size: 14.5px; font-weight: 600; color: var(--blue); padding: 15px; border: 1px solid var(--line-2); border-radius: var(--pill); }
body.drawer-open{ position: fixed; inset-inline: 0; width: 100%; overflow: hidden; }

/* ==========================================================================
   ۳. هیرو — پنل گرادیانی + دکتر داخل دایره
   ========================================================================== */

.hero{ padding: 10px 0 0; }

.hero-panel{
  position: relative;
  box-shadow: var(--d2);
  border-radius: var(--r-2xl);
  background:
    radial-gradient(80% 70% at 100% 0%, #E4EAFE 0%, rgba(228,234,254,0) 60%),
    radial-gradient(75% 80% at 0% 100%, #DFF2E7 0%, rgba(223,242,231,0) 58%),
    linear-gradient(115deg, #EFF4FE 0%, #F2FAF6 100%);
  overflow: hidden;
  isolation: isolate;
}

.hero-inner{
  position: relative; z-index: 2;
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 24px;
  align-items: end;
  padding: 62px 54px 0;
  min-height: 520px;
}

.hero-badge{
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: var(--pill);
  padding: 7px 16px 7px 8px;
  font-size: 12.5px; font-weight: 600; color: var(--ink);
  box-shadow: var(--sh-xs);
  margin-bottom: 22px;
}
.hero-badge i{
  width: 22px; height: 22px; flex: none;
  display: grid; place-items: center;
  border-radius: 50%; background: var(--blue); color: #fff;
}
.hero-badge i svg{ width: 12px; height: 12px; }

.hero h1{ font-size: clamp(31px, 3.8vw, 50px); line-height: 1.3; letter-spacing: -1.2px; }
.hero h1 em{ font-style: normal; color: var(--blue); }

.hero-sub{ margin-top: 20px; max-width: 42ch; font-size: 16px; line-height: 2; color: var(--ink-soft); }
.hero-ctas{ margin-top: 30px; display: flex; flex-wrap: wrap; gap: 12px; }

.hero-mini{ margin-top: 32px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.hero-mini > span{ display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; color: var(--ink-mid); }
.hero-mini svg{ width: 17px; height: 17px; color: var(--mint); flex: none; }

.hero-figure{
  position: relative;
  display: flex; align-items: flex-end; justify-content: center;
  align-self: stretch;
  min-height: 470px;
  padding-bottom: 0;
}

/* --- عقب‌ترین لایه: حلقه‌ی نقطه‌چین --- */
.hero-ring{
  position: absolute; z-index: 0;
  width: 430px; height: 430px; border-radius: 50%;
  border: 1px dashed rgba(91,108,240,.24);
  bottom: -46px; left: 50%; transform: translateX(-50%);
}
/* --- لایه‌ی میانی: دیسک روشن.
       کوچک‌تر از دکتر است تا او از قاب «بیرون بزند» و کادر خالی نماند. --- */
.hero-disc{
  position: absolute; z-index: 1;
  width: 330px; height: 330px; border-radius: 50%;
  background: linear-gradient(155deg, #DCE4FE 0%, #E9F6EF 100%);
  bottom: -14px; left: 50%; transform: translateX(-50%);
  box-shadow: inset 0 -20px 44px -26px rgba(27,37,89,.30);
}
/* --- سایه‌ی تماس زیر پای دکتر --- */
.hero-shadow{
  position: absolute; z-index: 2;
  width: 250px; height: 30px;
  bottom: 2px; left: 50%; transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(27,37,89,.26) 0%, rgba(27,37,89,0) 72%);
  filter: blur(5px);
}
/* --- جلوترین لایه: خود دکتر. بزرگ‌تر از دیسک و کمی پایین‌تر نشسته. --- */
.hero-doctor{
  position: relative; z-index: 3;
  width: 100%; max-width: 380px;
  height: auto;
  margin-bottom: -8px;
  filter: drop-shadow(0 26px 30px rgba(27,37,89,.18));
}

.hero-pill{
  position: absolute; z-index: 4;
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-radius: var(--pill);
  padding: 9px 18px 9px 9px;
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: var(--d4);
}
.hero-pill i{
  width: 30px; height: 30px; flex: none;
  display: grid; place-items: center;
  border-radius: 50%; background: var(--blue-soft); color: var(--blue);
}
.hero-pill i svg{ width: 15px; height: 15px; }
.hero-pill b{ display: block; font-size: 13px; font-weight: 700; color: var(--ink); line-height: 1.4; }
.hero-pill span{ display: block; font-size: 11px; color: var(--ink-soft); line-height: 1.4; }
.hero-pill--a{ top: 44px; inset-inline-end: 4px; }
.hero-pill--b{ bottom: 62px; inset-inline-start: -8px; }
.hero-pill--b i{ background: var(--mint-soft); color: var(--mint); }

/* ==========================================================================
   ۴. ویژگی‌ها — تیتر کنار شبکه‌ی ۲×۲
   ========================================================================== */

.feature{ display: grid; grid-template-columns: .82fr 1.18fr; gap: 60px; align-items: center; }
.feature h2{ font-size: clamp(25px, 2.6vw, 36px); }
.feature > div > p{ margin-top: 16px; font-size: 15px; line-height: 2; color: var(--ink-soft); max-width: 38ch; }
.feature .link-ul{ margin-top: 26px; }

.fgrid{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.fcard{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 26px 24px;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.fcard{ box-shadow: var(--d0); }
.fcard:hover{ transform: translateY(-6px); box-shadow: var(--d3); border-color: transparent; }
.fcard-icon{
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--blue-soft); color: var(--blue);
  margin-bottom: 18px;
  transition: background .25s ease, color .25s ease;
}
.fcard-icon svg{ width: 22px; height: 22px; }
.fcard:hover .fcard-icon{ background: var(--blue); color: #fff; }
.fcard h3{ font-size: 17px; margin-bottom: 7px; }
.fcard p{ font-size: 13.5px; line-height: 1.9; color: var(--ink-soft); }
.fcard-meta{
  display: flex; align-items: center; gap: 14px;
  margin-top: 16px; padding-top: 14px;
  border-top: 1px solid var(--line);
  font-size: 12px; color: var(--ink-soft);
}
.fcard-meta b{ color: var(--ink); font-weight: 600; }
.fcard--mint .fcard-icon{ background: var(--mint-soft); color: var(--mint); }
.fcard--mint:hover .fcard-icon{ background: var(--mint); color: #fff; }

/* ==========================================================================
   ۵. نوار خدمات (چیپ‌های افقی)
   ========================================================================== */

.chips{ display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.chip{
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 24px 16px;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.chip{ box-shadow: var(--d0); }
.chip:hover{ transform: translateY(-6px); box-shadow: var(--d3); border-color: transparent; }
.chip-icon{
  width: 52px; height: 52px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--blue-tint); color: var(--blue);
}
.chip-icon svg{ width: 24px; height: 24px; }
.chip b{ font-size: 14.5px; font-weight: 600; color: var(--ink); line-height: 1.5; }
.chip span{
  font-size: 11.5px; font-weight: 500;
  color: var(--ink-soft);
  background: var(--line);
  border-radius: var(--pill);
  padding: 4px 12px;
}
.chip--on span{ background: var(--mint-soft); color: var(--mint); }

/* ==========================================================================
   ۶. باند دوستونه (کارت گرادیانی + عکس)
   ========================================================================== */

.duo{ display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }

.duo-card{
  position: relative; overflow: hidden;
  border-radius: var(--r-xl);
  background: linear-gradient(150deg, #EEF1FE 0%, #E9F6EF 100%);
  padding: 44px 42px;
  display: flex; flex-direction: column; justify-content: center;
}
.duo-card::before{
  content:""; position: absolute;
  width: 280px; height: 280px; border-radius: 50%;
  border: 1px dashed rgba(91,108,240,.24);
  top: -110px; inset-inline-end: -80px;
}
.duo-card h2{ position: relative; font-size: clamp(23px, 2.3vw, 31px); }
.duo-card p{ position: relative; margin-top: 16px; font-size: 15px; line-height: 2.05; color: var(--ink-mid); }
.duo-card .link-ul{ position: relative; margin-top: 26px; align-self: flex-start; }

.duo-quote{
  position: relative; margin-top: 22px;
  padding-inline-start: 18px;
  border-inline-start: 3px solid var(--blue);
  font-size: 17px; font-weight: 500; line-height: 1.9; color: var(--ink);
}

.duo-media{
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--d2);
  background: linear-gradient(150deg, #E7ECFD, #E3F4EA);
  min-height: 380px;
}
.duo-media img{ width: 100%; height: 100%; object-fit: cover; }

.duo-float{
  position: absolute; z-index: 2;
  bottom: 22px; inset-inline-start: 22px;
  display: flex; align-items: center; gap: 11px;
  background: rgba(255,255,255,.95);
  border-radius: var(--r-md);
  padding: 13px 18px;
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: var(--d4);
}
.duo-float svg{ width: 28px; height: 28px; color: var(--mint); flex: none; }
.duo-float b{ display: block; font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.4; }
.duo-float span{ display: block; font-size: 11.5px; color: var(--ink-soft); }

/* ==========================================================================
   ۷. نتایج قبل/بعد
   ========================================================================== */

.filters{ display: flex; flex-wrap: wrap; gap: 8px; }
.pill-btn{
  font-family: inherit; font-size: 13.5px; font-weight: 500;
  color: var(--ink-mid); background: #fff;
  border: 1px solid var(--line-2); border-radius: var(--pill);
  padding: 10px 20px; cursor: pointer;
  transition: all .2s ease;
}
.pill-btn:hover{ border-color: var(--blue); color: var(--blue); }
.pill-btn.is-on{ background: var(--blue); border-color: var(--blue); color: #fff; }

.cases{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cases.is-hidden{ display: none; }
.case{
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-lg); overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.case{ box-shadow: var(--d0); }
.case:hover{ transform: translateY(-6px); box-shadow: var(--d3); }
.case-pair{ display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--line); }
.case-side{ position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--blue-tint); }
.case-side img{ width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform .5s cubic-bezier(.2,.7,.3,1); }
.case:hover .case-side img{ transform: scale(1.04); }
.case-side.is-empty{ background: repeating-linear-gradient(135deg, rgba(91,108,240,.05) 0 8px, rgba(91,108,240,0) 8px 16px), var(--blue-tint); }
.case-side > span{
  position: absolute; top: 10px; inset-inline-start: 10px;
  font-size: 11px; font-weight: 600;
  padding: 4px 12px; border-radius: var(--pill);
  background: rgba(255,255,255,.94); color: var(--ink);
  box-shadow: var(--sh-xs);
}
.case-side.is-after > span{ background: var(--blue); color: #fff; }
.case-info{ display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; }
.case-info h3{ font-size: 15.5px; font-weight: 600; }
.case-info small{ display: block; font-size: 12.5px; color: var(--ink-soft); line-height: 1.7; }
.cases-empty{
  grid-column: 1/-1; padding: 40px 26px; text-align: center;
  border: 1px dashed var(--line-2); border-radius: var(--r-lg);
  background: #fff; color: var(--ink-soft); font-size: 15px; line-height: 1.9;
}
.consent{ margin-top: 22px; display: flex; align-items: flex-start; gap: 9px; font-size: 12.5px; line-height: 1.9; color: var(--ink-soft); }
.consent svg{ width: 15px; height: 15px; flex: none; margin-top: 4px; color: var(--blue); }

/* ==========================================================================
   ۸. باند نوبت‌گیری (عکس + پنل)
   ========================================================================== */

.book{ display: grid; grid-template-columns: .95fr 1.05fr; gap: 20px; align-items: stretch; }

.book-panel{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  padding: 40px 38px;
  box-shadow: var(--d3);
}
.book-panel h2{ font-size: clamp(23px, 2.3vw, 31px); }
.book-panel > p{ margin-top: 12px; font-size: 14.5px; line-height: 1.95; color: var(--ink-soft); }

.book-label{
  margin: 24px 0 12px;
  font-size: 13.5px; font-weight: 600; color: var(--ink);
}

/* گزینه‌های خدمات — آیکون به‌همراه نوشته، تا کاملاً واضح باشد چه چیزی است */
.book-picks{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin-bottom: 24px;
}
.book-pick{
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px;
  text-align: center;
  padding: 15px 8px;
  border-radius: var(--r-md);
  border: 1px solid var(--line-2);
  background: #fff;
  box-shadow: var(--d0);
  transition: all .2s ease;
}
.book-pick span:last-child{
  font-size: 12.5px; font-weight: 600; color: var(--ink-mid); line-height: 1.4;
}
.book-pick-icon{
  width: 38px; height: 38px; flex: none;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--blue-tint); color: var(--blue);
  transition: all .2s ease;
}
.book-pick-icon svg{ width: 19px; height: 19px; }
.book-pick:hover{ border-color: var(--blue); box-shadow: var(--d2); transform: translateY(-3px); }
.book-pick:hover .book-pick-icon{ background: var(--blue); color: #fff; }
.book-pick:hover span:last-child{ color: var(--blue); }
.book-pick.is-on{ border-color: var(--blue); background: var(--blue-tint); box-shadow: var(--d1); }
.book-pick.is-on .book-pick-icon{ background: var(--blue); color: #fff; }
.book-pick.is-on span:last-child{ color: var(--blue); }

.book-rows{ display: grid; gap: 10px; }
.book-row{
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  background: var(--blue-tint);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 15px 18px;
  font-size: 14px;
}
.book-row b{ color: var(--ink); font-weight: 600; }
.book-row > span{ color: var(--ink-soft); font-size: 13px; }
.book-row .tag{
  background: var(--mint-soft); color: var(--mint);
  font-size: 12px; font-weight: 600;
  border-radius: var(--pill); padding: 5px 14px;
}
.book-panel .btn{ width: 100%; margin-top: 18px; }

/* ==========================================================================
   ۹. مسیر بیمار
   ========================================================================== */

.steps{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.step{ background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 26px 22px; }
.step-n{
  width: 40px; height: 40px; display: grid; place-items: center;
  border-radius: 50%; background: var(--blue-soft); color: var(--blue);
  font-size: 15px; font-weight: 700; margin-bottom: 16px;
}
.step:nth-child(4) .step-n{ background: var(--mint-soft); color: var(--mint); }
.step h3{ font-size: 16.5px; margin-bottom: 7px; }
.step p{ font-size: 13.5px; line-height: 1.9; color: var(--ink-soft); }

/* ==========================================================================
   ۱۰. نظر بیماران
   ========================================================================== */

.voices{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.voice{ display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 28px 26px; }
.voice-stars{ display: flex; gap: 3px; margin-bottom: 15px; }
.voice-stars svg{ width: 15px; height: 15px; color: #FBBF3C; }
.voice p{ font-size: 14.5px; line-height: 2; color: var(--ink-mid); flex: 1; }
.voice-person{ display: flex; align-items: center; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.voice-avatar{
  width: 42px; height: 42px; flex: none; border-radius: 50%; overflow: hidden;
  display: grid; place-items: center; background: var(--blue-soft); color: var(--blue);
  font-weight: 700; font-size: 14px;
}
.voice-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.voice-person b{ display: block; font-size: 14px; font-weight: 600; color: var(--ink); }
.voice-person span{ display: block; font-size: 12.5px; color: var(--ink-soft); }

/* ==========================================================================
   ۱۱. پرسش‌های متداول
   ========================================================================== */

.faq{ max-width: 800px; margin: 0 auto; display: grid; gap: 10px; }
.faq details{ background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); transition: border-color .2s ease, box-shadow .2s ease; }
.faq details[open]{ border-color: rgba(91,108,240,.34); box-shadow: var(--sh-sm); }
.faq summary{
  list-style: none; cursor: pointer; padding: 19px 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  font-size: 15.5px; font-weight: 600; color: var(--ink); line-height: 1.7;
}
.faq summary::-webkit-details-marker{ display: none; }
.faq summary::after{
  content:""; flex: none; width: 27px; height: 27px; border-radius: 50%;
  background: var(--blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6CF0' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/13px no-repeat;
  transition: transform .25s ease;
}
.faq details[open] summary::after{ transform: rotate(135deg); }
.faq-body{ padding: 0 24px 21px; font-size: 14.5px; line-height: 2.05; color: var(--ink-soft); }

/* ==========================================================================
   ۱۲. دعوت پایانی
   ========================================================================== */

.cta{ padding: 0 0 88px; }
.cta-card{
  position: relative; overflow: hidden;
  box-shadow: var(--d4);
  border-radius: var(--r-2xl);
  background: linear-gradient(140deg, #1B2559 0%, #2A3675 55%, #4657DE 100%);
  color: #fff;
  padding: 58px 52px;
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 44px; align-items: center;
}
.cta-card::before{
  content:""; position: absolute;
  width: 480px; height: 480px; border-radius: 50%;
  background: radial-gradient(circle, rgba(47,191,119,.24), rgba(47,191,119,0) 68%);
  bottom: -240px; inset-inline-end: -110px;
}
.cta-card h2{ position: relative; color: #fff; font-size: clamp(24px, 2.5vw, 34px); }
.cta-card > div > p{ position: relative; margin-top: 15px; font-size: 15px; line-height: 2; color: rgba(255,255,255,.78); max-width: 40ch; }
.cta-card .eyebrow{ color: #A9B6FF; }
.cta-grid{ position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.cta-item{
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--r-md); padding: 20px 18px;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.cta-item:hover{ background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.3); transform: translateY(-3px); }
.cta-item svg{ width: 21px; height: 21px; color: #A9B6FF; margin-bottom: 11px; }
.cta-item b{ display: block; font-size: 14.5px; font-weight: 600; color: #fff; line-height: 1.5; }
.cta-item span{ display: block; margin-top: 2px; font-size: 12px; color: rgba(255,255,255,.66); line-height: 1.6; }

/* ==========================================================================
   ۱۳. فوتر
   ========================================================================== */

.footer{ border-top: 1px solid var(--line); padding: 54px 0 0; background: #fff; }
.footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 40px; }
.footer-about p{ margin-top: 16px; font-size: 14px; line-height: 1.95; color: var(--ink-soft); max-width: 34ch; }
.footer-col h4{ font-size: 14.5px; margin-bottom: 14px; }
.footer-col a, .footer-col p{ display: block; font-size: 14px; line-height: 1.6; color: var(--ink-soft); padding: 6px 0; transition: color .2s ease; }
.footer-col a:hover{ color: var(--blue); }
.footer-social{ display: flex; gap: 9px; margin-top: 16px; }
.footer-social a{ width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-2); color: var(--ink-mid); padding: 0; transition: all .2s ease; }
.footer-social a:hover{ background: var(--blue); border-color: var(--blue); color: #fff; }
.footer-social svg{ width: 17px; height: 17px; }
.footer-legal{ border-top: 1px solid var(--line); padding: 20px 0 26px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; }
.footer-legal p{ font-size: 12.5px; color: var(--ink-soft); line-height: 1.85; }
.footer-legal .legal-note{ flex: 1 1 320px; text-align: center; }
.footer-legal-links{ display: flex; gap: 9px; font-size: 12.5px; color: var(--ink-soft); }
.footer-legal-links a:hover{ color: var(--blue); }

/* ==========================================================================
   ۱۴. نوار چسبان موبایل
   ========================================================================== */

.actionbar{
  display: none; position: fixed; z-index: 50; inset-inline: 0; bottom: 0;
  gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid var(--line);
  transform: translateY(110%);
  transition: transform .28s cubic-bezier(.2,.7,.3,1);
}
.actionbar.is-visible{ transform: translateY(0); }
.actionbar.is-muted{ transform: translateY(110%); }
.ab-btn{ flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: var(--pill); font-size: 15px; font-weight: 600; -webkit-tap-highlight-color: transparent; }
.ab-btn svg{ width: 18px; height: 18px; flex: none; }
.ab-call{ flex: 0 0 38%; color: var(--ink); background: #fff; border: 1px solid var(--line-2); }
.ab-book{ color: #fff; background: var(--blue); }

/* ==========================================================================
   ۱۵. ریسپانسیو
   ========================================================================== */

@media (max-width: 1150px){
  .wrap{ padding: 0 34px; }
  .hero-inner{ padding: 52px 34px; }
  .feature{ grid-template-columns: 1fr; gap: 36px; }
  .feature > div > p{ max-width: none; }
  .chips{ grid-template-columns: repeat(3, 1fr); }
  .duo{ grid-template-columns: 1fr; }
  .duo-media{ min-height: 320px; }
  .book{ grid-template-columns: 1fr; }
  .cases{ grid-template-columns: repeat(2, 1fr); }
  .steps{ grid-template-columns: repeat(2, 1fr); }
  .voices{ grid-template-columns: repeat(2, 1fr); }
  .cta-card{ grid-template-columns: 1fr; gap: 34px; padding: 46px 34px; }
  .footer-grid{ grid-template-columns: 1fr 1fr; gap: 30px; }
}

@media (max-width: 900px){
  body{ padding: 10px; }
  .shell{ border-radius: var(--r-xl); }
  .wrap{ padding: 0 22px; }
  .nav-links, .nav-actions{ display: none; }
  .burger{ display: flex; }
  .nav-row{ padding: 9px 9px 9px 20px; }
  .actionbar{ display: flex; }
  .footer{ padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  body.drawer-open .actionbar{ transform: translateY(110%); }

  .sec{ padding: 60px 0; }
  .sec-head{ margin-bottom: 30px; gap: 18px; }

  .hero-inner{ grid-template-columns: 1fr; padding: 40px 24px 0; gap: 10px; text-align: center; }
  .hero-sub{ margin-inline: auto; }
  .hero-ctas{ justify-content: center; }
  .hero-ctas .btn{ flex: 1 1 auto; }
  .hero-mini{ justify-content: center; gap: 16px; }
  .hero-figure{ min-height: 400px; }
  .hero-doctor{ max-width: 300px; }
  .hero-disc{ width: 262px; height: 262px; bottom: -10px; }
  .hero-ring{ width: 336px; height: 336px; bottom: -34px; }
  .hero-shadow{ width: 196px; height: 24px; }
  .book-picks{ grid-template-columns: repeat(3, 1fr); }
  .hero-pill--a{ top: 16px; inset-inline-end: 0; }
  .hero-pill--b{ bottom: 34px; inset-inline-start: 0; }

  .fgrid{ grid-template-columns: 1fr; }
  .chips{ grid-template-columns: repeat(2, 1fr); }
  .cases{ grid-template-columns: 1fr; }
  .voices{ grid-template-columns: 1fr; }
  .duo-card{ padding: 34px 26px; }
  .book-panel{ padding: 32px 26px; }
  .footer-legal{ flex-direction: column; align-items: flex-start; text-align: right; }
  .footer-legal .legal-note{ flex: none; text-align: right; }
}

@media (max-width: 560px){
  body{ padding: 6px; }
  .wrap{ padding: 0 17px; }
  .hero h1{ font-size: 29px; letter-spacing: -.7px; }
  .hero-inner{ padding: 32px 18px 0; }
  .hero-figure{ min-height: 340px; }
  .hero-doctor{ max-width: 246px; }
  .hero-disc{ width: 214px; height: 214px; bottom: -8px; }
  .hero-ring{ width: 274px; height: 274px; bottom: -28px; }
  .hero-shadow{ width: 162px; height: 20px; }
  .book-picks{ grid-template-columns: repeat(2, 1fr); }
  .hero-pill b{ font-size: 12px; }
  .hero-pill span{ font-size: 10.5px; }
  .chips{ grid-template-columns: 1fr; }
  .steps{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr; }
  .cta-card{ padding: 36px 22px; }
  .cta-grid{ grid-template-columns: 1fr; }
  .case-info{ flex-direction: column; align-items: flex-start; gap: 6px; }
  .spark{ display: none; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ transition: none !important; animation: none !important; }
  .fcard:hover, .chip:hover, .case:hover, .btn:hover, .cta-item:hover{ transform: none !important; }
}

/* ==========================================================================
   ۱۶. صفحه‌ی داخلی — سربرگ و بدنه (استفاده در صفحه‌ی خدمات)
   ========================================================================== */

.phero{ padding: 10px 0 0; }
.phero-panel{
  position: relative;
  overflow: hidden;
  border-radius: var(--r-2xl);
  background:
    radial-gradient(80% 90% at 100% 0%, #E4EAFE 0%, rgba(228,234,254,0) 62%),
    radial-gradient(70% 90% at 0% 100%, #DFF2E7 0%, rgba(223,242,231,0) 58%),
    linear-gradient(115deg, #EFF4FE 0%, #F2FAF6 100%);
  box-shadow: var(--d2);
  padding: 62px 54px;
  text-align: center;
}
.phero-panel h1{ font-size: clamp(28px, 3.2vw, 44px); line-height: 1.32; letter-spacing: -1px; }
.phero-panel h1 em{ font-style: normal; color: var(--blue); }
.phero-panel > p{
  margin: 18px auto 0; max-width: 56ch;
  font-size: 16px; line-height: 2; color: var(--ink-soft);
}
.phero-ctas{ margin-top: 28px; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }

/* مسیر راهنما */
.crumbs{
  display: flex; align-items: center; justify-content: center; gap: 8px;
  margin-bottom: 18px;
  font-size: 12.5px; color: var(--ink-soft);
}
.crumbs a:hover{ color: var(--blue); }
.crumbs span{ opacity: .5; }

/* پیمایش سریع بین خدمات — نوار چسبان زیر هدر */
.svcnav{
  position: sticky; top: 74px; z-index: 30;
  margin-top: 26px;
}
.svcnav-inner{
  display: flex; gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding: 9px;
  border-radius: var(--pill);
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: var(--d2);
}
.svcnav-inner::-webkit-scrollbar{ display: none; }
.svcnav a{
  flex: none;
  font-size: 13.5px; font-weight: 600; color: var(--ink-mid);
  padding: 10px 18px; border-radius: var(--pill);
  transition: background .2s ease, color .2s ease;
}
.svcnav a:hover{ background: var(--blue-tint); color: var(--blue); }

/* ---------- بلوک هر خدمت ---------- */

.svcblock{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 52px;
  align-items: center;
  padding: 72px 0;
  border-top: 1px solid var(--line);
  scroll-margin-top: 150px;
}
.svcblock:first-of-type{ border-top: 0; }
.svcblock:nth-child(even) .svcblock-media{ order: -1; }

.svcblock-badge{
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 12.5px; font-weight: 600; color: var(--blue);
  background: var(--blue-soft);
  border-radius: var(--pill);
  padding: 7px 16px;
  margin-bottom: 16px;
}
.svcblock-badge svg{ width: 15px; height: 15px; }
.svcblock h2{ font-size: clamp(24px, 2.5vw, 33px); }
.svcblock > div > p{ margin-top: 15px; font-size: 15.5px; line-height: 2.05; color: var(--ink-soft); }

.svcblock-points{ margin-top: 22px; display: grid; gap: 10px; }
.svcblock-points li{
  display: flex; align-items: flex-start; gap: 11px;
  font-size: 14.5px; line-height: 1.85; color: var(--ink-mid);
}
.svcblock-points svg{
  width: 20px; height: 20px; flex: none; margin-top: 3px;
  padding: 3px; border-radius: 50%;
  background: var(--mint-soft); color: var(--mint);
}

.svcblock-facts{
  margin-top: 24px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
}
.svcfact{
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-md); padding: 14px 16px;
  box-shadow: var(--d0);
}
.svcfact b{ display: block; font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.4; }
.svcfact span{ display: block; margin-top: 2px; font-size: 11.5px; color: var(--ink-soft); line-height: 1.5; }

.svcblock .btn{ margin-top: 26px; }

/* رسانه‌ی هر بلوک */
.svcblock-media{
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  background: linear-gradient(150deg, #E7ECFD, #E3F4EA);
  box-shadow: var(--d3);
  aspect-ratio: 4/5;
}
.svcblock-media img{ width: 100%; height: 100%; object-fit: cover; }
.svcblock-media--plain{
  display: grid; place-items: center;
  aspect-ratio: 4/5;
}
.svcblock-media--plain svg{ width: 96px; height: 96px; color: rgba(91,108,240,.34); }

@media (max-width: 1150px){
  .svcblock{ grid-template-columns: 1fr; gap: 34px; padding: 56px 0; }
  .svcblock:nth-child(even) .svcblock-media{ order: 0; }
  .svcblock-media{ max-width: 460px; }
}
@media (max-width: 900px){
  .phero-panel{ padding: 44px 24px; }
  .svcnav{ top: 66px; }
  .svcblock-facts{ grid-template-columns: 1fr; }
}
@media (max-width: 560px){
  .phero-panel{ padding: 36px 18px; }
  .phero-ctas .btn{ flex: 1 1 auto; }
}

/* ==========================================================================
   ۱۸. صفحه‌ی درباره‌ی دکتر
   ========================================================================== */

/* ---------- هیرو: پرتره‌ی بزرگ + تایپوگرافی تحریری ---------- */

.abhero{
  position: relative;
  overflow: hidden;
  border-radius: var(--r-2xl);
  background:
    radial-gradient(75% 80% at 100% 0%, #E4EAFE 0%, rgba(228,234,254,0) 60%),
    radial-gradient(70% 85% at 0% 100%, #DFF2E7 0%, rgba(223,242,231,0) 58%),
    linear-gradient(118deg, #EFF4FE 0%, #F2FAF6 100%);
  box-shadow: var(--d2);
}
.abhero-grid{
  position: relative; z-index: 2;
  display: grid; grid-template-columns: 1.06fr .94fr;
  gap: 46px; align-items: center;
  padding: 58px 54px 0;
}
.abhero-copy{ padding-bottom: 54px; }
.abhero .crumbs{ justify-content: flex-start; margin-bottom: 18px; }

.abhero-kicker{
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: var(--pill);
  padding: 7px 16px 7px 8px;
  font-size: 12.5px; font-weight: 600; color: var(--ink);
  box-shadow: var(--d0);
  margin-bottom: 20px;
}
.abhero-kicker i{
  width: 22px; height: 22px; flex: none;
  display: grid; place-items: center;
  border-radius: 50%; background: var(--blue); color: #fff;
}
.abhero-kicker i svg{ width: 12px; height: 12px; }

.abhero h1{
  font-size: clamp(30px, 3.6vw, 48px);
  line-height: 1.24; letter-spacing: -1.3px;
}
.abhero h1 span{
  display: block;
  margin-top: 6px;
  font-size: .46em; font-weight: 600; letter-spacing: -.3px;
  color: var(--blue);
}
.abhero-lead{
  margin-top: 20px; max-width: 44ch;
  font-size: 16px; line-height: 2.05; color: var(--ink-soft);
}
.abhero-ctas{ margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }

/* ستون پرتره */
.abhero-figure{
  position: relative;
  align-self: end;
  padding-bottom: 0;
}
.abhero-frame{
  position: relative; z-index: 2;
  border-radius: var(--r-xl) var(--r-xl) 0 0;
  overflow: hidden;
  aspect-ratio: 4/5;
  background: linear-gradient(150deg, #E7ECFD, #E3F4EA);
  box-shadow: var(--d4);
}
.abhero-frame img{ width: 100%; height: 100%; object-fit: cover; }
.abhero-ring{
  position: absolute; z-index: 1;
  width: 300px; height: 300px; border-radius: 50%;
  border: 1px dashed rgba(91,108,240,.26);
  top: -46px; inset-inline-start: -56px;
}
.abhero-pill{
  position: absolute; z-index: 3;
  bottom: 30px; inset-inline-start: -26px;
  display: flex; align-items: center; gap: 11px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: var(--r-md);
  padding: 13px 18px;
  box-shadow: var(--d4);
}
.abhero-pill svg{ width: 26px; height: 26px; color: var(--blue); flex: none; }
.abhero-pill b{ display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); line-height: 1.4; }
.abhero-pill span{ display: block; font-size: 11.5px; color: var(--ink-soft); line-height: 1.45; }

/* نوار آمار شیشه‌ای، داخل خود هیرو */
.abhero-stats{
  position: relative; z-index: 3;
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.85);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
.abhero-stats div{ padding: 22px 20px; text-align: center; position: relative; }
.abhero-stats div + div::before{
  content:""; position: absolute; inset-inline-start: 0; top: 24%; bottom: 24%;
  width: 1px; background: rgba(27,37,89,.10);
}
.abhero-stats b{ display: block; font-size: 23px; font-weight: 700; color: var(--ink); letter-spacing: -.6px; line-height: 1.3; }
.abhero-stats span{ display: block; margin-top: 2px; font-size: 12.5px; color: var(--ink-soft); line-height: 1.6; }

/* ---------- بند نقل‌قول ---------- */

.abquote{
  position: relative; overflow: hidden;
  border-radius: var(--r-2xl);
  background: linear-gradient(140deg, #1B2559 0%, #2A3675 55%, #4657DE 100%);
  color: #fff;
  padding: 62px 56px;
  text-align: center;
  box-shadow: var(--d4);
}
.abquote::before{
  content:""; position: absolute;
  width: 460px; height: 460px; border-radius: 50%;
  background: radial-gradient(circle, rgba(47,191,119,.22), rgba(47,191,119,0) 68%);
  bottom: -250px; inset-inline-end: -120px;
}
.abquote-mark{
  position: relative;
  width: 46px; height: 46px; margin: 0 auto 20px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.14);
  color: #A9B6FF;
}
.abquote-mark svg{ width: 22px; height: 22px; }
.abquote blockquote{
  position: relative;
  max-width: 24ch;
  margin: 0 auto;
  font-size: clamp(21px, 2.5vw, 32px);
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: -.5px;
  color: #fff;
}
.abquote cite{
  position: relative; display: block; margin-top: 20px;
  font-style: normal; font-size: 13.5px; color: rgba(255,255,255,.68);
}

/* ---------- روایت مسیر: متن + یک نکته‌ی برجسته ---------- */

.abstory{ display: grid; grid-template-columns: .95fr 1.05fr; gap: 48px; align-items: center; }
.abstory-media{
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden; aspect-ratio: 4/5;
  background: linear-gradient(150deg, #E7ECFD, #E3F4EA);
  box-shadow: var(--d3);
}
.abstory-media img{ width: 100%; height: 100%; object-fit: cover; }
.abstory h2{ font-size: clamp(24px, 2.5vw, 34px); }
.abstory p{ margin-top: 16px; font-size: 15.5px; line-height: 2.05; color: var(--ink-soft); }

.abstory-note{
  margin-top: 24px;
  display: flex; gap: 14px;
  background: var(--blue-tint);
  border: 1px solid var(--line);
  border-inline-start: 3px solid var(--blue);
  border-radius: var(--r-md);
  padding: 20px 22px;
}
.abstory-note svg{ width: 22px; height: 22px; flex: none; color: var(--blue); margin-top: 2px; }
.abstory-note p{ margin: 0; font-size: 14.5px; line-height: 1.95; color: var(--ink-mid); }
.abstory-note b{ color: var(--ink); font-weight: 700; }

/* ---------- خط زمانی افقی ---------- */

.tline{
  position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
/* خط پیوند بین نقطه‌ها */
.tline::before{
  content:""; position: absolute;
  top: 21px; inset-inline: 12%;
  height: 2px;
  background: linear-gradient(to left, var(--blue-soft), var(--mint-soft));
}
.tstep{ position: relative; text-align: center; padding-top: 0; }
.tstep-dot{
  position: relative; z-index: 2;
  width: 44px; height: 44px; margin: 0 auto 18px;
  display: grid; place-items: center;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--blue);
  color: var(--blue);
  font-size: 15px; font-weight: 700;
  box-shadow: 0 0 0 5px rgba(91,108,240,.10);
}
.tstep:last-child .tstep-dot{ border-color: var(--mint); color: var(--mint); box-shadow: 0 0 0 5px rgba(47,191,119,.12); }
.tstep-phase{ font-size: 12px; font-weight: 600; color: var(--blue); letter-spacing: .2px; }
.tstep:last-child .tstep-phase{ color: var(--mint); }
.tstep h3{ margin-top: 7px; font-size: 16px; line-height: 1.6; }
.tstep p{ margin-top: 8px; font-size: 13.5px; line-height: 1.9; color: var(--ink-soft); }

/* ---------- کارت مدارک و عضویت‌ها ---------- */

.credcard{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  box-shadow: var(--d2);
  overflow: hidden;
}
.credcard-head{
  padding: 26px 32px;
  border-bottom: 1px solid var(--line);
  background: var(--blue-tint);
}
.credcard-head h3{ font-size: 17.5px; }
.credcard-head p{ margin-top: 5px; font-size: 13.5px; color: var(--ink-soft); line-height: 1.8; }
.credrow{
  display: flex; align-items: center; gap: 16px;
  padding: 20px 32px;
  border-bottom: 1px solid var(--line);
}
.credrow:last-child{ border-bottom: 0; }
.credrow-icon{
  width: 42px; height: 42px; flex: none;
  display: grid; place-items: center;
  border-radius: 50%;
  background: var(--blue-soft); color: var(--blue);
}
.credrow-icon svg{ width: 20px; height: 20px; }
.credrow b{ display: block; font-size: 14.5px; font-weight: 600; color: var(--ink); line-height: 1.6; }
.credrow span{ display: block; margin-top: 2px; font-size: 12.5px; color: var(--ink-soft); }
.credrow-tag{
  margin-inline-start: auto; flex: none;
  font-size: 11.5px; font-weight: 600;
  color: var(--mint); background: var(--mint-soft);
  border-radius: var(--pill); padding: 5px 14px;
}

/* ---------- سه اصل ---------- */

.principles{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.principle{
  position: relative; overflow: hidden;
  background: #fff; border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: 32px 28px;
  box-shadow: var(--d0);
  transition: transform .25s ease, box-shadow .25s ease;
}
.principle:hover{ transform: translateY(-6px); box-shadow: var(--d3); }
/* عدد بزرگ کم‌رنگ در پس‌زمینه */
.principle::before{
  content: attr(data-n);
  position: absolute;
  top: -18px; inset-inline-start: 14px;
  font-size: 96px; font-weight: 700;
  color: rgba(91,108,240,.07);
  line-height: 1;
  pointer-events: none;
}
.principle-icon{
  position: relative;
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: 14px;
  background: var(--blue-soft); color: var(--blue);
  margin-bottom: 18px;
}
.principle-icon svg{ width: 22px; height: 22px; }
.principle:nth-child(3) .principle-icon{ background: var(--mint-soft); color: var(--mint); }
.principle h3{ position: relative; font-size: 18px; margin-bottom: 9px; }
.principle p{ position: relative; font-size: 14.5px; line-height: 1.95; color: var(--ink-soft); }

@media (max-width: 1150px){
  .abhero-grid{ grid-template-columns: 1fr; gap: 32px; padding: 44px 34px 0; }
  .abhero-copy{ padding-bottom: 0; }
  .abhero-figure{ max-width: 440px; margin: 0 auto; }
  .abhero-ring{ display: none; }
  .abhero-pill{ inset-inline-start: 16px; }
  .abhero-stats{ grid-template-columns: 1fr 1fr; }
  .abhero-stats div:nth-child(3)::before,
  .abhero-stats div:nth-child(odd)::before{ display: none; }
  .abhero-stats div:nth-child(n+3){ border-top: 1px solid rgba(27,37,89,.08); }
  .abstory{ grid-template-columns: 1fr; gap: 34px; }
  .abstory-media{ max-width: 440px; }
  .tline{ grid-template-columns: 1fr 1fr; gap: 30px 18px; }
  .tline::before{ display: none; }
  .principles{ grid-template-columns: 1fr; }
}
@media (max-width: 900px){
  .abhero-grid{ padding: 36px 22px 0; }
  .abquote{ padding: 44px 24px; }
  .abquote blockquote{ max-width: none; }
  .credcard-head, .credrow{ padding-inline: 22px; }
}
@media (max-width: 560px){
  .tline{ grid-template-columns: 1fr; gap: 26px; }
  .abhero-stats{ grid-template-columns: 1fr 1fr; }
  .credrow{ flex-wrap: wrap; }
  .credrow-tag{ margin-inline-start: 58px; }
}

/* ==========================================================================
   ۱۹. بهینه‌سازی رندر
   ========================================================================== */

/* مرورگر بخش‌های پایین صفحه را تا وقتی به آن‌ها نرسیده‌ایم رندر نمی‌کند.
   contain-intrinsic-size ارتفاع تقریبی را از قبل رزرو می‌کند تا نوار
   اسکرول موقع رسیدن به هر بخش نپرد. */
@supports (content-visibility: auto){
  .sec:not(:first-of-type),
  .cta{
    content-visibility: auto;
    contain-intrinsic-size: auto 600px;
  }
  /* بخش‌هایی که ممکن است هدف لینک داخلی باشند مستثنا هستند،
     وگرنه پرش به #results یا #about دقیق عمل نمی‌کند. */
  #results, #about, #services, #booking-form{
    content-visibility: visible;
  }
}

/* تصاویری که هنوز نیامده‌اند، جای خود را نگه دارند (جلوگیری از پرش چیدمان) */
img[width][height]{ height: auto; }

/* روی اتصال کند یا حالت کم‌مصرف، انیمیشن‌های تزئینی حذف شوند */
@media (prefers-reduced-data: reduce){
  .spark, .hero-ring, .abhero-ring{ display: none; }
  *{ animation: none !important; }
}

/* ==========================================================================
   ۲۰. اعداد و شماره تماس در متن راست‌چین
   ========================================================================== */

/* در یک صفحه‌ی RTL، مرورگر گروه‌های عددی را از راست به چپ می‌چیند و شماره
   برعکس دیده می‌شود. <bdi> آن را از جهت متن اطراف جدا می‌کند تا همیشه
   همان‌طور که نوشته شده خوانده شود. */
bdi.tel{
  unicode-bidi: isolate;
  direction: ltr;
  display: inline-block;
  font-variant-numeric: tabular-nums;
  letter-spacing: .2px;
}
