@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&family=Vazirmatn:wght@300;400;500;600;700&display=swap');

:root {
  --ink: #1f2622;
  --muted: #6f746f;
  --paper: #fbfaf6;
  --cream: #f3eee4;
  --sage: #cfd9ce;
  --sage-deep: #627466;
  --rose: #d8b9ae;
  --terracotta: #b97058;
  --line: rgba(31, 38, 34, .12);
  --white: #ffffff;
  --shadow: 0 22px 70px rgba(43, 51, 46, .12);
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --max: 1220px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: 'DM Sans', system-ui, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
html[lang="fa"] body { font-family: 'Vazirmatn', system-ui, sans-serif; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }

.site-shell { overflow: hidden; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }

.announcement {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 20px;
  font-size: 13px;
  letter-spacing: .03em;
  background: var(--ink);
  color: #fff;
  text-align: center;
}

.header {
  position: relative;
  z-index: 10;
  padding: 20px 0;
  background: rgba(251, 250, 246, .88);
  backdrop-filter: blur(15px);
  border-bottom: 1px solid transparent;
}
.navbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; min-width:205px; }
.brand-logo-wrap { display:block; line-height:0; }
.brand-logo { width:auto; height:31px; max-width:190px; object-fit:contain; object-position:left center; }
[dir="rtl"] .brand { align-items:flex-end; }
[dir="rtl"] .brand-logo { object-position:right center; }
.brand-subtitle { font-size:10px; line-height:1.15; color:var(--muted); letter-spacing:.105em; text-transform:uppercase; padding-inline-start:1px; white-space:nowrap; }
html[lang="fa"] .brand-subtitle { font-family:'Vazirmatn', sans-serif; letter-spacing:0; text-transform:none; font-size:11px; }
.footer .brand-logo { filter:brightness(0) invert(1); opacity:.96; }
.footer .brand-subtitle { color:rgba(255,255,255,.58); }
.mobile-menu .brand-logo { height:29px; }

.nav-links { display:flex; align-items:center; gap: 26px; font-size:14px; }
.nav-links a { position:relative; color:#39403b; }
.nav-links a:not(.nav-cta)::after {
  content:""; position:absolute; inset-inline-start:0; bottom:-7px; width:0; height:1px; background:var(--ink); transition:.25s;
}
.nav-links a:hover::after { width:100%; }
.nav-cta {
  padding: 12px 18px; border-radius: 999px; background:var(--ink); color:white!important; box-shadow:0 10px 30px rgba(31,38,34,.12);
}
.nav-tools { display:flex; align-items:center; gap:10px; }
.lang-switcher { display:flex; align-items:center; gap:5px; padding:5px; border:1px solid var(--line); border-radius:999px; background:#fff; }
.lang-switcher a { font-size:11px; min-width:29px; height:29px; display:grid; place-items:center; border-radius:999px; color:var(--muted); }
.lang-switcher a.active { background:var(--cream); color:var(--ink); font-weight:700; }
.mobile-toggle { display:none; border:0; background:transparent; width:40px; height:40px; border-radius:50%; }
.mobile-toggle span { display:block; width:20px; height:1.5px; background:var(--ink); margin:5px auto; }

.hero { position:relative; padding: 58px 0 90px; }
.hero::before {
  content:""; position:absolute; width:550px; height:550px; border-radius:50%;
  background:radial-gradient(circle, rgba(216,185,174,.25), rgba(216,185,174,0) 70%);
  inset-inline-start:-210px; top:-120px; pointer-events:none;
}
.hero-grid { display:grid; grid-template-columns: 1.02fr .98fr; gap: 70px; align-items:center; }
.eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--sage-deep); font-weight:700; }
html[lang="fa"] .eyebrow { text-transform:none; letter-spacing:0; }
.eyebrow::before { content:""; width:30px; height:1px; background:var(--sage-deep); }
.hero h1 { margin:18px 0 22px; font-family:'Playfair Display', serif; font-weight:600; font-size:clamp(52px, 6.2vw, 86px); line-height:.98; letter-spacing:-.045em; max-width: 760px; }
html[lang="fa"] .hero h1 { font-family:'Vazirmatn', sans-serif; font-weight:600; letter-spacing:-.02em; line-height:1.22; font-size:clamp(46px, 5.5vw, 72px); }
.hero h1 em { font-weight:600; color:var(--terracotta); }
.hero-lead { max-width:610px; font-size:18px; color:#5e655f; margin-bottom:28px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.btn { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:0 22px; border-radius:999px; font-weight:600; font-size:14px; transition:.25s ease; }
.btn-dark { background:var(--ink); color:#fff; box-shadow:0 12px 36px rgba(31,38,34,.16); }
.btn-dark:hover { transform:translateY(-2px); }
.btn-light { background:transparent; border:1px solid var(--line); }
.btn-light:hover { background:#fff; }
.micro-note { margin-top:26px; display:flex; align-items:center; gap:13px; color:var(--muted); font-size:13px; }
.micro-dots { display:flex; }
.micro-dots i { width:30px; height:30px; border-radius:50%; border:2px solid var(--paper); background:var(--sage); margin-inline-start:-8px; }
.micro-dots i:nth-child(2) { background:var(--rose); }
.micro-dots i:nth-child(3) { background:var(--cream); }
.micro-dots i:first-child { margin-inline-start:0; }

.hero-visual { position:relative; min-height:620px; }
.photo-main, .photo-small, .editorial-image, .story-image {
  background:
    linear-gradient(145deg, rgba(255,255,255,.25), rgba(255,255,255,0)),
    linear-gradient(145deg, #dedbd2, #c8cec6);
  background-size:cover; background-position:center;
}
.photo-main {
  position:absolute; inset:0 25px 20px 70px; border-radius: 180px 180px 32px 32px;
  box-shadow:var(--shadow);
}
.photo-main.has-image { background-image: var(--image); }
.photo-small {
  position:absolute; width:190px; height:220px; inset-inline-start:0; bottom:8px; border-radius: 24px 24px 100px 100px;
  border:8px solid var(--paper); box-shadow:0 20px 50px rgba(43,51,46,.15);
}
.photo-small.has-image { background-image: var(--image); }
.hero-note {
  position:absolute; inset-inline-end:-10px; bottom:65px; width:210px; padding:19px 20px; background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.8); border-radius:20px; box-shadow:0 20px 50px rgba(43,51,46,.14); backdrop-filter:blur(12px);
}
.hero-note strong { display:block; font-family:'Playfair Display', serif; font-size:24px; margin-bottom:3px; }
html[lang="fa"] .hero-note strong { font-family:'Vazirmatn'; }
.hero-note span { font-size:12px; color:var(--muted); }
.hero-flower { position:absolute; width:110px; height:110px; border-radius:50%; inset-inline-end:30px; top:38px; border:1px solid rgba(98,116,102,.23); }
.hero-flower::before,.hero-flower::after { content:""; position:absolute; inset:24px; border:1px solid rgba(185,112,88,.25); border-radius:60% 40% 60% 40%; transform:rotate(35deg); }
.hero-flower::after { transform:rotate(100deg); }

.strip { border-block:1px solid var(--line); background:#fff; }
.strip-inner { display:grid; grid-template-columns:repeat(4,1fr); }
.strip-item { padding:24px 20px; display:flex; gap:12px; align-items:center; justify-content:center; border-inline-end:1px solid var(--line); text-align:center; }
.strip-item:last-child { border-inline-end:0; }
.strip-item span { width:8px; height:8px; border-radius:50%; background:var(--terracotta); flex:none; }
.strip-item p { margin:0; font-size:13px; color:#4f5751; }

.section { padding: 105px 0; }
.section-soft { background:var(--cream); }
.section-head { max-width:760px; margin-bottom:48px; }
.section-head.center { text-align:center; margin-inline:auto; margin-bottom:56px; }
.kicker { color:var(--terracotta); font-size:12px; text-transform:uppercase; letter-spacing:.14em; font-weight:700; }
html[lang="fa"] .kicker { text-transform:none; letter-spacing:0; }
.section h2 { font-family:'Playfair Display', serif; font-size:clamp(38px,4vw,56px); line-height:1.05; letter-spacing:-.03em; margin:10px 0 16px; font-weight:600; }
html[lang="fa"] .section h2 { font-family:'Vazirmatn'; letter-spacing:-.01em; line-height:1.3; }
.section-head p { color:var(--muted); font-size:17px; margin:0; }

.lesson-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.lesson-card { position:relative; min-height:300px; padding:28px; background:#fff; border-radius:var(--radius-lg); border:1px solid rgba(31,38,34,.08); display:flex; flex-direction:column; transition:.28s ease; overflow:hidden; }
.lesson-card::after { content:""; position:absolute; width:150px; height:150px; border:1px solid rgba(185,112,88,.12); border-radius:50%; inset-inline-end:-70px; top:-70px; }
.lesson-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(43,51,46,.08); }
.lesson-number { width:38px; height:38px; border-radius:50%; background:var(--cream); display:grid; place-items:center; color:var(--terracotta); font-weight:700; font-size:12px; }
.lesson-card h3 { font-size:22px; margin:42px 0 10px; }
.lesson-card p { margin:0; color:var(--muted); font-size:14px; }
.lesson-card a { margin-top:auto; padding-top:24px; font-size:13px; font-weight:700; }

.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.editorial-wrap { position:relative; min-height:590px; }
.editorial-image { position:absolute; inset:0 0 0 45px; border-radius:var(--radius-xl); box-shadow:var(--shadow); }
.editorial-image.has-image { background-image:var(--image); }
.editorial-chip { position:absolute; inset-inline-start:0; bottom:45px; width:190px; padding:22px; border-radius:22px; background:var(--sage-deep); color:white; box-shadow:0 18px 40px rgba(57,72,62,.18); }
.editorial-chip strong { display:block; font-family:'Playfair Display'; font-size:28px; line-height:1.1; }
html[lang="fa"] .editorial-chip strong { font-family:'Vazirmatn'; }
.editorial-chip span { display:block; font-size:12px; opacity:.8; margin-top:7px; }
.about-copy p { color:var(--muted); font-size:16px; }
.signature { margin:28px 0 30px; font-family:'Playfair Display', serif; font-style:italic; font-size:26px; color:var(--terracotta); }
html[lang="fa"] .signature { font-family:'Vazirmatn'; font-style:normal; }

.method-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.method-item { padding:30px 24px; border-top:1px solid var(--ink); }
.method-item b { font-family:'Playfair Display'; font-size:42px; color:var(--rose); font-weight:600; }
html[lang="fa"] .method-item b { font-family:'Vazirmatn'; }
.method-item h3 { font-size:17px; margin:10px 0 9px; }
.method-item p { font-size:13px; color:var(--muted); margin:0; }

.alanya-panel { display:grid; grid-template-columns:1.05fr .95fr; min-height:570px; background:var(--ink); color:white; border-radius:var(--radius-xl); overflow:hidden; }
.alanya-copy { padding:60px; align-self:center; }
.alanya-copy .kicker { color:#e3c4b8; }
.alanya-copy h2 { max-width:520px; }
.alanya-copy p { color:rgba(255,255,255,.68); max-width:540px; }
.alanya-image { min-height:470px; background:linear-gradient(145deg,#b7c1b8,#d5cbbb); background-size:cover; background-position:center; }
.alanya-image.has-image { background-image:var(--image); }
.alanya-copy .btn { margin-top:18px; background:white; color:var(--ink); }

.story-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.story-feature { min-height:500px; position:relative; overflow:hidden; border-radius:var(--radius-xl); background:#d1d4ce; }
.story-image { position:absolute; inset:0; }
.story-image.has-image { background-image:var(--image); }
.story-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(25,31,27,.75), rgba(25,31,27,0) 65%); }
.story-content { position:absolute; inset-inline:35px; bottom:35px; color:white; max-width:650px; }
.story-content blockquote { font-family:'Playfair Display'; font-size:31px; line-height:1.25; margin:0 0 15px; }
html[lang="fa"] .story-content blockquote { font-family:'Vazirmatn'; }
.story-content span { font-size:13px; opacity:.8; }
.story-stack { display:grid; gap:18px; }
.quote-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; display:flex; flex-direction:column; justify-content:space-between; }
.quote-card p { font-family:'Playfair Display'; font-size:21px; line-height:1.45; margin:0 0 24px; }
html[lang="fa"] .quote-card p { font-family:'Vazirmatn'; }
.quote-card small { color:var(--muted); }

.corner-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.article-card { border-radius:var(--radius-lg); overflow:hidden; background:#fff; border:1px solid var(--line); }
.article-thumb { height:220px; background:linear-gradient(145deg,#d8d4ca,#bfc9c0); background-size:cover; background-position:center; }
.article-thumb.has-image { background-image:var(--image); }
.article-body { padding:24px; }
.article-body small { color:var(--terracotta); font-weight:700; }
.article-body h3 { margin:10px 0 9px; font-size:20px; }
.article-body p { margin:0; color:var(--muted); font-size:13px; }

.booking { position:relative; padding:105px 0; }
.booking-box { position:relative; overflow:hidden; display:grid; grid-template-columns:.92fr 1.08fr; background:var(--sage); border-radius:var(--radius-xl); }
.booking-copy { padding:64px; }
.booking-copy h2 { max-width:450px; }
.booking-copy p { max-width:470px; color:#515d54; }
.booking-points { margin-top:28px; display:grid; gap:10px; font-size:14px; }
.booking-points span::before { content:'✓'; display:inline-block; margin-inline-end:9px; font-weight:700; }
.booking-form-wrap { margin:18px; padding:38px; background:rgba(255,255,255,.94); border-radius:26px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field { display:grid; gap:6px; }
.field.full { grid-column:1/-1; }
.field label { font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; color:#606760; }
html[lang="fa"] .field label { letter-spacing:0; text-transform:none; }
.field input,.field select,.field textarea { width:100%; border:1px solid var(--line); background:#fff; border-radius:13px; min-height:48px; padding:11px 13px; outline:none; color:var(--ink); }
.field textarea { min-height:96px; resize:vertical; }
.field input:focus,.field select:focus,.field textarea:focus { border-color:rgba(98,116,102,.55); box-shadow:0 0 0 3px rgba(98,116,102,.08); }
.form-submit { margin-top:16px; width:100%; border:0; cursor:pointer; }
.form-note { margin:12px 0 0; font-size:11px; color:var(--muted); text-align:center; }

.footer { padding:70px 0 32px; background:#161b18; color:white; }
.footer-grid { display:grid; grid-template-columns:1.4fr .7fr .7fr .8fr; gap:35px; }
.footer-brand p { color:rgba(255,255,255,.55); max-width:370px; font-size:13px; }
.footer h4 { font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.45); margin:0 0 18px; }
html[lang="fa"] .footer h4 { text-transform:none; letter-spacing:0; }
.footer-links { display:grid; gap:10px; font-size:13px; color:rgba(255,255,255,.76); }
.footer-bottom { margin-top:55px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; font-size:11px; color:rgba(255,255,255,.45); }

.reveal { opacity:0; transform:translateY(16px); transition:opacity .65s ease, transform .65s ease; }
.reveal.in { opacity:1; transform:none; }

@media (max-width: 1050px) {
  .nav-links { display:none; }
  .mobile-toggle { display:block; }
  .hero-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .hero-visual { min-height:540px; }
  .lesson-grid { grid-template-columns:repeat(2,1fr); }
  .method-grid { grid-template-columns:repeat(2,1fr); }
  .about-grid { gap:45px; }
}
@media (max-width: 760px) {
  .container { width:min(100% - 28px, var(--max)); }
  .announcement { font-size:11px; }
  .header { padding:14px 0; }
  .brand-subtitle { font-size:9px; }
  .lang-switcher a { min-width:28px; }
  .hero { padding:40px 0 60px; }
  .hero-grid { grid-template-columns:1fr; }
  .hero h1 { font-size:clamp(47px,14vw,67px); }
  html[lang="fa"] .hero h1 { font-size:clamp(40px,12vw,58px); }
  .hero-visual { min-height:520px; margin-top:20px; }
  .photo-main { inset:0 18px 20px 42px; }
  [dir="rtl"] .photo-main { inset:0 42px 20px 18px; }
  .photo-small { width:145px; height:170px; }
  .hero-note { width:175px; bottom:45px; }
  .strip-inner { grid-template-columns:1fr 1fr; }
  .strip-item:nth-child(2) { border-inline-end:0; }
  .strip-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .section { padding:76px 0; }
  .lesson-grid,.corner-grid { grid-template-columns:1fr; }
  .about-grid { grid-template-columns:1fr; }
  .editorial-wrap { min-height:500px; }
  .method-grid { grid-template-columns:1fr 1fr; }
  .alanya-panel,.booking-box { grid-template-columns:1fr; }
  .alanya-copy,.booking-copy { padding:42px 30px; }
  .alanya-image { min-height:390px; }
  .story-grid { grid-template-columns:1fr; }
  .story-feature { min-height:440px; }
  .booking-form-wrap { margin:12px; padding:24px 18px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 480px) {
  .brand { min-width:auto; }
  .brand-logo { height:27px; max-width:160px; }
  .brand-subtitle { font-size:8.5px; }
  .nav-tools { gap:5px; }
  .hero-actions .btn { width:100%; }
  .micro-note { align-items:flex-start; }
  .method-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .story-content { inset-inline:24px; bottom:24px; }
  .story-content blockquote { font-size:25px; }
}

.mobile-menu {
  position:fixed; inset:0; z-index:100; background:rgba(251,250,246,.98); display:none; padding:28px;
}
.mobile-menu.open { display:block; }
.mobile-menu-top { display:flex; justify-content:space-between; align-items:center; }
.mobile-close { border:0; background:transparent; font-size:30px; cursor:pointer; }
.mobile-menu-links { margin-top:70px; display:grid; gap:22px; font-family:'Playfair Display'; font-size:34px; }
html[lang="fa"] .mobile-menu-links { font-family:'Vazirmatn'; }
