:root {
    --bg: #fbfaf7;
    --surface: #ffffff;
    --surface-soft: #f4f0e8;
    --ink: #12110f;
    --ink-soft: #292722;
    --muted: #6f6b63;
    --gold: #c9a227;
    --gold-deep: #987818;
    --gold-soft: #efe3b5;
    --line: #e7e0d3;
    --success: #1d6b48;
    --danger: #a43e3e;
    --container: 1180px;
    --radius: 28px;
    --radius-sm: 18px;
    --shadow: 0 24px 70px rgba(24, 21, 15, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow { max-width: 860px; }
.section { padding: 94px 0; }
.section-small { padding: 88px 0 50px; }
.section-soft { background: var(--surface-soft); }
.section-dark { background: #0d0d0d; color: #fff; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; right: 20px; z-index: 999; background: #fff; color: #111; padding: 10px 16px; border-radius: 12px; box-shadow: var(--shadow); }
.skip-link:focus { top: 20px; }
.ltr-value { direction: ltr; unicode-bidi: isolate; display: inline-block; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(251,250,247,.91); backdrop-filter: blur(18px); border-bottom: 1px solid transparent; transition: .25s ease; }
.site-header.scrolled { border-color: rgba(232,226,215,.9); box-shadow: 0 10px 40px rgba(24,21,15,.05); }
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { flex: 0 0 auto; display: inline-flex; align-items: center; }
.brand-logo { width: 148px; height: 66px; object-fit: contain; object-position: center; }
.site-nav { display: flex; align-items: center; gap: 25px; }
.site-nav > a:not(.button) { position: relative; color: #4e4a43; font-size: 13px; font-weight: 650; }
.site-nav > a:not(.button)::after { content: ""; position: absolute; right: 0; left: 100%; bottom: -11px; height: 1px; background: var(--gold-deep); transition: left .22s ease; }
.site-nav > a:hover::after, .site-nav > a.active::after { left: 0; }
.site-nav > a.active { color: var(--ink); }
.menu-toggle { width: 44px; height: 44px; display: none; border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 11px; }
.menu-toggle > span:not(.sr-only) { display: block; height: 1px; background: #111; margin: 5px 0; }

.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 8px; padding: 0 24px; border: 1px solid #111; border-radius: 999px; background: #111; color: #fff; font-weight: 750; font-size: 13px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.14); }
.button-small { min-height: 42px; padding-inline: 20px; }
.button-ghost { background: transparent; color: #111; border-color: #bdb8af; }
.button-light { background: #fff; color: #111; border-color: #fff; }
.button-gold { background: var(--gold); color: #111; border-color: var(--gold); }
.button-dark-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.28); }
.button-block { width: 100%; }
.button-service { margin-top: 16px; min-height: 44px; padding-inline: 18px; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.actions-compact { margin-top: 22px; }
.center-action { text-align: center; margin-top: 38px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-weight: 750; font-size: 13px; border-bottom: 1px solid var(--gold-deep); padding-bottom: 4px; }

.eyebrow { display: inline-block; color: var(--gold-deep); font-size: 12px; font-weight: 850; letter-spacing: .01em; margin-bottom: 14px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(44px, 6vw, 76px); line-height: 1.25; letter-spacing: -.045em; margin-bottom: 24px; font-weight: 900; }
h2 { font-size: clamp(31px, 4vw, 48px); line-height: 1.4; letter-spacing: -.03em; margin-bottom: 18px; font-weight: 850; }
h3 { line-height: 1.55; font-weight: 850; }
.lead { font-size: 18px; color: var(--muted); max-width: 690px; line-height: 2.05; }
.muted { color: var(--muted); }

.hero { position: relative; overflow: hidden; min-height: 735px; display: flex; align-items: center; }
.hero::before { content: ""; position: absolute; width: 540px; height: 540px; border-radius: 50%; background: radial-gradient(circle, rgba(201,162,39,.12), rgba(201,162,39,0) 68%); right: -160px; top: -150px; pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: .94fr 1.06fr; gap: 72px; align-items: center; }
.hero-copy { position: relative; z-index: 2; }
.trust-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 34px; }
.trust-row span { padding: 8px 13px; background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: 999px; font-size: 11px; color: #59564f; font-weight: 650; }
.hero-visual { position: relative; min-height: 560px; display: grid; place-items: center; }
.hero-photo-frame { position: relative; width: 100%; margin: 0; border-radius: 42% 42% 28px 28px; overflow: hidden; min-height: 585px; box-shadow: var(--shadow); background: #ddd; border: 1px solid rgba(201,162,39,.18); }
.hero-photo-frame > img { width: 100%; height: 100%; min-height: 585px; object-fit: cover; object-position: center; }
.hero-photo-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(8,8,8,.56)); pointer-events: none; }
.hero-photo-caption { position: absolute; z-index: 2; right: 26px; bottom: 24px; display: flex; align-items: center; gap: 12px; color: #fff; direction: ltr; font-size: 11px; letter-spacing: .18em; }
.hero-photo-caption img { width: 90px; height: 44px; object-fit: contain; }

.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 34px; margin-bottom: 44px; }
.section-heading > p { width: min(100%, 520px); color: var(--muted); margin-bottom: 8px; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.home-service-grid.service-grid-count-1 { grid-template-columns: minmax(0, 440px); justify-content: center; }
.home-service-grid.service-grid-count-2,
.home-service-grid.service-grid-count-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; margin-inline: auto; }
.service-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-4px); box-shadow: 0 22px 55px rgba(28,24,17,.09); }
.service-card-media { display: block; position: relative; aspect-ratio: 4/4.6; overflow: hidden; background: #e9e4dc; }
.service-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.service-card:hover .service-card-media img { transform: scale(1.025); }
.service-card-body { padding: 24px 24px 26px; }
.service-card-body h3, .service-card-body h2 { font-size: 24px; margin-bottom: 10px; }
.service-card-body p { color: var(--muted); font-size: 13.5px; line-height: 1.95; margin-bottom: 0; }
.service-grid-large .service-card-body { padding: 28px; }
.service-grid-large .service-card-body h2 { font-size: 28px; }
.service-index { position: absolute; top: 16px; right: 16px; min-width: 42px; height: 42px; display: grid; place-items: center; border-radius: 999px; color: #111; background: rgba(255,255,255,.88); backdrop-filter: blur(10px); font-weight: 800; font-size: 11px; }

.split-panel { display: grid; grid-template-columns: .92fr 1.08fr; gap: 76px; align-items: center; }
.split-copy p { color: var(--muted); }
.image-card { position: relative; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); background: #e8e1d7; }
.image-card img { width: 100%; height: 100%; object-fit: cover; }
.image-card-tall { min-height: 590px; border-radius: 42% 42% 28px 28px; }
.image-card-tall > img { min-height: 590px; }
.image-card-about { min-height: 540px; }
.image-card-about > img { min-height: 540px; }
.image-card-logo { position: absolute; left: 22px; bottom: 22px; width: 145px; padding: 11px 14px; border-radius: 16px; background: rgba(9,9,9,.88); backdrop-filter: blur(12px); }
.image-card-logo img { width: 100%; height: 64px; object-fit: contain; }
.feature-list { margin: 30px 0 18px; border-top: 1px solid var(--line); }
.feature-list > div { display: flex; gap: 16px; align-items: flex-start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.feature-list strong { color: var(--gold-deep); font-size: 11px; padding-top: 3px; }
.feature-list b, .feature-list small { display: block; }
.feature-list small { color: var(--muted); margin-top: 2px; }
.inline-contact-card { margin-top: 28px; padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.inline-contact-card span, .inline-contact-card strong, .inline-contact-card small { display: block; }
.inline-contact-card span { color: var(--gold-deep); font-size: 11px; font-weight: 800; }
.inline-contact-card strong { margin-top: 7px; font-size: 16px; }
.inline-contact-card small { margin-top: 5px; color: var(--muted); }

.dark-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.section-dark h2 { color: #fff; margin-bottom: 0; }
.section-dark p { color: rgba(255,255,255,.64); margin-bottom: 0; }
.section-dark .eyebrow { color: var(--gold); }
.section-cta { padding-top: 28px; }
.cta-box { background: linear-gradient(115deg, #111, #1d1a14); color: #fff; border-radius: var(--radius); padding: 50px; display: flex; align-items: center; justify-content: space-between; gap: 34px; border: 1px solid rgba(201,162,39,.2); }
.cta-box p { color: rgba(255,255,255,.64); margin-bottom: 0; max-width: 680px; }
.cta-box .eyebrow { color: var(--gold); }

.page-hero { position: relative; background: radial-gradient(circle at 18% 20%, rgba(201,162,39,.14), transparent 30%); border-bottom: 1px solid var(--line); }
.page-hero h1 { font-size: clamp(40px,5vw,64px); }
.content-callout { display: flex; align-items: center; justify-content: space-between; gap: 40px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 42px; }
.content-callout p { color: var(--muted); max-width: 700px; margin-bottom: 0; }
.values-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.values-grid article { padding: 30px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.values-grid span { color: var(--gold-deep); font-size: 11px; }
.values-grid h3 { font-size: 22px; margin: 50px 0 10px; }
.values-grid p { color: var(--muted); margin-bottom: 0; }

.contact-section { padding: 82px 0 34px; }
.contact-channel-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: stretch; }
.contact-channel-card { position: relative; min-height: 330px; padding: 30px 28px 26px; overflow: hidden; text-align: center; background: linear-gradient(180deg, #fff 0%, #fdfbf6 100%); border: 1px solid var(--line); border-radius: var(--radius); display: flex; flex-direction: column; align-items: center; transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease; }
.contact-channel-card::before { content: ""; position: absolute; width: 170px; height: 170px; top: -95px; right: -65px; border-radius: 50%; background: radial-gradient(circle, rgba(201,162,39,.16), rgba(201,162,39,0) 72%); pointer-events: none; }
.contact-channel-card-primary { border-color: rgba(201,162,39,.38); box-shadow: 0 18px 50px rgba(45,37,17,.055); }
.contact-channel-card:hover { transform: translateY(-5px); border-color: #cdbb77; box-shadow: 0 24px 58px rgba(24,21,15,.085); }
.contact-channel-icon { position: relative; z-index: 1; width: 58px; height: 58px; flex: 0 0 auto; display: grid; place-items: center; margin-bottom: 18px; border-radius: 19px; background: #111; color: var(--gold); box-shadow: 0 12px 30px rgba(17,17,17,.12); }
.contact-channel-icon svg { width: 25px; height: 25px; }
.contact-channel-kicker { color: var(--gold-deep); font-size: 10px; font-weight: 850; letter-spacing: .01em; }
.contact-channel-title { margin: 7px 0 8px; font-size: 20px; line-height: 1.55; }
.contact-channel-description { max-width: 260px; margin: 0 auto; color: var(--muted); font-size: 12px; line-height: 1.9; }
.contact-channel-value { margin: 20px 0 14px; font-size: 18px; font-weight: 850; color: var(--ink); }
.contact-channel-action { width: min(100%, 230px); min-height: 47px; margin-top: auto; padding: 0 18px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 12px; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.contact-channel-action:hover { transform: translateY(-2px); }
.contact-channel-action-dark { background: #111; color: #fff; border: 1px solid #111; box-shadow: 0 10px 24px rgba(17,17,17,.12); }
.contact-channel-action-dark:hover { background: #1d1a14; box-shadow: 0 13px 28px rgba(17,17,17,.16); }
.contact-channel-action-outline { background: #fff; color: #17150f; border: 1px solid #d8c78e; }
.contact-channel-action-outline:hover { background: #fbf6e8; border-color: var(--gold); }
.contact-channel-action-arrow { color: var(--gold-deep); font-size: 17px; line-height: 1; }
.contact-channel-action-dark .contact-channel-action-arrow { color: var(--gold); }
.contact-channel-hours { width: fit-content; max-width: 100%; margin: 20px auto 0; padding: 10px 15px 10px 18px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); display: flex; align-items: center; justify-content: center; gap: 9px; color: var(--muted); font-size: 11px; }
.contact-channel-hours-icon { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: #111; color: var(--gold); }
.contact-channel-hours-icon svg { width: 15px; height: 15px; }
.contact-channel-hours strong { color: var(--ink); font-size: 12px; font-weight: 850; }
.form-layout, .booking-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 26px; align-items: start; }
.form-card, .info-card, .booking-aside { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 34px; box-shadow: 0 16px 50px rgba(30,25,15,.04); }
.contact-intro { min-height: 100%; background: #111; color: #fff; border-color: #111; }
.contact-intro p { color: rgba(255,255,255,.66); }
.contact-intro .eyebrow { color: var(--gold); }
.contact-detail-list { margin-top: 30px; border-top: 1px solid rgba(255,255,255,.12); }
.contact-detail-list > div { padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.contact-detail-list span { color: var(--gold); font-size: 11px; }
.contact-detail-list strong { font-size: 13px; font-weight: 650; }
.form-title { font-size: 30px; }
.form-description { color: var(--muted); margin-bottom: 24px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field { display: block; margin-bottom: 17px; }
.field > span { display: block; font-size: 12px; font-weight: 750; margin-bottom: 8px; color: #47443f; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid var(--line); background: #fffdf9; border-radius: 14px; padding: 13px 14px; color: var(--ink); outline: none; transition: border .2s, box-shadow .2s; }
.field select { min-height: 51px; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #8e897f 50%), linear-gradient(135deg, #8e897f 50%, transparent 50%); background-position: 16px 21px, 11px 21px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; padding-left: 34px; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--gold-deep); box-shadow: 0 0 0 4px rgba(201,162,39,.10); }
.check-field { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 12px; margin: 6px 0 20px; }
.check-field input { margin-top: 7px; }
.alert { border-radius: 14px; padding: 13px 16px; margin-bottom: 18px; font-size: 13px; }
.alert ul { margin: 0; padding-right: 18px; }
.alert.success { color: var(--success); background: #edf7f1; border: 1px solid #c9e8d5; }
.alert.error { color: var(--danger); background: #fff0f0; border: 1px solid #f0caca; }
.aside-title { font-size: 29px; }
.step-list { list-style: none; padding: 0; margin: 20px 0 0; }
.step-list li { display: flex; gap: 14px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
.step-list li:last-child { border-bottom: 0; }
.step-list strong { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 50%; background: #111; color: var(--gold); display: grid; place-items: center; }
.step-list b, .step-list small { display: block; }
.step-list small { color: var(--muted); }
.booking-contact-box {
    margin-top: 30px;
    padding: 24px 20px 20px;
    border: 1px solid rgba(184, 146, 43, .16);
    border-radius: 22px;
    background:
        radial-gradient(circle at 50% 0, rgba(201, 166, 62, .09), transparent 48%),
        var(--surface-soft);
    text-align: center;
}
.booking-contact-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    padding: 5px 10px;
    margin-bottom: 9px;
    border-radius: 999px;
    background: rgba(184, 146, 43, .10);
    color: var(--gold-deep);
    font-size: 11px;
    font-weight: 800;
}
.booking-contact-title {
    display: block;
    color: var(--ink);
    font-size: 15px;
    line-height: 1.9;
}
.booking-contact-text {
    max-width: 290px;
    margin: 7px auto 17px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.9;
}
.booking-contact-actions {
    display: grid;
    gap: 10px;
}
.booking-contact-call,
.booking-contact-whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 58px;
    padding: 10px 16px;
    border-radius: 16px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.booking-contact-call {
    background: #111;
    color: #fff;
    box-shadow: 0 12px 25px rgba(17, 17, 17, .13);
}
.booking-contact-call:hover {
    transform: translateY(-1px);
    background: #1a1a1a;
    box-shadow: 0 16px 30px rgba(17, 17, 17, .18);
}
.booking-contact-whatsapp {
    border: 1px solid rgba(17, 17, 17, .12);
    background: rgba(255, 255, 255, .72);
    color: var(--ink);
}
.booking-contact-whatsapp:hover {
    transform: translateY(-1px);
    border-color: rgba(184, 146, 43, .45);
    background: #fff;
}
.booking-contact-action-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
}
.booking-contact-call .booking-contact-action-icon {
    background: rgba(201, 166, 62, .14);
    color: var(--gold);
}
.booking-contact-whatsapp .booking-contact-action-icon {
    background: rgba(184, 146, 43, .10);
    color: var(--gold-deep);
}
.booking-contact-action-icon svg {
    width: 18px;
    height: 18px;
}
.booking-contact-action-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.35;
}
.booking-contact-action-copy small {
    font-size: 10px;
    font-weight: 600;
    opacity: .72;
}
.booking-contact-action-copy b {
    margin-top: 2px;
    font-size: 15px;
    font-weight: 900;
}
.booking-contact-call .booking-contact-action-copy b {
    direction: ltr;
    unicode-bidi: isolate;
    letter-spacing: .2px;
}
.booking-contact-hours {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 16px;
    padding-top: 15px;
    border-top: 1px solid rgba(17, 17, 17, .07);
    color: var(--muted);
    font-size: 11px;
}
.booking-contact-hours strong {
    color: var(--ink);
    font-size: 12px;
}
.booking-contact-hours-icon {
    width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    color: var(--gold-deep);
}
.booking-contact-hours-icon svg {
    width: 16px;
    height: 16px;
}
.jalali-fieldset { border: 0; padding: 0; margin: 2px 0 17px; }
.jalali-fieldset legend { font-size: 12px; font-weight: 800; margin-bottom: 8px; }
.jalali-fieldset legend small { color: var(--gold-deep); font-weight: 700; }
.jalali-date-grid { display: grid; grid-template-columns: .7fr 1.25fr 1fr; gap: 12px; }
.jalali-date-grid .field { margin-bottom: 0; }

.site-footer { margin-top: 0; padding: 70px 0 24px; background: #090909; color: #fff; border-top: 1px solid rgba(201,162,39,.2); }
.footer-grid { display: grid; grid-template-columns: 1.45fr .7fr .9fr; gap: 50px; }
.footer-brand-block p { color: rgba(255,255,255,.56); max-width: 380px; }
.footer-logo { width: 230px; margin-bottom: 20px; }
.footer-grid h3 { font-size: 13px; color: var(--gold); margin-bottom: 16px; }
.footer-grid > div > a { display: block; color: rgba(255,255,255,.70); margin: 8px 0; font-size: 13px; }
.footer-grid > div > a:hover { color: #fff; }
.site-footer .muted { color: rgba(255,255,255,.56); }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.10); margin-top: 46px; padding-top: 20px; display: flex; justify-content: space-between; color: rgba(255,255,255,.42); font-size: 11px; }
.footer-credit a { color: rgba(255,255,255,.62); transition: color .2s ease; }
.footer-credit a:hover { color: var(--gold); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
    .contact-channel-card { min-height: 315px; padding-inline: 24px; }
}

@media (max-width: 980px) {
    .section { padding: 74px 0; }
    .menu-toggle { display: block; }
    .site-nav { position: fixed; top: 86px; right: 18px; left: 18px; display: none; flex-direction: column; align-items: stretch; gap: 5px; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 16px; box-shadow: var(--shadow); }
    .site-nav.open { display: flex; }
    .site-nav > a:not(.button) { padding: 10px; }
    .site-nav > a::after { display: none; }
    .hero { min-height: auto; }
    .hero-grid, .split-panel, .form-layout, .booking-grid, .dark-grid { grid-template-columns: 1fr; gap: 42px; }
    .hero-visual { min-height: auto; }
    .hero-photo-frame, .hero-photo-frame > img { min-height: 500px; }
    .service-grid { grid-template-columns: 1fr 1fr; }
    .values-grid { grid-template-columns: 1fr 1fr; }
    .section-heading { display: block; }
    .section-heading > p { width: 100%; }
    .content-callout { align-items: flex-start; flex-direction: column; }
    .contact-channel-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid > div:first-child { grid-column: 1/-1; }
}

@media (max-width: 640px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    .section { padding: 58px 0; }
    .section-small { padding: 58px 0 34px; }
    .header-inner { min-height: 74px; }
    .brand-logo { width: 116px; height: 54px; }
    .site-nav { top: 74px; }
    h1 { font-size: 39px; }
    h2 { font-size: 30px; }
    .lead { font-size: 15px; }
    .hero-grid { gap: 28px; }
    .hero-photo-frame, .hero-photo-frame > img { min-height: 390px; border-radius: 36% 36% 22px 22px; }
    .hero-photo-caption { right: 18px; bottom: 16px; }
    .hero-photo-caption img { width: 72px; }
    .actions .button { flex: 1; min-width: 140px; }
    .service-grid, .values-grid, .field-grid, .jalali-date-grid, .contact-channel-grid { grid-template-columns: 1fr; }
    .service-card-media { aspect-ratio: 4/4.2; }
    .image-card-tall, .image-card-tall > img, .image-card-about, .image-card-about > img { min-height: 410px; }
    .cta-box { padding: 30px 24px; align-items: stretch; flex-direction: column; }
    .form-card, .info-card, .booking-aside { padding: 22px; }
    .content-callout { padding: 28px 22px; }
    .contact-detail-list > div { align-items: flex-start; flex-direction: column; gap: 3px; }
    .footer-grid { grid-template-columns: 1fr; }
    .footer-grid > div:first-child { grid-column: auto; }
    .footer-bottom { flex-direction: column; gap: 6px; }
}

@media (max-width: 640px) {
    .contact-section { padding-top: 58px; }
    .contact-channel-card { min-height: auto; padding: 26px 20px 22px; }
    .contact-channel-icon { width: 54px; height: 54px; border-radius: 17px; margin-bottom: 15px; }
    .contact-channel-title { font-size: 19px; }
    .contact-channel-description { max-width: 310px; }
    .contact-channel-value { margin-top: 16px; }
    .contact-channel-action { width: 100%; max-width: 320px; }
    .contact-channel-hours { width: 100%; border-radius: 16px; flex-wrap: wrap; padding: 12px 14px; }
}

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

/* Stage 4: Persian calendar date picker */
.jalali-picker-field { margin: 2px 0 17px; }
.jalali-picker-label { display: block; font-size: 12px; font-weight: 800; margin-bottom: 8px; color: #47443f; }
.jalali-picker-label small { color: var(--gold-deep); font-weight: 700; }
.jalali-picker { position: relative; }
.jalali-picker-trigger {
    width: 100%; min-height: 66px; border: 1px solid var(--line); border-radius: 16px; background: #fffdf9;
    display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 11px 16px;
    color: var(--ink); text-align: right; cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.jalali-picker-trigger:hover { border-color: #d2c28d; background: #fff; }
.jalali-picker-trigger:focus-visible, .jalali-picker-trigger[aria-expanded="true"] { outline: none; border-color: var(--gold-deep); box-shadow: 0 0 0 4px rgba(201,162,39,.10); }
.jalali-picker-trigger-copy { display: flex; flex-direction: column; gap: 3px; }
.jalali-picker-trigger-copy strong { font-size: 14px; font-weight: 750; color: #5d5952; }
.jalali-picker-trigger.has-value .jalali-picker-trigger-copy strong { color: var(--ink); }
.jalali-picker-trigger-copy small { font-size: 10px; color: var(--muted); }
.jalali-picker-icon { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; flex: 0 0 auto; background: #111; color: var(--gold); }
.jalali-picker-icon svg { width: 20px; height: 20px; }
.jalali-calendar-popover {
    position: absolute; z-index: 40; top: calc(100% + 10px); right: 0; width: min(390px, calc(100vw - 48px));
    padding: 18px; border: 1px solid #e4dbc8; border-radius: 22px; background: rgba(255,255,255,.98);
    box-shadow: 0 26px 70px rgba(25,21,14,.16); backdrop-filter: blur(16px);
}
.jalali-calendar-popover[hidden] { display: none !important; }
.jalali-calendar-header { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; gap: 10px; margin-bottom: 15px; }
.jalali-calendar-header strong { text-align: center; font-size: 15px; font-weight: 850; }
.jalali-calendar-nav { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf9; color: var(--ink); cursor: pointer; font-size: 24px; line-height: 1; transition: .2s ease; }
.jalali-calendar-nav:hover:not(:disabled) { border-color: var(--gold-deep); color: var(--gold-deep); background: #fffaf0; }
.jalali-calendar-nav:disabled { opacity: .28; cursor: default; }
.jalali-calendar-weekdays, .jalali-calendar-days { direction: rtl; display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.jalali-calendar-weekdays { margin-bottom: 6px; }
.jalali-calendar-weekdays span { height: 30px; display: grid; place-items: center; color: #8a847a; font-size: 10px; font-weight: 800; }
.jalali-calendar-day, .jalali-calendar-empty { aspect-ratio: 1; min-width: 0; }
.jalali-calendar-day { border: 0; border-radius: 12px; background: transparent; color: #302d28; font-family: inherit; font-size: 12px; font-weight: 700; cursor: pointer; transition: background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease; }
.jalali-calendar-day:hover:not(:disabled):not(.is-selected) { background: #f7f1e4; color: #8a6900; transform: translateY(-1px); }
.jalali-calendar-day:focus-visible { outline: 2px solid var(--gold-deep); outline-offset: 1px; }
.jalali-calendar-day.is-today:not(.is-selected) { box-shadow: inset 0 0 0 1px #c9a227; color: #8a6900; }
.jalali-calendar-day.is-selected { background: #111; color: var(--gold); box-shadow: 0 7px 18px rgba(17,17,17,.16); }
.jalali-calendar-day.is-past { color: #c9c3ba; cursor: not-allowed; text-decoration: line-through; text-decoration-thickness: 1px; }
.jalali-calendar-footer { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; }
.jalali-calendar-footer span { text-align: center; color: var(--muted); font-size: 9px; }
.jalali-calendar-footer button { border: 0; background: transparent; color: var(--gold-deep); font-family: inherit; font-size: 10px; font-weight: 800; cursor: pointer; padding: 7px 5px; }
.jalali-calendar-footer button:hover { color: #111; }

@media (max-width: 640px) {
    .jalali-calendar-popover { right: 50%; transform: translateX(50%); width: min(360px, calc(100vw - 36px)); padding: 15px; border-radius: 18px; }
    .jalali-calendar-day { border-radius: 10px; }
    .jalali-calendar-footer span { display: none; }
    .jalali-calendar-footer { grid-template-columns: 1fr 1fr; }
    .jalali-calendar-footer button:first-child { text-align: right; }
    .jalali-calendar-footer button:last-child { text-align: left; }
}


@media (max-width: 560px) {
    .booking-contact-box {
        padding: 22px 16px 18px;
    }
    .booking-contact-call,
    .booking-contact-whatsapp {
        min-height: 56px;
    }
    .booking-contact-title {
        font-size: 14px;
    }
}

/* Stage 7: calmer, shorter one-line-first page headings */
h2 {
    font-size: clamp(29px, 3.4vw, 44px);
}

.hero-copy h1 {
    font-size: clamp(38px, 4.15vw, 58px);
    line-height: 1.23;
    letter-spacing: -.03em;
    text-wrap: balance;
}

.page-hero .narrow {
    max-width: 1040px;
}

.page-hero h1 {
    font-size: clamp(36px, 4vw, 54px);
    line-height: 1.3;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.page-hero .lead {
    max-width: 760px;
}

@media (min-width: 1181px) {
    .hero-copy h1,
    .page-hero h1 {
        white-space: nowrap;
    }
}

@media (max-width: 1180px) {
    .hero-copy h1,
    .page-hero h1 {
        white-space: normal;
    }
}

@media (max-width: 640px) {
    .hero-copy h1,
    .page-hero h1 {
        font-size: 34px;
        line-height: 1.38;
        white-space: normal;
    }

    h2 {
        font-size: 28px;
    }
}


/* Stage 9: final mobile polish */
.time-field > span small {
    margin-right: 5px;
    color: var(--gold-deep);
    font-size: 10px;
    font-weight: 700;
}
.time-input {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 980px) {
    body.menu-open { overflow: hidden; }
    .site-nav {
        box-shadow: 0 24px 70px rgba(24, 21, 15, .16);
    }
}

@media (max-width: 640px) {
    /* Header / mobile menu */
    .brand-logo {
        width: 108px;
        height: 56px;
    }
    .menu-toggle {
        width: 42px;
        height: 42px;
        border-radius: 13px;
        box-shadow: 0 8px 20px rgba(24, 21, 15, .04);
    }
    .site-nav {
        right: 14px;
        left: 14px;
        padding: 14px;
        border-radius: 20px;
    }
    .site-nav > a:not(.button) {
        padding: 9px 11px;
    }

    /* Home */
    .trust-row {
        gap: 8px;
        margin-top: 26px;
    }
    .trust-row span {
        padding: 8px 12px;
        font-size: 12px;
        line-height: 1.4;
    }

    /* General mobile typography */
    .about-story h2 {
        font-size: 25px;
        line-height: 1.55;
    }

    /* Booking form: denser but still touch friendly */
    .booking-section {
        padding-top: 44px;
    }
    .booking-form-card {
        padding: 19px 17px 20px;
    }
    .booking-form-card .field-grid {
        gap: 0;
    }
    .booking-form-card .field {
        margin-bottom: 13px;
    }
    .booking-form-card .field > span {
        margin-bottom: 7px;
    }
    .booking-form-card .field input,
    .booking-form-card .field select {
        min-height: 50px;
    }
    .booking-form-card .field textarea {
        min-height: 118px;
    }
    .jalali-picker-field {
        margin-bottom: 13px;
    }
    .jalali-picker-trigger {
        min-height: 60px;
        padding: 9px 13px;
    }
    .jalali-picker-icon {
        width: 36px;
        height: 36px;
    }
    .jalali-calendar-popover {
        width: min(350px, calc(100vw - 32px));
        padding: 14px;
    }
    .jalali-calendar-header {
        margin-bottom: 11px;
    }
    .jalali-calendar-weekdays span {
        height: 28px;
        color: #746f67;
        font-size: 11px;
    }
    .jalali-calendar-day {
        font-size: 13px;
        font-weight: 750;
    }
    .jalali-calendar-day.is-past {
        color: #aaa39a;
        opacity: .62;
        text-decoration: none;
    }
    .jalali-calendar-footer {
        margin-top: 10px;
        padding-top: 10px;
    }
    .check-field {
        gap: 9px;
        margin: 4px 0 16px;
        font-size: 11.5px;
        line-height: 1.8;
    }
    .check-field input {
        width: 18px;
        height: 18px;
        flex: 0 0 18px;
        margin: 3px 0 0;
        accent-color: #111;
    }

    /* Contact cards */
    .contact-channel-grid {
        gap: 14px;
    }
    .contact-channel-card {
        padding: 22px 18px 20px;
    }
    .contact-channel-icon {
        width: 50px;
        height: 50px;
        border-radius: 16px;
        margin-bottom: 12px;
    }
    .contact-channel-title {
        font-size: 18px;
        margin-top: 5px;
    }
    .contact-channel-value {
        margin: 14px 0 11px;
    }

    /* Compact footer */
    .site-footer {
        padding: 40px 0 18px;
    }
    .footer-grid {
        gap: 24px;
        text-align: center;
    }
    .footer-brand-block {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .footer-logo {
        width: 188px;
        margin: 0 auto 8px;
    }
    .footer-brand-block p {
        max-width: 300px;
        margin: 0 auto;
        font-size: 12px;
        line-height: 1.8;
    }
    .footer-grid > div:not(:first-child) {
        padding-top: 18px;
        border-top: 1px solid rgba(255,255,255,.08);
    }
    .footer-grid h3 {
        margin-bottom: 10px;
    }
    .footer-grid > div > a {
        margin: 5px 0;
        font-size: 12px;
    }
    .footer-grid > div:nth-child(2) {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2px 12px;
    }
    .footer-grid > div:nth-child(2) h3 {
        grid-column: 1 / -1;
    }
    .footer-grid > div:nth-child(3) .ltr-value {
        width: fit-content;
        margin-inline: auto;
        direction: ltr;
        text-align: center;
    }
    .site-footer .muted {
        max-width: 310px;
        margin: 10px auto 0;
        font-size: 11.5px;
        line-height: 1.9;
    }
    .footer-bottom {
        align-items: center;
        text-align: center;
        margin-top: 24px;
        padding-top: 16px;
        gap: 4px;
    }
}


/* Stage 13 — request-first booking flow */
.booking-request-note{display:flex;flex-direction:column;gap:4px;margin-bottom:17px;padding:12px 14px;border:1px solid #ead9ad;background:#fff9ea;border-radius:13px}.booking-request-note strong{font-size:12px;color:#5f4a12}.booking-request-note span{font-size:11px;line-height:1.85;color:#6f6658}.booking-preference-grid{align-items:start}.booking-preference-grid .field{margin-bottom:17px}

/* Stage 15.2 — Medical director profile */
.doctor-hero{position:relative;overflow:hidden;min-height:720px;display:flex;align-items:center;background:radial-gradient(circle at 14% 18%,rgba(201,162,39,.13),transparent 31%)}
.doctor-hero::after{content:"";position:absolute;left:-190px;bottom:-260px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(201,162,39,.16);pointer-events:none}
.doctor-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:76px;align-items:center;position:relative;z-index:1}
.doctor-hero-copy h1{font-size:clamp(45px,5vw,68px);margin-bottom:13px}
.doctor-specialty{font-size:19px;font-weight:800;color:var(--ink-soft);margin-bottom:3px}
.doctor-role{font-size:13px;font-weight:700;color:var(--gold-deep);margin-bottom:22px}
.doctor-intro{font-size:15px;max-width:700px;line-height:2.15}
.doctor-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:29px;max-width:670px}
.doctor-meta>div{padding:15px 17px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:16px}
.doctor-meta span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}
.doctor-meta strong{display:block;font-size:12.5px;line-height:1.8}
.doctor-actions{margin-top:22px}
.doctor-portrait-wrap{position:relative;display:flex;justify-content:center}
.doctor-portrait{position:relative;width:min(100%,500px);aspect-ratio:4/5;margin:0;overflow:hidden;border-radius:46% 46% 30px 30px;background:#30343d;border:1px solid rgba(201,162,39,.22);box-shadow:0 34px 90px rgba(18,17,15,.15)}
.doctor-portrait>img{width:100%;height:100%;object-fit:cover;object-position:center 26%}
.doctor-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 66%,rgba(10,10,10,.58));pointer-events:none}
.doctor-portrait figcaption{position:absolute;z-index:2;right:22px;left:22px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff;font-size:11px;font-weight:700}
.doctor-portrait figcaption img{width:112px;height:50px;object-fit:contain}
.doctor-heading h2{max-width:690px}
.doctor-professional-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.doctor-professional-card{min-height:255px;padding:27px 24px;border:1px solid var(--line);border-radius:22px;background:#fff;position:relative;overflow:hidden}
.doctor-professional-card::before{content:"";position:absolute;left:-42px;bottom:-52px;width:120px;height:120px;border-radius:50%;background:rgba(201,162,39,.08)}
.doctor-professional-card>span{display:inline-grid;place-items:center;width:37px;height:37px;border-radius:50%;background:var(--surface-soft);color:var(--gold-deep);font-size:10px;font-weight:900;margin-bottom:27px}
.doctor-professional-card h3{font-size:19px;margin-bottom:10px}
.doctor-professional-card p{color:var(--muted);font-size:12.5px;line-height:2;margin-bottom:0}
.doctor-approach-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.doctor-approach-main{max-width:720px}
.doctor-approach-main p{font-size:15px;line-height:2.25;color:var(--muted)}
.doctor-principles{border-top:1px solid var(--line)}
.doctor-principles>div{display:grid;grid-template-columns:125px 1fr;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.doctor-principles strong{font-size:13px}
.doctor-principles span{font-size:12.5px;color:var(--muted);line-height:2}
.doctor-management-section{position:relative;overflow:hidden}
.doctor-management-section::after{content:"";position:absolute;left:8%;top:-210px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.12),transparent 66%);pointer-events:none}
.doctor-management-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center;position:relative;z-index:1}
.doctor-management-grid h2{max-width:520px}
.doctor-management-grid p{color:rgba(255,255,255,.68);font-size:15px;line-height:2.2;max-width:680px}
.doctor-external-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:25px}
.doctor-external-links a{color:var(--gold);font-size:12px;font-weight:800;border-bottom:1px solid rgba(201,162,39,.45);padding-bottom:4px}
.doctor-cta-section .cta-box{align-items:center}

@media (max-width: 980px){
    .doctor-hero{min-height:auto;padding-top:66px}
    .doctor-hero-grid,.doctor-approach-grid,.doctor-management-grid{grid-template-columns:1fr;gap:44px}
    .doctor-hero-copy{order:1}
    .doctor-portrait-wrap{order:2}
    .doctor-portrait{width:min(100%,460px)}
    .doctor-professional-grid{grid-template-columns:1fr 1fr}
    .doctor-approach-main{max-width:none}
    .doctor-management-grid{gap:28px}
}

@media (max-width: 640px){
    .doctor-hero{padding:46px 0 54px}
    .doctor-hero-grid{gap:34px}
    .doctor-hero-copy h1{font-size:36px;line-height:1.45;margin-bottom:9px}
    .doctor-specialty{font-size:16px}
    .doctor-role{font-size:11.5px;margin-bottom:17px}
    .doctor-intro{font-size:13px;line-height:2}
    .doctor-meta{grid-template-columns:1fr;margin-top:21px}
    .doctor-meta>div{padding:13px 14px}
    .doctor-actions{display:grid;grid-template-columns:1fr;margin-top:18px}
    .doctor-actions .button{width:100%}
    .doctor-portrait{border-radius:40% 40% 22px 22px}
    .doctor-portrait figcaption{right:15px;left:15px;bottom:14px;font-size:10px}
    .doctor-portrait figcaption img{width:88px;height:42px}
    .doctor-professional-grid{grid-template-columns:1fr;gap:12px}
    .doctor-professional-card{min-height:0;padding:22px 19px}
    .doctor-professional-card>span{margin-bottom:17px}
    .doctor-professional-card h3{font-size:18px}
    .doctor-approach-grid{gap:30px}
    .doctor-principles>div{grid-template-columns:1fr;gap:4px;padding:16px 0}
    .doctor-management-grid{gap:20px}
    .doctor-management-grid p{font-size:13px;line-height:2}
    .doctor-external-links{gap:12px 18px;margin-top:19px}
}


/* Stage 15.3: grouped clinical services */
.services-category-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-top: 28px; }
.services-category-nav a { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.72); color: var(--text); font-size: 12.5px; font-weight: 750; }
.services-category-nav a:hover { border-color: rgba(163,127,45,.48); background: #fff; }
.services-category-nav span { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: #111; color: #fff; font-size: 10.5px; }
.service-category-section { scroll-margin-top: 92px; }
.service-category-section + .service-category-section { border-top: 1px solid rgba(164,145,112,.14); }
.service-category-heading { margin-bottom: 32px; }
.service-category-heading h2 { margin-bottom: 0; }
.service-grid-large .service-card-body h3 { font-size: 28px; }
.service-category-section:nth-of-type(even) { background: rgba(248,245,239,.46); }
@media (max-width: 680px) {
    .services-category-nav { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; scrollbar-width: none; }
    .services-category-nav::-webkit-scrollbar { display: none; }
    .services-category-nav a { white-space: nowrap; flex: 0 0 auto; }
    .service-category-heading { margin-bottom: 22px; }
}

/* Stage 15.10 — technical SEO service detail pages */
.service-card-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.service-card-actions .button-service{margin-top:0}.service-card-actions .text-link{margin-top:0}
.service-breadcrumb{border-bottom:1px solid var(--line);background:#fff}.service-breadcrumb .container{min-height:52px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#8a847a;font-size:11px}.service-breadcrumb a:hover{color:var(--gold-deep)}.service-breadcrumb strong{color:#3a3732}.service-breadcrumb span{color:#c4bfb6}
.service-detail-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 16%,rgba(201,162,39,.13),transparent 34%)}.service-detail-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}.service-detail-copy h1{font-size:clamp(42px,5.4vw,68px);max-width:760px}.service-detail-copy .lead{max-width:720px}.service-detail-image{margin:0;min-height:580px;border-radius:42% 42% 28px 28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(201,162,39,.16);background:#eee8de}.service-detail-image img{width:100%;height:100%;min-height:580px;object-fit:cover}.service-provider-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.service-provider-note span{font-size:11px;color:var(--gold-deep);font-weight:800}.service-provider-note strong{font-size:13px}
.service-detail-main{padding-top:82px}.service-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:54px;align-items:start}.service-detail-article{display:flex;flex-direction:column;gap:50px}.service-content-block{padding-bottom:38px;border-bottom:1px solid var(--line)}.service-content-block:last-child{border-bottom:0}.service-content-block h2,.service-faq h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:14px}.service-content-block p{color:#59554d;font-size:15px;line-height:2.15;max-width:850px;margin-bottom:0}.service-guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.service-guidance-grid section{padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.service-guidance-grid span{font-size:10px;font-weight:850;color:var(--gold-deep)}.service-guidance-grid h3{font-size:20px;margin:8px 0 10px}.service-guidance-grid p{font-size:13px;line-height:2;color:var(--muted);margin:0}.service-detail-aside{position:sticky;top:112px;display:flex;flex-direction:column;gap:14px}.service-aside-card{padding:27px;background:#111;color:#fff;border-radius:var(--radius);border:1px solid rgba(201,162,39,.22);box-shadow:var(--shadow)}.service-aside-card .eyebrow{color:var(--gold)}.service-aside-card h2{font-size:24px;line-height:1.65}.service-aside-card p{font-size:12.5px;line-height:2;color:rgba(255,255,255,.67)}.service-aside-card .button{margin-top:12px;background:#fff;color:#111;border-color:#fff}.service-medical-note{padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.service-medical-note strong{font-size:11px;color:var(--gold-deep)}.service-medical-note p{font-size:11px;line-height:1.9;color:var(--muted);margin:5px 0 0}
.service-faq{padding-top:4px}.service-faq-list{display:flex;flex-direction:column;gap:9px;margin-top:20px}.service-faq-list details{background:#fff;border:1px solid var(--line);border-radius:15px;padding:0 18px}.service-faq-list details[open]{border-color:#d7c58e;box-shadow:0 8px 24px rgba(24,21,15,.045)}.service-faq-list summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;font-size:14px;font-weight:800;position:relative}.service-faq-list summary::-webkit-details-marker{display:none}.service-faq-list summary::before{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#f3efe6;display:grid;place-items:center;font-size:16px}.service-faq-list details[open] summary::before{content:'−'}.service-faq-list details p{padding:0 34px 18px 0;margin:0;color:var(--muted);font-size:13px;line-height:2}
@media(max-width:980px){.service-detail-hero-grid,.service-detail-layout{grid-template-columns:1fr;gap:38px}.service-detail-image,.service-detail-image img{min-height:500px}.service-detail-aside{position:static}.service-guidance-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.service-breadcrumb .container{min-height:46px;font-size:10px}.service-detail-hero-grid{gap:28px}.service-detail-image,.service-detail-image img{min-height:390px;border-radius:36% 36% 22px 22px}.service-detail-main{padding-top:54px}.service-detail-article{gap:36px}.service-content-block{padding-bottom:28px}.service-content-block p{font-size:14px;line-height:2.05}.service-guidance-grid{grid-template-columns:1fr}.service-aside-card{padding:23px}.service-card-actions{align-items:stretch;flex-direction:column;gap:9px}.service-card-actions .button-service{width:100%}.service-card-actions .text-link{align-self:flex-start}}

/* Stage 15.11 — Sepanta Magazine / Articles */
.article-hub-hero{background:radial-gradient(circle at 16% 18%,rgba(201,162,39,.14),transparent 31%)}
.article-category-strip{position:relative;z-index:3;margin-top:-22px}.article-category-strip nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.article-category-strip a{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(24,21,15,.05);font-size:12px;font-weight:780;color:#4e4941}.article-category-strip a:hover,.article-category-strip a.active{background:#111;border-color:#111;color:#fff}.article-category-strip a span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--surface-soft);color:#4b463f;font-size:10px}.article-category-strip a.active span{background:rgba(255,255,255,.15);color:#fff}
.article-index-section{padding-top:74px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.article-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.article-card:hover{transform:translateY(-4px);border-color:#dac98f;box-shadow:0 22px 54px rgba(24,21,15,.08)}.article-card-media{display:block;aspect-ratio:1.42/1;overflow:hidden;background:#eee8de}.article-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.article-card:hover .article-card-media img{transform:scale(1.025)}.article-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.article-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px;color:var(--muted);font-size:10.5px}.article-card-meta a{color:var(--gold-deep);font-weight:800}.article-card-body h2{font-size:21px;line-height:1.7;letter-spacing:0;margin-bottom:10px}.article-card-body h2 a:hover{color:var(--gold-deep)}.article-card-body p{color:var(--muted);font-size:12.5px;line-height:2;margin-bottom:20px}.article-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #f0ebe2}.article-card-footer>span{font-size:10.5px;color:#8a847a}.article-card-footer .text-link{margin:0}
.article-empty-state{max-width:760px;margin:0 auto;text-align:center;padding:58px 38px;background:#fff;border:1px solid var(--line);border-radius:28px}.article-empty-state h2{font-size:32px}.article-empty-state p{color:var(--muted);line-height:2;max-width:620px;margin:0 auto 18px}.article-empty-state .actions{justify-content:center}.public-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:38px}.public-pagination a,.public-pagination>span{min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px}.public-pagination .disabled{opacity:.45;background:#f5f2ec}
.public-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:24px;color:#8b857b;font-size:10.5px}.public-breadcrumb a:hover{color:var(--gold-deep)}.public-breadcrumb strong{color:#4b4740}.public-breadcrumb span{color:#c2bbb0}
.article-preview-banner{position:sticky;top:0;z-index:999;padding:8px 16px;text-align:center;background:#7b5b06;color:#fff;font-size:11px;font-weight:800}
.article-detail-hero{padding:70px 0 54px;background:radial-gradient(circle at 14% 14%,rgba(201,162,39,.13),transparent 34%);border-bottom:1px solid var(--line)}.article-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:66px;align-items:center}.article-detail-copy h1{font-size:clamp(40px,5vw,62px);line-height:1.42;letter-spacing:-.03em;margin-bottom:20px}.article-detail-copy .lead{font-size:16px;max-width:760px}.article-byline{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.article-byline>div{min-width:125px;padding:10px 13px;background:rgba(255,255,255,.74);border:1px solid var(--line);border-radius:14px}.article-byline span,.article-byline strong{display:block}.article-byline span{font-size:9px;color:var(--muted);margin-bottom:2px}.article-byline strong{font-size:11px}.article-detail-image{margin:0;aspect-ratio:1.12/1;border-radius:38% 38% 24px 24px;overflow:hidden;box-shadow:var(--shadow);background:#ebe5dc}.article-detail-image img{width:100%;height:100%;object-fit:cover}
.article-detail-section{padding-top:72px}.article-detail-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:58px;align-items:start}.article-content{min-width:0}.article-medical-note{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:17px 19px;border:1px solid #e8d8aa;background:#fffaf0;border-radius:16px;margin-bottom:34px}.article-medical-note strong{font-size:11px;color:#715817}.article-medical-note p{margin:0;color:#6a6255;font-size:11.5px;line-height:1.95}.article-prose{font-size:16px;line-height:2.18;color:#413e38}.article-prose>p,.article-prose>ul,.article-prose>ol,.article-prose>blockquote{max-width:850px}.article-prose p{margin:0 0 22px}.article-prose h2{font-size:31px;line-height:1.55;margin:50px 0 16px}.article-prose h3{font-size:23px;margin:34px 0 12px}.article-prose h4{font-size:18px;margin:28px 0 10px}.article-prose ul,.article-prose ol{padding-right:24px;margin:0 0 24px}.article-prose li{margin:7px 0}.article-prose blockquote{margin:34px 0;padding:20px 22px;border-right:3px solid var(--gold);background:#f7f3ea;border-radius:14px;color:#5d574d}.article-prose a{color:#7f6210;border-bottom:1px solid rgba(127,98,16,.35)}.article-prose strong{color:#1a1815}.article-prose code{direction:ltr;unicode-bidi:isolate;background:#f2eee6;border-radius:6px;padding:2px 5px;font-size:.88em}
.article-sources{margin-top:56px;padding-top:36px;border-top:1px solid var(--line)}.article-sources h2{font-size:27px}.article-sources ol{padding-right:22px}.article-sources li{margin:9px 0;color:#6d675d;font-size:12px;line-height:1.9}.article-sources a{color:#5f4c17;border-bottom:1px solid #d8c98e}.article-updated{margin-top:32px;padding-top:16px;border-top:1px solid #f0ebe2;color:#918a80;font-size:10.5px}
.article-sidebar{position:sticky;top:112px;display:flex;flex-direction:column;gap:15px}.article-sidebar-card{padding:25px;background:#fff;border:1px solid var(--line);border-radius:22px}.article-sidebar-card h2{font-size:21px;line-height:1.7;margin-bottom:13px}.article-related-services{display:flex;flex-direction:column;border-top:1px solid var(--line)}.article-related-services a{display:flex;flex-direction:column;gap:3px;padding:13px 0;border-bottom:1px solid var(--line)}.article-related-services strong{font-size:12px}.article-related-services span{font-size:9.5px;color:var(--gold-deep)}.article-sidebar-cta{background:#111;color:#fff;border-color:#111}.article-sidebar-cta .eyebrow{color:var(--gold)}.article-sidebar-cta p{font-size:11.5px;line-height:2;color:rgba(255,255,255,.64)}.article-sidebar-cta .button{margin-top:8px;background:#fff;color:#111;border-color:#fff}
@media(max-width:980px){.article-grid{grid-template-columns:1fr 1fr}.article-detail-hero-grid,.article-detail-layout{grid-template-columns:1fr;gap:38px}.article-detail-image{width:min(100%,650px);justify-self:center}.article-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr}.article-detail-copy{max-width:850px}}
@media(max-width:640px){.article-category-strip{margin-top:-12px}.article-category-strip nav{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.article-category-strip nav::-webkit-scrollbar{display:none}.article-category-strip a{white-space:nowrap;flex:0 0 auto;min-height:42px;font-size:11px}.article-index-section{padding-top:52px}.article-grid{grid-template-columns:1fr;gap:16px}.article-card-body{padding:19px}.article-card-body h2{font-size:19px}.article-empty-state{padding:38px 22px}.article-empty-state h2{font-size:27px}.public-pagination{gap:7px;flex-wrap:wrap}.article-detail-hero{padding:48px 0 38px}.article-detail-hero-grid{gap:28px}.article-detail-copy h1{font-size:34px;line-height:1.55}.article-detail-copy .lead{font-size:14px}.article-byline{display:grid;grid-template-columns:1fr 1fr}.article-byline>div{min-width:0}.article-detail-image{border-radius:34% 34% 20px 20px}.article-detail-section{padding-top:50px}.article-detail-layout{gap:34px}.article-medical-note{grid-template-columns:1fr;gap:5px}.article-prose{font-size:14.5px;line-height:2.12}.article-prose h2{font-size:26px;margin-top:40px}.article-prose h3{font-size:20px}.article-sidebar{grid-template-columns:1fr}.article-sources{margin-top:44px}}

/* Stage 17: Sepanta homepage redesign BEGIN */

.hero-stage17 {
    min-height: auto;
    padding: 68px 0 82px;
    background:
        radial-gradient(circle at 12% 18%, rgba(201,162,39,.10), transparent 30%),
        var(--bg);
}

.hero-stage17-grid {
    grid-template-columns: minmax(0,.96fr) minmax(0,1.08fr);
    gap: 62px;
    align-items: center;
}

.hero-stage17 .hero-copy h1 {
    max-width: 760px;
}

.hero-stage17 .hero-copy .lead {
    max-width: 720px;
}

.hero-stage17-trust a {
    display: inline-flex;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: #59564f;
    font-size: 11px;
    font-weight: 700;
    transition: .2s ease;
}

.hero-stage17-trust a:hover {
    border-color: rgba(201,162,39,.55);
    color: var(--gold-deep);
    background: #fff;
}

.hero-stage17-visual {
    min-width: 0;
}

.hero-stage17-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 1.48 / 1;
    min-height: 470px;
    overflow: hidden;
    border: 1px solid rgba(201,162,39,.26);
    border-radius: 88px 34px 34px 34px;
    background: #e8e1d7;
    box-shadow: 0 30px 80px rgba(24,21,15,.12);
}

.hero-stage17-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.015);
    transition: opacity .55s ease, visibility .55s ease, transform .75s ease;
}

.hero-stage17-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.hero-stage17-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-stage17-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(9,9,9,.64) 100%);
    pointer-events: none;
}

.hero-stage17-caption {
    position: absolute;
    z-index: 3;
    right: 30px;
    bottom: 28px;
    max-width: 72%;
    color: #fff;
}

.hero-stage17-caption strong,
.hero-stage17-caption span {
    display: block;
}

.hero-stage17-caption strong {
    font-size: 20px;
    font-weight: 900;
}

.hero-stage17-caption span {
    margin-top: 5px;
    color: rgba(255,255,255,.82);
    font-size: 11.5px;
}

.hero-stage17-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    color: var(--gold-deep);
    box-shadow: 0 10px 30px rgba(0,0,0,.10);
    font-size: 29px;
    line-height: 1;
}

.hero-stage17-prev { right: 18px; }
.hero-stage17-next { left: 18px; }

.hero-stage17-arrow:hover {
    background: #fff;
    transform: translateY(-1px);
}

.hero-stage17-dots {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    display: flex;
    direction: ltr;
    gap: 8px;
}

.hero-stage17-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.72);
}

.hero-stage17-dots button.is-active {
    background: var(--gold);
    box-shadow: 0 0 0 3px rgba(201,162,39,.16);
}

.home-specialties-stage17 {
    background: #fff;
}

.home-specialties-stage17-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 18px;
}

.home-specialty-stage17-card {
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 46px rgba(24,21,15,.045);
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.home-specialty-stage17-card:hover {
    transform: translateY(-5px);
    border-color: rgba(201,162,39,.48);
    box-shadow: 0 25px 58px rgba(24,21,15,.10);
}

.home-specialty-stage17-media {
    display: block;
    aspect-ratio: 1.62 / 1;
    overflow: hidden;
    background: #e9e3da;
}

.home-specialty-stage17-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.home-specialty-stage17-card:hover img {
    transform: scale(1.035);
}

.home-specialty-stage17-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 21px 20px 19px;
}

.home-specialty-stage17-body > strong {
    font-size: 20px;
    line-height: 1.65;
}

.home-specialty-stage17-items {
    margin-top: 7px;
    color: var(--muted);
    font-size: 11.5px;
    line-height: 1.95;
}

.home-specialty-stage17-link {
    margin-top: auto;
    padding-top: 17px;
    color: var(--gold-deep);
    font-size: 11px;
    font-weight: 850;
}

.home-values-stage17 {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 0;
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fffdf8;
}

.home-values-stage17 > div {
    min-width: 0;
    padding: 20px 18px;
    display: grid;
    grid-template-columns: 38px 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center;
    border-left: 1px solid var(--line);
}

.home-values-stage17 > div:last-child {
    border-left: 0;
}

.home-values-stage17-icon {
    grid-row: 1 / 3;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--gold-deep);
    border: 1px solid rgba(201,162,39,.34);
    font-size: 17px;
}

.home-values-stage17 strong {
    font-size: 12px;
}

.home-values-stage17 small {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9.5px;
    line-height: 1.7;
}

.specialty-hubs-stage17 {
    background: var(--surface-soft);
}

.specialty-hubs-stage17-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
}

.specialty-hub-stage17-card {
    scroll-margin-top: 110px;
    padding: 30px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background: #fff;
}

.specialty-hub-stage17-card:target {
    border-color: rgba(201,162,39,.72);
    box-shadow: 0 0 0 4px rgba(201,162,39,.08);
}

.specialty-hub-stage17-card h3 {
    font-size: 23px;
    margin-bottom: 9px;
}

.specialty-hub-stage17-card p {
    color: var(--muted);
    font-size: 12px;
}

.specialty-hub-stage17-links,
.specialty-hub-stage17-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
}

.specialty-hub-stage17-links a {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    padding: 7px 13px;
    border: 1px solid #e3d8bd;
    border-radius: 999px;
    background: #fffdf8;
    color: #4e473a;
    font-size: 11px;
    font-weight: 780;
}

.specialty-hub-stage17-links a:hover {
    border-color: var(--gold);
    background: #fff8e8;
}

@media (max-width: 1080px) {
    .hero-stage17-grid {
        grid-template-columns: 1fr 1fr;
        gap: 38px;
    }

    .hero-stage17-slider {
        min-height: 410px;
    }

    .home-specialties-stage17-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .home-values-stage17 {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .home-values-stage17 > div:nth-child(2) {
        border-left: 0;
    }

    .home-values-stage17 > div:nth-child(-n+2) {
        border-bottom: 1px solid var(--line);
    }
}

@media (max-width: 980px) {
    .hero-stage17-grid {
        grid-template-columns: 1fr;
    }

    .hero-stage17-visual {
        order: 2;
    }

    .hero-stage17 .hero-copy {
        order: 1;
    }

    .hero-stage17-slider {
        width: min(100%,760px);
        margin-inline: auto;
    }
}

@media (max-width: 700px) {
    .specialty-hubs-stage17-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .hero-stage17 {
        padding: 42px 0 54px;
    }

    .hero-stage17-grid {
        gap: 30px;
    }

    .hero-stage17-slider {
        min-height: 320px;
        aspect-ratio: 1.15 / 1;
        border-radius: 42px 20px 20px 20px;
    }

    .hero-stage17-caption {
        right: 18px;
        bottom: 20px;
        max-width: 72%;
    }

    .hero-stage17-caption strong {
        font-size: 17px;
    }

    .hero-stage17-caption span {
        font-size: 10.5px;
    }

    .hero-stage17-arrow {
        width: 42px;
        height: 42px;
        margin-top: -21px;
    }

    .hero-stage17-prev { right: 11px; }
    .hero-stage17-next { left: 11px; }

    .home-specialties-stage17-grid,
    .home-values-stage17 {
        grid-template-columns: 1fr;
    }

    .home-values-stage17 > div,
    .home-values-stage17 > div:nth-child(2) {
        border-left: 0;
        border-bottom: 1px solid var(--line);
    }

    .home-values-stage17 > div:last-child {
        border-bottom: 0;
    }
}

/* Stage 17: Sepanta homepage redesign END */

/* Stage 18 — exact approved Sepanta homepage BEGIN */

body.home-stage18 {
    padding: 12px 16px 0;
    background: #f4f0e8;
}

.home-stage18 .site-header {
    position: relative;
    top: auto;
    margin: 0;
    background: #fff;
    border: 0;
    border-radius: 26px 26px 0 0;
    backdrop-filter: none;
    box-shadow: none;
}

.home-stage18 .site-header.scrolled {
    border-color: transparent;
    box-shadow: none;
}

.home-stage18 .header-inner {
    width: min(calc(100% - 96px), 1390px);
    min-height: 76px;
    gap: 32px;
}

.home-stage18 .brand-logo {
    width: 150px;
    height: 58px;
}

.home-stage18 .site-nav {
    gap: 44px;
}

.home-stage18 .site-nav > a:not(.button) {
    color: #171512;
    font-size: 13px;
    font-weight: 750;
}

.home-stage18 .site-nav > a:not(.button)::after {
    bottom: -16px;
    height: 2px;
    background: #c9972d;
}

.home-stage18 .site-nav .button {
    order: 20;
    min-height: 44px;
    padding: 0 24px;
    border-color: #c9972d;
    background: #c9972d;
    color: #fff;
    box-shadow: none;
}

.home-stage18 .site-nav .button:hover {
    background: #b88620;
    border-color: #b88620;
    box-shadow: 0 10px 24px rgba(185,134,32,.18);
}

.home-stage18 #main-content {
    overflow: hidden;
    background: #fff;
}

.home-stage18 .container {
    width: min(calc(100% - 110px), 1390px);
}

.home18-hero {
    position: relative;
    overflow: hidden;
    padding: 20px 0 28px;
    background: #fff;
}

.home18-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 52px;
    right: -115px;
    width: 330px;
    height: 350px;
    opacity: .65;
    background:
        repeating-radial-gradient(
            ellipse at center,
            transparent 0 17px,
            rgba(201,162,39,.13) 18px 19px,
            transparent 20px 35px
        );
    pointer-events: none;
}

.home18-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0,.94fr) minmax(0,1.06fr);
    gap: 58px;
    align-items: center;
}

.home18-copy {
    padding: 20px 0 10px;
}

.home18-eyebrow {
    display: inline-block;
    color: #a87500;
    font-size: 12px;
    font-weight: 850;
}

.home18-copy h1 {
    margin: 24px 0 16px;
    font-size: clamp(42px, 3.5vw, 54px);
    line-height: 1.4;
    letter-spacing: -.035em;
    font-weight: 900;
}

.home18-copy h1 span {
    display: block;
}

.home18-copy > p {
    max-width: 590px;
    margin: 0 0 22px;
    color: #686158;
    font-size: 14px;
    line-height: 2.15;
}

.home18-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 28px;
}

.home18-button {
    min-width: 170px;
    min-height: 48px;
    padding: 0 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid #c99a31;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 850;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.home18-button:hover {
    transform: translateY(-2px);
}

.home18-button-primary {
    background: #c9972d;
    color: #fff;
    box-shadow: 0 10px 26px rgba(185,134,32,.12);
}

.home18-button-primary:hover {
    background: #b88620;
}

.home18-button-outline {
    background: #fff;
    color: #25211b;
}

.home18-button-outline:hover {
    background: #fffaf0;
}

.home18-quick-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.home18-quick-links a {
    min-height: 40px;
    padding: 6px 11px 6px 13px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #eadfca;
    border-radius: 999px;
    background: #fff;
    color: #302c26;
    font-size: 10.5px;
    font-weight: 750;
    transition: border-color .2s ease, background .2s ease;
}

.home18-quick-links a:hover {
    border-color: rgba(201,151,45,.65);
    background: #fffaf0;
}

.home18-quick-icon {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    flex: 0 0 26px;
    border: 1px solid #d6ad4c;
    border-radius: 50%;
    color: #b68414;
}

.home18-quick-icon svg,
.home18-slide-icon svg,
.home18-card-badge svg,
.home18-value-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home18-slider-wrap {
    min-width: 0;
}

.home18-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 1.72 / 1;
    min-height: 400px;
    overflow: hidden;
    border: 1px solid rgba(201,151,45,.28);
    border-radius: 28px;
    background: #e7dfd3;
    box-shadow: 0 18px 50px rgba(31,25,16,.11);
}

.home18-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.018);
    transition: opacity .55s ease, visibility .55s ease, transform .75s ease;
}

.home18-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.home18-slide > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home18-slide-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 52%, rgba(8,8,8,.65) 100%);
    pointer-events: none;
}

.home18-slide-caption {
    position: absolute;
    z-index: 3;
    right: 28px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 13px;
    color: #fff;
}

.home18-slide-caption > span:last-child {
    display: flex;
    flex-direction: column;
}

.home18-slide-caption strong {
    font-size: 17px;
    line-height: 1.6;
}

.home18-slide-caption small {
    margin-top: 2px;
    color: rgba(255,255,255,.82);
    font-size: 10.5px;
}

.home18-slide-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(220,174,66,.95);
    border-radius: 50%;
    color: #e3b447;
    background: rgba(20,18,13,.24);
    backdrop-filter: blur(8px);
}

.home18-slide-icon svg {
    width: 26px;
    height: 26px;
}

.home18-arrow {
    position: absolute;
    z-index: 5;
    top: 50%;
    width: 46px;
    height: 46px;
    margin-top: -23px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    color: #b58517;
    box-shadow: 0 10px 26px rgba(0,0,0,.10);
    font-size: 28px;
    line-height: 1;
    transition: transform .2s ease, background .2s ease;
}

.home18-arrow:hover {
    transform: translateY(-1px);
    background: #fff;
}

.home18-arrow-prev {
    right: 18px;
}

.home18-arrow-next {
    left: 18px;
}

.home18-dots {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    direction: ltr;
}

.home18-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.82);
}

.home18-dots button.is-active {
    background: #d1a32e;
}

.home18-specialties {
    padding: 0 0 22px;
    background: #fff;
}

.home18-section-heading {
    max-width: 900px;
    margin: 2px auto 18px;
    text-align: center;
}

.home18-section-heading > span {
    color: #a87500;
    font-size: 11.5px;
    font-weight: 850;
}

.home18-section-heading h2 {
    margin: 6px 0 7px;
    color: #191612;
    font-size: clamp(27px, 2.4vw, 34px);
    line-height: 1.45;
}

.home18-section-heading p {
    margin: 0;
    color: #777067;
    font-size: 11.5px;
    line-height: 1.9;
}

.home18-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.home18-card {
    --home18-accent: #c94d6b;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #e9ded1;
    border-radius: 15px;
    background: #fff;
    color: #1a1713;
    box-shadow: 0 8px 30px rgba(30,24,17,.025);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.home18-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--home18-accent) 45%, #e9ded1);
    box-shadow: 0 18px 40px rgba(30,24,17,.07);
}

.home18-card-pain {
    --home18-accent: #e76f18;
}

.home18-card-varicose {
    --home18-accent: #7258cf;
}

.home18-card-weight {
    --home18-accent: #78a432;
}

.home18-card-image {
    position: relative;
    display: block;
    aspect-ratio: 1.78 / 1;
    background: #eee7dd;
}

.home18-card-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home18-card-badge {
    position: absolute;
    z-index: 2;
    right: 17px;
    bottom: -25px;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--home18-accent);
    color: #fff;
    box-shadow: 0 7px 18px rgba(0,0,0,.10);
}

.home18-card-badge svg {
    width: 27px;
    height: 27px;
}

.home18-card-content {
    padding: 21px 20px 12px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.home18-card-content > strong {
    font-size: 17px;
    line-height: 1.7;
}

.home18-card-content ul {
    min-height: 50px;
    margin: 5px 0 10px;
    padding-right: 18px;
    color: #554f47;
    font-size: 10.5px;
    line-height: 1.9;
}

.home18-card-content li::marker {
    color: var(--home18-accent);
}

.home18-card-action {
    min-height: 31px;
    margin-top: auto;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--home18-accent);
    border-radius: 999px;
    color: #3d372f;
    font-size: 10px;
    font-weight: 800;
}

.home18-card-action b {
    color: var(--home18-accent);
    font-size: 14px;
}

.home18-values {
    margin-top: 14px;
    overflow: hidden;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #ece2d5;
    border-radius: 18px;
    background: #fffdf9;
}

.home18-values > div {
    min-width: 0;
    padding: 14px 18px;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 10px;
    align-items: center;
    border-left: 1px solid #ece2d5;
}

.home18-values > div:last-child {
    border-left: 0;
}

.home18-value-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid #d4a329;
    border-radius: 10px;
    color: #b98208;
}

.home18-value-icon svg {
    width: 22px;
    height: 22px;
}

.home18-values strong,
.home18-values small {
    display: block;
}

.home18-values strong {
    color: #ad7700;
    font-size: 11.5px;
    line-height: 1.6;
}

.home18-values small {
    margin-top: 2px;
    color: #665f57;
    font-size: 9px;
    line-height: 1.7;
}

.home-stage18 .site-footer {
    margin: 0;
    border-radius: 0 0 24px 24px;
}

@media (max-width: 1180px) {
    .home-stage18 .header-inner,
    .home-stage18 .container {
        width: min(calc(100% - 48px), 1100px);
    }

    .home-stage18 .site-nav {
        gap: 24px;
    }

    .home18-hero-grid {
        gap: 38px;
    }

    .home18-copy h1 {
        font-size: 40px;
    }

    .home18-slider {
        min-height: 340px;
    }

    .home18-cards {
        gap: 14px;
    }
}

@media (max-width: 980px) {
    body.home-stage18 {
        padding: 0;
    }

    .home-stage18 .site-header {
        border-radius: 0;
    }

    .home-stage18 .header-inner,
    .home-stage18 .container {
        width: min(calc(100% - 36px), 880px);
    }

    .home-stage18 .site-nav {
        gap: 5px;
    }

    .home18-hero {
        padding-top: 46px;
    }

    .home18-hero-grid {
        grid-template-columns: 1fr;
    }

    .home18-copy {
        order: 1;
    }

    .home18-slider-wrap {
        order: 2;
    }

    .home18-slider {
        width: min(100%, 760px);
        margin-inline: auto;
        min-height: 0;
    }

    .home18-cards,
    .home18-values {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home18-values > div:nth-child(2) {
        border-left: 0;
    }

    .home18-values > div:nth-child(-n+2) {
        border-bottom: 1px solid #ece2d5;
    }
}

@media (max-width: 640px) {
    .home-stage18 .header-inner,
    .home-stage18 .container {
        width: min(calc(100% - 28px), 560px);
    }

    .home18-hero {
        padding: 34px 0 38px;
    }

    .home18-hero::after {
        display: none;
    }

    .home18-copy {
        padding: 0;
    }

    .home18-copy h1 {
        margin-top: 17px;
        font-size: 34px;
        line-height: 1.48;
    }

    .home18-copy > p {
        font-size: 13px;
        line-height: 2;
    }

    .home18-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        margin-bottom: 21px;
    }

    .home18-button {
        min-width: 0;
        min-height: 45px;
        padding: 0 12px;
        font-size: 11px;
    }

    .home18-quick-links {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .home18-quick-links a {
        justify-content: flex-start;
    }

    .home18-slider {
        aspect-ratio: 1.18 / 1;
        border-radius: 22px;
    }

    .home18-arrow {
        width: 40px;
        height: 40px;
        margin-top: -20px;
    }

    .home18-arrow-prev {
        right: 10px;
    }

    .home18-arrow-next {
        left: 10px;
    }

    .home18-slide-caption {
        right: 17px;
        bottom: 17px;
        max-width: 73%;
    }

    .home18-slide-icon {
        width: 43px;
        height: 43px;
    }

    .home18-slide-caption strong {
        font-size: 15px;
    }

    .home18-slide-caption small {
        font-size: 9.5px;
    }

    .home18-dots {
        left: 27px;
        bottom: 17px;
        transform: none;
    }

    .home18-specialties {
        padding-bottom: 18px;
    }

    .home18-section-heading {
        margin-bottom: 16px;
    }

    .home18-section-heading h2 {
        font-size: 27px;
    }

    .home18-cards,
    .home18-values {
        grid-template-columns: 1fr;
    }

    .home18-card-image {
        aspect-ratio: 1.65 / 1;
    }

    .home18-values > div,
    .home18-values > div:nth-child(2) {
        border-left: 0;
        border-bottom: 1px solid #ece2d5;
    }

    .home18-values > div:last-child {
        border-bottom: 0;
    }
}

/* Stage 18 — exact approved Sepanta homepage END */

/* Stage 19 — approved lower homepage BEGIN */

.home19-doctor,
.home19-why,
.home19-popular,
.home19-journey,
.home19-knowledge,
.home19-cta,
.home19-contact {
    background: #fff;
}

.home19-doctor {
    padding: 48px 0 44px;
    border-top: 1px solid #eee5d9;
}

.home19-doctor-grid {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 62px;
    align-items: center;
}

.home19-doctor-photo {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    border-radius: 22px;
    background: #ece4d9;
    box-shadow: 0 15px 45px rgba(35,28,20,.08);
}

.home19-doctor-photo > img {
    width: 100%;
    height: 100%;
    min-height: 330px;
    object-fit: cover;
    object-position: center 25%;
}

.home19-doctor-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 62%, rgba(10,9,7,.46));
    pointer-events: none;
}

.home19-doctor-label {
    position: absolute;
    z-index: 2;
    right: 18px;
    bottom: 16px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 12px;
    background: rgba(255,255,255,.9);
    color: #29241d;
    backdrop-filter: blur(10px);
}

.home19-doctor-label strong,
.home19-doctor-label small {
    display: block;
}

.home19-doctor-label strong {
    font-size: 12px;
}

.home19-doctor-label small {
    margin-top: 2px;
    color: #70685e;
    font-size: 9.5px;
}

.home19-doctor-copy {
    max-width: 680px;
}

.home19-kicker {
    color: #a8770b;
    font-size: 11px;
    font-weight: 850;
}

.home19-doctor-copy h2 {
    margin: 8px 0 4px;
    font-size: clamp(30px,3.2vw,44px);
    line-height: 1.5;
}

.home19-title-line,
.home19-centered-heading > span {
    display: block;
    width: 30px;
    height: 2px;
    margin: 9px 0 18px;
    background: #c9972d;
}

.home19-doctor-copy p {
    margin: 0 0 23px;
    color: #6d655b;
    font-size: 13px;
    line-height: 2.15;
}

.home19-gold-button {
    min-height: 46px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 999px;
    background: #c9972d;
    color: #fff;
    font-size: 11px;
    font-weight: 850;
    transition: .2s ease;
}

.home19-gold-button:hover {
    transform: translateY(-2px);
    background: #b8851f;
}

.home19-why {
    padding: 36px 0 40px;
    border-top: 1px solid #f0e8dd;
}

.home19-centered-heading {
    margin-bottom: 24px;
    text-align: center;
}

.home19-centered-heading h2 {
    margin: 0;
    color: #1d1915;
    font-size: clamp(27px,2.6vw,36px);
    line-height: 1.5;
}

.home19-centered-heading > span {
    margin: 10px auto 0;
}

.home19-why-grid {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 16px;
}

.home19-why-grid article {
    min-height: 150px;
    padding: 22px 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #eadfd2;
    border-radius: 17px;
    background: linear-gradient(180deg,#fff,#fffdf9);
    text-align: center;
}

.home19-why-icon,
.home19-step-icon,
.home19-contact-icon {
    color: #bf8610;
}

.home19-why-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    margin-bottom: 15px;
}

.home19-why-icon svg,
.home19-step-icon svg,
.home19-contact-icon svg,
.home19-map-pin svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home19-why-grid h3 {
    margin: 0;
    font-size: 12px;
    line-height: 1.9;
}

.home19-popular {
    padding: 38px 0 44px;
    border-top: 1px solid #f0e8dd;
}

.home19-popular-grid {
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 13px;
}

.home19-popular-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding-bottom: 12px;
    border: 1px solid #eadfd2;
    border-radius: 15px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.home19-popular-card:hover {
    transform: translateY(-4px);
    border-color: #d4b05a;
    box-shadow: 0 15px 34px rgba(34,28,20,.07);
}

.home19-popular-card img {
    width: 100%;
    aspect-ratio: 1 / .82;
    object-fit: cover;
}

.home19-popular-card strong,
.home19-popular-card small {
    display: block;
    padding-inline: 12px;
}

.home19-popular-card strong {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.7;
}

.home19-popular-card small {
    margin-top: 3px;
    min-height: 37px;
    color: #736b61;
    font-size: 9px;
    line-height: 1.75;
}

.home19-popular-card b {
    display: block;
    margin: 8px 12px 0;
    color: #bd8610;
    font-size: 13px;
}

.home19-journey {
    padding: 34px 0 45px;
    border-top: 1px solid #f0e8dd;
}

.home19-journey-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 70px;
    max-width: 1020px;
    margin-inline: auto;
}

.home19-journey-grid::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 43px;
    right: 15%;
    left: 15%;
    border-top: 1px dashed #d7b76c;
}

.home19-journey-grid article {
    position: relative;
    z-index: 1;
    text-align: center;
}

.home19-step-number {
    position: absolute;
    top: 24px;
    right: calc(50% + 33px);
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid #d7b76c;
    border-radius: 50%;
    background: #fff;
    color: #b9810c;
    font-size: 10px;
    font-weight: 850;
}

.home19-step-icon {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    margin: 0 auto 13px;
    padding: 13px;
    border: 1px solid #dfc47f;
    border-radius: 50%;
    background: #fff;
}

.home19-journey-grid h3 {
    margin: 0 0 6px;
    font-size: 14px;
}

.home19-journey-grid p {
    max-width: 250px;
    margin: 0 auto;
    color: #746d64;
    font-size: 10px;
    line-height: 1.9;
}

.home19-knowledge {
    padding: 38px 0 42px;
    border-top: 1px solid #f0e8dd;
}

.home19-article-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    max-width: 1120px;
    margin-inline: auto;
}

.home19-article-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #eadfd2;
    border-radius: 16px;
    background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}

.home19-article-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 38px rgba(34,28,20,.07);
}

.home19-article-media {
    position: relative;
    display: block;
    aspect-ratio: 1.75 / 1;
    overflow: hidden;
}

.home19-article-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home19-article-media > span {
    position: absolute;
    right: 12px;
    bottom: 10px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #c9972d;
    color: #fff;
    font-size: 8.5px;
    font-weight: 800;
}

.home19-article-body {
    display: block;
    padding: 15px 16px 14px;
}

.home19-article-body strong,
.home19-article-body small,
.home19-article-body b {
    display: block;
}

.home19-article-body strong {
    min-height: 50px;
    font-size: 13px;
    line-height: 1.85;
}

.home19-article-body small {
    min-height: 44px;
    margin-top: 5px;
    color: #726a60;
    font-size: 9.5px;
    line-height: 1.8;
}

.home19-article-body b {
    margin-top: 11px;
    color: #b37c08;
    font-size: 9.5px;
}

.home19-article-more {
    margin-top: 18px;
    text-align: center;
}

.home19-article-more a {
    min-width: 190px;
    min-height: 38px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #d6b25c;
    border-radius: 999px;
    color: #493f31;
    font-size: 10px;
    font-weight: 800;
}

.home19-cta {
    padding: 12px 0 32px;
}

.home19-cta-box {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    border-radius: 24px;
    background: #a97115;
}

.home19-cta-photo,
.home19-cta-photo img,
.home19-cta-shade {
    position: absolute;
    inset: 0;
}

.home19-cta-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home19-cta-shade {
    background:
        linear-gradient(90deg, rgba(178,116,14,.18) 0%, rgba(177,115,13,.84) 45%, rgba(177,115,13,.96) 100%);
}

.home19-cta-copy {
    position: relative;
    z-index: 2;
    width: min(100%,780px);
    margin-right: auto;
    padding: 31px 42px;
    color: #fff;
    text-align: right;
}

.home19-cta-copy h2 {
    margin: 0 0 5px;
    color: #fff;
    font-size: clamp(25px,2.7vw,37px);
}

.home19-cta-copy p {
    margin: 0 0 20px;
    color: rgba(255,255,255,.86);
    font-size: 11px;
    line-height: 1.9;
}

.home19-cta-copy > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.home19-cta-primary,
.home19-cta-light {
    min-width: 155px;
    min-height: 42px;
    padding: 0 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
}

.home19-cta-primary {
    border: 1px solid rgba(255,255,255,.65);
    color: #fff;
    background: transparent;
}

.home19-cta-light {
    color: #4a3821;
    background: #fff;
}

.home19-contact {
    padding: 22px 0 36px;
    border-top: 1px solid #f0e8dd;
}

.home19-contact-panel {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 24px;
    padding: 20px;
    border: 1px solid #eadfd2;
    border-radius: 20px;
    background: #fffdf9;
}

.home19-map-card {
    position: relative;
    min-height: 185px;
    overflow: hidden;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background:
        linear-gradient(135deg,#eeeae2,#f7f4ee);
}

.home19-map-lines {
    position: absolute;
    inset: -30px;
    opacity: .65;
    background:
        repeating-linear-gradient(25deg,transparent 0 24px,rgba(175,164,145,.28) 25px 27px,transparent 28px 55px),
        repeating-linear-gradient(-35deg,transparent 0 34px,rgba(175,164,145,.20) 35px 37px,transparent 38px 72px);
}

.home19-map-pin {
    position: relative;
    z-index: 2;
    width: 58px;
    height: 58px;
    padding: 8px;
    color: #b77f08;
    filter: drop-shadow(0 7px 12px rgba(129,87,5,.16));
}

.home19-map-copy {
    position: absolute;
    z-index: 3;
    right: 14px;
    bottom: 12px;
    padding: 8px 11px;
    border-radius: 10px;
    background: rgba(255,255,255,.92);
}

.home19-map-copy strong,
.home19-map-copy small {
    display: block;
}

.home19-map-copy strong {
    font-size: 10px;
}

.home19-map-copy small {
    margin-top: 2px;
    color: #776f66;
    font-size: 8.5px;
}

.home19-contact-details {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px 20px;
    align-content: center;
}

.home19-contact-details > div {
    min-width: 0;
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #eee5d9;
}

.home19-contact-details > div:nth-last-child(-n+2) {
    border-bottom: 0;
}

.home19-contact-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 6px;
}

.home19-contact-details strong,
.home19-contact-details small,
.home19-contact-details a {
    display: block;
}

.home19-contact-details strong {
    color: #a87500;
    font-size: 10px;
}

.home19-contact-details small,
.home19-contact-details a {
    margin-top: 3px;
    color: #5e574e;
    font-size: 9.5px;
    line-height: 1.8;
}

@media (max-width: 1080px) {
    .home19-why-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }

    .home19-popular-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (max-width: 980px) {
    .home19-doctor-grid,
    .home19-contact-panel {
        grid-template-columns: 1fr;
    }

    .home19-doctor-photo {
        width: min(100%,650px);
        margin-inline: auto;
    }

    .home19-doctor-copy {
        max-width: none;
    }

    .home19-journey-grid {
        gap: 30px;
    }

    .home19-contact-details {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 700px) {
    .home19-why-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .home19-popular-grid,
    .home19-article-grid {
        grid-template-columns: 1fr 1fr;
    }

    .home19-journey-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home19-journey-grid::before {
        display: none;
    }

    .home19-step-number {
        right: calc(50% + 36px);
    }
}

@media (max-width: 640px) {
    .home19-doctor,
    .home19-why,
    .home19-popular,
    .home19-journey,
    .home19-knowledge {
        padding-top: 30px;
        padding-bottom: 32px;
    }

    .home19-doctor-grid {
        gap: 28px;
    }

    .home19-doctor-photo,
    .home19-doctor-photo > img {
        min-height: 300px;
    }

    .home19-doctor-copy h2 {
        font-size: 29px;
    }

    .home19-doctor-copy p {
        font-size: 12.5px;
    }

    .home19-gold-button {
        width: 100%;
    }

    .home19-why-grid,
    .home19-popular-grid,
    .home19-article-grid,
    .home19-contact-details {
        grid-template-columns: 1fr;
    }

    .home19-why-grid article {
        min-height: 125px;
    }

    .home19-popular-card {
        display: grid;
        grid-template-columns: 115px 1fr;
        grid-template-rows: auto auto auto;
        padding-bottom: 0;
    }

    .home19-popular-card img {
        grid-row: 1 / 5;
        width: 115px;
        height: 100%;
        min-height: 130px;
        aspect-ratio: auto;
    }

    .home19-popular-card strong,
    .home19-popular-card small {
        padding-inline: 13px;
    }

    .home19-popular-card b {
        margin: 7px 13px 10px;
    }

    .home19-article-body strong,
    .home19-article-body small {
        min-height: 0;
    }

    .home19-cta-box {
        min-height: 280px;
    }

    .home19-cta-shade {
        background: rgba(168,108,11,.86);
    }

    .home19-cta-copy {
        width: 100%;
        padding: 32px 22px;
    }

    .home19-cta-copy h2 {
        font-size: 28px;
    }

    .home19-cta-copy > div {
        display: grid;
        grid-template-columns: 1fr;
    }

    .home19-contact-panel {
        padding: 14px;
    }

    .home19-contact-details > div,
    .home19-contact-details > div:nth-last-child(-n+2) {
        border-bottom: 1px solid #eee5d9;
    }

    .home19-contact-details > div:last-child {
        border-bottom: 0;
    }
}

/* Stage 19 — approved lower homepage END */

/* Stage 20.1 - narrow doctor section */
.home19-doctor{
    padding: 26px 0 24px;
}

.home19-doctor .container{
    max-width: 1120px;
    margin-inline: auto;
}

.home19-doctor-grid{
    grid-template-columns: 1fr 430px;
    gap: 34px;
    align-items: center;
}

.home19-doctor-copy{
    max-width: 620px;
}

.home19-doctor-copy h2{
    font-size: clamp(28px, 2.7vw, 40px);
    line-height: 1.45;
    margin-bottom: 8px;
}

.home19-doctor-copy p{
    font-size: 12px;
    line-height: 2;
    margin-bottom: 18px;
}

.home19-doctor-photo{
    max-width: 430px;
    min-height: 0;
    margin-right: auto;
    border-radius: 20px;
}

.home19-doctor-photo > img{
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
}

.home19-doctor-label{
    right: 14px;
    bottom: 14px;
}

@media (max-width: 980px){
    .home19-doctor-grid{
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .home19-doctor-photo{
        max-width: 420px;
        margin-inline: auto;
    }

    .home19-doctor-copy{
        max-width: none;
    }
}


/* Stage 20.2 - tighter doctor photo crop */
.home19-doctor-photo{
    max-width: 410px;
    height: 560px;
    min-height: 0;
    overflow: hidden;
    border-radius: 20px;
}

.home19-doctor-photo > img{
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center 18%;
}

@media (max-width: 980px){
    .home19-doctor-photo{
        max-width: 390px;
        height: 500px;
        margin-inline: auto;
    }
}

@media (max-width: 640px){
    .home19-doctor-photo{
        max-width: 100%;
        height: 420px;
    }

    .home19-doctor-photo > img{
        object-position: center 16%;
    }
}


/* Stage 20.3 - doctor photo 50 percent smaller */
.home19-doctor-photo{
    width: 205px !important;
    max-width: 205px !important;
    height: 280px !important;
    min-height: 0 !important;
    margin-inline: auto !important;
}

.home19-doctor-photo > img{
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 18% !important;
}

@media (max-width: 640px){
    .home19-doctor-photo{
        width: 205px !important;
        max-width: 205px !important;
        height: 280px !important;
    }
}

/* End Stage 20.3 */

/* Stage 21 - Doctors directory and profiles */
.doctors-hero{background:linear-gradient(180deg,#f6f1e7 0%,#fbfaf7 100%);border-bottom:1px solid var(--line)}
.doctors-hero-inner{max-width:850px}.doctors-hero h1{font-size:clamp(42px,5vw,68px);margin-bottom:18px}.doctors-directory-section{padding-top:58px}
.doctors-filter{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr) auto auto;gap:12px;align-items:end;margin-bottom:34px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px rgba(24,21,15,.04)}
.doctors-filter label{display:flex;flex-direction:column;gap:6px}.doctors-filter label>span{font-size:11px;font-weight:800;color:var(--muted)}.doctors-filter input,.doctors-filter select{width:100%;height:45px;border:1px solid var(--line);border-radius:12px;background:#fffdf9;padding:0 13px;outline:none}.doctors-filter input:focus,.doctors-filter select:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(201,162,39,.1)}.doctors-filter .text-link{margin:0 0 8px}
.doctor-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.doctor-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 36px rgba(24,21,15,.055);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.doctor-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(24,21,15,.1);border-color:#d9c894}.doctor-card-media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#e8e1d7}.doctor-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.doctor-card:hover .doctor-card-media img{transform:scale(1.025)}.doctor-card-media>span{position:absolute;right:14px;bottom:14px;left:14px;padding:8px 11px;border-radius:10px;background:rgba(12,12,11,.74);backdrop-filter:blur(9px);color:#fff;font-size:11px;font-weight:700;line-height:1.7}.doctor-card-body{padding:22px}.doctor-card-body h2{font-size:23px;margin-bottom:6px;line-height:1.55}.doctor-card-body>p{color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:12px}.doctor-card-code{font-size:11px!important;color:#7e7568!important}.doctor-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.doctor-card-meta span{padding:5px 9px;border-radius:999px;background:var(--surface-soft);color:#655e53;font-size:10px;font-weight:700}.doctor-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.doctor-card-actions .text-link{margin:0}.doctor-card-actions .button{flex:0 0 auto}.doctor-card-grid-related{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px}.doctors-empty{padding:56px 24px;text-align:center;background:#fff;border:1px dashed #d9d0c1;border-radius:24px}.doctors-empty strong{display:block;font-size:22px;margin-bottom:8px}.doctors-empty p{color:var(--muted);margin-bottom:18px}.doctors-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:30px}.doctors-pagination>a:last-child{justify-self:end}.doctors-pagination>span{text-align:center;color:var(--muted);font-size:12px}

.doctor-profile-hero{background:linear-gradient(180deg,#fbfaf7 0%,#f4f0e8 100%)}.doctor-profile-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(330px,.75fr);gap:70px;align-items:center}.doctor-profile-copy h1{font-size:clamp(42px,5.6vw,70px);margin-bottom:12px}.doctor-profile-specialty{font-size:20px;font-weight:750;color:var(--gold-deep);margin-bottom:20px}.doctor-profile-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.doctor-profile-facts>div{min-width:180px;padding:13px 15px;border:1px solid #ddd4c5;border-radius:14px;background:rgba(255,255,255,.62);display:flex;flex-direction:column;gap:2px}.doctor-profile-facts span{font-size:10px;color:var(--muted)}.doctor-profile-facts strong{font-size:13px}.doctor-profile-photo{margin:0;aspect-ratio:4/5;border-radius:32px 32px 22px 22px;overflow:hidden;background:#e3ddd3;box-shadow:var(--shadow);border:1px solid rgba(201,162,39,.22)}.doctor-profile-photo img{width:100%;height:100%;object-fit:cover}.doctor-profile-content-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:52px;align-items:start}.doctor-profile-prose{max-width:760px}.doctor-profile-prose h2{font-size:38px}.prose-lines{color:#514d46;font-size:15px;line-height:2.15}.doctor-schedule-card{position:sticky;top:112px;padding:24px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(24,21,15,.06)}.doctor-schedule-card h2{font-size:24px}.doctor-schedule-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);margin-top:16px}.doctor-schedule-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.doctor-schedule-list strong{font-size:12px}.doctor-schedule-list span{font-size:11px;color:var(--muted);text-align:left}.doctor-schedule-card>small{display:block;margin-top:14px;color:var(--muted);font-size:10px;line-height:1.9}.doctor-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.doctor-service-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px}.doctor-service-card>div>span{font-size:10px;color:var(--gold-deep);font-weight:800}.doctor-service-card h3{font-size:22px;margin:7px 0}.doctor-service-card p{color:var(--muted);font-size:12.5px;line-height:1.9;margin:0}.doctor-service-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.doctor-service-actions .text-link{margin:0}.doctor-credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.doctor-credentials-grid article{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}.doctor-credentials-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold-soft);color:#685311;font-size:10px;font-weight:850;margin-bottom:15px}.doctor-credentials-grid h3{font-size:20px;margin-bottom:8px}.doctor-credentials-grid p{margin:0;color:var(--muted);font-size:12.5px;line-height:2;white-space:normal}.doctor-faq-wrap{display:grid;grid-template-columns:.65fr 1.35fr;gap:48px;align-items:start}.doctor-social-strip{padding:24px 0;background:#111;color:#fff}.doctor-social-strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.doctor-social-strip strong{font-size:14px}.doctor-social-strip .container>div{display:flex;flex-wrap:wrap;gap:20px}.doctor-social-strip a{color:#e7cd74;font-size:12px;font-weight:750}.service-provider-note strong a{border-bottom:1px dotted #a58a3a}.service-provider-note strong a:hover{color:var(--gold-deep)}

.home-doctors-section{padding:82px 0;background:#111;color:#fff}.home-doctors-heading{margin-bottom:34px}.home-doctors-heading .home19-kicker{display:block;color:#d3ae3b;font-size:11px;font-weight:800;margin-bottom:9px}.home-doctors-heading h2{color:#fff}.home-doctors-heading p{max-width:600px;margin:10px auto 0;color:#bdb8af;font-size:13px}.home-doctors-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-doctor-card{display:block;border:1px solid rgba(255,255,255,.13);border-radius:20px;overflow:hidden;background:#181817;transition:.25s ease}.home-doctor-card:hover{transform:translateY(-4px);border-color:rgba(211,174,59,.7);box-shadow:0 20px 45px rgba(0,0,0,.24)}.home-doctor-card-media{display:block;aspect-ratio:4/5;overflow:hidden;background:#242320}.home-doctor-card-media img{width:100%;height:100%;object-fit:cover}.home-doctor-card-body{display:flex;flex-direction:column;gap:4px;padding:17px}.home-doctor-card-body strong{font-size:18px}.home-doctor-card-body small{color:#aaa49b;font-size:11px;line-height:1.8;min-height:38px}.home-doctor-card-body b{margin-top:8px;color:#d3ae3b;font-size:11px}.home-doctors-more{display:flex;justify-content:center;margin-top:28px}.booking-doctor-field{margin-top:4px}.booking-doctor-hint{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.8}

@media(max-width:1000px){.doctor-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doctor-card-grid-related{grid-template-columns:repeat(2,minmax(0,1fr))}.doctor-profile-hero-grid{grid-template-columns:1fr .78fr;gap:40px}.doctor-profile-content-grid{grid-template-columns:1fr}.doctor-schedule-card{position:static}.home-doctors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doctors-filter{grid-template-columns:1fr 1fr auto}.doctors-filter .text-link{grid-column:1/-1}.doctor-faq-wrap{grid-template-columns:1fr}}
@media(max-width:720px){.doctors-hero{padding-top:58px}.doctors-filter{grid-template-columns:1fr}.doctors-filter .button{width:100%}.doctor-card-grid,.doctor-card-grid-related{grid-template-columns:1fr}.doctor-card-actions{align-items:stretch;flex-direction:column}.doctor-card-actions .button,.doctor-card-actions .text-link{width:100%;justify-content:center}.doctor-profile-hero-grid{grid-template-columns:1fr;gap:28px}.doctor-profile-photo{max-width:430px;width:100%;margin-inline:auto;order:-1}.doctor-profile-copy h1{font-size:40px}.doctor-profile-actions{flex-direction:column}.doctor-profile-actions .button{width:100%}.doctor-service-grid,.doctor-credentials-grid{grid-template-columns:1fr}.doctor-service-actions{align-items:stretch;flex-direction:column}.doctor-service-actions .button,.doctor-service-actions .text-link{width:100%;justify-content:center}.doctor-social-strip .container{align-items:flex-start;flex-direction:column}.home-doctors-grid{grid-template-columns:1fr 1fr}.home-doctor-card-body strong{font-size:16px}.home-doctor-card-body small{min-height:0}.doctors-pagination{grid-template-columns:1fr 1fr}.doctors-pagination>span{grid-row:2;grid-column:1/-1}.doctors-pagination>a:last-child{justify-self:stretch}.doctors-pagination>a{width:100%}}
@media(max-width:480px){.home-doctors-grid{grid-template-columns:1fr}.doctor-profile-facts{display:grid;grid-template-columns:1fr;width:100%}.doctor-profile-facts>div{min-width:0}.doctor-card-body{padding:18px}.doctor-profile-prose h2{font-size:30px}.doctor-schedule-list>div{flex-direction:column;gap:3px}.doctor-schedule-list span{text-align:right}}

/* Stage 21.1 - Doctors UI cleanup */
.home-doctors-heading{
    margin-bottom:30px;
}
.home-doctors-heading h2{
    margin:0!important;
    line-height:1.45;
}
.home-doctors-heading > .home-doctors-title-line{
    display:block;
    width:30px;
    height:2px;
    margin:12px auto 14px;
    background:#c9972d;
}
.home-doctors-heading p{
    margin:0 auto!important;
}

/* Compact doctor cards: designed to scale cleanly as the team grows. */
.home-doctors-grid{
    grid-template-columns:repeat(auto-fit,minmax(205px,235px));
    justify-content:center;
    gap:18px;
    max-width:1040px;
    margin-inline:auto;
}
.home-doctor-card{
    width:100%;
    border-radius:17px;
}
.home-doctor-card-media{
    aspect-ratio:4/5;
}
.home-doctor-card-body{
    padding:14px 15px 15px;
    gap:3px;
}
.home-doctor-card-body strong{
    font-size:15px;
    line-height:1.7;
}
.home-doctor-card-body small{
    font-size:10px;
    line-height:1.75;
    min-height:35px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.home-doctor-card-body b{
    margin-top:6px;
    font-size:10px;
}

.doctor-card-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}
.doctor-card{
    border-radius:19px;
}
.doctor-card-media{
    aspect-ratio:4/5;
}
.doctor-card-body{
    padding:16px;
}
.doctor-card-body h2{
    font-size:18px;
    margin-bottom:5px;
}
.doctor-card-body>p{
    font-size:11.5px;
    line-height:1.85;
    margin-bottom:9px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.doctor-card-code{
    display:block!important;
    -webkit-line-clamp:unset!important;
}
.doctor-card-actions{
    margin-top:10px;
}
.doctor-card-actions .button{
    min-height:38px;
    padding-inline:13px;
    font-size:10px;
}
.doctor-card-actions .text-link{
    font-size:10px;
}
.doctor-card-grid-related{
    grid-template-columns:repeat(4,minmax(0,1fr));
    max-width:none;
}

/* Professional history without decorative 01/02/03/04 badges. */
.doctor-credentials-grid article{
    position:relative;
    padding-top:27px;
}
.doctor-credentials-grid article::before{
    content:"";
    position:absolute;
    top:0;
    right:24px;
    width:34px;
    height:2px;
    background:var(--gold-deep);
}
.doctor-credentials-grid article>span{
    display:none!important;
}

@media(max-width:1100px){
    .doctor-card-grid,.doctor-card-grid-related{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
    .doctor-card-grid,.doctor-card-grid-related{grid-template-columns:repeat(2,minmax(0,1fr))}
    .home-doctors-grid{grid-template-columns:repeat(2,minmax(190px,235px))}
}
@media(max-width:520px){
    .doctor-card-grid,.doctor-card-grid-related{grid-template-columns:1fr}
    .home-doctors-grid{grid-template-columns:minmax(0,280px)}
}
/* End Stage 21.1 */

/* Patient browser notifications */
.patient-push-prompt{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px;background:rgba(15,13,10,.58);backdrop-filter:blur(4px)}
.patient-push-prompt[hidden]{display:none}
.patient-push-prompt-card{width:min(450px,100%);box-sizing:border-box;padding:26px;border:1px solid #e3d2a6;border-radius:24px;background:#fffdf9;box-shadow:0 30px 85px rgba(20,16,8,.28);text-align:center}
.patient-push-prompt-card>span{color:#a67b18;font-size:12px;font-weight:900}
.patient-push-prompt-card h2{margin:8px 0;font-size:22px}
.patient-push-prompt-card p{margin:0;color:#6f695f;font-size:13px;line-height:2}
.patient-push-prompt-card>div{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:19px}
.patient-push-prompt-card>small{display:block;margin-top:10px;font-size:12px}
.patient-push-prompt-card>small[data-kind=error]{color:#9c2f27}
.patient-push-prompt-card>small[data-kind=success]{color:#17623b}

/* Sepanta PWA v1 */
.pwa-site-install{border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:right}
.site-pwa-guide[hidden]{display:none!important}.site-pwa-guide{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(9,14,20,.62);padding:18px}
.site-pwa-guide-card{position:relative;width:min(540px,100%);background:#fff;color:#111820;border-radius:24px;padding:28px;box-shadow:0 24px 80px rgba(0,0,0,.22)}
.site-pwa-guide-card h2{margin:0 0 12px}.site-pwa-guide-card p{line-height:2;color:#5d6670}.site-pwa-guide-card small{display:block;min-height:22px;margin:10px 0;color:#7a5e18}.site-pwa-guide-close{position:absolute;left:14px;top:10px;border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#59636d}
