/* =========================================================
   Afarinesh Clinic — main stylesheet
   ========================================================= */

@font-face { font-family: "Peyda"; src: url("../fonts/peyda/PeydaWebFaNum-Regular.woff2") format("woff2"); font-weight: 100 550; font-style: normal; font-display: swap; }
@font-face { font-family: "Peyda"; src: url("../fonts/peyda/PeydaWebFaNum-Bold.woff2") format("woff2"); font-weight: 551 900; font-style: normal; font-display: swap; }
@font-face { font-family: "IRANSansX"; src: url("../fonts/iransansx/IRANSansXFaNum-Regular.woff2") format("woff2"); font-weight: 100 550; font-style: normal; font-display: swap; }
@font-face { font-family: "IRANSansX"; src: url("../fonts/iransansx/IRANSansXFaNum-Bold.woff2") format("woff2"); font-weight: 551 900; font-style: normal; font-display: swap; }
@font-face {
	font-family: "Vazirmatn";
	src: url("../fonts/Vazirmatn-Variable.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Mrs Saint Delafield";
	src: url("../fonts/MrsSaintDelafield.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF;
}
@font-face {
	font-family: "Cormorant Garamond";
	src: url("../fonts/CormorantGaramond-Italic.woff2") format("woff2");
	font-weight: 500;
	font-style: italic;
	font-display: swap;
	unicode-range: U+0000-00FF;
}

:root {
	--af-accent: #363A2A;
	--af-accent-tint: color-mix(in srgb, var(--af-accent) 9%, #fff);
	--af-accent-soft: color-mix(in srgb, var(--af-accent) 5%, #FAF7F4);
	--af-bg: #F5F2EB;
	--af-surface: #FFFFFF;
	--af-ink: #161512;
	--af-ink-2: #2E2C26;
	--af-text: #5A574F;
	--af-muted: #6F6B62;
	--af-gold: #7E7146;
	--af-gold-line: #C3B58C;
	--af-gold-light: #E7D3A8;
	--af-line: #E4DED2;
	--af-line-2: #DAD3C5;
	--af-ph: #E8E3D8;
	--af-footer: #2F3326;
	--af-r-card: 22px;
	--af-r-media: 26px;
	--af-shadow: 0 20px 44px -24px rgba(42, 31, 41, .35);
	--af-font: "IRANSansX", "Vazirmatn", Tahoma, sans-serif;
	--af-head: "Peyda", "IRANSansX", "Vazirmatn", Tahoma, sans-serif;
	--af-latin: "Cormorant Garamond", Georgia, serif;
	--af-header-h: 96px;
	--af-olive: #383B1E;
	--af-cream: #EFEBE2;
	--af-script: "Mrs Saint Delafield", cursive;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--af-header-h) + 60px); -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--af-font);
	font-size: 16px;
	line-height: 1.85;
	color: var(--af-ink);
	background: var(--af-bg);
	direction: rtl;
	text-rendering: optimizeLegibility;
}
img, video, iframe { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--af-accent); outline-offset: 3px; border-radius: 6px; }
.screen-reader-text, .af-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.af-skip { position: absolute; top: -60px; right: 16px; z-index: 100; background: var(--af-ink); color: #fff; padding: 10px 18px; border-radius: 0 0 12px 12px; }
.af-skip:focus { top: 0; }
.af-i { flex-shrink: 0; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Layout ---------- */
.af-wrap { max-width: 1240px; margin: 0 auto; padding-inline: 32px; }
.af-wrap--narrow { max-width: 880px; }
.af-wrap--read { max-width: 760px; }
.af-wrap--wide-read { max-width: 1040px; }
.af-section { padding-block: 88px; }
.af-section--tight { padding-block: 56px; }
.af-section--white { background: var(--af-surface); border-top: 1px solid #EFE7E6; }
.af-grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.af-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }

/* ---------- Type ---------- */
.af-kicker { font-family: var(--af-latin); font-style: italic; font-size: 20px; line-height: 1; color: var(--af-gold); }
.af-h2 { margin: 8px 0 6px; font-size: clamp(26px, 3vw, 34px); line-height: 1.5; font-weight: 800; }
.af-h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.5; font-weight: 800; }
.af-p { margin: 0; font-size: 15.5px; color: var(--af-text); }
.af-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.af-head__p { margin: 0; color: var(--af-muted); font-size: 15px; }
.af-head--center { justify-content: center; text-align: center; }
.af-head--spaced { margin-top: 64px; }
.af-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 600; color: var(--af-gold); }
.af-eyebrow__line { width: 28px; height: 1px; background: var(--af-gold-line); }
.af-chip { display: inline-flex; align-items: center; padding: 5px 14px; border-radius: 999px; background: var(--af-accent-tint); color: var(--af-accent); font-size: 13px; font-weight: 600; }
.af-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14.5px; font-weight: 600; color: var(--af-accent); }
.af-link:hover { text-decoration: underline; text-underline-offset: 6px; }
.af-more { margin-top: 8px; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--af-accent); }

/* ---------- Buttons ---------- */
.af-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 12px 26px; border-radius: 999px;
	font-size: 15px; font-weight: 600; line-height: 1.3; cursor: pointer;
	border: 1.5px solid transparent; transition: background-color .2s, border-color .2s, transform .2s;
}
.af-btn--primary { background: var(--af-accent); color: #fff; }
.af-btn--primary:hover { background: color-mix(in srgb, var(--af-accent) 85%, #000); }
.af-btn--ghost { border-color: #D9CCD5; color: var(--af-ink); background: transparent; }
.af-btn--ghost:hover { border-color: var(--af-accent); }
.af-btn--ghost .af-i { color: var(--af-accent); }
.af-btn--light { background: #fff; color: var(--af-ink); }
.af-btn--sm { min-height: 44px; padding: 10px 20px; font-size: 14px; }
.af-btn--lg { min-height: 52px; padding: 14px 28px; }
.af-btn--block { width: 100%; }
.af-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.af-actions--center { justify-content: center; margin-top: 18px; }

/* ---------- Placeholder ---------- */
.af-ph { position: relative; display: flex; align-items: flex-end; width: 100%; height: 100%; min-height: 120px; background: var(--af-ph); }
.af-ph__cap { margin: 14px; font-size: 12px; color: var(--af-text); background: rgba(255,255,255,.86); padding: 6px 10px; border-radius: 999px; }

/* ---------- Header ---------- */
.af-header { position: sticky; top: 0; z-index: 50; background: rgba(250, 247, 244, .94); backdrop-filter: saturate(140%) blur(10px); border-bottom: 1px solid var(--af-line); transition: box-shadow .2s; }
.af-header.is-scrolled { box-shadow: 0 10px 30px -22px rgba(42,31,41,.4); }
.admin-bar .af-header { top: 32px; }
.af-header__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: var(--af-header-h); }
.af-logo { display: flex; align-items: center; gap: 12px; color: var(--af-accent); }
.af-logo__img { height: 64px; width: auto; max-width: none; }
.af-logo__txt { display: flex; flex-direction: column; line-height: 1.2; }
.af-logo__name { font-size: 22px; font-weight: 800; }
.af-logo__tag { font-size: 11px; color: var(--af-muted); }
.af-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 30px; font-size: 14.5px; font-weight: 500; color: var(--af-ink-2); }
.af-menu > li { position: relative; }
.af-menu a { display: block; padding: 8px 0; }
.af-menu a:hover, .af-menu .current-menu-item > a, .af-menu .current_page_item > a { color: var(--af-accent); }
.af-menu .current-menu-item > a, .af-menu .current_page_item > a { font-weight: 700; }
.af-menu .sub-menu { list-style: none; position: absolute; top: 100%; right: -18px; min-width: 240px; margin: 0; padding: 10px; background: #fff; border-radius: 16px; box-shadow: var(--af-shadow); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s; }
.af-menu li:hover > .sub-menu, .af-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.af-menu .sub-menu a { padding: 8px 12px; border-radius: 10px; font-size: 14px; }
.af-menu .sub-menu a:hover { background: var(--af-accent-soft); }
.af-header__actions { display: flex; align-items: center; gap: 18px; }
.af-header__phone { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.af-header__phone .af-i { color: var(--af-accent); }
.af-burger { display: none; width: 44px; height: 44px; border: 1px solid var(--af-line-2); border-radius: 12px; background: #fff; align-items: center; justify-content: center; cursor: pointer; }
.af-nav__mobile-cta { display: none; }

/* ---------- Hero ---------- */
.af-hero { padding-block: 64px 72px; }
.af-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.af-hero__text { display: flex; flex-direction: column; gap: 26px; }
.af-hero__title { margin: 0; font-size: clamp(36px, 4.6vw, 54px); line-height: 1.35; font-weight: 800; }
.af-hero__title span { color: var(--af-accent); }
.af-hero__lead { margin: 0; font-size: 17px; color: var(--af-text); max-width: 520px; }
.af-trust { display: flex; margin: 18px 0 0; padding-top: 24px; border-top: 1px solid #E6DCDC; }
.af-trust__item { flex: 1; padding-inline: 18px; border-right: 1px solid #E6DCDC; margin: 0; }
.af-trust__item:first-child { border-right: 0; padding-right: 0; }
.af-trust dt { font-size: 26px; font-weight: 800; color: var(--af-accent); line-height: 1.3; }
.af-trust dd { margin: 0; font-size: 13px; color: var(--af-muted); line-height: 1.6; }
.af-trust__badge { flex: 1.3; display: flex; align-items: center; gap: 10px; }
.af-trust__badge .af-i { color: var(--af-gold); }
.af-trust__badge dd { color: var(--af-ink-2); }
.af-hero__media, .af-shero__media { position: relative; }
.af-arch { height: 580px; border-radius: 320px 320px 28px 28px; overflow: hidden; background: var(--af-ph); }
.af-arch img { width: 100%; height: 100%; object-fit: cover; }
.af-float-card { position: absolute; bottom: 36px; right: -28px; display: flex; align-items: center; gap: 14px; padding: 16px 20px; background: #fff; border-radius: 18px; box-shadow: var(--af-shadow); line-height: 1.5; }
.af-float-card__icon { width: 44px; height: 44px; border-radius: 12px; background: var(--af-accent-tint); color: var(--af-accent); display: flex; align-items: center; justify-content: center; }
.af-float-card strong { display: block; font-size: 14px; }
.af-float-card small { display: block; font-size: 12px; color: var(--af-muted); }
.af-pill-badge { position: absolute; top: 40px; left: -20px; background: var(--af-accent); color: #fff; border-radius: 999px; padding: 10px 18px; font-size: 13px; font-weight: 600; }

/* ---------- Filter pills ---------- */
.af-pills { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13.5px; font-weight: 500; }
.af-pills button, .af-pills a { min-height: 40px; padding: 8px 17px; border-radius: 999px; border: 1px solid var(--af-line-2); background: transparent; cursor: pointer; display: inline-flex; align-items: center; }
.af-pills .is-active { background: var(--af-ink); border-color: var(--af-ink); color: #fff; }
.af-pills__n { margin-right: 6px; font-size: 12px; opacity: .6; }
.af-pills--links { margin-top: 22px; }

/* ---------- Service card ---------- */
.af-scard { display: flex; flex-direction: column; border: 1px solid #EEE5E6; border-radius: var(--af-r-card); overflow: hidden; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.af-scard:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -24px rgba(62,27,58,.35); }
.af-scard[hidden] { display: none; }
.af-scard__media { display: block; aspect-ratio: 4 / 3; background: var(--af-ph); overflow: hidden; }
.af-scard__media img { width: 100%; height: 100%; object-fit: cover; }
.af-scard__body { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 20px; }
.af-scard__title { font-size: 17px; font-weight: 700; line-height: 1.6; }
.af-scard__text { font-size: 13.5px; color: var(--af-muted); line-height: 1.7; }

/* ---------- Full services index ---------- */
.af-index { margin-top: 36px; border: 1px solid #EEE5E6; border-radius: var(--af-r-card); padding: 30px 32px; background: #FCFAF8; }
.af-index__h { margin: 0 0 18px; font-size: 16px; font-weight: 800; }
.af-index__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.af-index__group { font-size: 12.5px; font-weight: 700; color: var(--af-gold); margin-bottom: 8px; }
.af-index ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: #4A3D47; }
.af-index a:hover { color: var(--af-accent); text-decoration: underline; text-underline-offset: 5px; }

/* ---------- Why / split ---------- */
.af-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.af-split__text { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.af-split__text .af-h2 { margin: 0; }
.af-feats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 6px; width: 100%; }
.af-feat { display: flex; gap: 12px; align-items: flex-start; }
.af-feat__icon { width: 40px; height: 40px; border-radius: 12px; background: var(--af-accent-tint); color: var(--af-accent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.af-feat strong { display: block; font-size: 15px; }
.af-feat small { display: block; font-size: 13px; color: var(--af-muted); line-height: 1.7; }
.af-mosaic { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); grid-template-rows: 242px 242px; gap: 16px; }
.af-mosaic > div { border-radius: var(--af-r-media); overflow: hidden; background: var(--af-ph); }
.af-mosaic__big { grid-row: 1 / 3; }
.af-mosaic img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Band (accent) + steps ---------- */
.af-band { background: var(--af-accent); color: #fff; padding-block: 80px; }
.af-band .af-kicker { color: var(--af-gold-light); }
.af-head--light { margin-bottom: 44px; }
.af-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.af-steps li { border-top: 1px solid rgba(255,255,255,.35); padding-top: 20px; display: flex; flex-direction: column; }
.af-steps__n { font-size: 14px; font-weight: 700; color: var(--af-gold-light); }
.af-steps strong { font-size: 18px; margin: 6px 0; }
.af-steps li > span:last-child { font-size: 14px; color: rgba(255,255,255,.85); line-height: 1.8; }

/* ---------- Before / after ---------- */
.af-ba-card { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.af-ba-card figcaption { font-size: 15px; font-weight: 700; }
.af-ba { position: relative; aspect-ratio: 1 / 1; border-radius: 20px; overflow: hidden; background: var(--af-ph); user-select: none; touch-action: pan-y; }
.af-ba__img { position: absolute; inset: 0; }
.af-ba__img img { width: 100%; height: 100%; object-fit: cover; }
.af-ba__before { clip-path: inset(0 0 0 var(--pos)); }
.af-ba::after { content: ""; position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: #fff; pointer-events: none; }
.af-ba__handle { position: absolute; top: 50%; left: var(--pos); z-index: 2; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; background: #fff; color: var(--af-ink); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(0,0,0,.18); pointer-events: none; }
.af-ba__tag { position: absolute; bottom: 12px; z-index: 2; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: rgba(42,31,41,.72); color: #fff; pointer-events: none; }
.af-ba__tag--b { right: 12px; }
.af-ba__tag--a { left: 12px; }
.af-ba__range { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; direction: ltr; }
.af-ba__range:focus-visible + .af-ba__handle, .af-ba:focus-within .af-ba__handle { outline: 2px solid var(--af-accent); }

/* ---------- Article card ---------- */
.af-acard { display: flex; flex-direction: column; gap: 12px; }
.af-acard__media { display: block; aspect-ratio: 16 / 11; border-radius: 20px; overflow: hidden; background: var(--af-ph); }
.af-acard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.af-acard:hover .af-acard__media img { transform: scale(1.03); }
.af-acard__cat { font-size: 12.5px; font-weight: 600; color: var(--af-gold); align-self: flex-start; }
.af-acard__title { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.7; }
.af-acard__title a:hover { color: var(--af-accent); }
.af-acard__meta { font-size: 12.5px; color: var(--af-muted); }

/* ---------- FAQ ---------- */
.af-faq { display: flex; flex-direction: column; }
.af-faq__item { border-top: 1px solid var(--af-line); }
.af-faq__item:last-child { border-bottom: 1px solid var(--af-line); }
.af-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; font-size: 16px; font-weight: 700; cursor: pointer; }
.af-faq summary::-webkit-details-marker { display: none; }
.af-faq__sign { position: relative; width: 16px; height: 16px; flex-shrink: 0; color: var(--af-accent); }
.af-faq__sign::before, .af-faq__sign::after { content: ""; position: absolute; top: 50%; left: 0; width: 16px; height: 2px; margin-top: -1px; background: currentColor; border-radius: 2px; transition: transform .2s; }
.af-faq__sign::after { transform: rotate(90deg); }
.af-faq details[open] .af-faq__sign::after { transform: rotate(0); }
.af-faq__a { padding-bottom: 20px; font-size: 14.5px; color: var(--af-text); }
.af-faq__a p { margin: 0 0 8px; }

/* ---------- Forms ---------- */
.af-faqform { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.af-faqform .af-h2 { margin-bottom: 26px; }
.af-form { background: #F1EEE6; background: var(--af-accent-soft); border-radius: 28px; padding: 36px; display: flex; flex-direction: column; gap: 16px; }
.af-form--compact { padding: 26px; gap: 12px; background: #fff; border: 1px solid var(--af-line); }
.af-form__h { font-size: 22px; font-weight: 800; line-height: 1.5; }
.af-form--compact .af-form__h { font-size: 18px; }
.af-form__p { margin: 0 0 4px; font-size: 14px; color: var(--af-text); }
.af-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.af-field input, .af-field select, .af-field textarea { width: 100%; min-height: 50px; border: 1px solid #E0D3DB; border-radius: 14px; padding: 10px 16px; font-size: 15px; background: #fff; font-weight: 400; }
.af-field textarea { min-height: 90px; resize: vertical; }
.af-field input:focus, .af-field select:focus, .af-field textarea:focus { outline: none; border-color: var(--af-accent); box-shadow: 0 0 0 3px var(--af-accent-tint); }
.af-field input[dir="ltr"] { text-align: right; }
.af-field.is-invalid input { border-color: #B3261E; }
.af-form__msg { margin: 0; font-size: 14px; font-weight: 600; min-height: 1em; }
.af-form__msg.is-ok { color: #1E6B3A; }
.af-form__msg.is-err { color: #B3261E; }
.af-form.is-loading button[type="submit"] { opacity: .7; pointer-events: none; }

/* ---------- Contact ---------- */
.af-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 32px; }
.af-contact__card { background: #fff; border: 1px solid #EEE5E6; border-radius: var(--af-r-media); padding: 34px; display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.af-contact__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; font-size: 14.5px; width: 100%; }
.af-contact__list li { display: flex; gap: 14px; align-items: flex-start; }
.af-contact__list .af-i { color: var(--af-accent); margin-top: 4px; }
.af-contact__list a { font-weight: 600; }
.af-map { min-height: 340px; border-radius: var(--af-r-media); overflow: hidden; background: #E9E4E0; }
.af-map iframe { width: 100%; height: 100%; min-height: 340px; border: 0; }

/* ---------- Footer ---------- */
.af-footer { background: var(--af-footer); color: #E9E1E6; padding-block: 64px 28px; }
.af-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 36px; }
.af-footer__logo { display: inline-block; }
.af-footer__logo img { height: 76px; width: auto; }
.af-footer p { margin: 10px 0 16px; font-size: 13.5px; color: #C9BDC5; line-height: 1.9; }
.af-footer__h { font-size: 14.5px; font-weight: 700; color: #fff; margin-bottom: 12px; }
.af-footer__list { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; color: #C9BDC5; }
.af-footer__list a:hover { color: #fff; }
.af-social { display: flex; gap: 10px; }
.af-social a { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.25); display: flex; align-items: center; justify-content: center; }
.af-social a:hover { background: rgba(255,255,255,.08); }
.af-footer__bottom { margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: #A99CA5; }

/* ---------- Mobile action bar ---------- */
.af-mbar { display: none; }

/* Short screens: keep the sticky booking card fully visible */
@media (min-width: 1001px) and (max-height: 940px) {
	.af-aside__why { display: none; }
}

/* ---------- Desktop floating dock ---------- */
.af-dock { position: fixed; left: 24px; bottom: 24px; z-index: 45; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.af-dock__btn { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 18px 6px 6px; border-radius: 999px; box-shadow: 0 16px 36px -18px rgba(42,31,41,.55); font-weight: 700; transition: transform .2s ease; }
.af-dock__btn:hover { transform: translateY(-2px); }
.af-dock__icon { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.af-dock__txt { display: flex; flex-direction: column; line-height: 1.35; font-size: 14px; }
.af-dock__txt small { font-size: 11.5px; font-weight: 500; opacity: .85; }
.af-dock__txt strong { font-size: 15px; }
.af-dock__btn--call { background: var(--af-accent); color: #fff; }
.af-dock__btn--call .af-dock__icon { background: rgba(255,255,255,.16); }
.af-dock__btn--lucky { background: #fff; color: var(--af-ink); border: 1px solid var(--af-gold-line); }
.af-dock__btn--lucky .af-dock__icon { background: #FBF3E3; color: var(--af-gold); }
.af-dock__btn--lucky:hover .af-i { transform: rotate(180deg); }
.af-dock__btn--lucky .af-i { transition: transform .6s ease; }

/* ---------- Breadcrumbs ---------- */
.af-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--af-muted); margin-bottom: 22px; }
.af-crumbs a:hover { color: var(--af-accent); }
.af-crumbs .separator { margin-inline: 4px; }

/* =========================================================
   Service landing
   ========================================================= */
.af-shero { padding-block: 32px 64px; }
.af-shero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.af-shero__text { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
.af-shero__title { margin: 0; font-size: clamp(32px, 4.2vw, 50px); line-height: 1.4; font-weight: 800; }
.af-shero__lead { margin: 0; font-size: 17px; color: var(--af-text); max-width: 560px; }
.af-shero__note { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--af-muted); }
.af-shero__note .af-i { color: var(--af-gold); }
.af-shero .af-arch { height: 540px; }
.af-facts { margin: 0; width: 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); border: 1px solid var(--af-line); border-radius: 20px; background: #fff; }
.af-facts__item { padding: 16px 18px; border-right: 1px solid var(--af-line); display: grid; grid-template-columns: auto 1fr; column-gap: 10px; align-items: center; }
.af-facts__item:first-child { border-right: 0; }
.af-facts__item .af-i { grid-row: 1 / 3; color: var(--af-accent); }
.af-facts dt { font-size: 12px; color: var(--af-muted); line-height: 1.5; }
.af-facts dd { margin: 0; font-size: 14.5px; font-weight: 700; line-height: 1.5; }
.af-play { position: absolute; bottom: 32px; right: -24px; display: flex; align-items: center; gap: 12px; padding: 10px 20px 10px 10px; padding-inline: 10px 20px; border: 0; border-radius: 999px; background: #fff; box-shadow: var(--af-shadow); font-size: 14px; font-weight: 700; cursor: pointer; }
.af-play__icon { width: 46px; height: 46px; border-radius: 50%; background: var(--af-accent); color: #fff; display: flex; align-items: center; justify-content: center; }
.af-play:hover .af-play__icon { transform: scale(1.06); }

.af-snav { position: sticky; top: var(--af-header-h); z-index: 40; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); border-block: 1px solid var(--af-line); }
.admin-bar .af-snav { top: calc(var(--af-header-h) + 32px); }
.af-snav__in { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.af-snav__in::-webkit-scrollbar { display: none; }
.af-snav a { flex-shrink: 0; padding: 14px 16px; font-size: 14px; font-weight: 600; color: var(--af-muted); border-bottom: 2px solid transparent; }
.af-snav a:hover { color: var(--af-ink); }
.af-snav a.is-active { color: var(--af-accent); border-color: var(--af-accent); }

.af-sbody { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; align-items: start; }
.af-aside { align-self: stretch; }
.af-aside__sticky { position: sticky; top: calc(var(--af-header-h) + 72px); display: flex; flex-direction: column; gap: 16px; }
.af-aside__box { border: 1px solid var(--af-line); border-radius: 20px; padding: 20px 22px; background: #FCFAF8; display: flex; flex-direction: column; gap: 10px; }
.af-aside__h { font-size: 15px; font-weight: 800; }
.af-aside__tel { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 15px; }
.af-aside__tel .af-i { color: var(--af-accent); }
.af-aside__muted { margin: 0; display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--af-muted); }

.af-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.af-checks li { display: flex; gap: 10px; align-items: flex-start; }
.af-checks .af-i { color: var(--af-accent); margin-top: 5px; }
.af-checks--sm { font-size: 14px; gap: 6px; }
.af-suit { margin-top: 40px; padding: 28px 30px; border-radius: var(--af-r-card); background: var(--af-accent-soft); }
.af-suit h2 { margin-top: 0 !important; }

.af-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.af-benefit { background: #fff; border: 1px solid #EEE5E6; border-radius: var(--af-r-card); padding: 26px; }
.af-benefit__icon { width: 42px; height: 42px; border-radius: 12px; background: var(--af-accent-tint); color: var(--af-accent); display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.af-benefit h3 { margin: 0 0 6px; font-size: 17px; line-height: 1.6; }
.af-benefit p { margin: 0; font-size: 14px; color: var(--af-text); }

/* Vertical clips */
.af-clips { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 18px) / 4); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: thin; }
.af-clip { display: flex; flex-direction: column; gap: 10px; scroll-snap-align: start; }
.af-clip__btn { position: relative; display: block; width: 100%; aspect-ratio: 9 / 16; padding: 0; border: 0; border-radius: 24px; overflow: hidden; background: var(--af-ph); cursor: pointer; color: #fff; }
.af-clip__media, .af-clip__media img, .af-clip__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.af-clip__btn:hover .af-clip__media img, .af-clip__btn:hover .af-clip__media video { transform: scale(1.03); }
.af-clip__media img, .af-clip__media video { transition: transform .4s ease; }
.af-clip__empty { position: absolute; inset: 0; display: flex; align-items: flex-start; justify-content: flex-start; padding: 18px; background: var(--af-accent-tint); color: var(--af-accent); }
.af-clip__play { position: absolute; top: 50%; left: 50%; width: 58px; height: 58px; margin: -29px 0 0 -29px; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--af-accent); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px -10px rgba(0,0,0,.4); transition: transform .2s; }
.af-clip__btn:hover .af-clip__play { transform: scale(1.08); }
.af-clip__cap { position: absolute; right: 12px; left: 12px; bottom: 12px; padding: 8px 12px; border-radius: 14px; background: rgba(42,31,41,.72); font-size: 13.5px; font-weight: 600; line-height: 1.6; text-align: right; }
.af-clip__dur { position: absolute; top: 12px; left: 12px; padding: 2px 10px; border-radius: 999px; background: rgba(42,31,41,.72); font-size: 12px; font-weight: 600; direction: ltr; }
.af-cmodal .af-lightbox__nav { margin-top: -24px; }
.af-cmodal .af-lightbox__prev { right: -64px; }
.af-cmodal .af-lightbox__next { left: -64px; }
.af-cmodal__bar { position: absolute; right: 0; left: 0; top: -46px; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-left: 64px; color: #fff; font-size: 14px; font-weight: 600; }
.af-cmodal__count { font-weight: 500; opacity: .8; }
.af-cmodal__link[hidden] { display: none; }
.af-cmodal { width: min(420px, 92vw); padding: 0; border: 0; border-radius: 22px; background: #000; overflow: visible; }
.af-cmodal::backdrop { background: rgba(20, 14, 20, .88); }
.af-cmodal__frame { width: 100%; aspect-ratio: 9 / 16; max-height: 80vh; border-radius: 22px; overflow: hidden; background: #000; }
.af-cmodal[data-source="instagram"] .af-cmodal__frame { aspect-ratio: auto; height: min(80vh, 760px); background: #fff; }
.af-cmodal__frame iframe, .af-cmodal__frame video { width: 100%; height: 100%; border: 0; display: block; object-fit: contain; }
.af-cmodal__link { position: absolute; right: 0; left: 0; bottom: -40px; display: flex; justify-content: center; align-items: center; gap: 6px; color: #fff; font-size: 13.5px; }

.af-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 230px; gap: 14px; }
.af-gallery__item { padding: 0; border: 0; border-radius: 18px; overflow: hidden; background: var(--af-ph); cursor: zoom-in; }
.af-gallery__item.is-wide { grid-column: span 2; grid-row: span 2; }
.af-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.af-gallery__item:hover img { transform: scale(1.04); }

.af-care { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.af-care__col { background: #fff; border: 1px solid #EEE5E6; border-radius: var(--af-r-card); padding: 28px 30px; }
.af-care__col h3 { margin: 0 0 14px; font-size: 18px; }

.af-price { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; padding: 30px 34px; border-radius: var(--af-r-card); border: 1px solid var(--af-gold-line); background: #FFFCF6; }
.af-price p { margin: 0; color: var(--af-text); max-width: 680px; }
.af-price .af-h3 { margin-bottom: 4px; }

.af-cta { background: var(--af-accent); color: #fff; padding-block: 80px; }
.af-cta__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 56px; align-items: center; }
.af-cta p { color: rgba(255,255,255,.86); max-width: 460px; }
.af-cta__tel { display: inline-flex; align-items: center; gap: 12px; font-size: 26px; font-weight: 800; margin: 8px 0; }
.af-cta__addr { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.af-cta .af-form { color: var(--af-ink); background: #fff; }

/* Section dialogs (video + lightbox) */
.af-lightbox { width: min(1100px, 94vw); max-height: 92vh; padding: 0; border: 0; border-radius: 20px; background: #111; color: #fff; overflow: visible; }
.af-lightbox::backdrop { background: rgba(20, 14, 20, .86); }
.af-lightbox__stage img { width: 100%; max-height: 86vh; object-fit: contain; border-radius: 20px; }
.af-lightbox__close { position: absolute; top: -52px; left: 0; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.af-lightbox__nav { position: absolute; top: 50%; width: 48px; height: 48px; margin-top: -24px; border: 0; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--af-ink); cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; }
.af-lightbox__prev { right: 14px; transform: scaleX(-1); }
.af-lightbox__next { left: 14px; }

/* =========================================================
   Pages, articles, archives
   ========================================================= */
.af-phead { padding-block: 40px 44px; }
.af-phead__title { margin: 0; font-size: clamp(28px, 3.6vw, 42px); font-weight: 800; line-height: 1.4; }
.af-phead__p { margin: 10px 0 0; color: var(--af-text); max-width: 640px; }
.af-group-title small { font-size: 14px; font-weight: 500; color: var(--af-muted); margin-right: 8px; }

.af-ahead { padding-block: 32px 28px; }
.af-ahead .af-chip { margin-bottom: 14px; }
.af-ahead__title { margin: 0 0 16px; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.55; font-weight: 800; }
.af-ahead__meta { display: flex; flex-wrap: wrap; gap: 18px; font-size: 13.5px; color: var(--af-muted); }
.af-ahead__meta span { display: inline-flex; align-items: center; gap: 6px; }
.af-acover { margin: 0 0 40px; border-radius: var(--af-r-media); overflow: hidden; aspect-ratio: 16 / 9; background: var(--af-ph); }
.af-acover img { width: 100%; height: 100%; object-fit: cover; }

.af-prose { font-size: 17px; line-height: 2.05; color: #3A2E38; }
.af-prose > *:first-child { margin-top: 0; }
.af-prose p { margin: 0 0 1.2em; text-align: justify; }
.af-prose h2, .af-prose h3, .af-prose h4 { color: var(--af-ink); line-height: 1.6; margin: 1.8em 0 .6em; font-weight: 800; }
.af-prose h2 { font-size: 26px; }
.af-prose h3 { font-size: 21px; }
.af-prose h4 { font-size: 18px; }
.af-prose a { color: var(--af-accent); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--af-accent) 35%, transparent); text-underline-offset: 5px; }
.af-prose a:hover { text-decoration-color: currentColor; }
.af-prose ul, .af-prose ol { padding-right: 1.3em; margin: 0 0 1.3em; }
.af-prose li { margin-bottom: .4em; }
.af-prose li::marker { color: var(--af-accent); }
.af-prose img { border-radius: 18px; height: auto; }
.af-prose figure { margin: 1.6em 0; }
.af-prose figcaption { font-size: 13px; color: var(--af-muted); text-align: center; margin-top: 8px; }
.af-prose blockquote { margin: 1.6em 0; padding: 18px 24px; border-radius: 18px; background: var(--af-accent-soft); font-weight: 500; }
.af-prose blockquote p:last-child { margin: 0; }
.af-prose table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 15px; display: block; overflow-x: auto; }
.af-prose th, .af-prose td { border: 1px solid var(--af-line); padding: 10px 14px; text-align: right; }
.af-prose th { background: var(--af-accent-soft); }
.af-prose iframe, .af-prose video { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 18px; }
.af-prose .wp-block-image, .af-prose .wp-caption { max-width: 100%; }
.af-prose__cover { margin: 0 0 32px; border-radius: var(--af-r-media); overflow: hidden; }
.af-prose .alignwide { margin-inline: -60px; }

.af-relbox { margin: 44px 0 28px; display: grid; grid-template-columns: 150px 1fr; gap: 22px; align-items: center; padding: 18px; border-radius: var(--af-r-card); background: var(--af-accent-soft); border: 1px solid var(--af-line); }
.af-relbox__media { display: block; aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: var(--af-ph); }
.af-relbox__media img { width: 100%; height: 100%; object-fit: cover; }
.af-relbox__k { font-size: 12.5px; color: var(--af-gold); font-weight: 600; }
.af-relbox__t { font-size: 19px; font-weight: 800; line-height: 1.6; }
.af-relbox p { margin: 4px 0 12px; font-size: 14px; color: var(--af-text); }

.af-share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding-block: 20px; border-top: 1px solid var(--af-line); font-size: 14px; color: var(--af-muted); }
.af-share a, .af-share button { min-height: 40px; min-width: 40px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--af-line-2); background: #fff; display: inline-flex; align-items: center; justify-content: center; gap: 6px; cursor: pointer; color: var(--af-ink); font-size: 13px; }
.af-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.af-tags a { font-size: 13px; padding: 4px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--af-line); }

.af-comments { padding-block: 32px 64px; }
.af-comments__list { list-style: none; padding: 0; margin: 0 0 32px; }
.af-comments__list .comment-body { padding: 18px 20px; border-radius: 18px; background: #fff; border: 1px solid var(--af-line); margin-bottom: 14px; font-size: 15px; }
.af-comments__list .children { list-style: none; padding-right: 28px; }
.af-comments .comment-author { display: flex; gap: 10px; align-items: center; font-weight: 700; }
.af-comments .comment-author img { border-radius: 50%; }
.af-comments .comment-metadata { font-size: 12px; color: var(--af-muted); }
.comment-form { display: flex; flex-direction: column; gap: 12px; }
.comment-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 4px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; border: 1px solid #E0D3DB; border-radius: 14px; padding: 12px 16px; background: #fff; }
.comment-form .form-submit { margin: 0; }

.af-pagination .nav-links { display: flex; justify-content: center; gap: 8px; margin-top: 48px; flex-wrap: wrap; }
.af-pagination .page-numbers { min-width: 44px; min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--af-line-2); font-weight: 600; }
.af-pagination .page-numbers.current { background: var(--af-accent); border-color: var(--af-accent); color: #fff; }

.af-search { display: flex; max-width: 480px; margin: 20px auto; border: 1px solid #E0D3DB; border-radius: 999px; background: #fff; overflow: hidden; }
.af-search input { flex: 1; border: 0; padding: 12px 20px; min-height: 48px; background: transparent; }
.af-search input:focus { outline: none; }
.af-search button { width: 52px; border: 0; background: var(--af-accent); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.af-empty, .af-404 { text-align: center; }
.af-404__code { font-size: 96px; font-weight: 800; line-height: 1; color: var(--af-accent); opacity: .18; }

/* =========================================================
   About & contact
   ========================================================= */
.af-phead .af-kicker { margin-bottom: 6px; }
.af-phead__p--lg { font-size: 17px; max-width: 720px; }
.af-phead--about { padding-bottom: 56px; }

.af-story { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: center; }
.af-story__text { display: flex; flex-direction: column; gap: 18px; }
.af-story__text .af-h2 { margin: 0; }
.af-story__text .af-prose { font-size: 16px; }
.af-arch--sm { height: 520px; }

.af-stats { margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--af-line); border-radius: var(--af-r-card); background: #fff; }
.af-stats__item { margin: 0; padding: 30px 28px; border-right: 1px solid var(--af-line); }
.af-stats__item:first-child { border-right: 0; }
.af-stats dt { font-size: 40px; font-weight: 800; color: var(--af-accent); line-height: 1.2; }
.af-stats dd { margin: 4px 0 0; font-size: 14px; color: var(--af-muted); line-height: 1.7; }
.af-stats__badge { display: flex; align-items: center; gap: 14px; }
.af-stats__badge .af-i { color: var(--af-gold); }
.af-stats__badge dd { margin: 0; color: var(--af-ink-2); font-weight: 600; }

.af-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.af-value { padding: 28px 26px; border-radius: var(--af-r-card); background: var(--af-accent-soft); border: 1px solid var(--af-line); }
.af-value__icon { width: 46px; height: 46px; border-radius: 14px; background: #fff; color: var(--af-accent); display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.af-value h3 { margin: 0 0 6px; font-size: 17px; }
.af-value p { margin: 0; font-size: 14px; color: var(--af-text); line-height: 1.8; }

.af-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.af-member { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.af-member__photo { aspect-ratio: 4 / 5; border-radius: 120px 120px 22px 22px; overflow: hidden; background: var(--af-ph); }
.af-member__photo img { width: 100%; height: 100%; object-fit: cover; }
.af-member figcaption { text-align: center; line-height: 1.6; }
.af-member strong { display: block; font-size: 16px; }
.af-member span { font-size: 13.5px; color: var(--af-muted); }

.af-ccards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; }
.af-ccard { display: flex; flex-direction: column; gap: 4px; padding: 26px; border-radius: var(--af-r-card); border: 1px solid #EEE5E6; background: #FCFAF8; transition: border-color .2s, transform .2s; }
.af-ccard:hover { border-color: var(--af-accent); transform: translateY(-3px); }
.af-ccard__icon { width: 46px; height: 46px; border-radius: 14px; background: var(--af-accent-tint); color: var(--af-accent); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
.af-ccard__label { font-size: 13px; color: var(--af-muted); }
.af-ccard__value { font-size: 19px; font-weight: 800; text-align: right; word-break: break-word; }
.af-ccard__value--sm { font-size: 15.5px; overflow-wrap: anywhere; }
.af-ccard .af-more { margin-top: 10px; }

.af-visit { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 28px; align-items: stretch; }
.af-visit__card { background: #fff; border: 1px solid #EEE5E6; border-radius: var(--af-r-media); padding: 32px; display: flex; flex-direction: column; gap: 20px; }
.af-visit__card .af-h3 { margin: 0; }
.af-visit__social { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid var(--af-line); font-size: 14px; color: var(--af-muted); }
.af-social--dark a { border-color: var(--af-line-2); color: var(--af-accent); }
.af-social--dark a:hover { background: var(--af-accent-soft); }
.af-map--lg, .af-map--lg iframe { min-height: 460px; }

@media (max-width: 1000px) {
	.af-story, .af-visit { grid-template-columns: minmax(0, 1fr); }
	.af-story__media { order: -1; }
	.af-arch--sm { height: 420px; }
	.af-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.af-stats__item:nth-child(3) { border-right: 0; }
	.af-stats__item:nth-child(n+3) { border-top: 1px solid var(--af-line); }
	.af-values, .af-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.af-map--lg, .af-map--lg iframe { min-height: 360px; }
}
@media (max-width: 600px) {
	.af-values { grid-template-columns: minmax(0, 1fr); }
	.af-stats dt { font-size: 32px; }
	.af-stats__item { padding: 22px 18px; }
	.af-arch--sm { height: 360px; }
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 1100px) {
	.af-menu { gap: 20px; }
	.af-header__phone { display: none; }
	.af-sbody { grid-template-columns: minmax(0, 1fr) 320px; gap: 36px; }
}

@media (max-width: 1000px) {
	:root { --af-header-h: 66px; }
	.af-logo__img { height: 48px; }
	.af-burger { display: inline-flex; }
	.af-header__actions .af-btn { display: none; }
	.af-nav { position: fixed; inset: var(--af-header-h) 0 0 0; z-index: 49; background: var(--af-bg); padding: 24px 24px 120px; overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform .25s ease, visibility .25s; }
	.admin-bar .af-nav { top: calc(var(--af-header-h) + 46px); }
	.af-nav.is-open { transform: none; visibility: visible; }
	.af-menu { flex-direction: column; gap: 0; font-size: 17px; }
	.af-menu > li { border-bottom: 1px solid var(--af-line); }
	.af-menu a { padding: 14px 0; }
	.af-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; padding: 0 16px 10px 0; background: transparent; }
	.af-nav__mobile-cta { display: flex; flex-direction: column; gap: 10px; margin-top: 24px; }
	body.af-menu-open { overflow: hidden; }

	.af-hero__grid, .af-shero__grid, .af-split, .af-faqform, .af-contact, .af-cta__grid, .af-sbody { grid-template-columns: minmax(0, 1fr); }
	.af-hero__media, .af-shero__media { order: -1; }
	.af-arch, .af-shero .af-arch { height: 420px; border-radius: 220px 220px 24px 24px; }
	.af-float-card { right: 12px; bottom: 18px; }
	.af-pill-badge { left: 12px; top: 18px; }
	.af-play { right: 12px; bottom: 18px; }
	.af-grid4, .af-index__cols, .af-steps, .af-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.af-clips { grid-auto-columns: 42%; }
	.af-grid3, .af-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.af-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.af-trust { flex-wrap: wrap; row-gap: 16px; }
	.af-aside__sticky { position: static; }
	.af-snav { top: var(--af-header-h); }
	.admin-bar .af-snav { top: calc(var(--af-header-h) + 46px); }

	.af-dock { display: none; }
	.af-mbar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 45; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid var(--af-line); box-shadow: 0 -10px 30px -20px rgba(42,31,41,.4); }
	.af-mbar a { min-height: 54px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; border-radius: 14px; border: 1px solid var(--af-line-2); font-size: 11.5px; font-weight: 600; line-height: 1.4; text-align: center; white-space: nowrap; }
	.af-mbar a .af-i { color: var(--af-accent); }
	.af-mbar a.is-lucky { border-color: var(--af-gold-line); background: #FFFBF3; }
	.af-mbar a.is-lucky .af-i { color: var(--af-gold); }
	.af-mbar a.is-primary { background: var(--af-accent); border-color: var(--af-accent); color: #fff; }
	.af-mbar a.is-primary .af-i { color: #fff; }
	body { padding-bottom: 80px; }
}

@media (max-width: 600px) {
	.af-wrap { padding-inline: 20px; }
	.af-section { padding-block: 64px; }
	.af-hero { padding-block: 24px 48px; }
	.af-grid4, .af-grid3, .af-index__cols, .af-steps, .af-benefits, .af-care, .af-feats, .af-footer__grid { grid-template-columns: minmax(0, 1fr); }
	.af-gallery { grid-auto-rows: 160px; }
	.af-clips { grid-auto-columns: 68%; margin-inline: -20px; padding-inline: 20px; scroll-padding-inline: 20px; }
	.af-cmodal { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
	.af-cmodal__frame { max-height: none; height: 100dvh; aspect-ratio: auto; border-radius: 0; }
	.af-cmodal .af-lightbox__close { top: calc(12px + env(safe-area-inset-top)); left: 12px; z-index: 3; }
	.af-cmodal__bar { top: auto; bottom: calc(76px + env(safe-area-inset-bottom)); padding: 0 16px; z-index: 2; pointer-events: none; }
	.af-cmodal .af-lightbox__nav { display: none; }
	.af-cmodal__link { bottom: calc(40px + env(safe-area-inset-bottom)); z-index: 2; }
	.af-arch, .af-shero .af-arch { height: 360px; }
	.af-trust__item { flex: 1 1 30%; }
	.af-trust__badge { flex-basis: 100%; border-right: 0; padding-right: 0; }
	.af-mosaic { grid-template-rows: 170px 170px; }
	.af-form { padding: 24px; }
	.af-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.af-facts__item:nth-child(odd) { border-right: 0; }
	.af-facts__item:nth-child(n+3) { border-top: 1px solid var(--af-line); }
	.af-relbox { grid-template-columns: 1fr; }
	.af-relbox__media { aspect-ratio: 16 / 9; }
	.af-prose { font-size: 16px; }
	.af-prose .alignwide { margin-inline: 0; }
	.af-index { padding: 24px 20px; }
}

@media (max-width: 782px) {
	.admin-bar .af-header { top: 46px; }
}
@media (max-width: 600px) {
	.admin-bar .af-header { top: 0; }
}

/* =========================================================
   Design 1404 — olive & cream (header, home, footer)
   ========================================================= */
body { background: var(--af-bg); }
.hwrap { max-width: 1440px; margin: 0 auto; padding-inline: 56px; }

/* Buttons */
.hb { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 64px; padding: 0 34px; border-radius: 999px; font-size: 17px; font-weight: 700; line-height: 1.2; transition: background-color .2s, transform .2s, border-color .2s; white-space: nowrap; }
.hb--dark { background: #3D402A; color: #F5F2EB; box-shadow: 0 14px 30px -18px rgba(30,32,18,.7); }
.hb--dark:hover { background: #2C2F1E; }
.hb--line { border: 1.5px solid #B9B4A6; color: var(--af-ink); background: rgba(255,255,255,.35); }
.hb--line:hover { border-color: var(--af-ink); }
.hb--cream { background: #F3EFE6; color: #2F3326; }
.hb--sm { min-height: 52px; padding: 0 28px; font-size: 15.5px; }
.hb--hdr { min-height: 58px; padding: 0 30px; font-size: 16px; }
.hb .af-i { flex-shrink: 0; }

/* Header */
.af-header { background: transparent; border-bottom: 0; position: relative; backdrop-filter: none; }
.af-header.is-scrolled { box-shadow: none; }
.af-header__in { min-height: var(--af-header-h); max-width: 1440px; padding-inline: 56px; }
.af-logo__img { height: 74px; }
.af-menu { gap: 44px; font-size: 16.5px; font-weight: 500; color: #24231E; }
.af-menu a { padding: 10px 0; position: relative; }
.af-menu .current-menu-item > a, .af-menu .current_page_item > a { color: #24231E; font-weight: 600; }
.af-menu .current-menu-item > a::after, .af-menu .current_page_item > a::after { content: ""; position: absolute; right: -6px; left: -6px; bottom: -4px; height: 1.5px; background: #8E8460; }
.af-menu a:hover { color: #000; }

/* ---------- Hero ---------- */
.hx { position: relative; height: clamp(640px, calc(100vh - var(--af-header-h)), 860px); margin-top: calc(-1 * var(--af-header-h) + 18px); overflow: hidden; isolation: isolate; }
.hx-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; }
.hx-slide.is-active { opacity: 1; visibility: visible; }
.hx-media { position: absolute; left: 0; top: calc(var(--af-header-h) - 6px); bottom: 0; width: 62%; z-index: 1; }
.hx-media__in { position: absolute; inset: 0; background: #DAD6CC; -webkit-mask: url("../img/hero-mask.svg") no-repeat 0 0 / 100% 100%; mask: url("../img/hero-mask.svg") no-repeat 0 0 / 100% 100%; }
.hx-video, .hx-img, .hx-media__in > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.hx-slide--dark .hx-media__in::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20,22,14,.45) 0%, rgba(20,22,14,0) 45%); }
.hx-outline { position: absolute; inset: -8px -10px -2px 0; width: calc(100% + 10px); height: calc(100% + 10px); pointer-events: none; overflow: visible; }
.hx-outline path { fill: none; stroke: #A7966A; stroke-width: 1.3; }
.hx-script { position: absolute; left: 8%; top: 48%; z-index: 2; font-family: var(--af-script); font-size: clamp(64px, 7vw, 118px); line-height: .9; color: #1D1D18; transform: rotate(-12deg); direction: ltr; width: 3.4em; pointer-events: none; }
.hx-slide--dark .hx-script { color: rgba(255,255,255,.9); top: 44%; }
.hx-note { position: absolute; left: 6%; bottom: 7%; z-index: 2; color: #fff; font-size: 16px; line-height: 1.8; }
.hx-note i { display: block; width: 70px; height: 1px; background: rgba(255,255,255,.7); margin-top: 10px; }
.hx-text { position: absolute; z-index: 2; right: 7%; top: calc(var(--af-header-h) + 4%); bottom: 4%; width: 34%; display: flex; flex-direction: column; justify-content: center; }
.hx-eyebrow { font-size: 21px; font-weight: 500; color: #6D6A5F; margin: 0 0 18px; padding-right: 8%; }
.hx-title { margin: 0; font-size: clamp(38px, 3.6vw, 58px); font-weight: 800; line-height: 1.32; color: #0E0E0C; }
.hx-title span { display: block; }
.hx-title em { font-style: normal; color: var(--af-olive); }
.hx-title__last { position: relative; display: inline-block !important; padding-left: 12px; }
.hx-swash { position: absolute; left: -6%; right: -4%; bottom: -2px; width: 110%; height: .34em; z-index: -1; }
.hx-swash path { fill: #CFC8A8; opacity: .75; }
.hx-lead { margin: 26px 0 40px; font-size: 18.5px; line-height: 2; color: #4A4840; max-width: 560px; }
.hx-actions { display: flex; gap: 18px; flex-wrap: wrap; }
.hx-dots { position: absolute; right: 1.6%; top: 50%; transform: translateY(-50%); z-index: 4; display: flex; flex-direction: column; border-left: 1px solid #CFC8B5; padding-left: 0; }
.hx-dots button { border: 0; background: none; font: 600 14px/1 var(--af-font); color: #ABA493; padding: 16px 0 16px 14px; cursor: pointer; position: relative; direction: ltr; }
.hx-dots button.is-active { color: #3D402A; }
.hx-dots button.is-active::before { content: ""; position: absolute; left: -2px; top: 6px; bottom: 6px; width: 3px; background: #3D402A; border-radius: 2px; }
.hx-deco { position: absolute; pointer-events: none; z-index: 0; opacity: .9; }
.hx-deco--line1 { right: -40px; top: 40px; width: 300px; transform: rotate(8deg); }
.hx-deco--line2 { right: 26%; bottom: -120px; width: 260px; transform: rotate(-30deg) scaleX(-1); opacity: .6; }
.hx-leaf { position: absolute; pointer-events: none; z-index: 3; }
.hx-leaf--tl { left: -50px; top: 50px; width: 160px; filter: blur(7px); transform: rotate(-35deg); opacity: .85; }
.hx-leaf--bl { left: -80px; bottom: -110px; width: 330px; filter: blur(9px); transform: rotate(12deg); opacity: .9; }
.hx-leaf--mid { left: 50%; bottom: -30px; width: 84px; filter: blur(1.5px); transform: rotate(28deg); opacity: .8; }

/* ---------- Section commons ---------- */
.hs { padding-block: 34px; }
.hs-head { display: flex; flex-direction: column; align-items: flex-start; }
.hs-eyebrow { font-size: 14px; color: #8C8775; margin-bottom: 10px; }
.hs-latin { font-family: var(--af-font); direction: ltr; font-size: 12.5px; letter-spacing: 4px; color: #8C8775; margin-bottom: 14px; text-transform: uppercase; }
.hs-h2 { margin: 0 0 16px; font-size: clamp(26px, 2.15vw, 38px); font-weight: 800; line-height: 1.45; color: #0E0E0C; }
.hs-h2--lg { font-size: clamp(32px, 2.8vw, 46px); }
.hs-p { margin: 0 0 26px; font-size: 16.5px; line-height: 2; color: #4E4C45; }
.hs-link { display: inline-flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 700; color: var(--af-ink); padding-bottom: 8px; border-bottom: 1.5px solid #B9B09A; }
.hs-link:hover { border-color: var(--af-ink); }

/* Services */
.hs-svc { padding-top: 40px; }
.hs-svc__grid { display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(0, 1.12fr); gap: 56px; align-items: center; }
.hs-svc__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.sv { position: relative; display: flex; flex-direction: column; background: #EFEBE2; border-radius: 200px 200px 14px 14px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.sv:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -28px rgba(40,40,25,.55); }
.sv__img { display: block; aspect-ratio: 1 / .78; overflow: hidden; border-radius: 200px 200px 0 0; background: var(--af-ph); }
.sv__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sv:hover .sv__img img { transform: scale(1.04); }
.sv__icon { position: relative; z-index: 2; margin: -29px auto 0; width: 58px; height: 58px; border-radius: 50%; background: #F7F4EE; color: #8A7F57; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px -10px rgba(40,40,25,.5); }
.sv__body { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 12px 14px 26px; gap: 6px; }
.sv__body b { font-size: 17.5px; font-weight: 800; color: #111; }
.sv__body small { font-size: 13.5px; color: #7C786E; line-height: 1.7; }

/* Team */
.hs-team { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); align-items: center; margin-block: 30px; min-height: 520px; }
.hs-team__img { position: relative; order: 2; height: 100%; min-height: 520px; overflow: hidden; }
.hs-team__img > img:first-child, .hs-team__img > .af-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.hs-team__img::after { content: ""; position: absolute; inset: 0 0 0 auto; width: 18%; background: linear-gradient(270deg, var(--af-bg), rgba(245,242,235,0)); }
.hs-script { position: absolute; left: 6%; top: 10%; z-index: 2; font-family: var(--af-script); font-size: clamp(56px, 5.4vw, 92px); line-height: .9; color: #1D1D18; transform: rotate(-10deg); direction: ltr; width: 3.4em; pointer-events: none; }
.hs-team__card { position: relative; z-index: 2; order: 1; margin-left: -110px; margin-right: 56px; background: #F8F6F1; padding: 64px 70px 60px; box-shadow: 0 30px 60px -40px rgba(40,40,25,.45); }
.hs-team__card .hs-h2 { font-size: clamp(30px, 2.6vw, 44px); }
.hs-leaf { position: absolute; pointer-events: none; z-index: 3; }
.hs-leaf--team { left: -70px; top: -60px; width: 150px; filter: blur(2px); transform: rotate(-20deg); opacity: .85; }

/* Results */
.hs-res__grid { display: grid; grid-template-columns: minmax(0, 2.3fr) minmax(0, 1.12fr); gap: 56px; align-items: center; }
.hs-res__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hs-ba .af-ba { aspect-ratio: 1.42 / 1; border-radius: 14px; }
.hs-ba .af-ba__tag { background: rgba(30,30,24,.72); border-radius: 6px; font-size: 13px; padding: 3px 12px; }

/* Before / after: before on the left, after on the right (like the photos) */
.af-ba__before { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.af-ba__tag--b { right: auto; left: 12px; }
.af-ba__tag--a { left: auto; right: 12px; }

/* Stats */
.hs-stats-wrap { position: relative; z-index: 4; margin-bottom: -60px; }
.hs-stats { margin: 6px auto 0; max-width: 1000px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); background: #F9F7F2; border-radius: 22px; box-shadow: 0 24px 50px -36px rgba(40,40,25,.45); }
.hs-stat { display: flex; align-items: center; justify-content: center; gap: 26px; padding: 26px 20px; border-left: 1px solid #E5E0D4; margin: 0; }
.hs-stat:last-child { border-left: 0; }
.hs-stat dt { font-size: 30px; font-weight: 600; color: #141412; line-height: 1.3; direction: ltr; text-align: right; }
.hs-stat dd { margin: 4px 0 0; font-size: 15px; color: #5C5950; }
.hs-stat__icon { color: #9E8E62; }

/* Why */
.hs-why { position: relative; padding-top: 0; overflow: hidden; }
.hs-why__grid { display: grid; grid-template-columns: 150px minmax(0, .75fr) minmax(0, 1.05fr) minmax(0, 1.45fr); align-items: stretch; min-height: 560px; max-width: 1600px; margin-right: 0; margin-left: 0; padding-right: 56px; gap: 0; }
.hs-why__feats { list-style: none; margin: 0; padding: 120px 0 60px; display: flex; flex-direction: column; justify-content: center; }
.hs-why__feats li { font-size: 17px; line-height: 1.8; color: #2B2A25; padding: 22px 0; border-bottom: 1px solid #DCD5C6; }
.hs-why__feats li:last-child { border-bottom: 0; }
.hs-why__arch { margin: 70px 20px 0 30px; border-radius: 300px 300px 0 0; overflow: hidden; background: var(--af-ph); position: relative; }
.hs-why__arch img, .hs-why__arch .af-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hs-why__text { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 110px 30px 60px 50px; }
.hs-why__img { position: relative; overflow: hidden; }
.hs-why__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.hs-why__img::after { content: ""; position: absolute; inset: 0 0 0 auto; width: 35%; background: linear-gradient(270deg, var(--af-bg) 0%, rgba(245,242,235,0) 100%); }
.hs-why__line { right: -40px; bottom: -60px; width: 220px; transform: rotate(-12deg); opacity: .55; }
.hs-leaf--why1 { left: -110px; top: 80px; width: 280px; filter: blur(3px); transform: rotate(-8deg); opacity: .8; }
.hs-leaf--why2 { right: -30px; top: 10px; width: 120px; transform: rotate(-62deg); opacity: .9; }

/* Footer */
.af-footer { background: #2F3326; color: #DAD6C7; padding-block: 34px 22px; position: relative; overflow: hidden; }
.af-footer .af-wrap { max-width: 1440px; padding-inline: 56px; }
.af-footer__bar { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.af-footer__logo img { height: 64px; width: auto; display: block; }
.af-footer__menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 34px; font-size: 15px; }
.af-footer__menu a:hover { color: #fff; }
.af-footer__menu .current-menu-item > a { text-decoration: underline; text-underline-offset: 8px; text-decoration-color: rgba(255,255,255,.5); }
.af-footer .af-social a { border: 0; width: 40px; height: 40px; color: #DAD6C7; }
.af-footer .af-social a:hover { color: #fff; background: rgba(255,255,255,.08); }
.af-footer__bottom { margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: #B8B3A3; }

/* Booking modal */
.af-book { width: min(480px, 92vw); padding: 0; border: 0; border-radius: 26px; background: #F8F6F1; overflow: visible; }
.af-book::backdrop { background: rgba(20,22,14,.6); backdrop-filter: blur(3px); }
.af-book .af-form { background: transparent; }
.af-book__close { position: absolute; top: 14px; left: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #ECE7DC; color: var(--af-ink); cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 2; }

/* Responsive (design 1404) */
@media (max-width: 1280px) {
	.af-menu { gap: 26px; font-size: 15.5px; }
	.hx-text { width: 38%; right: 5%; }
	.hs-svc__grid, .hs-res__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.hs-svc__grid .hs-head, .hs-res__grid .hs-head { order: -1; }
	.hs-why__grid { grid-template-columns: 130px minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1.2fr); }
}
@media (max-width: 1000px) {
	:root { --af-header-h: 76px; }
	.af-header__in { padding-inline: 20px; }
	.af-logo__img { height: 54px; }
	.hb--hdr { display: none; }
	.hwrap, .af-footer .af-wrap { padding-inline: 20px; }
	.hx { height: auto; margin-top: 0; padding-bottom: 40px; }
	.hx-slide { position: relative; display: none; }
	.hx-slide.is-active { display: block; }
	.hx-media { position: relative; top: 0; width: 100%; height: 108vw; max-height: 620px; }
	.hx-note { display: none; }
	.hx-script, .hx-slide--dark .hx-script { top: auto; bottom: 13%; left: 6%; font-size: 46px; transform: rotate(-8deg); color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.55), 0 0 2px rgba(0,0,0,.35); }
	.hx-media__in { -webkit-mask-image: url("../img/hero-mask-m.svg"); mask-image: url("../img/hero-mask-m.svg"); }
	.hx-outline { display: none; }
	.hx-text { position: relative; inset: auto; width: auto; padding: 18px 20px 0; }
	.hx-eyebrow { padding-right: 0; font-size: 16px; }
	.hx-lead { font-size: 16px; margin: 18px 0 26px; }
	.hx-dots { top: auto; bottom: 10px; right: 50%; transform: translateX(50%); flex-direction: row; border-left: 0; }
	.hx-dots button { padding: 8px 10px; }
	.hx-dots button.is-active::before { left: 10px; right: 10px; top: auto; bottom: 0; width: auto; height: 2px; }
	.hx-deco, .hx-leaf--mid { display: none; }
	.hx-leaf--bl { width: 260px; left: -90px; bottom: auto; top: 40vw; }
	.hs-svc__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hs-team { grid-template-columns: minmax(0, 1fr); }
	.hs-team__img { order: 0; min-height: 70vw; }
	.hs-team__card { margin: -60px 20px 0; padding: 40px 28px; }
	.hs-res__cards { grid-template-columns: minmax(0, 1fr); }
	.hs-stats { grid-template-columns: minmax(0, 1fr); }
	.hs-stat { border-left: 0; border-bottom: 1px solid #E5E0D4; justify-content: space-between; }
	.hs-stat:last-child { border-bottom: 0; }
	.hs-stats-wrap { margin-bottom: 30px; }
	.hs-why__grid { grid-template-columns: minmax(0, 1fr); padding: 0 20px; min-height: 0; }
	.hs-why__img { order: -1; height: 80vw; margin: 0 -20px; }
	.hs-why__text { padding: 30px 0; }
	.hs-why__arch { height: 70vw; margin: 0; }
	.hs-why__feats { padding: 20px 0 50px; }
	.af-footer__bar { flex-direction: column; align-items: center; text-align: center; }
	.af-footer__menu { flex-wrap: wrap; justify-content: center; gap: 14px 22px; }
	.af-footer__bottom { justify-content: center; text-align: center; }
}
@media (max-width: 600px) {
	.hx-title { font-size: 36px; }
	.hb { min-height: 54px; padding: 0 24px; font-size: 15.5px; }
	.hs-svc__cards { gap: 12px; }
	.sv__body { padding: 10px 8px 18px; }
	.sv__body b { font-size: 15px; }
}
.af-footer .af-menu { color: #DAD6C7; gap: 34px; font-size: 15px; font-weight: 400; flex-wrap: wrap; justify-content: center; }
.af-footer .af-menu a { padding: 4px 0; color: #DAD6C7; }
.af-footer .af-menu a:hover { color: #fff; }
.af-footer .af-menu .current-menu-item > a { color: #fff; font-weight: 500; }
.af-footer .af-menu .current-menu-item > a::after { background: rgba(255,255,255,.45); bottom: -6px; }
@media (max-width: 1000px) { .af-footer .af-menu { gap: 12px 22px; } }


/* =========================================================
   Typography: Peyda for headings & UI, IRANSansX for text
   ========================================================= */
h1, h2, h3, h4,
.hx-title, .hx-eyebrow, .hs-h2, .hs-eyebrow, .hs-link, .af-h2, .af-h3,
.af-shero__title, .af-phead__title, .af-ahead__title, .af-form__h,
.sv__body b, .hs-stat dt, .hb, .af-btn, .af-menu, .af-footer__menu, .af-footer .af-menu,
.af-scard__title, .af-acard__title, .af-relbox__t, .af-facts dd, .af-pills, .af-snav a,
.af-index__h, .af-index__group, .af-chip, .af-mbar a, .af-dock__txt, .af-prose h2, .af-prose h3, .af-prose h4,
.af-faq summary, .af-benefit h3, .af-care__col h3, .af-value h3, .af-member strong, .af-ccard__value, .af-cta__tel,
.hs-why__feats li, .hx-dots button { font-family: var(--af-head); }
.hx-title { font-weight: 700; line-height: 1.38; }
.hs-h2, .af-h2 { font-weight: 700; }

/* Mobile: keep the leaves small and off the photos */
@media (max-width: 1000px) {
	.hx-leaf--tl, .hx-leaf--mid { display: none; }
	.hx-leaf--bl { width: 110px; left: -38px; top: calc(min(108vw, 620px) - 70px); bottom: auto; filter: blur(2px); opacity: .75; transform: rotate(18deg); }
	.hs-leaf--team, .hs-leaf--why2 { display: none; }
	.hs-leaf--why1 { width: 110px; left: -50px; top: 20px; filter: blur(2px); opacity: .6; }
	.hs-why__line { display: none; }
}


/* =========================================================
   Motion: selected services (and other revealed sections)
   ========================================================= */
@keyframes af-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes af-ring { from { transform: scale(.6); opacity: .55; } to { transform: scale(1.55); opacity: 0; } }
.js [data-af-reveal] .sv { opacity: 0; transform: translateY(34px); }
.js [data-af-reveal] .sv__img { clip-path: inset(100% 0 0 0 round 200px 200px 0 0); }
.js [data-af-reveal].is-in .sv { opacity: 1; transform: none; transition: opacity .9s ease calc(var(--i, 0) * .14s + .15s), transform .9s cubic-bezier(.2,.7,.2,1) calc(var(--i, 0) * .14s + .15s), box-shadow .3s ease; }
.js [data-af-reveal].is-in .sv__img { clip-path: inset(0 0 0 0 round 200px 200px 0 0); transition: clip-path 1.1s cubic-bezier(.65,0,.25,1) calc(var(--i, 0) * .14s + .25s); }
.sv__icon { transition: background-color .35s ease, color .35s ease, transform .35s ease; }
.is-in .sv__icon { animation: af-float 4.5s ease-in-out calc(var(--i, 0) * .6s + 1.4s) infinite; }
.sv__icon::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1px solid #A7966A; opacity: 0; pointer-events: none; }
.sv:hover .sv__icon { background: #3D402A; color: #F5F2EB; }
.sv:hover .sv__icon::after { animation: af-ring 1s ease-out; }
.sv::before { content: ""; position: absolute; inset: 7px 7px auto; height: calc(100% - 14px); border: 1px solid rgba(167,150,106,.0); border-radius: 194px 194px 10px 10px; pointer-events: none; z-index: 3; transition: border-color .4s ease, inset .4s ease; }
.sv:hover::before { border-color: rgba(255,255,255,.75); }
.sv__body b { transition: color .3s ease; }
.sv:hover .sv__body b { color: #3D402A; }
.hs-link .af-i { transition: transform .3s ease; }
.hs-link:hover .af-i { transform: translateX(-5px); }
.js [data-af-reveal].is-in .hs-link { background: linear-gradient(#3D402A, #3D402A) no-repeat 100% 100% / 0 1.5px; }
.js [data-af-reveal].is-in .hs-link:hover { background-size: 100% 1.5px; transition: background-size .45s ease; }
/* Generic reveal for other sections */
.js .abs[data-af-reveal] > .hwrap > *, .js .abv[data-af-reveal] .abv__list > *, .js .abv[data-af-reveal] .abv__arch,
.js .abt[data-af-reveal] .abt__m, .js .abg[data-af-reveal] .abg__item, .js .scx[data-af-reveal] .scx-card { opacity: 0; transform: translateY(28px); }
.js [data-af-reveal].is-in > .hwrap > *, .js [data-af-reveal].is-in .abv__list > *, .js [data-af-reveal].is-in .abv__arch,
.js [data-af-reveal].is-in .abt__m, .js [data-af-reveal].is-in .abg__item, .js [data-af-reveal].is-in .scx-card { opacity: 1; transform: none; transition: opacity .8s ease calc(var(--i, 0) * .1s), transform .8s cubic-bezier(.2,.7,.2,1) calc(var(--i, 0) * .1s); }
@media (prefers-reduced-motion: reduce) {
	.js [data-af-reveal] * { opacity: 1 !important; transform: none !important; clip-path: none !important; animation: none !important; }
}

/* =========================================================
   About page (design 1404)
   ========================================================= */
.abh { position: relative; overflow: hidden; padding: 10px 0 60px; }
.abh__line { position: absolute; right: -50px; top: 10px; width: 260px; opacity: .6; transform: rotate(10deg); pointer-events: none; }
.abh__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: 40px; max-width: 1440px; margin: 0 auto; padding-right: 56px; }
.abh__text { position: relative; z-index: 2; padding: 30px 0; }
.abh__text .af-crumbs { margin-bottom: 26px; }
.abh__title { font-size: clamp(34px, 3.3vw, 54px); }
.abh__media { position: relative; height: clamp(440px, 46vw, 640px); order: 2; }
.abh__mask { position: absolute; inset: 0; -webkit-mask: url("../img/hero-mask.svg") no-repeat 0 0 / 100% 100%; mask: url("../img/hero-mask.svg") no-repeat 0 0 / 100% 100%; background: var(--af-ph); }
.abh__mask img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.abh__script { position: absolute; left: 6%; top: 38%; font-family: var(--af-script); font-size: clamp(56px, 5.5vw, 96px); color: #1D1D18; transform: rotate(-12deg); direction: ltr; width: 3.4em; line-height: .9; pointer-events: none; }
.abh__leaf { position: absolute; left: -40px; bottom: -30px; width: 150px; filter: blur(3px); transform: rotate(25deg); opacity: .85; pointer-events: none; }
.abs { padding: 70px 0 40px; }
.abs__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr); gap: 80px; align-items: start; }
.abs__quote { position: sticky; top: 30px; }
.abs__quote blockquote { margin: 18px 0 0; font-family: var(--af-head); font-size: clamp(24px, 2vw, 32px); line-height: 1.7; color: var(--af-olive); padding-right: 22px; border-right: 2px solid #C3B58C; }
.abs__body { font-size: 16.5px; }
.abs__stats { margin: 30px auto 70px; }
.abv { position: relative; padding: 40px 0 90px; overflow: hidden; }
.abv__leaf { left: -70px; top: 40px; width: 220px; filter: blur(3px); opacity: .7; transform: rotate(-10deg); }
.abv__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 80px; align-items: center; }
.abv__list ul { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 50px; }
.abv__list li { display: grid; grid-template-columns: auto 1fr; column-gap: 16px; padding: 26px 0; border-top: 1px solid #DCD5C6; }
.abv__icon { grid-row: span 2; width: 52px; height: 52px; border-radius: 50%; background: #EFEBE2; color: #8A7F57; display: flex; align-items: center; justify-content: center; }
.abv__list b { font-family: var(--af-head); font-size: 18px; font-weight: 700; }
.abv__list li > span:last-child { font-size: 14.5px; color: #66625A; line-height: 1.8; }
.abv__arch { height: 520px; border-radius: 300px 300px 0 0; overflow: hidden; background: var(--af-ph); }
.abv__arch img { width: 100%; height: 100%; object-fit: cover; }
.abt { padding: 40px 0 90px; }
.abt__head { max-width: 640px; margin-bottom: 36px; }
.abt__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.abt__m { margin: 0; }
.abt__ph { aspect-ratio: 4 / 5; border-radius: 200px 200px 14px 14px; overflow: hidden; background: #EFEBE2; }
.abt__ph img { width: 100%; height: 100%; object-fit: cover; }
.abt__m figcaption { text-align: center; padding-top: 14px; line-height: 1.6; }
.abt__m b { display: block; font-family: var(--af-head); font-size: 17px; }
.abt__m span { font-size: 13.5px; color: #7C786E; }
.abt__photo { margin-bottom: 80px; }
.abg { padding: 20px 0 90px; }
.abg__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 240px; gap: 14px; margin-top: 30px; }
.abg__item { padding: 0; border: 0; border-radius: 16px; overflow: hidden; cursor: zoom-in; background: var(--af-ph); }
.abg__item:first-child { grid-column: span 2; grid-row: span 2; }
.abg__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.abg__item:hover img { transform: scale(1.04); }

/* Page header (showcase etc.) */
.ph2 { position: relative; overflow: hidden; padding: 20px 0 30px; }
.ph2__line { position: absolute; right: -40px; top: -20px; width: 240px; opacity: .55; transform: rotate(10deg); pointer-events: none; }
.ph2__title { margin: 0 0 12px; font-family: var(--af-head); font-size: clamp(34px, 3.4vw, 54px); font-weight: 700; line-height: 1.4; }
.ph2__lead { margin: 0; max-width: 640px; font-size: 17px; line-height: 2; color: #4E4C45; }

/* Showcase */
.scx { padding: 20px 0 90px; }
.scx__pills { margin-bottom: 30px; }
.scx__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.scx-card { margin: 0; }
.scx-card__media .af-ba, .scx-card__media .af-ba-img { aspect-ratio: 1 / 1; border-radius: 16px; }
.scx-card figcaption { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 14px; }
.scx-card figcaption b { font-family: var(--af-head); font-size: 16.5px; }
.scx-card figcaption a { font-size: 13.5px; color: #7E7146; display: inline-flex; align-items: center; gap: 6px; }
.scx-card[hidden] { display: none; }
.scx__empty { padding: 40px; text-align: center; background: #EFEBE2; border-radius: 16px; color: #66625A; }
.scx__content { margin-top: 50px; max-width: 820px; }
.af-ba-img { display: block; width: 100%; padding: 0; border: 0; overflow: hidden; background: var(--af-ph); cursor: zoom-in; }
.af-ba-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.af-ba-img:hover img { transform: scale(1.03); }
.hs-ba .af-ba-img { aspect-ratio: 1.42 / 1; border-radius: 14px; }

/* CTA band */
.cta2 { padding: 10px 0 70px; }
.cta2__in { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; background: #2F3326; color: #F2EFE6; border-radius: 28px; padding: 56px 64px; }
.cta2__line { position: absolute; left: 6%; top: -60px; width: 200px; opacity: .25; transform: rotate(-20deg); pointer-events: none; filter: brightness(1.6); }
.cta2__text { position: relative; max-width: 620px; }
.cta2__text h2 { margin: 0 0 8px; font-family: var(--af-head); font-size: clamp(26px, 2.3vw, 36px); font-weight: 700; line-height: 1.5; }
.cta2__text p { margin: 0; color: #CFCABB; line-height: 1.9; }
.cta2__act { position: relative; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.cta2__tel { display: inline-flex; align-items: center; gap: 10px; font-family: var(--af-head); font-size: 20px; color: #fff; }

@media (max-width: 1000px) {
	.abh__grid { grid-template-columns: minmax(0, 1fr); padding: 0; }
	.abh__media { order: -1; height: 100vw; max-height: 560px; }
	.abh__mask { -webkit-mask-image: url("../img/hero-mask-m.svg"); mask-image: url("../img/hero-mask-m.svg"); }
	.abh__text { padding: 10px 20px; }
	.abh__script, .abh__leaf, .abh__line { display: none; }
	.abs__grid, .abv__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
	.abs__quote { position: static; }
	.abv__list ul { grid-template-columns: minmax(0, 1fr); }
	.abv__arch { height: 90vw; max-height: 480px; }
	.abt__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.abg__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; }
	.scx__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.cta2__in { padding: 40px 26px; }
}
@media (max-width: 600px) {
	.scx__grid { grid-template-columns: minmax(0, 1fr); }
}
.js [data-af-reveal].is-in .sv:hover { transform: translateY(-6px); }


/* =========================================================
   Hero polish: eyebrow pill, title motion, mobile buttons
   ========================================================= */
.hx-eyebrow { display: inline-flex; align-self: flex-start; align-items: center; gap: 10px; margin: 0 0 22px; padding: 7px 16px 7px 14px; border: 1px solid #DCD3BD; border-radius: 999px; background: rgba(255,255,255,.55); backdrop-filter: blur(4px); font-family: var(--af-head); font-size: 15.5px; font-weight: 400; color: #4B4A3A; box-shadow: 0 10px 24px -18px rgba(60,60,30,.45); }
.hx-eyebrow__mark { width: 16px; height: auto; flex-shrink: 0; }
.hx-eyebrow i { display: block; width: 42px; height: 1px; background: linear-gradient(90deg, rgba(185,167,119,0), #B9A777); transform-origin: right center; }

@keyframes hx-rise { from { opacity: 0; transform: translateY(.55em); clip-path: inset(0 0 100% 0); } to { opacity: 1; transform: none; clip-path: inset(-40% -10% -40% -10%); } }
@keyframes hx-fade-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes hx-draw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hx-pop { 0% { opacity: 0; transform: translateY(10px) scale(.96); } 100% { opacity: 1; transform: none; } }
@keyframes hx-shine { 0%, 60% { background-position: 100% 0; } 100% { background-position: 0% 0; } }
.hx-slide.is-active .hx-eyebrow { animation: hx-pop .7s cubic-bezier(.2,.7,.2,1) both .05s; }
.hx-slide.is-active .hx-eyebrow i { animation: hx-draw .9s cubic-bezier(.65,0,.25,1) both .45s; }
.hx-slide.is-active .hx-title > span { animation: hx-rise 1s cubic-bezier(.2,.75,.15,1) both; }
.hx-slide.is-active .hx-title > span:nth-child(1) { animation-delay: .2s; }
.hx-slide.is-active .hx-title > span:nth-child(2) { animation-delay: .38s; }
.hx-slide.is-active .hx-title > span:nth-child(3) { animation-delay: .56s; }
.hx-swash { transform-origin: right center; }
.hx-slide.is-active .hx-swash { animation: hx-draw 1.1s cubic-bezier(.65,0,.25,1) both 1.15s; }
.hx-title em { background: linear-gradient(100deg, var(--af-olive) 0%, var(--af-olive) 38%, #9A9662 50%, var(--af-olive) 62%, var(--af-olive) 100%) 100% 0 / 300% 100% repeat; padding-inline: .06em; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hx-slide.is-active .hx-title em { animation: hx-shine 3.2s ease-in-out 1.6s 1 both; }
.hx-slide.is-active .hx-lead { animation: hx-fade-up .9s ease both .75s; }
.hx-slide.is-active .hx-actions { animation: hx-fade-up .9s ease both .95s; }
.abh .hx-eyebrow { animation: hx-pop .7s cubic-bezier(.2,.7,.2,1) both .05s; }
.abh .hx-title > span { animation: hx-rise 1s cubic-bezier(.2,.75,.15,1) both .25s; }
.abh .hx-title > span:nth-child(2) { animation-delay: .45s; }
.abh .hx-swash { animation: hx-draw 1.1s cubic-bezier(.65,0,.25,1) both 1s; }
@media (prefers-reduced-motion: reduce) {
	.hx-slide.is-active .hx-eyebrow, .hx-slide.is-active .hx-eyebrow i, .hx-slide.is-active .hx-title > span, .hx-slide.is-active .hx-swash,
	.hx-slide.is-active .hx-title em, .hx-slide.is-active .hx-lead, .hx-slide.is-active .hx-actions, .abh .hx-eyebrow, .abh .hx-title > span, .abh .hx-swash { animation: none; }
}

@media (max-width: 1000px) {
	.hx-eyebrow { font-size: 13.5px; padding: 6px 12px 6px 11px; margin-bottom: 16px; }
	.hx-eyebrow i { width: 26px; }
	.hx-title { font-size: 30px; line-height: 1.45; }
	.abh__title { font-size: 30px; }
	.hx-actions { flex-wrap: nowrap; gap: 10px; }
	.hx-actions .hb { flex: 1 1 0; min-width: 0; min-height: 50px; padding: 0 12px; gap: 8px; font-size: 14.5px; }
	.hx-actions .hb .af-i { width: 18px; height: 18px; }
}
@media (max-width: 360px) {
	.hx-title { font-size: 27px; }
	.hx-actions .hb { font-size: 13.5px; padding: 0 8px; }
}


/* =========================================================
   Section heads: label pill, highlighted title, motion
   ========================================================= */
.af-eb { margin: 0 0 18px; }
.hs-h2 em { position: relative; display: inline-block; font-style: normal; color: var(--af-olive); padding-inline: .04em; }
.hs-h2 em .hx-swash { position: absolute; left: -6%; right: -4%; bottom: -.06em; width: 110%; height: .32em; z-index: -1; }
.hs-h2 { position: relative; z-index: 0; }
:is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) > .hs-p { border-right: 2px solid #D9CEAD; padding-right: 16px; }

/* Team card: framed, with a faint mark */
.hs-team__card { overflow: hidden; }
.hs-team__card::before { content: ""; position: absolute; inset: 14px; border: 1px solid #E2D9C4; pointer-events: none; }
.hs-team__card::after { content: ""; position: absolute; left: -30px; bottom: -40px; width: 190px; height: 225px; background: url("../img/afarinesh-mark.svg") no-repeat center / contain; opacity: .06; pointer-events: none; }
.hs-team__card > * { position: relative; }
/* Why text: faint mark behind */
.hs-why__text { position: relative; }
.hs-why__text::before { content: ""; position: absolute; left: 0; top: 60px; width: 220px; height: 260px; background: url("../img/afarinesh-mark.svg") no-repeat center / contain; opacity: .05; pointer-events: none; }
.hs-why__text > * { position: relative; }

/* Motion */
.js [data-af-reveal] :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) > * { opacity: 0; }
.js [data-af-reveal].is-in :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) > .hx-eyebrow { animation: hx-pop .7s cubic-bezier(.2,.7,.2,1) both .05s; }
.js [data-af-reveal].is-in :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) > .hx-eyebrow i { animation: hx-draw .9s cubic-bezier(.65,0,.25,1) both .45s; }
.js [data-af-reveal].is-in :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) > :is(.hs-h2, .ph2__title) { animation: hx-rise 1s cubic-bezier(.2,.75,.15,1) both .2s; }
.js [data-af-reveal] :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) .hx-swash { transform: scaleX(0); transform-origin: right center; }
.js [data-af-reveal].is-in :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) .hx-swash { animation: hx-draw 1.1s cubic-bezier(.65,0,.25,1) both .95s; }
.js [data-af-reveal].is-in :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) > :not(.hx-eyebrow):not(.hs-h2):not(.ph2__title) { animation: hx-fade-up .9s ease both .55s; }
.js [data-af-reveal].is-in :is(.hs-head, .hs-team__card, .hs-why__text, .abs__quote, .abv__list, .abt__head, .abg > .hwrap, .ph2 > .hwrap) > :not(.hx-eyebrow):not(.hs-h2):not(.ph2__title) ~ :not(.hx-eyebrow):not(.hs-h2) { animation-delay: .7s; }
.js [data-af-reveal] .hs-team__card { opacity: 0; transform: translateX(46px); }
.js [data-af-reveal].is-in .hs-team__card { opacity: 1; transform: none; transition: opacity 1s ease .1s, transform 1.1s cubic-bezier(.2,.7,.2,1) .1s; }
.js [data-af-reveal] .hs-team__img > img:first-child { transform: scale(1.08); }
.js [data-af-reveal].is-in .hs-team__img > img:first-child { transform: none; transition: transform 1.8s cubic-bezier(.2,.7,.2,1); }
.js [data-af-reveal] .hs-res__cards > * { opacity: 0; transform: translateY(30px); }
.js [data-af-reveal].is-in .hs-res__cards > * { opacity: 1; transform: none; transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.js [data-af-reveal].is-in .hs-res__cards > :nth-child(2) { transition-delay: .15s; }
.js [data-af-reveal].is-in .hs-res__cards > :nth-child(3) { transition-delay: .3s; }
.js [data-af-reveal] :is(.hs-why__arch, .hs-why__img) { opacity: 0; }
.js [data-af-reveal].is-in :is(.hs-why__arch, .hs-why__img) { opacity: 1; transition: opacity 1.2s ease .2s; }
.js [data-af-reveal] .hs-why__arch { clip-path: inset(100% 0 0 0 round 300px 300px 0 0); }
.js [data-af-reveal].is-in .hs-why__arch { clip-path: inset(0 0 0 0 round 300px 300px 0 0); transition: clip-path 1.3s cubic-bezier(.65,0,.25,1) .25s, opacity .6s ease .25s; }
.js [data-af-reveal] .hs-why__feats li { opacity: 0; transform: translateX(20px); }
.js [data-af-reveal].is-in .hs-why__feats li { opacity: 1; transform: none; transition: opacity .8s ease, transform .8s ease; }
.js [data-af-reveal].is-in .hs-why__feats li:nth-child(1) { transition-delay: .5s; }
.js [data-af-reveal].is-in .hs-why__feats li:nth-child(2) { transition-delay: .65s; }
.js [data-af-reveal].is-in .hs-why__feats li:nth-child(3) { transition-delay: .8s; }

@media (max-width: 1000px) {
	.af-eb { margin-bottom: 14px; }
	.hs-team__card::before { inset: 10px; }
}

/* =========================================================
   Floating dock (desktop, right side) & mobile action bar
   ========================================================= */
@keyframes af-spin { to { transform: rotate(360deg); } }
@keyframes af-pulse { 0% { box-shadow: 0 0 0 0 rgba(243,239,230,.55); } 70% { box-shadow: 0 0 0 12px rgba(243,239,230,0); } 100% { box-shadow: 0 0 0 0 rgba(243,239,230,0); } }
@keyframes af-sheen { 0%, 78% { transform: translateX(120%) skewX(-18deg); } 100% { transform: translateX(-220%) skewX(-18deg); } }
@keyframes af-dock-in { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }

.af-dock { left: auto; right: 24px; bottom: 26px; align-items: flex-end; gap: 12px; }
.af-dock__btn { position: relative; overflow: hidden; gap: 12px; min-height: 58px; padding: 6px; padding-inline: 6px 22px; border-radius: 999px; box-shadow: 0 18px 40px -22px rgba(30,32,18,.65); transition: transform .3s ease, box-shadow .3s ease, padding .35s ease; animation: af-dock-in .8s cubic-bezier(.2,.7,.2,1) both .6s; }
.af-dock__btn + .af-dock__btn { animation-delay: .75s; }
.af-dock__btn:hover { transform: translateX(-4px); box-shadow: 0 22px 44px -22px rgba(30,32,18,.75); }
.af-dock__icon { width: 46px; height: 46px; }
.af-dock__txt { font-family: var(--af-head); max-width: 220px; overflow: hidden; white-space: nowrap; transition: max-width .4s ease, opacity .3s ease; }
.af-dock__txt small { font-family: var(--af-font); font-size: 11.5px; font-weight: 400; opacity: .8; }
.af-dock__txt strong { font-size: 15.5px; font-weight: 700; }
.af-dock__btn--call { background: #3D402A; color: #F5F2EB; }
.af-dock__btn--call .af-dock__icon { background: #F3EFE6; color: #3D402A; animation: af-pulse 2.6s ease-out infinite 1.6s; }
.af-dock__btn--lucky { background: #FAF8F2; color: #2E2C26; border: 1px solid #D6C9A3; }
.af-dock__btn--lucky .af-dock__icon { background: linear-gradient(140deg, #CDB680, #9E8752); color: #fff; box-shadow: inset 0 0 0 3px rgba(255,255,255,.35); }
.af-dock__btn--lucky .af-dock__icon .af-i { animation: af-spin 9s linear infinite; transition: none; }
.af-dock__btn--lucky:hover .af-dock__icon .af-i { animation-duration: 1.4s; transform: none; }
.af-dock__btn--lucky::after { content: ""; position: absolute; top: -10%; bottom: -10%; left: 0; width: 34%; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.75), rgba(255,255,255,0)); animation: af-sheen 6s ease-in-out infinite 2s; pointer-events: none; }
.af-dock__btn--lucky small { color: #8A7F57; opacity: 1; }
/* Compact while scrolling down: icons only; hover expands again */
.af-dock.is-compact .af-dock__btn { padding-inline: 6px 6px; gap: 0; }
.af-dock.is-compact .af-dock__txt { max-width: 0; opacity: 0; }
.af-dock.is-compact:hover .af-dock__btn, .af-dock.is-compact:focus-within .af-dock__btn { padding-inline: 6px 22px; gap: 12px; }
.af-dock.is-compact:hover .af-dock__txt, .af-dock.is-compact:focus-within .af-dock__txt { max-width: 220px; opacity: 1; }

@media (max-width: 1000px) {
	.af-mbar { gap: 4px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); background: rgba(248,245,238,.94); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); border-top: 1px solid rgba(214,201,163,.6); box-shadow: 0 -16px 34px -26px rgba(30,32,18,.55); }
	.af-mbar a { min-height: 60px; gap: 4px; border: 0; border-radius: 16px; background: transparent; color: #33332B; font-size: 11.5px; font-weight: 700; }
	.af-mbar a > span:last-child { line-height: 1.2; }
	.af-mbar__ic { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #ECE7DB; color: #3D402A; }
	.af-mbar a .af-i { color: inherit; width: 18px; height: 18px; }
	.af-mbar a:first-child .af-mbar__ic { animation: af-pulse 2.6s ease-out infinite 2s; }
	.af-mbar a.is-lucky { background: transparent; border: 0; }
	.af-mbar a.is-lucky .af-mbar__ic { background: linear-gradient(140deg, #CDB680, #9E8752); color: #fff; box-shadow: 0 6px 14px -8px rgba(110,90,40,.8); }
	.af-mbar a.is-lucky .af-i { animation: af-spin 9s linear infinite; }
	.af-mbar a.is-primary { background: #3D402A; color: #F5F2EB; box-shadow: 0 10px 22px -14px rgba(30,32,18,.8); }
	.af-mbar a.is-primary .af-mbar__ic { background: rgba(255,255,255,.14); color: #F5F2EB; }
	.af-mbar a:active { transform: scale(.97); }
	body { padding-bottom: 84px; }
}
@media (prefers-reduced-motion: reduce) {
	.af-dock__btn, .af-dock__icon, .af-dock__icon .af-i, .af-dock__btn--lucky::after, .af-mbar__ic, .af-mbar .af-i { animation: none !important; }
}

/* One-line logotype (mark + آفرینش, Nastaliq) */
.af-logo__img { height: 64px; }
.af-footer__logo img { height: 58px; }
@media (max-width: 1000px) { .af-logo__img { height: 48px; } }
/* Emblem logotype */
.af-logo__img { height: 60px; }
.af-footer__logo img { height: 54px; }
@media (max-width: 1000px) { .af-logo__img { height: 46px; } }
/* Naskh logotype with gold mark */
.af-logo__img { height: 58px; }
.af-footer__logo img { height: 52px; }
@media (max-width: 1000px) { .af-logo__img { height: 44px; } }
.af-footer__logo img { width: auto; max-width: 260px; object-fit: contain; }
.af-logo__img { width: auto; max-width: 280px; object-fit: contain; }

/* =========================================================
   v1.7 — header logo, why image, service landing & services page
   ========================================================= */
.af-logo__img { height: 48px; max-width: 240px; }
@media (max-width: 1000px) { .af-logo__img { height: 38px; } }

/* Stats: icon on the right, text on the left */
.hs-stat { justify-content: flex-start; padding-inline: 34px; }
.hs-stat > div { flex: 1; }
.hs-stat dt { text-align: left; }
.hs-stat dd { text-align: left; }

/* Why section: full-bleed image that melts into the background */
.hs-why__grid { max-width: none; }
.hs-why__img::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 22%; z-index: 1; background: linear-gradient(90deg, var(--af-bg) 0%, rgba(245,242,235,.6) 45%, rgba(245,242,235,0) 100%); pointer-events: none; }
.hs-why__img::after { width: 40%; z-index: 1; }
.hs-why__img { box-shadow: inset 0 -40px 60px -40px var(--af-bg); }
@media (min-width: 1600px) {
	.hs-why__img img { object-position: 70% 40%; }
	.hs-why__img::before { width: 30%; }
}

/* ---------- Service landing ---------- */
.af-shero { padding: 18px 0 64px; position: relative; overflow: hidden; }
.af-shero .af-wrap { max-width: 1440px; padding-inline: 56px; }
.af-shero__grid { gap: 70px; }
.af-shero__text { gap: 0; }
.af-shero__text .af-crumbs { margin-bottom: 20px; }
.af-shero__title { font-size: clamp(32px, 3.2vw, 52px) !important; line-height: 1.45; margin: 0 0 14px !important; }
.af-shero__lead { margin: 0 0 24px; font-size: 17px; line-height: 2; color: #4A4840; }
.af-shero .af-arch { height: clamp(420px, 40vw, 580px); border-radius: 0; background: var(--af-ph); -webkit-mask: url("../img/hero-mask.svg") no-repeat 0 0 / 100% 100%; mask: url("../img/hero-mask.svg") no-repeat 0 0 / 100% 100%; border-radius: 26px 0 0 26px; }
.af-facts { border: 0; background: transparent; border-radius: 0; margin: 0 0 28px; gap: 0; border-top: 1px solid #DCD5C6; border-bottom: 1px solid #DCD5C6; }
.af-facts__item { border-right: 1px solid #E4DED2; padding: 16px 18px; }
.af-facts__item .af-i { width: 38px; height: 38px; padding: 9px; border-radius: 50%; background: #EFEBE2; color: #8A7F57; }
.af-facts dt { font-size: 12.5px; color: #7C786E; }
.af-facts dd { font-family: var(--af-head); font-size: 15.5px; color: #1E1D19; }
.af-shero__note { margin-top: 16px; font-size: 13.5px; color: #6F6B62; }
.af-play { right: auto; left: 24px; bottom: 24px; padding: 8px 8px 8px 20px; padding-inline: 8px 20px; background: rgba(248,246,241,.92); backdrop-filter: blur(6px); font-family: var(--af-head); }
.af-play__icon { background: #3D402A; }

/* Sticky section nav: sticks to the top of the screen (header is not sticky) */
.af-snav { top: 0; background: rgba(245,242,235,.92); backdrop-filter: blur(10px) saturate(140%); -webkit-backdrop-filter: blur(10px) saturate(140%); border-block: 1px solid #E4DED2; }
.admin-bar .af-snav { top: 32px; }
.af-snav__in { max-width: 1440px; padding-inline: 56px; justify-content: center; gap: 6px; }
.af-snav a { font-family: var(--af-head); font-size: 14.5px; color: #6F6B62; padding: 16px 14px; border-bottom-width: 2px; }
.af-snav a.is-active { color: #2E321F; border-color: #A7966A; }
.af-aside__sticky { top: 80px; }
@media (max-width: 782px) { .admin-bar .af-snav { top: 0; } }

/* Body + sidebar */
.af-section--white { background: #FBFAF6; border-top: 0; }
.af-sbody { gap: 64px; }
.af-prose h2 { font-family: var(--af-head); font-size: 26px; }
.af-prose h2::after { content: ""; display: block; width: 46px; height: 2px; margin-top: 10px; background: #C3B58C; }
.af-form--compact { background: #F8F6F1; border: 1px solid #E4DED2; border-radius: 22px; box-shadow: 0 22px 44px -34px rgba(40,40,25,.5); }
.af-form .af-btn--primary { background: #3D402A; border-radius: 999px; min-height: 52px; font-family: var(--af-head); }
.af-aside__box { background: #F5F2EB; border: 1px solid #E4DED2; border-radius: 18px; }
.af-aside__h { font-family: var(--af-head); }
.af-checks .af-i { color: #A7966A; }
.af-suit { background: #F1EDE4; border-radius: 22px; }
.af-suit h2::after { display: none; }

/* Section heads inside landing */
.af-head { align-items: flex-end; }
.af-head .hs-head .hs-h2 { margin-bottom: 8px; }
.hs-head--center { align-items: center; text-align: center; }
.af-head--center { justify-content: center; }

/* Benefits */
.af-benefits { gap: 18px; }
.af-benefit { background: #EFEBE2; border: 0; border-radius: 22px; padding: 30px 28px; transition: transform .3s ease, box-shadow .3s ease; }
.af-benefit:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -30px rgba(40,40,25,.55); }
.af-benefit__icon { background: #F8F6F1; color: #8A7F57; border-radius: 50%; width: 50px; height: 50px; }
.af-benefit h3 { font-family: var(--af-head); }

/* Steps band */
.af-band { background: #2F3326; position: relative; overflow: hidden; }
.af-band .hx-eyebrow { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: #E9E4D6; }
.af-band .hs-h2 { color: #F5F2EB; }
.af-band .hs-h2 em { color: #D9CDA6; }
.af-steps li { border-top-color: rgba(201,185,143,.4); }
.af-steps__n { font-family: var(--af-head); font-size: 26px; color: #C8B98F; }
.af-steps strong { font-family: var(--af-head); }

/* Gallery, results, care, price, FAQ */
.af-gallery__item { border-radius: 18px; }
.af-ba-card figcaption { font-family: var(--af-head); }
.af-care__col { background: #F5F2EB; border: 0; border-radius: 22px; }
.af-care__col h3 { font-family: var(--af-head); color: #2E321F; }
.af-price { background: #F5F2EB; border: 1px solid #D6C9A3; border-radius: 22px; }
.af-faq summary { font-family: var(--af-head); font-weight: 700; }
.af-faq__item { border-color: #DCD5C6; }
.af-faq__sign { color: #8A7F57; }

/* Bottom booking band */
.af-cta { background: #2F3326; position: relative; overflow: hidden; }
.af-cta .hx-eyebrow { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: #E9E4D6; }
.af-cta .hs-h2 { color: #F5F2EB; }
.af-cta .af-form { background: #F8F6F1; border-radius: 24px; }
.af-cta__tel { font-family: var(--af-head); }

/* ---------- Service cards (related, services page, search): arch style ---------- */
.af-scard { position: relative; border: 0; background: #EFEBE2; border-radius: 200px 200px 14px 14px; }
.af-scard__media { aspect-ratio: 1 / .82; border-radius: 200px 200px 0 0; }
.af-scard__body { align-items: center; text-align: center; padding: 18px 16px 24px; }
.af-scard__title { font-family: var(--af-head); font-size: 16.5px; }
.af-scard .af-more { color: #6E6A3E; font-family: var(--af-head); }
.af-scard:hover { box-shadow: 0 22px 40px -28px rgba(40,40,25,.55); }
.af-acard__media { border-radius: 18px; }
.af-acard__title { font-family: var(--af-head); }

/* ---------- All-services page ---------- */
.svx-head { padding-bottom: 20px; }
.svx-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.svx-nav a { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background: #F8F6F1; border: 1px solid #DCD3BD; font-family: var(--af-head); font-size: 15px; transition: background-color .25s ease, color .25s ease; }
.svx-nav a small { min-width: 26px; height: 26px; padding: 0 6px; border-radius: 999px; background: #EFEBE2; color: #6E6A3E; display: inline-flex; align-items: center; justify-content: center; font-size: 12.5px; }
.svx-nav a:hover { background: #3D402A; color: #F5F2EB; }
.svx-nav a:hover small { background: rgba(255,255,255,.15); color: #F5F2EB; }
.svx-group { padding: 56px 0 30px; scroll-margin-top: 20px; }
.svx-group--alt { background: #EFEBE2; }
.svx-group--alt .af-scard { background: #F8F6F1; }
.svx-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; padding-bottom: 30px; }
.js [data-af-reveal] .svx-grid .af-scard { opacity: 0; transform: translateY(30px); }
.js [data-af-reveal].is-in .svx-grid .af-scard { opacity: 1; transform: none; transition: opacity .8s ease calc(var(--i, 0) * .08s), transform .8s cubic-bezier(.2,.7,.2,1) calc(var(--i, 0) * .08s), box-shadow .3s ease; }
.js [data-af-reveal] :is(.af-benefit, .af-care__col, .af-ba-card, .af-gallery__item, .af-clip, .af-faq__item) { opacity: 0; transform: translateY(24px); }
.js [data-af-reveal].is-in :is(.af-benefit, .af-care__col, .af-ba-card, .af-gallery__item, .af-clip, .af-faq__item) { opacity: 1; transform: none; transition: opacity .8s ease .2s, transform .8s cubic-bezier(.2,.7,.2,1) .2s; }

@media (max-width: 1000px) {
	.af-shero .af-wrap, .af-snav__in { padding-inline: 20px; }
	.af-snav__in { justify-content: flex-start; }
	.af-shero .af-arch { -webkit-mask-image: url("../img/hero-mask-m.svg"); mask-image: url("../img/hero-mask-m.svg"); height: 100vw; max-height: 520px; border-radius: 0; }
	.svx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.hs-stat { justify-content: flex-start; padding-inline: 22px; }
	.hs-why__img::before { display: none; }
}

/* v1.7.1 — mobile bar: «رزرو نوبت» like the other items */
@media (max-width: 1000px) {
	.af-mbar a.is-primary { background: transparent; color: #33332B; box-shadow: none; }
	.af-mbar a.is-primary .af-mbar__ic { background: #ECE7DB; color: #3D402A; }
}
/* Stats: number above the text, right-aligned, "+" on the left of the number */
.hs-stat dt, .hs-stat dd { text-align: right; direction: rtl; unicode-bidi: plaintext; }
.hs-stat dt { unicode-bidi: isolate; direction: rtl; }
