:root{
--teal:#0f6e6e;--teal-dark:#0a4f4f;--teal-light:#e6f4f3;--accent:#c9a24b;--accent-light:#faf3e3;
--white:#fff;--ink:#1c2b2b;--muted:#5a6d6d;--bg:#f7fbfb;--radius:16px;--shadow:0 8px 24px rgba(15,110,110,.10);
--shadow-lg:0 16px 40px rgba(15,110,110,.16);--gap:1.25rem;--maxw:1120px;}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Vazirmatn',Tahoma,sans-serif;background:var(--bg);color:var(--ink);line-height:1.9;font-size:1rem}
img,svg{max-width:100%}
a{color:var(--teal);text-decoration:none;transition:color .2s}
a:hover{color:var(--teal-dark)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.container{width:min(100% - 2rem,var(--maxw));margin-inline:auto}
.skip-link{position:absolute;top:-48px;right:16px;background:var(--teal);color:#fff;padding:.6rem 1.2rem;border-radius:8px;z-index:100;transition:top .2s}
.skip-link:focus{top:12px}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;color:var(--teal);font-size:1.05rem}
.brand svg{flex:none}
.main-nav{display:none}
.main-nav ul{display:flex;gap:.25rem;list-style:none}
.main-nav a{display:block;padding:.55rem .85rem;border-radius:10px;font-weight:600;color:var(--ink);font-size:.95rem}
.main-nav a:hover,.main-nav a.active{background:var(--teal-light);color:var(--teal-dark)}
.hamburger{background:none;border:1.5px solid var(--teal);border-radius:10px;padding:.45rem .6rem;cursor:pointer;display:inline-flex;flex-direction:column;gap:5px}
.hamburger span{width:22px;height:2px;background:var(--teal);transition:.3s}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;background:#fff;border-top:1px solid #e3eeee}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:.8rem 1.2rem;border-bottom:1px solid #eef5f5;font-weight:600}
@media(min-width:900px){.hamburger,.mobile-nav{display:none!important}.main-nav{display:block}}
/* hero */
.hero{background:linear-gradient(135deg,var(--teal-dark) 0%,var(--teal) 60%,#129a8f 100%);color:#fff;position:relative;overflow:hidden;padding:4.5rem 0 5rem}
.hero-inner{position:relative;z-index:2;display:grid;gap:1.6rem;max-width:760px}
.hero h1{font-size:clamp(1.8rem,5vw,2.9rem);line-height:1.4;font-weight:900}
.hero .subtitle{color:var(--accent-light);font-weight:700;font-size:clamp(1.05rem,3vw,1.4rem)}
.hero .tagline{color:#e9f6f5;font-size:1.05rem;max-width:620px}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.6rem;border-radius:999px;font-weight:800;transition:transform .2s,box-shadow .2s,background .2s;border:none;cursor:pointer;font-family:inherit;font-size:1rem}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--accent);color:#1e1608}
.btn-gold:hover{background:#d8b35f;box-shadow:var(--shadow-lg)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.25)}
.badges{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.badge{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);padding:.45rem .95rem;border-radius:999px;font-size:.85rem;backdrop-filter:blur(4px)}
.hero-art{position:absolute;inset-inline-start:-60px;bottom:-40px;opacity:.14;pointer-events:none}
/* sections */
section{padding:4rem 0}
section:nth-of-type(even){background:var(--white)}
.sec-head{text-align:center;max-width:680px;margin:0 auto 2.5rem}
.sec-head .kicker{color:var(--accent);font-weight:800;letter-spacing:.5px;font-size:.85rem;display:block;margin-bottom:.4rem}
.sec-head h2{color:var(--teal-dark);font-size:clamp(1.4rem,4vw,2rem);font-weight:900}
.sec-head p{color:var(--muted);margin-top:.7rem}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem;transition:transform .25s,box-shadow .25s;border:1px solid #eaf3f2}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.card h3{color:var(--teal-dark);font-size:1.1rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.55rem}
.icon-chip{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:var(--teal-light);color:var(--teal);flex:none;margin-bottom:.8rem}
.grid-3{display:grid;gap:var(--gap)}
@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-2{display:grid;gap:var(--gap)}
@media(min-width:800px){.grid-2{grid-template-columns:repeat(2,1fr)}}
.grid-4{display:grid;gap:var(--gap)}
@media(min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.note{display:flex;gap:.9rem;align-items:flex-start;background:oklch(97% 0.02 85);border:1.5px solid var(--accent);border-radius:var(--radius);padding:1.1rem 1.3rem;margin-top:1.6rem;font-size:1rem;font-weight:500;line-height:1.9}
.note.technical{background:var(--teal-light);border-color:var(--teal);color:var(--teal-dark)}
.lead-text{max-width:760px;margin-inline:auto;text-align:center;font-size:1.1rem;color:var(--ink)}
/* doctor */
.doc-card{display:flex;gap:1.1rem;align-items:flex-start;background:linear-gradient(135deg,var(--teal-dark),var(--teal));color:#fff;border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow-lg)}
.doc-card h3{color:#fff}
.doc-card .role{color:var(--accent-light);font-weight:700}
.info-list{list-style:none;display:grid;gap:.5rem}
.info-list li{display:flex;gap:.5rem;padding:.45rem 0;border-bottom:1px dashed #dcebea;font-size:.95rem}
.info-list li:last-child{border:none}
.info-list .lbl{color:var(--teal-dark);font-weight:700;flex:none;min-width:130px}
.timeline{list-style:none;position:relative;padding-inline-start:1.6rem}
.timeline::before{content:"";position:absolute;inset-inline-start:.45rem;top:.5rem;bottom:.5rem;width:2px;background:var(--teal);opacity:.35}
.timeline li{position:relative;padding:.4rem 0 .4rem 0}
.timeline li::before{content:"";position:absolute;inset-inline-start:-1.42rem;top:1rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 2px var(--teal)}
.timeline strong{color:var(--teal-dark)}
.check-list{list-style:none;display:grid;gap:.55rem}
.check-list li{display:flex;gap:.6rem;align-items:flex-start}
.check-list svg{flex:none;color:var(--teal);margin-top:.35rem}
/* services */
.svc-card{text-align:center}
.svc-card p{color:var(--muted);font-size:.92rem;margin-top:.4rem}
/* contact */
.map-frame{border:0;width:100%;height:340px;border-radius:var(--radius);box-shadow:var(--shadow)}
.contact-card .row{display:flex;gap:.7rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px dashed #dcebea}
.contact-card .row:last-of-type{border:none}
/* footer */
.site-footer{background:var(--teal-dark);color:#dcefee;padding:3rem 0 1.5rem}
.footer-grid{display:grid;gap:2rem}
@media(min-width:800px){.footer-grid{grid-template-columns:repeat(3,1fr)}}
.site-footer h3{color:#fff;font-size:1.05rem;margin-bottom:.8rem}
.site-footer a{color:#bfe4e2}
.site-footer a:hover{color:var(--accent-light)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1.2rem;text-align:center;font-size:.85rem;color:#a9cfce}
/* floating buttons */
.call-float,.to-top{position:fixed;z-index:60;border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-lg);display:inline-flex;align-items:center;justify-content:center;transition:transform .2s,opacity .3s;font-family:inherit}
.call-float{inset-inline-start:18px;bottom:18px;background:var(--accent);color:#1e1608;padding:.9rem 1.3rem;border-radius:999px;font-weight:800;font-size:.95rem;gap:.5rem;text-decoration:none}
.call-float:hover{transform:scale(1.05)}
@media(min-width:900px){.call-float{display:none}}
.to-top{inset-inline-end:18px;bottom:18px;width:48px;height:48px;background:var(--teal);color:#fff;opacity:0;visibility:hidden}
.to-top.show{opacity:1;visibility:visible}
.to-top:hover{background:var(--teal-dark)}
/* reveal animation */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* ── Video Section ─────────────────────────────── */
.video-wrapper {
  display: flex;
  justify-content: center;
  padding: 1rem 0;
}

.clinic-video {
  width: auto;
  max-width: 360px;
  max-height: 70vh;
  border-radius: 1rem;
  box-shadow: 0 8px 32px oklch(0% 0 0 / 0.18);
  background: oklch(12% 0 0);
  display: block;
}

/* ── Schedule Section ──────────────────────────── */
.section--dark {
  background: oklch(18% 0.04 255);
  color: oklch(95% 0 0);
}

.section-title--light {
  color: oklch(97% 0 0);
}

.section-title--light::after {
  background: oklch(75% 0.18 85);
}

.schedule-card {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  background: oklch(22% 0.04 255);
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 4px 24px oklch(0% 0 0 / 0.25);
}

.schedule-group__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: oklch(75% 0.18 85);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid oklch(75% 0.18 85 / 0.3);
  text-align: right;
}

.schedule-group__title--alt {
  color: oklch(72% 0.15 200);
  border-bottom-color: oklch(72% 0.15 200 / 0.3);
}

.schedule-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
  direction: rtl;
}

.schedule-table thead tr {
  background: oklch(28% 0.05 255);
}

.schedule-table th {
  padding: 0.75rem 1rem;
  text-align: right;
  font-weight: 600;
  color: oklch(80% 0 0);
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}

.schedule-table td {
  padding: 0.75rem 1rem;
  text-align: right;
  color: oklch(90% 0 0);
  border-top: 1px solid oklch(100% 0 0 / 0.07);
}

.schedule-table tbody tr:hover {
  background: oklch(100% 0 0 / 0.04);
}

.schedule-table td:last-child,
.schedule-table th:last-child {
  color: oklch(75% 0.18 85);
  font-weight: 600;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .clinic-video {
    max-width: 100%;
  }

  .schedule-card {
    padding: 1.25rem;
  }

  .schedule-table th,
  .schedule-table td {
    padding: 0.6rem 0.5rem;
    font-size: 0.82rem;
  }
}
/* ─── Contact section layout ──────────────────────── */
.contact-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  align-items: start;
}

@media (max-width: 720px) {
  .contact-layout { grid-template-columns: 1fr; }
}

/* ─── Contact list ─────────────────────────────────── */
.contact-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  line-height: 1.6;
}

.contact-item p,
.contact-item a {
  margin: 0;
  font-size: 0.925rem;
}

.contact-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  borderem;
  height: 2rem;
  border-radius: 0.5rem;
  background: oklch(22% 0.04 220 / 0.6);
  border: 1px solid oklch(36% 0.06 220 / 0.4);
  color: var(--teal, okl));
  margin-top: 0.1rem;
}

.contact-sub {
  display: block;
  font-size: 0.82rem;
  color: oklch(62% 0.04 220);
  margin-top: 0.2rem;
}

/* ─── Phone links ──────────────────────────────────── */
.contact-phones {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.phone-link {
  color: inherit;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  letter-spacing: 0.02em;
  transition: color 150ms ease;
}

.phone-link:hover { color: var(--teal, oklch(72% 0.14 195)); }

.phone-sep {
  color: oklch(48% 0.03 220);
  font-weight: 300;
}

/* ─── Instagram link ───────────────────────────────── */
.insta-link {
  color: var(--teal, oklch(72% 0.14 195));
  text-decoration: none;
  font-size: 0.925rem;
  font-weight: 500;
  transition: color 150ms ease;
}

.insta-link:hover { color: oklch(82% 0.12 195); text-decoration: underline; }

/* ─── Contact action buttons ───────────────────────── */
.contact-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.btn-map {
  color: var(--teal, oklch(72% 0.14 195)) !important;
  border-color: var(--teal, oklch(72% 0.14 195)) !important;
}

.btn svg { pointer-events: none; }

/* ─── Map wrapper ──────────────────────────────────── */
.map-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  height: 100%;
}

.map-frame {
  width: 100%;
  flex: 1;
  min-height: 280px;
  border: none;
  border-radius: 0.875rem;
  display: block;
}

.map-links {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  direction: rtl;
}

.map-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.9rem;
  border-radius: 2rem;
  font-size: 0.8rem;
  font-weight: 600;
  background: oklch(20% 0.03 220 / 0.8);
  border: 1px solid oklch(34% 0.05 220 / 0.5);
  color: oklch(74% 0.07 220);
  text-decoration: none;
  transition: background 150ms ease, color 150ms ease;
  white-space: nowrap;
}

.map-links a:hover {
  background: oklch(26% 0.04 220);
  color: oklch(90% 0.05 220);
}
