@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap");
:root { --teal:#00777b; --teal-dark:#005f63; --red:#ee2024; --action-start:#f52a2d; --action-end:#e7161b; --action-color:#ee2024; --action-contrast:#fff; --action-shadow:rgba(238,32,36,.18); --button-start:#ee2024; --button-end:#d11c20; --button-contrast:#fff; --button-shadow:rgba(238,32,36,.18); --ink:#111; --muted:#596568; --line:#e7ebeb; --soft:#f5f9f9; --shadow:0 8px 28px rgba(20,48,51,.09); }
* { box-sizing:border-box; }
html { background:#f3f5f5; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at 10% 0,#fff 0,#f3f5f5 36%,#eef1f1 100%); font-family:"Vazirmatn",Tahoma,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
[hidden] { display:none !important; }
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;z-index:9999;top:8px;right:8px;transform:translateY(-150%);padding:10px 14px;border-radius:9px;background:#003f42;color:#fff}.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #0a8f92;outline-offset:3px}
.responsive-picture{display:contents}
.hp-field { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.form-alert { margin:16px 0; padding:13px 16px; border-radius:12px; font-size:14px; }
.form-alert.success { color:#006b58; background:#e9faf5; border:1px solid #b8eadc; }
.form-alert.error { color:#a51c1c; background:#fff0f0; border:1px solid #f4c5c5; }
.form-alert ul { margin:5px 0 0; padding-right:20px; }
.field-error { color:#c51d25; font-size:12px; margin-top:5px; display:block; }
.site-shell { max-width:1298px; min-height:calc(100vh - 12px); margin:6px auto; overflow:hidden; overflow:clip; background:#fff; border:1px solid #e8ebeb; border-radius:26px; box-shadow:0 3px 18px rgba(20,40,42,.08); position:relative; }
.site-header-sticky { position:sticky; z-index:80; top:0; background:rgba(255,255,255,.96); box-shadow:0 8px 24px rgba(20,40,42,.06); backdrop-filter:blur(14px); }
.header { height:76px; padding:0 24px; display:grid; grid-template-columns:170px 1fr 125px 115px; gap:14px; align-items:center; border-bottom:1px solid #edf0f0; background:rgba(255,255,255,.96); position:relative; z-index:10; direction:ltr; }
.header-search{height:38px;display:flex;border:1px solid #d9e5e4;border-radius:10px;overflow:hidden;background:#fff}.header-search input{width:82px;border:0;padding:0 9px;text-align:right;outline:0}.header-search button{width:34px;border:0;background:#eef7f6;color:var(--teal-dark)}

.smart-search-open{overflow:hidden}.smart-search-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:start center;padding:7vh 18px}.smart-search-modal[hidden]{display:none}.smart-search-modal__backdrop{position:absolute;inset:0;background:rgb(5 28 30 / 58%);backdrop-filter:blur(7px)}.smart-search-modal__dialog{position:relative;width:min(760px,100%);max-height:86vh;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgb(255 255 255 / 55%);border-radius:24px;background:#fff;box-shadow:0 28px 90px rgb(0 29 31 / 30%)}.smart-search-modal__dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 16px;background:linear-gradient(135deg,#f7fcfb,#fff)}.smart-search-modal__dialog>header span{color:var(--teal-dark);font-size:12px;font-weight:800}.smart-search-modal__dialog>header h2{margin:3px 0 0;font-size:25px}.smart-search-modal__dialog>header button{width:42px;height:42px;border:1px solid #d9e8e7;border-radius:50%;background:#fff;color:#456;font-size:27px;line-height:1}.smart-search-modal form{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin:0 26px;border:2px solid rgb(0 142 143 / 18%);border-radius:15px;background:#fff;padding:5px 8px 5px 5px;box-shadow:0 8px 24px rgb(0 106 107 / 7%)}.smart-search-modal form>span{color:var(--teal);font-size:24px}.smart-search-modal form input{min-width:0;height:44px;border:0;outline:0;background:transparent;text-align:right;font-size:15px}.smart-search-modal form button{height:40px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--button-start),var(--button-end));color:var(--button-contrast);padding:0 16px;font-weight:800;box-shadow:var(--button-shadow)}.smart-search-modal__suggestion{margin:12px 27px 0;border-radius:10px;background:#fff8e6;color:#795313;padding:8px 12px;font-size:13px}.smart-search-modal__suggestion button{border:0;background:transparent;color:#a66d00;font-weight:900;text-decoration:underline}.smart-search-modal__chips{display:flex;gap:7px;overflow:auto;padding:12px 26px 6px;scrollbar-width:thin}.smart-search-modal__chips button{flex:0 0 auto;border:1px solid #dbe8e7;border-radius:999px;background:#f8fbfb;color:#315c5d;padding:6px 11px;font-size:12px}.smart-search-modal__status{padding:8px 28px;color:#718182;font-size:12px}.smart-search-modal__results{display:grid;gap:7px;overflow:auto;padding:3px 22px 18px}.smart-search-modal__results>a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;border:1px solid #e2ebea;border-radius:13px;background:#fff;padding:10px 12px;transition:.15s ease}.smart-search-modal__results>a:hover,.smart-search-modal__results>a.is-active{border-color:rgb(0 142 143 / 38%);background:#f2fbfa;transform:translateY(-1px)}.smart-search-modal__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf7f6;color:var(--teal-dark);font-size:20px}.smart-search-modal__results>a>span:nth-child(2){display:grid;gap:1px;min-width:0}.smart-search-modal__results small{color:var(--teal);font-size:10px}.smart-search-modal__results strong{font-size:14px}.smart-search-modal__results em{overflow:hidden;color:#738081;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.smart-search-modal__results b{color:var(--teal);font-size:19px}.smart-search-modal mark,.public-search-results mark{border-radius:3px;background:#ffe8a4;color:inherit;padding:0 2px}.smart-search-modal__dialog>footer{display:flex;gap:16px;border-top:1px solid #e7eeee;background:#f8fbfb;padding:10px 26px;color:#798687;font-size:10px}.smart-search-modal kbd{display:inline-grid;place-items:center;min-width:21px;height:20px;margin:0 2px;border:1px solid #d9e4e3;border-bottom-width:2px;border-radius:5px;background:white;color:#456;font-family:inherit}.search-suggestion-line{margin:0 34px 14px;border-radius:12px;background:#fff8e6;color:#795313;padding:10px 14px}.search-suggestion-line a{color:#9a6500;font-weight:900;text-decoration:underline}

@media (max-width:760px){.smart-search-modal{padding:0;place-items:stretch}.smart-search-modal__dialog{width:100%;height:100%;max-height:none;border:0;border-radius:0}.smart-search-modal__dialog>header{padding:17px 15px 11px}.smart-search-modal__dialog>header h2{font-size:20px}.smart-search-modal__dialog>header button{width:38px;height:38px}.smart-search-modal form{grid-template-columns:auto 1fr;margin:0 14px;padding:4px 8px}.smart-search-modal form button{grid-column:1/-1;width:100%}.smart-search-modal__suggestion{margin:10px 14px 0}.smart-search-modal__chips{padding:10px 14px 5px}.smart-search-modal__status{padding:7px 16px}.smart-search-modal__results{padding:3px 10px 14px}.smart-search-modal__results>a{grid-template-columns:38px 1fr auto;padding:9px}.smart-search-modal__icon{width:38px;height:38px}.smart-search-modal__dialog>footer{display:none}}
.logo-wrap { width:120px; height:64px; display:flex; align-items:center; justify-content:center; justify-self:end; overflow:hidden; }
.logo-wrap img { width:82px; height:60px; object-fit:contain; }
.desktop-nav { direction:rtl; display:flex; justify-content:center; gap:25px; height:100%; align-items:center; }
.desktop-nav a { font-size:14px; height:100%; display:flex; align-items:center; border-bottom:2px solid transparent; }
.desktop-nav a:hover,.desktop-nav a.active { color:var(--teal-dark); border-bottom-color:var(--teal); }
.theme-warm-gold .desktop-nav a:hover,.theme-warm-gold .desktop-nav a.active { color:var(--action-color); border-bottom-color:var(--action-color); }
.btn { min-height:44px; padding:9px 22px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid transparent; font-weight:600; transition:.2s; }
.btn:hover { transform:translateY(-1px); }
.btn-red { color:var(--button-contrast); background:linear-gradient(135deg,var(--button-start),var(--button-end)); box-shadow:0 5px 12px var(--button-shadow); }
.btn-red.compact { height:44px; min-height:44px; padding:6px 18px; font-size:14px; justify-self:start; direction:rtl; }
.btn-outline { color:var(--teal-dark); border-color:var(--teal); background:#fff; }
.menu-button { display:none; width:36px; height:36px; border:0; background:transparent; padding:7px; flex-direction:column; justify-content:center; gap:5px; }
.menu-button span { display:block; width:24px; height:2px; background:#111; }
.mobile-header-search { display:none; }
.mobile-menu { display:none; }
.mobile-sticky { display:none; }
.mobile-sticky-call{min-height:51px;display:flex;align-items:center;justify-content:center;border:1px solid var(--action-color);border-radius:12px;background:#fff;color:var(--action-color);font-weight:700}
.roma-footer { margin:46px 30px 18px; padding:24px 28px; display:grid; grid-template-columns:1.6fr 1fr auto; gap:25px; align-items:center; background:linear-gradient(135deg,#f7fbfb,#eef7f7); border:1px solid #e3eeee; border-radius:20px; }
.roma-footer > div { display:grid; grid-template-columns:90px 1fr; align-items:center; gap:16px; }
.roma-footer img { width:82px; height:62px; object-fit:contain; }
.roma-footer p { margin:0; color:var(--muted); font-size:13px; line-height:2; }
.roma-footer nav { display:flex; flex-wrap:wrap; gap:9px 18px; font-size:13px; }
.roma-footer nav a:hover { color:var(--teal); }
.footer-call { color:var(--teal); border:1px solid #9fd2d4; border-radius:10px; padding:10px 14px; white-space:nowrap; font-weight:700; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:42px; line-height:1.25; margin-bottom:14px; }
h2 { font-size:24px; }
p { line-height:2; color:#3d4447; }
.title-mark { width:56px; height:3px; margin:16px auto; border-radius:4px; background:linear-gradient(90deg,var(--teal) 0 72%,#9cc8ca 72%); }
.line-icon { color:var(--teal); font-size:30px; line-height:1; display:inline-flex; align-items:center; justify-content:center; }
.roma-content-icon { width:1em; height:1em; display:inline-block; flex:0 0 auto; background-color:currentColor; -webkit-mask:var(--roma-content-icon-url) center/contain no-repeat; mask:var(--roma-content-icon-url) center/contain no-repeat; }
.roma-content-icon--image { object-fit:contain; background:transparent; -webkit-mask:none; mask:none; }
.panel { border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); background:#fff; }
.section-title { display:flex; align-items:center; justify-content:center; gap:18px; margin:22px 30px; font-size:25px; }
.section-title span { color:var(--teal); font-size:20px; }
.search-box { height:52px; display:flex; align-items:center; border:1px solid #dfe4e4; background:#fff; border-radius:13px; box-shadow:0 3px 10px rgba(0,0,0,.03); direction:ltr; }
.search-box span { width:50px; font-size:30px; text-align:center; color:#333; }
.search-box input { flex:1; height:100%; border:0; outline:0; text-align:right; padding:0 18px; background:transparent; }
.tabs { display:flex; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow); overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#b7d9da transparent; -webkit-overflow-scrolling:touch; }
.tabs::-webkit-scrollbar,.category-bar::-webkit-scrollbar { height:5px; }
.tabs::-webkit-scrollbar-thumb,.category-bar::-webkit-scrollbar-thumb { border-radius:999px; background:#b7d9da; }
.tabs button { flex:0 0 auto; min-width:max-content; min-height:54px; padding:0 22px; border:0; background:#fff; color:#111; white-space:nowrap; }
.tabs button.active { color:#fff; background:linear-gradient(135deg,#00777b,#005f63); }

/* home */
.home-hero { min-height:385px; display:grid; grid-template-columns:54% 46%; direction:ltr; background:linear-gradient(90deg,#f4f3f0,#fff); }
.home-hero img { width:100%; height:385px; object-fit:cover; }
.home-hero > div { direction:rtl; padding:58px 66px 30px 38px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.eyebrow { color:var(--teal-dark); font-weight:600; display:inline-flex; align-items:center; gap:10px; }
.eyebrow:after { content:""; width:36px; height:2px; background:var(--teal); }
.home-hero h1 { font-size:50px; margin:12px 0 14px; }
.home-hero p { max-width:450px; font-size:16px; }
.home-trust { min-height:92px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; border-bottom:1px solid var(--line); box-shadow:0 8px 16px rgba(20,50,52,.03); }
.home-trust > div { min-height:54px; display:grid; grid-template-columns:55px 1fr; padding:0 24px; border-left:1px solid #b7d9da; }
.home-trust > div:last-child { border:0; }
.home-trust .line-icon { grid-row:1/3; }
.home-trust b { font-size:15px; }
.home-trust span:not(.line-icon) { font-size:11px; color:#697174; }
.home-section,.home-magazine { padding:28px 38px 18px; }
.home-section-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:18px; }
.home-section-head span { color:var(--teal-dark); font-size:13px; font-weight:600; }
.home-section-head h2 { margin:4px 0 0; font-size:27px; }
.home-section-head > a { color:var(--action-color); font-size:13px; font-weight:600; }
.home-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; direction:ltr; }
.home-service-grid article { min-height:155px; display:grid; grid-template-columns:42% 58%; direction:ltr; overflow:hidden; border:1px solid var(--line); border-radius:17px; box-shadow:var(--shadow); background:linear-gradient(115deg,#fff,#fbfbfa); }
.home-service-grid img { width:100%; height:100%; object-fit:cover; }
.home-service-grid article > div { direction:rtl; padding:22px 24px; display:flex; flex-direction:column; align-items:flex-start; }
.home-service-grid h3 { font-size:21px; margin-bottom:4px; }
.home-service-grid p { font-size:12px; line-height:1.8; margin:0 0 8px; }
.home-service-grid a { color:var(--action-color); font-weight:600; font-size:13px; margin-top:auto; }
.home-team-feature { margin:10px 38px 20px; min-height:280px; display:grid; grid-template-columns:62% 38%; direction:ltr; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:linear-gradient(100deg,#f6f4f1,#fff); box-shadow:var(--shadow); }
.home-team-images { display:grid; grid-template-columns:repeat(3,1fr); align-items:end; direction:ltr; overflow:hidden; }
.home-team-images img { width:115%; height:280px; object-fit:cover; object-position:center top; margin-left:-8%; }
.home-team-feature > div:last-child { direction:rtl; padding:40px 34px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.home-team-feature h2 { font-size:28px; margin:9px 0; }
.home-team-feature p { font-size:13px; }
.home-team-feature .btn { min-height:38px; padding:6px 15px; }
.home-why { padding:0 38px 20px; }
.home-why > div { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-why article { padding:20px 35px; border-left:1px solid #a7d0d1; text-align:center; }
.home-why article:last-child { border:0; }
.home-why h3 { margin:8px 0 3px; }
.home-why p { font-size:12px; margin:0; line-height:1.8; }
.home-magazine { background:#f8fbfb; border-top:1px solid #e7eeee; border-bottom:1px solid #e7eeee; }
.home-article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; direction:ltr; }
.home-article-grid article { min-height:205px; border:1px solid var(--line); border-radius:15px; overflow:hidden; background:#fff; direction:rtl; }
.home-article-grid img { width:100%; height:118px; object-fit:cover; }
.home-article-grid article > div { padding:10px 14px; }
.home-article-grid h3 { font-size:15px; margin:5px 0; }
.home-article-grid a { color:var(--action-color); font-size:12px; font-weight:600; }
.home-final-cta { min-height:210px; margin:24px 38px; display:grid; grid-template-columns:46% 54%; direction:ltr; overflow:hidden; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.home-final-cta img { width:100%; height:210px; object-fit:cover; }
.home-final-cta > div { direction:rtl; padding:32px 42px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.home-final-cta > div > span { color:var(--teal-dark); font-weight:600; }
.home-final-cta h2 { margin:8px 0 16px; font-size:25px; }

/* services */
.services-hero { height:225px; display:grid; grid-template-columns:72% 28%; align-items:center; background:linear-gradient(90deg,#fbfbfa,#fff); }
.services-hero,.magazine-hero,.doctor-hero,.contact-hero,.team-hero,.appointment-layout,.about-hero,.article-head,.implant-landing-hero,.privacy-hero,
.service-card,.featured-article,.article-card,.wide-cta,.mini-cta { direction:ltr; }
.services-hero > div,.magazine-hero > div,.doctor-hero > div,.contact-hero > div,.team-hero > div,.appointment-layout > div,.about-hero > div,.article-head > div,.implant-landing-hero > div,.privacy-hero > div,
.service-card > div,.featured-article > div,.article-card > div,.wide-cta > div,.mini-cta > div { direction:rtl; }
.services-hero img { width:100%; height:100%; object-fit:cover; }
.services-hero h1 { font-size:40px; text-align:center; }
.services-hero + .search-box { width:56%; margin:-8px auto 14px; position:relative; z-index:2; }
.service-tabs { width:78%; margin:0 auto 20px; }
.service-tabs button { display:flex; align-items:center; justify-content:center; gap:10px; border-left:1px solid var(--line); font-size:18px; }
.service-tabs button.active { color:var(--teal-dark); background:#fff; box-shadow:inset 0 -3px var(--teal); }
.service-tabs .line-icon { font-size:25px; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; padding:0 48px 20px; direction:ltr; }
.service-card { height:174px; display:grid; grid-template-columns:50% 50%; align-items:center; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); overflow:hidden; background:linear-gradient(110deg,#fff,#fafafa); }
.service-card img { width:100%; height:100%; object-fit:cover; }
.service-card > div { padding:24px 30px; }
.service-card h3 { font-size:27px; margin-bottom:16px; }
.service-card a { color:var(--action-color); font-weight:600; font-size:18px; }
.wide-cta { height:155px; margin:6px 36px 18px; position:relative; overflow:hidden; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.wide-cta img { width:100%; height:100%; object-fit:cover; opacity:.85; }
.wide-cta > div { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:35px; background:linear-gradient(90deg,rgba(255,255,255,.2),rgba(255,255,255,.86),rgba(255,255,255,.25)); }

/* magazine */
.magazine-hero { min-height:320px; display:grid; grid-template-columns:52% 48%; background:#fff; align-items:stretch; }
.magazine-hero img { width:100%; height:320px; object-fit:cover; }
.magazine-hero > div { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:28px 50px; }
.magazine-hero h1 { font-size:40px; }
.magazine-hero p { font-size:17px; margin-bottom:4px; }
.magazine-hero .search-box { width:100%; margin-top:12px; }
.category-bar { min-height:78px; padding:10px 36px; display:flex; align-items:center; justify-content:space-between; gap:6px; overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scrollbar-width:thin; scrollbar-color:#b7d9da transparent; -webkit-overflow-scrolling:touch; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.category-bar button { flex:0 0 auto; min-width:max-content; min-height:50px; padding:7px 18px; display:flex; gap:12px; align-items:center; border:0; border-radius:14px; background:#fff; font-size:16px; white-space:nowrap; }
.category-bar button.active { color:var(--teal-dark); background:#eff9f9; box-shadow:inset 0 0 0 1px #8fc7ca; }
.category-bar .line-icon { font-size:25px; }
.magazine-leads { margin:0 34px 8px; min-height:260px; display:grid; grid-template-columns:64% 36%; gap:16px; direction:ltr; }
.featured-article { margin:0; min-height:260px; border:1px solid var(--line); border-radius:15px; overflow:hidden; display:grid; grid-template-columns:57% 43%; background:linear-gradient(90deg,#eef1f1,#fff); }
.featured-article img { width:100%; height:100%; object-fit:cover; }
.featured-article > div { padding:24px 36px; display:flex; flex-direction:column; align-items:flex-start; }
.featured-article h2 { font-size:26px; margin:10px 0; }
.featured-article p { margin:0 0 12px; }
.featured-article a,.article-card a { color:var(--action-color); font-weight:600; margin-top:auto; }
.tag { color:var(--teal-dark); background:#eef8f8; border-radius:7px; padding:2px 10px; font-size:12px; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:0 34px 18px; }
.article-grid { direction:ltr; }
.article-grid .article-card { direction:ltr; }
.article-grid .article-card > div { direction:rtl; }
.article-card { min-height:132px; display:grid; grid-template-columns:45% 55%; overflow:hidden; border:1px solid var(--line); border-radius:14px; }
.article-card img { width:100%; height:100%; object-fit:cover; }
.article-card > div { padding:10px 14px; display:flex; flex-direction:column; align-items:flex-start; }
.article-card h3 { font-size:15px; margin:5px 0; line-height:1.7; }
.article-card small { color:#6b6b6b; }
.article-card a { font-size:12px; }
.side-articles { display:grid; grid-template-rows:1fr 1fr; gap:12px; direction:rtl; }
.side-articles .article-card { min-height:0; direction:rtl; grid-template-columns:46% 54%; }
.side-articles .article-card > div { direction:rtl; }
.fresh-heading { margin:0 34px 8px; text-align:right; font-size:18px; color:#222; }
.fresh-heading span { color:var(--teal); }
.popular { margin:4px 34px 28px; padding:14px 18px; display:flex; gap:28px; align-items:center; justify-content:space-between; background:#f0f7f7; border-radius:12px; font-size:13px; }

/* doctor */
.doctor-hero { min-height:395px; display:grid; grid-template-columns:53% 47%; background:linear-gradient(90deg,#f2f1ef,#fff); }
.doctor-hero img { width:100%; height:395px; object-fit:cover; }
.doctor-hero > div { padding:48px 56px 25px 25px; }
.doctor-hero h1 { font-size:46px; }
.doctor-hero h2 { color:var(--teal-dark); font-size:26px; }
.doctor-hero ul { list-style:none; padding:0; line-height:2.25; font-size:17px; }
.button-row { display:flex; gap:18px; flex-wrap:wrap; }
.doctor-about { margin:-2px 44px 16px; padding:18px 38px; display:grid; grid-template-columns:1fr 120px; }
.doctor-about h2 { margin-bottom:3px; }
.doctor-about p { margin:0; line-height:2; }
.plant-art { font-size:100px; color:#6f977d; text-align:center; align-self:end; }
.timeline { display:grid; grid-template-columns:repeat(3,1fr); padding:0 80px 20px; text-align:center; gap:50px; }
.timeline div { border-top:1px solid var(--teal); padding-top:13px; display:flex; flex-direction:column; gap:7px; }
.timeline b { color:var(--teal-dark); }
.doctor-services { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:0 44px 24px; }
.doctor-services article { min-height:220px; display:grid; grid-template-columns:minmax(155px,40%) minmax(0,1fr); align-items:stretch; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; direction:ltr; }
.doctor-service-media { min-width:0; background:#f1f6f5; }
.doctor-service-media .responsive-picture { display:block; width:100%; height:100%; }
.doctor-services img { display:block; width:100%; height:100%; object-fit:cover; }
.doctor-service-content { min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:22px 20px; direction:rtl; text-align:right; }
.doctor-services h3 { width:100%; margin:0 0 10px; font-size:20px; line-height:1.55; }
.doctor-services p { width:100%; margin:0 0 14px; color:#43585b; font-size:14px; line-height:1.95; }
.doctor-services .btn { min-height:40px; margin-top:auto; padding:7px 16px; font-size:13px; }

/* contact */
.contact-hero { height:264px; display:grid; grid-template-columns:42% 58%; margin:0 38px; }
.contact-hero > div { text-align:center; padding:28px 20px; }
.contact-hero h1 { font-size:38px; }
.contact-hero img { width:100%; height:100%; object-fit:cover; }
.quick-contact { display:none; }
.contact-body { display:grid; grid-template-columns:58% 42%; gap:24px; align-items:start; padding:20px 38px 0; direction:ltr; border-top:1px solid var(--line); }
.map-card { border:1px solid var(--line); border-radius:12px; overflow:hidden; text-align:center; padding-bottom:10px; }
.map-card,.contact-details { direction:rtl; }
.map { height:190px; background:linear-gradient(135deg,#e9f2f0,#f8f8f5); position:relative; display:flex; flex-direction:column; justify-content:center; color:#55757a; }
.map:before,.map:after { content:""; position:absolute; inset:40% 0 auto; height:12px; background:#fff; transform:rotate(-10deg); }
.map:after { transform:rotate(18deg); }
.map span { font-size:60px; color:var(--teal); z-index:1; }
.map b,.map small { z-index:1; }
.map-card h3 { margin:12px 0 0; }
.map-card p { font-size:14px; margin:0; }
.map-card .btn { min-height:32px; padding:4px 18px; }
.contact-details { display:grid; gap:12px; align-content:start; }
.contact-info-card { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr); gap:14px; padding:17px 18px 17px 20px; overflow:hidden; border:1px solid #dfe8e7; border-radius:16px; background:linear-gradient(135deg,#fff 20%,#f7fbfa); box-shadow:0 7px 22px rgba(20,48,51,.06); }
.contact-info-card::after { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(180deg,var(--teal),#a8d5d1); }
.contact-info-icon { width:50px; height:50px; display:grid; place-items:center; border:1px solid #c5e1df; border-radius:15px; color:var(--teal-dark); background:#edf8f7; }
.contact-info-icon svg { width:27px; height:27px; }
.contact-info-icon .roma-content-icon { width:27px; height:27px; }
.contact-info-content { min-width:0; }
.contact-info-content > small { color:var(--teal-dark); font-size:12px; font-weight:700; }
.contact-info-content h3 { margin:2px 0 6px; font-size:22px; }
.contact-info-content p { margin:0; color:#3d494b; font-size:15px; line-height:1.9; }
.contact-inline-link { display:inline-flex; margin-top:8px; color:var(--teal-dark); font-size:13px; font-weight:700; }
.contact-phone-list { display:flex; flex-wrap:wrap; gap:7px; }
.contact-phone-list a { min-width:145px; flex:1; padding:7px 9px; display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid #dce9e8; border-radius:10px; color:#263436; background:#fff; }
.contact-phone-list span { color:#59676a; font-size:12px; }
.contact-phone-list b { font-size:14px; font-weight:700; }
.working-hours-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.working-hours-list > div { min-height:34px; padding:6px 9px; display:flex; align-items:center; justify-content:space-between; gap:7px; border:1px solid #e1ebea; border-radius:9px; background:#fff; font-size:12px; }
.working-hours-list span { color:#566568; }
.working-hours-list b { color:#263436; white-space:nowrap; }
.working-hours-list b.closed { color:#c43b3e; }
.access-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:0 45px 20px; }
.access-grid > div { text-align:center; border-left:1px solid var(--line); padding:8px 30px; }
.access-grid > div:last-child { border:0; }
.access-grid p { font-size:13px; line-height:1.8; }
.contact-form { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:0 38px 30px; padding:24px; direction:rtl; text-align:right; border:1px solid var(--line); border-radius:18px; background:linear-gradient(135deg,#fbfdfd,#fff); box-shadow:var(--shadow); }
.contact-form input,.contact-form textarea { min-height:44px; padding:10px 14px; direction:rtl; text-align:right; border:1px solid #dfe4e4; border-radius:9px; background:#fff; outline-color:var(--teal); }
.contact-form input[type="email"] { direction:ltr; text-align:right; }
.contact-form textarea { grid-column:1 / -1; min-height:70px; }
.contact-form button { grid-column:1 / -1; width:30%; justify-self:start; border:0; }

/* 404 */
.notfound { min-height:938px; display:grid; grid-template-columns:50% 50%; }
.notfound img { width:100%; height:100%; object-fit:cover; }
.notfound > div { text-align:center; padding:75px 60px 30px; }
.four { font-size:100px; color:var(--teal); line-height:1; }
.notfound h1 { margin-top:22px; }
.tooth-divider { color:var(--teal); margin:18px; }
.notfound-links { display:grid; grid-template-columns:repeat(4,1fr); margin:40px 0; }
.notfound-links a { font-size:45px; color:var(--teal); border-left:1px solid var(--line); display:flex; flex-direction:column; }
.notfound-links a:last-child { border:0; }
.notfound-links span { font-size:15px; color:#111; margin-top:8px; }
.clinic-call { display:inline-block; border-top:1px solid var(--line); padding:28px 55px; font-size:20px; color:var(--teal-dark); }

/* team */
.team-hero { height:405px; display:grid; grid-template-columns:36% 64%; background:#fbfaf8; }
.team-hero > div { padding:78px 42px 20px; text-align:center; }
.team-hero h1 { font-size:49px; }
.team-hero p { font-size:17px; }
.team-hero img { width:100%; height:100%; object-fit:cover; }
.team-tabs { width:64%; margin:-10px auto 20px; position:relative; z-index:2; padding:10px; }
.team-tabs button { flex:1; border-radius:11px; }
.doctor-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:70px; padding:0 75px 24px; }
.doctor-grid { direction:ltr; }
.doctor-grid article { direction:rtl; }
.doctor-grid article { text-align:center; border:1px solid var(--line); border-radius:70px 70px 24px 24px; overflow:hidden; padding-bottom:20px; box-shadow:var(--shadow); }
.doctor-grid img { width:100%; height:340px; object-fit:cover; object-position:center top; }
.doctor-grid h2 { margin:10px 0 3px; font-size:21px; }
.doctor-grid p { color:var(--teal-dark); margin:0 0 12px; }
.doctor-grid .btn { min-height:36px; padding:5px 20px; }
.value-strip { margin:0 32px 22px; min-height:105px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow); }
.value-strip div { display:grid; grid-template-columns:60px 1fr; padding:0 35px; border-left:1px solid var(--line); }
.value-strip div:last-child { border:0; }
.value-strip .line-icon { grid-row:1/3; }
.value-strip span { font-size:13px; color:#555; }

/* faq */
.faq-hero { min-height:355px; display:grid; grid-template-columns:52% 48%; background:#fff; }
.faq-hero img { width:100%; height:355px; object-fit:cover; }
.faq-hero > div { padding:75px 70px 30px; text-align:center; }
.faq-hero h1 { font-size:44px; }
.faq-hero p { font-size:18px; }
.faq-hero .search-box { margin-top:28px; }
.faq-cats { padding:10px 45px; min-height:76px; }
.faq-cats button.active { box-shadow:inset 0 -3px var(--teal); background:#fff; }
.faq-body { display:grid; grid-template-columns:28% 72%; gap:25px; padding:20px 38px 38px; }
.help-card { border:1px solid var(--line); border-radius:16px; padding:30px 20px; text-align:center; display:flex; flex-direction:column; gap:12px; }
.help-card h2 { font-size:20px; }
.help-card p { font-size:14px; }
.accordion { display:flex; flex-direction:column; gap:12px; }
.accordion-item { border:1px solid var(--line); border-radius:13px; overflow:hidden; transition:border-color .2s,box-shadow .2s; }
.accordion-item.open { border-color:#b9dcdd; box-shadow:0 6px 18px rgba(0,109,114,.08); }
.accordion-item button { width:100%; min-height:59px; border:0; background:#fff; padding:10px 20px; display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--ink); font-size:20px; text-align:right; transition:background-color .2s; }
.accordion-item.open button { background:#f8fcfc; }
.accordion-item button:focus-visible { outline:3px solid rgba(0,135,140,.2); outline-offset:-3px; }
.accordion-question { flex:1 1 auto; min-width:0; }
.accordion-marker { position:relative; flex:0 0 36px; width:36px; height:36px; display:inline-grid; place-items:center; border:1px solid #8bc9cc; border-radius:50%; color:var(--teal-dark); background:#fff; box-shadow:0 2px 7px rgba(0,109,114,.06); }
.accordion-marker::before,.accordion-marker::after { content:""; position:absolute; width:13px; height:2px; border-radius:999px; background:currentColor; transition:opacity .18s,transform .18s; }
.accordion-marker::after { transform:rotate(90deg); }
.accordion-item.open .accordion-marker::after { opacity:0; transform:rotate(90deg) scaleX(0); }
.accordion-item p { padding:2px 22px 18px; margin:0; font-size:14px; }

/* appointment */
.appointment-header { grid-template-columns:1fr 150px; }
.appointment-header .logo-wrap { order:2; justify-self:end; }
.appointment-header .back-link { order:1; justify-self:start; }
.appointment-layout { display:grid; grid-template-columns:60% 40%; min-height:745px; }
.appointment-layout img { width:100%; height:745px; object-fit:cover; }
.appointment-form-wrap { padding:35px 38px; text-align:center; }
.appointment-form-wrap > h1 { font-size:38px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); margin:28px 10px 38px; position:relative; }
.steps:before { content:""; position:absolute; top:17px; left:13%; right:13%; height:1px; background:#ccd3d3; }
.steps > div { z-index:1; display:flex; flex-direction:column; align-items:center; gap:8px; }
.steps b { width:36px; height:36px; display:grid; place-items:center; border:1px solid #cfd5d5; background:#fff; border-radius:50%; }
.steps .active b { color:#fff; border-color:var(--teal); background:var(--teal); box-shadow:0 0 20px rgba(0,135,140,.25); }
.appointment-form { display:grid; grid-template-columns:1fr 1fr; gap:18px 16px; text-align:right; }
.appointment-form label { display:flex; flex-direction:column; gap:7px; }
.appointment-form input,.appointment-form select,.appointment-form textarea { border:1px solid #d9dfdf; border-radius:8px; min-height:43px; padding:8px 12px; outline-color:var(--teal); background:#fff; }
.appointment-form textarea { min-height:88px; }
.appointment-form .full { grid-column:1/-1; }
.time-slots { display:flex; gap:8px; }
.time-slots button { flex:1; min-height:45px; padding:8px 12px; border:1px solid #d9dfdf!important; border-radius:9px; background:#fff; color:#1f292b; transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.time-slots button:hover { border-color:#91c7c9!important; background:#f1f9f9; }
.time-slots button:focus-visible { outline:3px solid rgba(10,152,154,.2); outline-offset:2px; }
.time-slots button.active { border-color:#00686c!important; color:#fff; background:linear-gradient(135deg,#00777b,#005f63); box-shadow:0 7px 16px rgba(0,95,99,.22); font-weight:700; transform:translateY(-1px); }
.time-slots button.active::before { content:"✓"; margin-left:6px; }
.appointment-form .check { display:block; font-size:13px; }
.appointment-form .check input { min-height:auto; margin-left:8px; }
.appointment-form button { border:0; }
.mobile-submit-label { display:none; }
.jalali-field { position:relative; }
.jalali-trigger { width:100%; min-height:43px; padding:8px 12px; display:flex; align-items:center; justify-content:space-between; color:#969da0; border:1px solid #d9dfdf!important; border-radius:8px; background:#fff; }
.jalali-trigger.has-value { color:var(--teal-dark); font-weight:600; }
.jalali-trigger b { color:var(--teal); font-size:19px; }
.jalali-calendar { position:absolute; z-index:30; top:76px; right:0; width:310px; padding:13px; color:#171a1b; border:1px solid #dfe6e6; border-radius:15px; background:#fff; box-shadow:0 15px 40px rgba(18,55,58,.2); }
.jalali-calendar-head { display:grid; grid-template-columns:36px 1fr 36px; align-items:center; margin-bottom:8px; }
.jalali-calendar-head strong { text-align:center; color:var(--teal-dark); font-size:15px; }
.jalali-calendar-head button { width:32px; height:32px; color:var(--teal-dark); border:1px solid #c8dddd!important; border-radius:50%; background:#f7fbfb; font-size:22px; }
.jalali-weekdays,.jalali-days { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; text-align:center; }
.jalali-weekdays { margin-bottom:4px; color:#7a8587; font-size:11px; }
.jalali-days button,.jalali-days .empty-day { width:35px; height:33px; display:grid; place-items:center; border-radius:8px; }
.jalali-days button { border:0; background:#fff; font-size:12px; }
.jalali-days button:hover:not(:disabled) { color:var(--teal-dark); background:#eaf7f7; }
.jalali-days button.today { color:var(--teal-dark); box-shadow:inset 0 0 0 1px #7dbfc1; }
.jalali-days button.selected { color:#fff; background:var(--teal); box-shadow:none; }
.jalali-days button:disabled { color:#c7cccc; cursor:not-allowed; }
.jalali-calendar-foot { margin-top:8px; padding-top:8px; display:flex; justify-content:space-between; border-top:1px solid var(--line); font-size:10px; color:#7b8587; }
.jalali-calendar-foot button { color:var(--teal-dark); border:0; background:transparent; font-weight:600; }
.appointment-benefits { min-height:185px; display:grid; grid-template-columns:repeat(3,1fr); align-items:center; padding:0 70px; }
.appointment-benefits div { display:flex; justify-content:center; gap:20px; align-items:center; min-height:90px; border-left:1px solid #a4ced0; }
.appointment-benefits div:last-child { border:0; }
.success-card { padding:80px 20px; }
.success-card > b { width:70px; height:70px; display:grid; place-items:center; margin:auto; border:2px solid var(--teal); color:var(--teal); border-radius:50%; font-size:40px; }
.success-card h1 { margin-top:24px; }

/* about */
.about-hero { height:315px; display:grid; grid-template-columns:55% 45%; }
.about-hero img { width:100%; height:100%; object-fit:cover; }
.about-hero > div { padding:42px 65px 20px; text-align:right; }
.about-hero h1 { font-size:38px; }
.about-hero h3 { color:var(--teal-dark); }
.story-line { display:grid; grid-template-columns:repeat(3,1fr); gap:60px; padding:10px 75px 28px; border-bottom:1px solid var(--line); }
.story-line > div { position:relative; padding-right:70px; }
.story-line .line-icon { position:absolute; right:0; top:0; width:52px; height:52px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#00777b,#005f63); font-size:16px; }
.story-line h3 { margin:0; }
.story-line p { font-size:13px; line-height:1.9; margin:5px 0; }
.why-grid,.equipment-grid { display:grid; grid-template-columns:repeat(3,1fr); padding:8px 65px 30px; border-bottom:1px solid var(--line); }
.why-grid > div,.equipment-grid > div { padding:10px 35px; border-left:1px solid #9dced0; text-align:right; }
.why-grid > div:last-child,.equipment-grid > div:last-child { border:0; }
.why-grid .line-icon,.equipment-grid .line-icon { float:right; margin-left:20px; font-size:45px; }
.why-grid p,.equipment-grid p { font-size:13px; }
.equipment-grid { border:0; }

/* article */
.breadcrumbs { padding:20px 55px 5px; color:#59676a; font-size:12px; }
.breadcrumbs ol{display:flex;align-items:center;gap:7px;list-style:none;padding:0;margin:0}.breadcrumbs li:not(:last-child)::after{content:"‹";margin-right:7px;color:#93a5a4}.breadcrumbs a:hover{color:var(--teal-dark)}
.article-share{display:flex;align-items:center;gap:7px;margin-right:auto}.article-share a,.article-share button{border:1px solid #cfe0df;border-radius:8px;background:#fff;padding:6px 9px;color:#236a68;font:inherit}.article-share span{color:#087a52}
.public-search-head{padding:40px 50px 24px;text-align:center;background:linear-gradient(135deg,#f3faf9,#fff)}.public-search-head>span{color:var(--teal-dark);font-weight:700}.public-search-head form{max-width:760px;margin:22px auto 0;display:grid;grid-template-columns:1fr 190px auto;gap:10px;text-align:right}.public-search-head form>label{position:absolute;clip:rect(0,0,0,0)}.public-search-head input,.public-search-head select{min-height:48px;border:1px solid #cfe0df;border-radius:10px;padding:0 14px;background:#fff}.public-search-results{padding:22px 40px 40px}.public-search-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.public-search-grid article{display:grid;grid-template-columns:150px 1fr;min-height:150px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.public-search-grid img{width:100%;height:100%;object-fit:cover}.public-search-grid article>div{padding:15px}.public-search-grid h3{margin:7px 0}.public-search-grid p{font-size:12px;margin-bottom:5px}.public-search-grid article>div>a{color:var(--action-color);font-weight:700}.search-empty{text-align:center;padding:50px;border:1px dashed #bcd6d4;border-radius:18px;background:#f8fbfb}.content-filter-search{max-width:520px;margin:0 auto 15px}
.home-hero > picture > img{width:100%;height:385px;object-fit:cover}.article-head > picture > img{width:100%;height:100%;object-fit:cover}.visual-gallery-hero > picture > img{width:100%;height:100%;object-fit:cover}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Hotfix: keep the complete doctors list single-column across mobile widths. */
@media (max-width:760px) {
  .doctor-grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
  }

  .doctor-grid article:not(:first-child) {
    display:block;
  }
}

/* Generic pages assembled by the unified page builder. */
.custom-page-hero {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 46%);
  align-items:center;
  gap:clamp(24px, 5vw, 72px);
  min-height:420px;
  padding:clamp(42px, 7vw, 88px) clamp(24px, 6vw, 84px);
  overflow:hidden;
  border-bottom:1px solid #d9eceb;
  background:
    radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--action-color) 11%, transparent), transparent 34%),
    linear-gradient(145deg, #fff 0%, #f4fbfa 100%);
}

.custom-page-hero__content {
  position:relative;
  z-index:1;
}

.custom-page-hero__eyebrow {
  display:inline-flex;
  margin-bottom:12px;
  color:#087f80;
  font-size:14px;
  font-weight:800;
}

.custom-page-hero h1 {
  margin:0;
  color:#102c2c;
  font-size:clamp(32px, 4.8vw, 58px);
  line-height:1.35;
}

.custom-page-hero__subtitle {
  margin:16px 0 0;
  color:var(--action-color);
  font-size:clamp(18px, 2.2vw, 25px);
  font-weight:800;
}

.custom-page-hero__description {
  max-width:680px;
  margin:16px 0 0;
  color:#405a5a;
  font-size:clamp(15px, 1.5vw, 18px);
  line-height:2;
}

.custom-page-hero__media {
  min-width:0;
}

.custom-page-hero__media picture,
.custom-page-hero__media img {
  display:block;
  width:100%;
}

.custom-page-hero__media img {
  aspect-ratio:4 / 3;
  border:1px solid #d8e8e7;
  border-radius:32px;
  object-fit:cover;
  box-shadow:0 26px 70px rgb(21 92 90 / 14%);
}

@media (max-width: 760px) {
  .custom-page-hero {
    grid-template-columns:1fr;
    min-height:0;
    padding:34px 18px;
  }

  .custom-page-hero__media {
    order:-1;
  }

  .custom-page-hero__media img {
    border-radius:22px;
  }

  .custom-page-hero h1 {
    font-size:30px;
  }
}
.article-head { display:grid; grid-template-columns:48% 52%; padding:0 40px 10px; gap:35px; align-items:center; }
.article-head img { width:100%; height:280px; object-fit:cover; border-radius:15px; }
.article-head h1 { font-size:37px; margin:14px 0; }
.article-head p { max-width:520px; }
.author { font-weight:600; }
.author span { display:block; color:#6b6b6b; font-size:12px; }
.article-meta { margin:0 40px; padding:13px 20px; display:flex; justify-content:space-around; border-bottom:1px solid var(--line); font-size:12px; }
.article-layout { display:grid; grid-template-columns:76% 24%; align-items:start; padding:12px 40px 30px; gap:30px; }
.article-content p,.article-content li { font-size:14px; line-height:2; }
.article-content h2 { border-bottom:2px solid var(--teal); display:inline-block; padding-bottom:6px; }
.content-with-image { display:grid; grid-template-columns:1fr 230px; gap:22px; }
.content-with-image img { width:100%; border-radius:13px; }
.info-box,.warning-box { border:1px solid #92ced0; background:#f2fbfb; padding:14px; border-radius:10px; margin:12px 0; font-size:13px; }
.warning-box { border-color:#f3a8a8; background:#fff5f5; color:#bc171b; }
.toc { height:max-content; padding:18px; display:flex; flex-direction:column; gap:15px; }
.toc a { color:#566; font-size:13px; border-right:2px solid var(--teal); padding-right:10px; }
.article-layout > .article-toc {
  position:sticky;
  top:94px;
  z-index:2;
  max-height:calc(100dvh - 112px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#b7d9da transparent;
}
.article-mobile-toc-trigger,
.article-toc-modal {
  display:none;
}

/* controlled rich content */
.rich-content {
  max-width:100%;
  overflow-x:auto;
  overflow-wrap:anywhere;
}
.rich-content > *:first-child { margin-top:0; }
.rich-content > *:last-child { margin-bottom:0; }
.rich-content img,.rich-content video { max-width:100%; height:auto; }
.rich-content a { color:var(--teal-dark); text-decoration:underline; text-underline-offset:3px; }
.rich-content blockquote {
  margin:16px 0;
  padding:12px 16px;
  border-right:3px solid var(--teal);
  border-radius:10px 0 0 10px;
  background:#f3fbfa;
  color:#334155;
}
.rich-content table {
  width:100%;
  min-width:520px;
  overflow:hidden;
  border:1px solid #b9ddda;
  border-collapse:separate;
  border-spacing:0;
  border-radius:13px;
  background:#fff;
  box-shadow:0 8px 24px rgb(15 118 110 / 5%);
}
.rich-content th,.rich-content td {
  padding:12px 14px;
  border-left:1px solid #d5e8e6;
  border-bottom:1px solid #d5e8e6;
  text-align:right;
  vertical-align:middle;
}
.rich-content th:last-child,.rich-content td:last-child { border-left:0; }
.rich-content tr:last-child td { border-bottom:0; }
.rich-content th {
  background:#eaf7f6;
  color:#0b6e69;
  font-weight:800;
}
.rich-content .roma-table--striped tr:nth-child(even) td { background:#f7fbfb; }
.rich-content .roma-table--gold-header th {
  background:linear-gradient(135deg, var(--action-start, #b78b2e), var(--action-end, #cb921b));
  color:#fff;
}
.rich-content .roma-table--minimal {
  border-right:0;
  border-left:0;
  border-radius:0;
  box-shadow:none;
}
.rich-content .roma-table--minimal th,.rich-content .roma-table--minimal td { border-left:0; }
.roma-rich-media {
  max-width:100%;
  margin:22px auto;
}
.roma-rich-media--wide { width:100%; }
.roma-rich-media--content { width:min(100%, 760px); }
.roma-rich-media--compact { width:min(100%, 430px); }
.roma-rich-media--start { margin-right:0; margin-left:auto; }
.roma-rich-media--end { margin-right:auto; margin-left:0; }
.roma-rich-media img,.roma-rich-media video {
  width:100%;
  max-height:620px;
  display:block;
  object-fit:contain;
  border:1px solid #d5e8e6;
  border-radius:16px;
  background:#f5fbfa;
  box-shadow:0 14px 35px rgb(15 23 42 / 8%);
}
.roma-rich-media figcaption {
  padding:9px 12px 0;
  color:#64748b;
  font-size:12px;
  line-height:1.8;
  text-align:center;
}

/* implant */
.implant-landing-hero { min-height:340px; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); align-items:stretch; }
.implant-landing-hero img { width:100%; min-height:340px; height:100%; object-fit:cover; }
.implant-landing-hero > div { min-width:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:28px clamp(28px,5vw,70px) 28px 32px; }
.implant-landing-hero h1 { margin:0; font-size:clamp(34px,3.1vw,45px); line-height:1.3; }
.implant-landing-hero h2 { margin:9px 0 0; color:var(--teal-dark); font-size:clamp(18px,1.6vw,23px); line-height:1.65; }
.implant-landing-hero p { margin:14px 0 0; max-width:55ch; line-height:1.9; }
.implant-landing-hero .button-row { margin-top:18px; gap:12px; }
.implant-stats { min-height:96px; display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); align-items:stretch; gap:10px; padding:10px clamp(14px,3vw,36px); border-bottom:1px solid var(--line); }
.implant-stats > div { min-width:0; display:grid; grid-template-columns:46px minmax(0,1fr); align-content:center; padding:10px 14px; border:1px solid #d7e7e7; border-radius:13px; background:#fbfefe; }
.implant-stats .line-icon { grid-row:1/3; }
.implant-stats b { color:var(--teal-dark); }

@media (min-width:761px) and (max-width:1050px) {
  .implant-landing-hero { min-height:360px; }
  .implant-landing-hero img { min-height:360px; }
  .implant-landing-hero > div { padding:24px 30px; }
  .implant-landing-hero .button-row { gap:8px; }
  .implant-landing-hero .btn { padding-inline:15px; }
}

.service-benefits li { display:flex; align-items:flex-start; gap:10px; }
.service-benefits .line-icon { flex:0 0 auto; margin-top:2px; font-size:21px; }
.implant-what { display:grid; grid-template-columns:minmax(260px,35%) minmax(0,65%); align-items:start; gap:42px; padding:36px clamp(42px,6vw,82px); }
.implant-what > picture.responsive-picture { position:sticky; top:18px; display:block; width:100%; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#f5f9f8; box-shadow:var(--shadow); }
.implant-what img { display:block; width:100%; height:360px; object-fit:cover; }
.service-article-copy { min-width:0; }
.service-article-copy__eyebrow { display:block; margin-bottom:5px; color:var(--teal-dark); font-size:12px; font-weight:800; }
.service-article-copy > h2 { margin:0 0 16px; font-size:30px; line-height:1.55; }
.implant-what .rich-content p { margin:0 0 15px; color:#35494c; font-size:15px; line-height:2.1; }
.implant-what .rich-content h3 { margin:30px 0 9px; padding-right:14px; border-right:3px solid var(--teal); color:var(--teal-dark); font-size:21px; line-height:1.7; }
.implant-what .rich-content h3:first-child { margin-top:16px; }
.implant-what .rich-content ul { margin:8px 0 18px; padding-right:23px; }
.implant-what .rich-content li { margin-bottom:7px; color:#35494c; font-size:14px; line-height:1.95; }
.implant-steps { display:grid; grid-template-columns:repeat(4,1fr); padding:0 80px 18px; gap:45px; }
.implant-steps > div { text-align:center; position:relative; }
.implant-steps img { width:100%; height:95px; object-fit:cover; border-radius:9px; }
.implant-steps b { position:absolute; top:0; right:0; width:25px; height:25px; display:grid; place-items:center; color:#fff; background:var(--teal-dark); border-radius:50%; }
.implant-steps h3 { font-size:15px; }
.two-cols { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:10px 70px 20px; border-top:1px solid var(--line); }
.two-cols section { padding:5px 30px; }
.two-cols li { line-height:2; font-size:14px; }
.mini-cta { margin:0 45px 24px; min-height:145px; border:1px solid var(--line); border-radius:17px; overflow:hidden; display:grid; grid-template-columns:35% 65%; align-items:center; }
.mini-cta img { width:100%; height:145px; object-fit:cover; }
.mini-cta > div { padding:20px 55px; display:flex; justify-content:space-between; align-items:center; }

/* service table of contents */
.service-content-layout {
  direction:ltr;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,250px);
  align-items:start;
  gap:24px;
  padding:32px clamp(24px,3.2vw,46px) 0;
}
.service-content-main,
.service-content-sidebar,
.service-toc {
  direction:rtl;
  min-width:0;
}
.service-content-main .implant-what {
  display:block;
  padding:0 0 36px;
}
.service-about-mobile-media {
  display:none;
}
.service-content-main .implant-steps {
  gap:18px;
  padding:0 0 22px;
}
.service-treatment-timeline {
  position:relative;
  margin:8px 0 34px;
  padding:2px 0;
  list-style:none;
}
.service-treatment-timeline::before {
  content:"";
  position:absolute;
  z-index:0;
  top:24px;
  right:23px;
  bottom:24px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--teal),#b9dddc);
}
.service-treatment-timeline > li {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:start;
  gap:18px;
  margin:0;
  padding:0 0 18px;
}
.service-treatment-timeline > li:last-child {
  padding-bottom:0;
}
.service-treatment-timeline__number {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:5px solid #fff;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,var(--teal),var(--teal-dark));
  box-shadow:0 7px 18px rgba(0,95,99,.19);
  font-size:15px;
  font-weight:800;
}
.service-treatment-timeline__content {
  min-width:0;
  padding:15px 20px 16px;
  border:1px solid #dceaea;
  border-radius:15px;
  background:linear-gradient(135deg,#fff,#f8fbfb);
  box-shadow:0 7px 22px rgba(20,48,51,.055);
}
.service-treatment-timeline__content h3 {
  margin:0;
  color:var(--teal-dark);
  font-size:17px;
  line-height:1.75;
}
.service-treatment-timeline__content p {
  margin:7px 0 0;
  color:#4c5f62;
  font-size:14px;
  line-height:1.95;
}
.service-content-main .two-cols {
  padding:14px 0 24px;
}
.service-content-main .two-cols section {
  padding:12px 20px;
}
.service-content-main #service-faq {
  margin:42px 18px 48px;
}
.service-content-main #service-faq .section-title {
  margin-top:0;
  margin-bottom:24px;
}
.service-content-main .mini-cta {
  margin:4px 0 24px;
  min-height:260px;
  align-items:stretch;
}
.service-content-main .mini-cta > picture.responsive-picture {
  display:block;
  width:100%;
  height:260px;
  overflow:hidden;
  background:#f2f7f6;
}
.service-content-main .mini-cta > picture.responsive-picture img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 18%;
}
.service-content-main .mini-cta > div {
  padding-inline:28px;
}
.service-content-anchor {
  scroll-margin-top:108px;
}
.service-content-sidebar {
  position:sticky;
  top:94px;
  z-index:3;
  max-height:calc(100dvh - 112px);
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:16px;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.service-toc {
  gap:8px;
  padding:18px;
  border-color:#cfe4e2;
  background:linear-gradient(145deg,#f4fbfa,#fff 74%);
  box-shadow:0 14px 38px rgb(13 72 73 / 10%);
}
.service-sidebar-media {
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f5f9f8;
  box-shadow:var(--shadow);
}
.service-sidebar-media picture,
.service-sidebar-media img {
  display:block;
  width:100%;
}
.service-sidebar-media img {
  height:320px;
  object-fit:cover;
}
.service-toc__eyebrow {
  color:var(--teal-dark);
  font-size:11px;
  font-weight:800;
}
.service-toc h2 {
  margin:0 0 6px;
  font-size:20px;
}
.service-toc nav {
  display:flex;
  flex-direction:column;
  gap:5px;
}
.service-toc nav a {
  min-height:46px;
  display:flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid transparent;
  border-right:3px solid var(--teal);
  border-radius:10px;
  background:rgb(255 255 255 / 72%);
  color:#33484a;
  font-size:13px;
  font-weight:700;
  line-height:1.7;
  transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease;
}
.service-toc nav a:hover,
.service-toc nav a:focus-visible {
  border-color:#b9ddda;
  background:#eaf8f6;
  color:var(--teal-dark);
  transform:translateX(-2px);
}

/* privacy */
.privacy-hero { min-height:335px; display:grid; grid-template-columns:55% 45%; margin:0 36px; }
.privacy-hero > div { padding:40px 75px; }
.privacy-hero h1 { font-size:45px; margin-top:28px; }
.privacy-hero .title-mark { margin:14px 0; }
.privacy-hero p { max-width:470px; }
.privacy-hero a { color:var(--teal-dark); font-size:18px; }
.privacy-hero img { width:100%; height:335px; object-fit:cover; }
.privacy-layout { display:grid; grid-template-columns:28% 72%; gap:45px; padding:25px 36px 35px; border-top:1px solid var(--line); }
.privacy-layout aside { border-left:1px solid var(--line); padding-left:28px; }
.privacy-layout aside > a { display:flex; gap:20px; padding:10px 0; font-size:13px; }
.privacy-layout aside > a:first-of-type { color:var(--teal-dark); font-weight:600; }
.privacy-summary { margin-top:25px; padding:16px; border:1px solid #b8dcdd; background:#f2f9f9; border-radius:10px; }
.privacy-summary h3 { color:var(--teal-dark); font-size:16px; }
.privacy-summary p { font-size:11px; }
.privacy-layout article section { position:relative; padding:5px 55px 16px 0; border-bottom:1px solid var(--line); }
.privacy-layout article section > b { position:absolute; right:0; top:9px; color:var(--teal); }
.privacy-layout article section h2 { font-size:20px; margin:0 0 6px; }
.privacy-layout article section p { font-size:13px; margin:0; line-height:1.9; }

/* gallery and virtual tour */
.visual-gallery-hero,.before-after-hero { min-height:305px; display:grid; grid-template-columns:54% 46%; direction:ltr; background:linear-gradient(90deg,#f5f4f1,#fff); }
.visual-gallery-hero img,.before-after-hero img { width:100%; height:305px; object-fit:cover; }
.visual-gallery-hero > div,.before-after-hero > div { direction:rtl; padding:45px 54px 35px 38px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.visual-gallery-hero p,.before-after-hero p { max-width:440px; margin:0; font-size:15px; }
.tour-section { padding:30px 38px 24px; background:linear-gradient(180deg,#fff,#fbfdfd); }
.tour-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:35px; margin-bottom:18px; }
.tour-section-head > div > span,.gallery-heading-row > div > span { color:var(--teal-dark); font-size:12px; font-weight:700; }
.tour-section-head h2,.gallery-heading-row h2 { margin:3px 0 0; font-size:27px; }
.tour-section-head p { max-width:520px; margin:0; font-size:12px; text-align:left; }
.tour-stage { border:1px solid #dfe7e7; border-radius:19px; overflow:hidden; box-shadow:var(--shadow); background:#fff; }
.tour-panorama { height:390px; position:relative; overflow:hidden; background-size:132% auto; background-position:50% center; background-repeat:no-repeat; cursor:grab; touch-action:pan-y; user-select:none; }
.tour-panorama.dragging { cursor:grabbing; }
.tour-panorama:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.03),transparent 55%,rgba(0,0,0,.26)); }
.tour-drag-cue { position:absolute; z-index:2; top:50%; left:50%; transform:translate(-50%,-50%); width:94px; height:94px; border:3px solid rgba(255,255,255,.9); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:rgba(16,52,54,.32); text-shadow:0 1px 5px rgba(0,0,0,.35); pointer-events:none; }
.tour-drag-cue b { font-size:24px; line-height:1; }
.tour-drag-cue span { font-size:27px; line-height:1; }
.tour-hotspot { position:absolute; z-index:3; transform:translate(-50%,-50%); border:0; background:transparent; color:#fff; display:flex; flex-direction:column; align-items:center; gap:5px; filter:drop-shadow(0 2px 4px rgba(0,0,0,.28)); }
.tour-hotspot > span { width:30px; height:30px; display:flex; align-items:center; justify-content:center; border:3px solid #fff; border-radius:50%; background:var(--teal); box-shadow:0 0 0 4px rgba(0,135,140,.25); animation:tour-pulse 2.4s infinite; }
.tour-hotspot .roma-content-icon { width:14px; height:14px; }
.tour-hotspot b { padding:4px 8px; border-radius:8px; background:rgba(0,44,46,.68); font-size:10px; white-space:nowrap; }
@keyframes tour-pulse { 50% { box-shadow:0 0 0 9px rgba(0,135,140,.08); } }
.tour-controls { position:absolute; z-index:4; left:14px; bottom:14px; display:flex; overflow:hidden; border:1px solid rgba(255,255,255,.65); border-radius:11px; background:rgba(0,32,34,.58); backdrop-filter:blur(4px); }
.tour-controls button { width:38px; height:36px; border:0; border-left:1px solid rgba(255,255,255,.25); color:#fff; background:transparent; font-size:20px; }
.tour-controls button:last-child { border:0; }
.tour-caption { min-height:74px; padding:13px 18px; display:grid; grid-template-columns:190px 1fr; align-items:center; gap:15px; border-top:1px solid var(--line); }
.tour-caption span { color:var(--teal-dark); font-size:10px; }
.tour-caption h3 { margin:0; font-size:18px; }
.tour-caption p { margin:0; font-size:11px; }
.tour-scene-tabs { margin-top:13px; display:flex; justify-content:center; gap:9px; }
.tour-scene-tabs button { min-width:155px; padding:5px 6px 5px 12px; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:12px; background:#fff; color:#232829; }
.tour-scene-tabs button.active { color:var(--teal-dark); border-color:#80c1c3; box-shadow:0 3px 10px rgba(0,135,140,.12); }
.tour-scene-tabs img { width:46px; height:35px; object-fit:cover; border-radius:8px; }
.clinic-gallery-section { padding:22px 38px 28px; }
.gallery-heading-row { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:15px; }
.gallery-filter-select,.before-after-filter-select { display:none; }
.gallery-tabs,.before-after-tabs { width:100%; margin-bottom:17px; }
.gallery-tabs button,.before-after-tabs button { flex:0 0 auto; }
.clinic-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:182px; gap:12px; }
.clinic-gallery-grid figure { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }
.clinic-gallery-grid figure:first-child { grid-column:span 2; }
.clinic-gallery-grid figure:nth-child(5) { grid-column:span 2; }
.clinic-gallery-grid button { width:100%; height:100%; padding:0; position:relative; overflow:hidden; border:0; background:#edf3f3; text-align:right; }
.clinic-gallery-grid img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.clinic-gallery-grid button:hover img { transform:scale(1.035); }
.clinic-gallery-grid .gallery-card-caption { position:absolute; z-index:2; right:0; left:0; bottom:0; padding:34px 14px 11px; display:flex; flex-direction:column; color:#fff; background:linear-gradient(transparent,rgba(0,36,38,.82)); }
.clinic-gallery-grid .gallery-card-caption small { font-size:9px; opacity:.8; }
.clinic-gallery-grid .gallery-card-caption b { font-size:14px; }
.gallery-open-icon { position:absolute; z-index:3; top:11px; left:11px; width:30px; height:30px; display:flex; align-items:center; justify-content:center; color:var(--teal-dark); background:rgba(255,255,255,.9); border-radius:50%; }
.gallery-final-cta,.before-after-cta { margin:5px 38px 25px; min-height:155px; display:grid; grid-template-columns:44% 56%; direction:ltr; overflow:hidden; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); background:#fff; }
.gallery-final-cta img,.before-after-cta img { width:100%; height:155px; object-fit:cover; }
.gallery-final-cta > div,.before-after-cta > div { direction:rtl; padding:20px 30px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.gallery-final-cta h2,.before-after-cta h2 { font-size:22px; margin-bottom:4px; }
.gallery-final-cta p,.before-after-cta p { margin:0 0 8px; font-size:11px; }
.gallery-final-cta .btn,.before-after-cta .btn { min-height:38px; padding:7px 18px; font-size:12px; }
.gallery-lightbox { position:fixed; z-index:100; inset:0; padding:34px; display:flex; align-items:center; justify-content:center; background:rgba(5,25,27,.78); backdrop-filter:blur(5px); }
.gallery-lightbox > div { width:min(930px,92vw); overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 20px 70px rgba(0,0,0,.35); }
.gallery-lightbox img { width:100%; max-height:72vh; display:block; object-fit:contain; background:#eef3f3; }
.gallery-lightbox section { padding:15px 20px; }
.gallery-lightbox h3 { margin:0 0 3px; }
.gallery-lightbox p { margin:0; font-size:12px; }
.gallery-lightbox-close { position:fixed; z-index:2; top:18px; left:22px; width:42px; height:42px; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:#fff; background:rgba(0,0,0,.35); font-size:28px; }

/* before and after */
.before-after-tabs { width:calc(100% - 150px); margin:16px auto 12px; }
.featured-case { min-height:310px; margin:0 38px 20px; display:grid; grid-template-columns:34% 66%; direction:rtl; overflow:hidden; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); background:#fff; }
.featured-case-info { padding:28px 27px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.featured-case-info h2 { margin:8px 0 6px; font-size:25px; }
.featured-case-info p { font-size:12px; margin-bottom:10px; }
.featured-case-info a { color:var(--action-color); font-size:12px; font-weight:700; margin-top:12px; }
.case-duration { display:flex; align-items:center; gap:7px; color:#4a5356; font-size:11px; }
.ba-comparison { --compare-position:50%; position:relative; min-height:205px; overflow:hidden; direction:ltr; background:#e7eeee; isolation:isolate; }
.featured-comparison { min-height:310px; }
.ba-comparison img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; }
.ba-before-image { z-index:2; clip-path:inset(0 calc(100% - var(--compare-position)) 0 0); }
.ba-divider { position:absolute; z-index:3; top:0; bottom:0; left:var(--compare-position); width:2px; transform:translateX(-1px); background:#fff; box-shadow:0 0 0 1px rgba(0,0,0,.08); pointer-events:none; }
.ba-handle { position:absolute; z-index:4; top:50%; left:var(--compare-position); width:42px; height:42px; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; border:3px solid #fff; border-radius:50%; color:var(--teal-dark); background:#fff; box-shadow:0 3px 14px rgba(0,0,0,.25); font-size:17px; pointer-events:none; }
.ba-comparison input { position:absolute; z-index:5; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize; }
.ba-label { position:absolute; z-index:4; bottom:10px; padding:4px 10px; border-radius:8px; color:#fff; font-size:10px; pointer-events:none; }
.before-label { left:10px; background:rgba(31,40,42,.8); }
.after-label { right:10px; background:rgba(0,135,140,.88); }
.before-after-grid { padding:0 38px 22px; display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.before-after-grid article { overflow:hidden; display:grid; grid-template-columns:52% 48%; direction:ltr; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); background:#fff; }
.before-after-grid article > div:last-child { direction:rtl; padding:15px 16px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.before-after-grid h3 { font-size:17px; margin:6px 0 4px; }
.before-after-grid p { margin:0; font-size:10px; line-height:1.7; }
.before-after-grid small { margin-top:6px; color:#667072; font-size:9px; }
.before-after-grid .ba-comparison { min-height:185px; }
.tag { display:inline-flex; align-items:center; min-height:23px; padding:3px 10px; border-radius:20px; color:var(--teal-dark); background:#e9f6f6; font-size:10px; }
.result-disclaimer { margin:0 38px 18px; padding:15px 22px; display:grid; grid-template-columns:65px 1fr; align-items:center; border:1px solid #a9d5d6; border-radius:15px; background:#f2fafa; }
.result-disclaimer .line-icon { font-size:46px; }
.result-disclaimer h2 { margin:0 0 3px; color:var(--teal-dark); font-size:16px; }
.result-disclaimer p { margin:0; font-size:10px; }

@media (max-width:700px) {
  html,body { min-width:0; overflow-x:clip; }
  .site-shell { width:calc(100% - 10px); max-width:390px; margin:5px auto; border-radius:22px; min-height:calc(100vh - 10px); padding-bottom:70px; }
  .header { height:65px; padding:0 14px; grid-template-columns:44px minmax(0,1fr) 92px; gap:8px; direction:ltr; }
  .header > .btn-red,.desktop-nav,.header-search { display:none; }
  .logo-wrap { grid-column:3; grid-row:1; width:92px; height:62px; justify-self:end; }
  .logo-wrap img { width:74px; }
  .mobile-header-search { grid-column:2; grid-row:1; width:100%; min-width:0; height:44px; padding:0 12px; display:flex; align-items:center; justify-content:flex-start; gap:8px; overflow:hidden; border:1px solid #cfe0df; border-radius:11px; background:#f8fbfb; color:#56676a; direction:rtl; }
  .mobile-header-search__icon { flex:0 0 auto; width:18px; height:18px; fill:none; stroke:var(--teal-dark); stroke-width:1.8; stroke-linecap:round; }
  .mobile-header-search span:last-child { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
  .menu-button { display:flex; grid-column:1; grid-row:1; }
  .mobile-menu { position:absolute; z-index:20; left:10px; right:10px; top:65px; display:grid; grid-template-columns:1fr 1fr; padding:12px; gap:5px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); border-radius:0 0 14px 14px; }
  .mobile-menu a { padding:8px 10px; border-radius:7px; background:#f7f9f9; font-size:13px; }
  .theme-warm-gold .mobile-menu a.active { color:var(--action-color); background:#fff9ec; box-shadow:inset -3px 0 var(--action-color); }
  .mobile-sticky { display:grid; grid-template-columns:auto 1fr; gap:7px; position:fixed; z-index:15; bottom:7px; width:min(calc(100% - 22px),372px); left:50%; transform:translateX(-50%); }
  .mobile-sticky .btn { width:100%; min-height:51px; border-radius:12px; }
  h1 { font-size:28px; }
  h2 { font-size:20px; }
  p { font-size:13px; line-height:1.9; }
  .section-title { font-size:20px; margin:18px 12px; gap:10px; }
  .search-box { height:44px; }
  .line-icon { font-size:25px; }

  .home-hero { display:flex; flex-direction:column; min-height:0; }
  .home-hero img,.home-hero > picture > img { height:195px; object-position:52% center; }
  .home-hero > div { padding:20px 20px 18px; align-items:center; text-align:center; }
  .home-hero h1 { font-size:33px; margin:8px 0; }
  .home-hero p { font-size:12px; }
  .home-hero .button-row { width:100%; flex-direction:column; gap:7px; }
  .home-hero .btn { width:100%; min-height:44px; }
  .home-trust { grid-template-columns:1fr 1fr; padding:8px; }
  .home-trust > div { min-height:64px; padding:8px; border-left:1px solid #c2dddd; border-bottom:1px solid #e6eeee; }
  .home-trust > div:nth-child(2) { border-left:0; }
  .home-trust > div:nth-child(n+3) { border-bottom:0; }
  .home-section,.home-magazine { padding:20px 8px 12px; }
  .home-section-head { margin:0 6px 12px; align-items:center; }
  .home-section-head h2 { font-size:20px; }
  .home-section-head > a { font-size:10px; }
  .home-service-grid { display:flex; flex-direction:column; gap:8px; }
  .home-service-grid article { min-height:105px; grid-template-columns:42% 58%; border-radius:12px; }
  .home-service-grid article:nth-child(n+4) { display:none; }
  .home-service-grid article > div { padding:10px 12px; }
  .home-service-grid h3 { font-size:16px; }
  .home-service-grid p { font-size:10px; }
  .home-team-feature { margin:10px 8px 15px; display:flex; flex-direction:column; }
  .home-team-images { height:185px; }
  .home-team-images img { height:185px; }
  .home-team-feature > div:last-child { padding:16px 18px; text-align:center; align-items:center; }
  .home-team-feature h2 { font-size:21px; }
  .home-why { padding:0 8px 14px; }
  .home-why article { padding:12px 5px; }
  .home-why h3 { font-size:12px; }
  .home-why p { display:none; }
  .home-article-grid { display:flex; flex-direction:column; }
  .home-article-grid article { min-height:105px; display:grid; grid-template-columns:42% 58%; direction:ltr; }
  .home-article-grid article:nth-child(3) { display:none; }
  .home-article-grid img { height:105px; }
  .home-article-grid article > div { direction:rtl; }
  .home-final-cta { margin:14px 8px; display:flex; flex-direction:column; }
  .home-final-cta img { height:145px; }
  .home-final-cta > div { padding:18px; text-align:center; align-items:center; }
  .home-final-cta h2 { font-size:20px; }
  .home-final-cta .button-row { justify-content:center; }

  .services-hero { height:auto; display:flex; flex-direction:column; }
  .services-hero img { height:145px; object-fit:cover; }
  .services-hero > div { padding:18px 0 5px; }
  .services-hero h1 { font-size:27px; }
  .services-hero + .search-box { width:calc(100% - 22px); margin:7px auto 12px; }
  .service-tabs { width:calc(100% - 16px); margin:0 auto 12px; border-radius:12px; }
  .service-tabs button { min-width:max-content; padding:0 14px; flex-direction:row; gap:6px; font-size:12px; }
  .service-grid { display:flex; flex-direction:column; padding:0 8px 14px; gap:8px; }
  .service-card { height:92px; grid-template-columns:44% 56%; border-radius:12px; }
  .service-card > div { padding:12px 18px; }
  .service-card h3 { font-size:18px; margin-bottom:5px; }
  .service-card a { font-size:12px; }
  .wide-cta { display:none; }

  .magazine-hero { display:flex; flex-direction:column; min-height:0; }
  .magazine-hero img { height:160px; }
  .magazine-hero > div { padding:18px 14px 12px; }
  .magazine-hero h1 { font-size:28px; }
  .magazine-hero p { font-size:13px; }
  .magazine-hero .title-mark { margin:8px auto; }
  .category-bar { margin:0 8px 12px; min-height:48px; justify-content:flex-start; border:1px solid var(--line); border-radius:9px; padding:0 4px; }
  .category-bar button,.category-bar button:last-child { display:flex; width:auto; min-height:44px; padding:0 13px; justify-content:center; font-size:12px; }
  .magazine-leads { margin:0 8px 8px; display:flex; flex-direction:column; min-height:0; gap:7px; }
  .featured-article { margin:0; display:flex; flex-direction:column; min-height:0; border-radius:11px; }
  .featured-article img { height:137px; }
  .featured-article > div { padding:9px 12px; align-items:flex-start; }
  .featured-article h2 { font-size:16px; margin:5px 0; }
  .featured-article p { display:none; }
  .featured-article a { font-size:12px; margin-top:5px; }
  .side-articles { display:flex; flex-direction:column; gap:7px; }
  .side-articles .article-card { min-height:94px; grid-template-columns:43% 57%; }
  .fresh-heading { margin:8px 12px; font-size:16px; text-align:center; }
  .article-grid { display:flex; flex-direction:column; padding:0 8px 10px; gap:7px; }
  .article-card { min-height:94px; grid-template-columns:43% 57%; }
  .article-card h3 { font-size:13px; line-height:1.55; }
  .article-card:nth-child(n+4) { display:none; }
  .popular { margin:0 8px 10px; display:block; padding:10px; }
  .popular span { display:none; }

  .doctor-hero { display:flex; flex-direction:column; min-height:0; }
  .doctor-hero img { height:225px; object-position:center 15%; }
  .doctor-hero > div { padding:14px 22px 16px; text-align:center; }
  .doctor-hero h1 { font-size:29px; }
  .doctor-hero h2 { font-size:17px; }
  .doctor-hero ul { text-align:right; font-size:12px; line-height:2; }
  .doctor-hero .button-row { flex-direction:column; gap:7px; }
  .doctor-hero .btn { width:100%; min-height:38px; }
  .doctor-about { margin:8px; padding:13px; grid-template-columns:1fr 65px; }
  .doctor-about h2 { font-size:17px; }
  .doctor-about p { font-size:10px; }
  .plant-art { font-size:65px; }
  .timeline { padding:0 16px 12px; gap:10px; }
  .timeline span { font-size:10px; }
  .doctor-services { grid-template-columns:1fr; gap:10px; padding:0 8px 12px; margin:0; }
  .doctor-services article { min-height:160px; grid-template-columns:110px minmax(0,1fr); border:1px solid var(--line); border-radius:13px; }
  .doctor-service-media .responsive-picture { height:100%; }
  .doctor-services img { width:100%; height:100%; min-height:160px; }
  .doctor-service-content { padding:12px; }
  .doctor-services h3 { width:100%; margin:0 0 5px; font-size:15px; }
  .doctor-services p { display:block; width:100%; margin:0 0 9px; font-size:12px; line-height:1.75; }
  .doctor-services a { display:flex; }

  .contact-hero { height:auto; margin:0; display:flex; flex-direction:column-reverse; }
  .contact-hero img { height:180px; }
  .contact-hero > div { padding:16px 18px 12px; }
  .contact-hero h1 { font-size:27px; }
  .quick-contact { display:flex; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0 14px; }
  .quick-contact a { flex:1; padding:13px 4px; text-align:center; font-size:11px; border-left:1px solid var(--line); color:var(--teal-dark); }
  .contact-body { display:block; padding:10px 14px 0; border:0; }
  .map-card { display:none; }
  .contact-details { gap:8px; }
  .contact-info-card { grid-template-columns:44px minmax(0,1fr); gap:11px; padding:13px 12px 13px 14px; border-radius:13px; }
  .contact-info-icon { width:42px; height:42px; border-radius:12px; }
  .contact-info-icon svg { width:23px; height:23px; }
  .contact-info-icon .roma-content-icon { width:23px; height:23px; }
  .contact-info-content > small { font-size:11px; }
  .contact-info-content h3 { font-size:20px; }
  .contact-info-content p { font-size:13px; }
  .contact-inline-link { font-size:12px; }
  .contact-phone-list span { font-size:11px; }
  .contact-phone-list b { font-size:13px; }
  .contact-phone-list a { min-width:120px; }
  .working-hours-list { gap:5px; }
  .working-hours-list > div { min-height:32px; padding:5px 7px; font-size:11px; }
  .access-grid { padding:0 14px 12px; }
  .access-grid > div { padding:6px 8px; }
  .access-grid p { display:none; }
  .access-grid h3 { font-size:11px; }
  .contact-form { grid-template-columns:1fr; margin:0 14px 18px; padding:14px; gap:8px; }
  .contact-form textarea,.contact-form button { grid-column:auto; }
  .contact-form button { width:100%; }

  .notfound { display:flex; flex-direction:column; min-height:0; }
  .notfound img { height:280px; object-position:left center; }
  .notfound > div { padding:28px 14px 20px; }
  .four { font-size:70px; }
  .notfound h1 { font-size:25px; margin-top:12px; }
  .notfound-links { grid-template-columns:1fr 1fr; margin:24px 0; }
  .notfound-links a { font-size:34px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); padding:10px; }
  .clinic-call { padding:22px 35px; }

  .team-hero { height:auto; display:flex; flex-direction:column-reverse; }
  .team-hero img { height:210px; }
  .team-hero > div { padding:10px 15px 15px; }
  .team-hero h1 { font-size:29px; margin-bottom:5px; }
  .team-hero p { font-size:13px; }
  .team-tabs { width:100%; margin:8px 0 10px; border-radius:0; overflow:auto; padding:8px 5px; }
  .team-tabs button { min-width:58px; font-size:10px; }
  .doctor-grid { display:block; padding:0 28px 16px; }
  .doctor-grid article { border-radius:65px 65px 20px 20px; }
  .doctor-grid article:not(:first-child) { display:none; }
  .doctor-grid img { height:320px; }
  .value-strip { display:none; }

  .faq-hero { display:flex; flex-direction:column; min-height:0; }
  .faq-hero img { height:180px; }
  .faq-hero > div { padding:12px 12px 10px; }
  .faq-hero h1 { font-size:28px; }
  .faq-hero p { margin-bottom:8px; }
  .faq-hero .search-box { margin-top:8px; }
  .faq-cats { margin:8px; }
  .faq-cats button:first-child { display:flex; width:auto; justify-content:center; }
  .faq-body { display:flex; flex-direction:column-reverse; padding:0 8px 15px; gap:10px; }
  .accordion { gap:5px; }
  .accordion-item button { min-height:54px; padding:9px 13px; gap:12px; font-size:15px; }
  .accordion-marker { flex-basis:32px; width:32px; height:32px; }
  .help-card { padding:16px 14px; gap:7px; }
  .help-card h2 { margin:0; }

  .appointment-header { grid-template-columns:45px 1fr; }
  .appointment-header .back-link { display:none; }
  .appointment-header .logo-wrap { order:initial; }
  .appointment-layout { display:block; min-height:0; }
  .appointment-layout img { display:none; }
  .appointment-form-wrap { padding:26px 14px 16px; }
  .appointment-form-wrap > h1 { font-size:28px; }
  .appointment-form-wrap > p { font-size:12px; }
  .steps { margin:22px 0 28px; }
  .steps span { font-size:10px; }
  .appointment-form { grid-template-columns:1fr; gap:14px; }
  .appointment-form .full { grid-column:auto; }
  .appointment-form .desktop-step-field { display:none; }
  .appointment-form .jalali-field { display:flex; }
  .desktop-submit-label { display:none; }
  .mobile-submit-label { display:inline; }
  .jalali-calendar { width:100%; top:74px; }
  .jalali-days button,.jalali-days .empty-day { width:100%; }
  .appointment-form label { font-size:13px; }
  .appointment-benefits { min-height:110px; padding:0 8px; }
  .appointment-benefits div { flex-direction:column; gap:5px; text-align:center; font-size:10px; }
  .success-card { padding:40px 10px; }

  .about-hero { height:auto; display:flex; flex-direction:column; }
  .about-hero img { height:180px; }
  .about-hero > div { padding:15px 20px; text-align:center; }
  .about-hero h1 { font-size:27px; }
  .about-hero p { font-size:12px; }
  .story-line { display:flex; flex-direction:column; gap:18px; padding:8px 35px 20px; margin:0 12px; border:1px solid var(--line); border-radius:17px; }
  .story-line:before { content:""; position:absolute; }
  .why-grid { padding:5px 8px 18px; }
  .why-grid > div { padding:6px; text-align:center; }
  .why-grid .line-icon { float:none; margin:0; }
  .why-grid h3 { font-size:12px; }
  .why-grid p { display:none; }
  .equipment-grid { padding:5px 8px 15px; }
  .equipment-grid > div { padding:6px; text-align:center; }
  .equipment-grid .line-icon { float:none; margin:0; }
  .equipment-grid h3 { font-size:10px; }
  .equipment-grid p { display:none; }

  .breadcrumbs { padding:10px 14px; overflow:hidden; white-space:nowrap; }
  .article-head { display:flex; flex-direction:column; padding:0 10px 12px; gap:12px; }
  .article-head img { height:155px; }
  .article-head > div { text-align:center; }
  .article-head h1 { font-size:26px; margin:8px 0; }
  .article-head p { font-size:12px; }
  .article-meta { margin:0 8px; padding:10px 4px; gap:3px; font-size:9px; }
  .article-share{width:100%;justify-content:center;margin:7px 0 0;flex-wrap:wrap}
  .public-search-head{padding:25px 12px 18px}.public-search-head h1{font-size:25px}.public-search-head form{display:flex;flex-direction:column}.public-search-results{padding:12px 8px 25px}.public-search-grid{display:flex;flex-direction:column}.public-search-grid article{grid-template-columns:35% 65%;min-height:125px}.public-search-grid article>div{padding:10px}.public-search-grid p{display:none}
  .article-layout { display:block; padding:8px 12px 18px; }
  .toc { margin-bottom:12px; }
  .article-content { display:flex; flex-direction:column; }
  .article-content > .section-title:first-child { order:-3; }
  .content-with-image { display:flex; flex-direction:column-reverse; gap:8px; }
  .toc { display:none; }

  .implant-landing-hero { display:flex; flex-direction:column; height:auto; }
  .implant-landing-hero img { min-height:170px; height:170px; }
  .implant-landing-hero > div { align-items:center; padding:14px 14px 18px; text-align:center; }
  .implant-landing-hero h1 { font-size:30px; }
  .implant-landing-hero h2 { font-size:18px; }
  .implant-landing-hero .button-row { flex-direction:column-reverse; gap:7px; }
  .implant-landing-hero .btn { width:100%; }
  .implant-stats { min-height:95px; }
  .implant-stats > div { display:flex; flex-direction:column; padding:5px 4px; text-align:center; font-size:9px; }
  .implant-stats > div .line-icon { font-size:23px; }
  .implant-what { display:none; }
  .implant-steps,.two-cols { display:none; }
  .implant-landing-hero ~ .section-title { display:none; }
  .mini-cta { margin:14px 10px; grid-template-columns:42% 58%; min-height:170px; }
  .mini-cta img { height:170px; }
  .mini-cta > div { padding:10px; display:block; }
  .mini-cta h2 { font-size:16px; }
  .mini-cta .btn { font-size:11px; padding:6px 10px; }

  .privacy-hero { min-height:0; display:flex; flex-direction:column; margin:0; }
  .privacy-hero > div { padding:28px 24px 8px; text-align:center; }
  .privacy-hero h1 { font-size:32px; margin-top:20px; }
  .privacy-hero .title-mark { margin:12px auto; }
  .privacy-hero img { height:210px; }
  .privacy-layout { display:flex; flex-direction:column; padding:0; gap:0; border:0; }
  .privacy-layout aside { border:0; padding:0 10px; }
  .privacy-layout aside h3 { padding:12px 5px; border-bottom:1px solid var(--line); }
  .privacy-layout aside > a { min-height:57px; align-items:center; border-bottom:1px solid var(--line); font-weight:600; color:#111!important; }
  .privacy-layout aside > a span { flex:1; }
  .privacy-summary { margin:12px 0; }
  .privacy-layout article { display:none; }

  .visual-gallery-hero,.before-after-hero { display:flex; flex-direction:column; min-height:0; }
  .visual-gallery-hero img,.before-after-hero img { height:165px; }
  .visual-gallery-hero > div,.before-after-hero > div { padding:18px 16px 14px; }
  .visual-gallery-hero h1,.before-after-hero h1 { font-size:28px; }
  .visual-gallery-hero p,.before-after-hero p { font-size:11px; }
  .tour-section { padding:18px 8px 14px; }
  .tour-section-head { display:block; text-align:center; margin:0 8px 12px; }
  .tour-section-head h2 { font-size:21px; }
  .tour-section-head p { display:none; }
  .tour-stage { border-radius:13px; }
  .tour-panorama { height:240px; background-size:auto 100%; }
  .tour-drag-cue { width:66px; height:66px; }
  .tour-drag-cue b { font-size:17px; }
  .tour-drag-cue span { font-size:20px; }
  .tour-hotspot > span { width:24px; height:24px; border-width:2px; }
  .tour-hotspot b { display:none; }
  .tour-controls { left:8px; bottom:8px; }
  .tour-controls button { width:33px; height:31px; }
  .tour-caption { min-height:62px; padding:9px 11px; grid-template-columns:110px 1fr; gap:8px; }
  .tour-caption h3 { font-size:14px; }
  .tour-caption p { font-size:8px; line-height:1.6; }
  .tour-scene-tabs { justify-content:flex-start; overflow:auto; padding:0 2px 4px; }
  .tour-scene-tabs button { min-width:135px; flex:none; font-size:10px; }
  .clinic-gallery-section { padding:12px 8px 18px; }
  .gallery-heading-row { margin:0 5px 10px; align-items:center; }
  .gallery-heading-row h2 { font-size:20px; }
  .gallery-heading-row > div > span { font-size:9px; }
  .gallery-filter-select,.before-after-filter-select { display:none; }
  .gallery-tabs,.before-after-tabs { display:flex; width:calc(100% - 16px); margin:0 auto 12px; border-radius:11px; }
  .gallery-tabs button,.before-after-tabs button { min-height:44px; padding:0 15px; font-size:12px; }
  .clinic-gallery-grid { grid-template-columns:1fr 1fr; grid-auto-rows:125px; gap:7px; }
  .clinic-gallery-grid figure:first-child,.clinic-gallery-grid figure:nth-child(5) { grid-column:auto; }
  .clinic-gallery-grid figure { border-radius:11px; }
  .clinic-gallery-grid .gallery-card-caption { padding:27px 8px 7px; }
  .clinic-gallery-grid .gallery-card-caption small { display:none; }
  .clinic-gallery-grid .gallery-card-caption b { font-size:10px; }
  .gallery-open-icon { top:7px; left:7px; width:24px; height:24px; font-size:11px; }
  .gallery-final-cta,.before-after-cta { margin:0 8px 16px; display:flex; flex-direction:column; min-height:0; }
  .gallery-final-cta img,.before-after-cta img { height:120px; }
  .gallery-final-cta > div,.before-after-cta > div { padding:13px 15px; text-align:center; align-items:center; }
  .gallery-final-cta h2,.before-after-cta h2 { font-size:17px; }
  .gallery-final-cta p,.before-after-cta p { display:none; }
  .gallery-lightbox { padding:12px; }
  .gallery-lightbox > div { width:100%; border-radius:14px; }
  .gallery-lightbox-close { top:11px; left:11px; }

  .before-after-filter-select { margin:9px 8px 12px; }
  .before-after-filter-select select { width:100%; }
  .featured-case { margin:0 8px 14px; display:flex; flex-direction:column-reverse; min-height:0; border-radius:13px; }
  .featured-comparison { min-height:220px; }
  .featured-case-info { padding:13px 15px 15px; text-align:center; align-items:center; }
  .featured-case-info h2 { font-size:18px; margin:5px 0 3px; }
  .featured-case-info p { font-size:10px; margin-bottom:7px; }
  .featured-case-info a { margin-top:8px; }
  .before-after-grid { padding:0 8px 15px; display:flex; flex-direction:column; gap:8px; }
  .before-after-grid article { grid-template-columns:45% 55%; min-height:115px; border-radius:12px; }
  .before-after-grid .ba-comparison { min-height:125px; }
  .before-after-grid article > div:last-child { padding:9px 10px; }
  .before-after-grid h3 { font-size:13px; margin:3px 0; }
  .before-after-grid p { display:none; }
  .ba-handle { width:34px; height:34px; font-size:13px; }
  .ba-label { bottom:6px; padding:3px 7px; font-size:8px; }
  .result-disclaimer { margin:0 8px 14px; padding:11px; grid-template-columns:50px 1fr; }
  .result-disclaimer .line-icon { font-size:35px; }
  .result-disclaimer h2 { font-size:13px; }
  .result-disclaimer p { font-size:8px; line-height:1.6; }

  .roma-footer { margin:25px 10px 10px; padding:18px; display:flex; flex-direction:column; align-items:stretch; gap:16px; text-align:center; }
  .roma-footer > div { grid-template-columns:70px 1fr; text-align:right; }
  .roma-footer img { width:66px; height:52px; }
  .roma-footer nav { justify-content:center; gap:8px 14px; }
  .footer-call { text-align:center; }
}

/* Public UI/UX hardening — readable type, clear touch targets, and complete mobile content. */
::placeholder {
  color:#687578;
  opacity:1;
}

.header-search {
  height:44px;
}

.header-search input {
  width:116px;
  font-size:16px;
}

.header-search button {
  width:44px;
  min-height:44px;
}

.smart-search-modal form input {
  font-size:16px;
}

.smart-search-modal form button,
.smart-search-modal__dialog > header button {
  min-width:44px;
  min-height:44px;
}

.smart-search-modal__results small,
.smart-search-modal__dialog > footer {
  font-size:12px;
}

.smart-search-modal__results em {
  font-size:13px;
}

.home-trust span:not(.line-icon) {
  font-size:13px;
}

.tour-caption span,
.gallery-heading-row > div > span,
.tour-section-head > div > span {
  font-size:12px;
}

.tour-caption p,
.gallery-final-cta p,
.before-after-cta p,
.before-after-grid p,
.result-disclaimer p {
  font-size:13px;
}

.tour-controls button {
  width:44px;
  height:44px;
}

.tour-hotspot > span {
  width:36px;
  height:36px;
}

.tour-scene-tabs button {
  min-height:44px;
  font-size:13px;
}

.clinic-gallery-grid .gallery-card-caption small {
  font-size:12px;
  opacity:1;
}

.gallery-open-icon {
  width:36px;
  height:36px;
}

.gallery-final-cta .btn,
.before-after-cta .btn {
  min-height:44px;
  font-size:14px;
}

.featured-case-info a {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  font-size:13px;
}

.case-duration,
.before-after-grid small {
  font-size:12px;
}

.ba-label,
.tag {
  font-size:12px;
}

.tag {
  min-height:28px;
}

.public-search-grid p {
  font-size:14px;
}

.about-hero .hero-subtitle {
  margin-bottom:1rem;
  color:var(--teal-dark);
  font-size:1.08rem;
  font-weight:700;
}

.map-card h2 {
  margin:12px 0 0;
}

.contact-info-content h2 {
  margin:2px 0 6px;
  font-size:22px;
}

.privacy-layout aside > h2 {
  margin:0;
  font-size:1.15rem;
}

.dynamic-section__badge {
  font-size:.75rem;
}

@media (min-width:701px) {
  .header {
    grid-template-columns:170px minmax(0,1fr) 160px 115px;
  }
}

@media (max-width:760px) {
  .smart-search-modal__dialog > header button {
    width:44px;
    height:44px;
  }

  .smart-search-modal__chips button {
    min-height:44px;
    font-size:13px;
  }

  .smart-search-modal__results > a {
    min-height:64px;
  }
}

/* article identity, author and editorial metadata */
.article-head {
  min-height:330px;
  margin:0 32px 16px;
  padding:20px;
  gap:34px;
  border:1px solid #e2eceb;
  border-radius:22px;
  background:linear-gradient(135deg,#f8fcfb 0%,#fff 58%,#fbf7ed 100%);
  box-shadow:0 12px 36px rgb(23 72 73 / 8%);
}

.article-head img {
  height:290px;
  border-radius:17px;
  box-shadow:0 10px 30px rgb(17 60 62 / 13%);
}

.article-head > div {
  padding:14px 10px;
}

.article-head h1 {
  margin:12px 0 10px;
  font-size:clamp(30px,3vw,42px);
  line-height:1.55;
}

.article-head p {
  margin:0;
  color:#526164;
  font-size:16px;
  line-height:2;
}

.article-meta-card {
  margin:0 40px 20px;
  padding:16px;
  display:grid;
  grid-template-columns:minmax(270px,.92fr) minmax(0,1.6fr);
  gap:14px;
  border:1px solid #dce9e8;
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#f7fbfa);
  box-shadow:0 9px 28px rgb(20 73 74 / 8%);
}

.article-author-summary {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding:5px;
}

.article-author-card {
  min-width:0;
  display:grid;
  grid-template-columns:70px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:7px;
  border:1px solid #d9e9e7;
  border-radius:15px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.article-author-card:hover {
  border-color:#9acbc8;
  box-shadow:0 8px 22px rgb(0 119 123 / 10%);
  transform:translateY(-1px);
}

.article-author-card img {
  width:70px;
  height:70px;
  border:3px solid #e6f3f2;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
}

.article-author-card > span {
  min-width:0;
  display:grid;
  gap:2px;
}

.article-author-card small,
.article-meta-item small {
  color:var(--teal-dark);
  font-size:10px;
  font-weight:700;
}

.article-author-card strong {
  overflow:hidden;
  font-size:16px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.article-author-card em {
  overflow:hidden;
  color:#687476;
  font-size:11px;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.article-author-articles-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding-inline:9px;
  color:var(--teal-dark);
  font-size:11px;
  font-weight:800;
}

.article-publish-details {
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.article-meta-card > .article-publish-details:first-child {
  grid-column:1/-1;
}

.article-meta-item {
  min-width:0;
  min-height:88px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid #deebea;
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#f4faf9);
}

.article-meta-item__icon {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid #bfe0dd;
  border-radius:12px;
  background:#eaf7f6;
  color:var(--teal-dark);
  font-size:20px;
  font-weight:800;
}

.article-meta-item > span:last-child {
  min-width:0;
  display:grid;
  gap:4px;
}

.article-meta-item strong {
  color:#253334;
  font-size:13px;
  line-height:1.7;
}

.article-meta-card .article-share {
  grid-column:1/-1;
  width:100%;
  margin:0;
  padding:12px 5px 0;
  justify-content:flex-start;
  border-top:1px solid #e2ebea;
}

.article-share__label {
  margin-left:auto;
  color:#526264;
  font-size:12px;
  font-weight:800;
}

/* doctor profile article preview */
.doctor-articles-section {
  margin:24px 42px;
  padding:22px;
  border:1px solid #dce9e8;
  border-radius:20px;
  background:linear-gradient(135deg,#f6fbfa,#fff);
}

.doctor-articles-section__heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}

.doctor-articles-section__heading > div {
  display:grid;
  gap:3px;
}

.doctor-articles-section__heading > div > span,
.author-articles-list__heading span {
  color:var(--teal-dark);
  font-size:11px;
  font-weight:800;
}

.doctor-articles-section__heading h2,
.author-articles-list__heading h2 {
  margin:0;
  font-size:24px;
}

.doctor-articles-section__heading p,
.author-articles-list__heading p {
  margin:0;
  color:#697779;
  font-size:12px;
}

.doctor-article-preview-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.doctor-article-preview-grid article {
  min-width:0;
  overflow:hidden;
  border:1px solid #e0e9e8;
  border-radius:15px;
  background:#fff;
}

.doctor-article-preview-grid__image {
  display:block;
}

.doctor-article-preview-grid img {
  width:100%;
  height:155px;
  object-fit:cover;
}

.doctor-article-preview-grid article > div {
  padding:12px 14px 14px;
}

.doctor-article-preview-grid h3 {
  margin:7px 0;
  font-size:15px;
  line-height:1.8;
}

.doctor-article-preview-grid small {
  color:#748083;
  font-size:11px;
}

/* author article archive */
.author-archive-hero {
  position:relative;
  min-height:280px;
  margin:0 34px 24px;
  overflow:hidden;
  display:grid;
  grid-template-columns:190px minmax(0,1fr) 130px;
  align-items:center;
  gap:28px;
  padding:26px 30px;
  border:1px solid #dce9e8;
  border-radius:22px;
  background:linear-gradient(135deg,#eef9f7 0%,#fff 58%,#f8f1df 100%);
  box-shadow:0 12px 38px rgb(20 73 74 / 9%);
}

.author-archive-hero > picture > img {
  width:190px;
  height:220px;
  border:5px solid #fff;
  border-radius:24px;
  object-fit:cover;
  object-position:center top;
  box-shadow:0 12px 30px rgb(23 70 71 / 15%);
}

.author-archive-hero > div:nth-child(2) {
  display:grid;
  justify-items:start;
}

.author-archive-hero > div:nth-child(2) > span {
  color:var(--teal-dark);
  font-size:12px;
  font-weight:800;
}

.author-archive-hero h1 {
  margin:6px 0 2px;
  font-size:34px;
}

.author-archive-hero h2 {
  margin:0 0 10px;
  color:#4d6667;
  font-size:18px;
}

.author-archive-hero p {
  max-width:680px;
  margin:0 0 16px;
  color:#586668;
  line-height:2;
}

.author-archive-hero__count {
  min-height:120px;
  display:grid;
  place-content:center;
  gap:3px;
  border:1px solid #cce2df;
  border-radius:18px;
  background:rgb(255 255 255 / 75%);
  text-align:center;
}

.author-archive-hero__count strong {
  color:var(--teal-dark);
  font-size:38px;
}

.author-archive-hero__count span {
  color:#617173;
  font-size:11px;
}

.author-articles-list {
  padding:0 36px 30px;
}

.author-articles-list__heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:14px;
  padding:0 4px;
}

.author-article-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.author-article-grid article {
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid #dfe9e8;
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 24px rgb(27 69 70 / 7%);
}

.author-article-grid__image {
  display:block;
}

.author-article-grid img {
  width:100%;
  height:190px;
  object-fit:cover;
}

.author-article-grid article > div {
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:15px 17px 17px;
}

.author-article-grid h2 {
  margin:8px 0 6px;
  font-size:18px;
  line-height:1.8;
}

.author-article-grid p {
  display:-webkit-box;
  overflow:hidden;
  margin:0 0 12px;
  color:#657173;
  font-size:13px;
  line-height:1.9;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.author-article-grid__meta {
  width:100%;
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid #e6eeee;
  color:#758083;
  font-size:10px;
}

.author-article-grid__link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:11px;
  color:var(--action-color);
  font-size:12px;
  font-weight:800;
}

.author-articles-empty {
  grid-column:1/-1;
  padding:50px 20px;
  border:1px dashed #b9d8d5;
  border-radius:18px;
  background:#f7fbfa;
  text-align:center;
}

@media (max-width:760px) {
  .article-head {
    min-height:0;
    margin:0 8px 12px;
    padding:10px;
    gap:12px;
    border-radius:17px;
  }

  .article-head img {
    height:185px;
    border-radius:13px;
  }

  .article-head > div {
    padding:7px 6px 10px;
    text-align:right;
  }

  .article-head h1 {
    margin:8px 0 5px;
    font-size:25px;
  }

  .article-head p {
    font-size:13px;
    line-height:1.9;
  }

  .article-meta-card {
    margin:0 8px 16px;
    padding:10px;
    grid-template-columns:1fr;
    gap:10px;
    border-radius:17px;
  }

  .article-author-summary {
    padding:0;
  }

  .article-author-card {
    grid-template-columns:62px minmax(0,1fr);
    padding:8px;
  }

  .article-author-card img {
    width:62px;
    height:62px;
  }

  .article-author-card strong {
    font-size:15px;
  }

  .article-author-articles-link {
    min-height:42px;
    justify-content:center;
    border:1px solid #dcebea;
    border-radius:11px;
    background:#f8fbfb;
  }

  .article-publish-details {
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .article-meta-item {
    min-height:76px;
    grid-template-columns:34px minmax(0,1fr);
    gap:7px;
    padding:9px;
  }

  .article-meta-item:last-child {
    grid-column:1/-1;
  }

  .article-meta-item__icon {
    width:34px;
    height:34px;
    border-radius:10px;
    font-size:17px;
  }

  .article-meta-item strong {
    font-size:12px;
  }

  .article-meta-card .article-share {
    justify-content:center;
    gap:7px;
    padding-top:10px;
  }

  .article-share__label {
    width:100%;
    margin:0;
    text-align:center;
  }

  .doctor-articles-section {
    margin:18px 10px;
    padding:14px;
  }

  .doctor-articles-section__heading {
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }

  .doctor-articles-section__heading h2 {
    font-size:20px;
  }

  .doctor-article-preview-grid {
    grid-template-columns:1fr;
  }

  .doctor-article-preview-grid article {
    display:grid;
    grid-template-columns:38% 62%;
  }

  .doctor-article-preview-grid img {
    height:100%;
    min-height:130px;
  }

  .author-archive-hero {
    min-height:0;
    margin:0 8px 18px;
    grid-template-columns:92px minmax(0,1fr);
    gap:13px;
    padding:14px;
    border-radius:18px;
  }

  .author-archive-hero > picture > img {
    width:92px;
    height:118px;
    border-width:3px;
    border-radius:17px;
  }

  .author-archive-hero h1 {
    margin-top:3px;
    font-size:21px;
  }

  .author-archive-hero h2 {
    margin-bottom:6px;
    font-size:13px;
  }

  .author-archive-hero p {
    display:none;
  }

  .author-archive-hero .button-row {
    width:100%;
    gap:6px;
  }

  .author-archive-hero .btn {
    min-height:40px;
    padding:7px 10px;
    font-size:10px;
  }

  .author-archive-hero__count {
    grid-column:1/-1;
    min-height:64px;
    grid-template-columns:auto auto;
    place-content:center;
    align-items:center;
    gap:8px;
  }

  .author-archive-hero__count strong {
    font-size:27px;
  }

  .author-articles-list {
    padding:0 9px 22px;
  }

  .author-articles-list__heading {
    align-items:start;
    flex-direction:column;
    gap:3px;
  }

  .author-articles-list__heading h2 {
    font-size:21px;
  }

  .author-article-grid {
    grid-template-columns:1fr;
    gap:12px;
  }

  .author-article-grid article {
    display:grid;
    grid-template-columns:39% 61%;
  }

  .author-article-grid img {
    height:100%;
    min-height:180px;
  }

  .author-article-grid article > div {
    padding:11px 12px;
  }

  .author-article-grid h2 {
    margin:6px 0 4px;
    font-size:14px;
  }

  .author-article-grid p {
    font-size:11px;
    -webkit-line-clamp:2;
  }

  .author-article-grid__meta {
    flex-direction:column;
    gap:2px;
  }
}

@media (max-width:700px) {
  .site-shell {
    width:calc(100% - 8px);
    max-width:none;
    margin:4px auto;
    border-radius:18px;
  }

  .mobile-sticky {
    width:calc(100% - 20px);
    max-width:none;
    grid-template-columns:minmax(72px,.3fr) minmax(0,1fr);
  }

  .menu-button {
    width:44px;
    height:44px;
    padding:10px;
  }

  .mobile-menu {
    grid-template-columns:1fr;
    max-height:calc(100dvh - 80px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }

  .mobile-menu a {
    display:flex;
    min-height:44px;
    align-items:center;
    padding:10px 12px;
    font-size:14px;
  }

  h1 {
    font-size:30px;
    line-height:1.4;
  }

  h2 {
    font-size:21px;
    line-height:1.55;
  }

  p {
    font-size:14px;
    line-height:1.95;
  }

  .section-title {
    line-height:1.65;
  }

  .breadcrumbs {
    display:block;
    overflow-x:auto;
    overflow-y:hidden;
    padding:8px 14px;
    font-size:13px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .breadcrumbs::-webkit-scrollbar {
    display:none;
  }

  .breadcrumbs ol {
    width:max-content;
    min-width:100%;
  }

  .breadcrumbs li,
  .breadcrumbs a {
    display:inline-flex;
    min-height:44px;
    align-items:center;
  }

  .tabs,
  .category-bar {
    scroll-snap-type:x proximity;
    overscroll-behavior-inline:contain;
  }

  .tabs button,
  .category-bar button {
    scroll-snap-align:start;
  }

  .home-hero p,
  .magazine-hero p,
  .about-hero p,
  .visual-gallery-hero p,
  .before-after-hero p,
  .appointment-form-wrap > p {
    font-size:14px;
  }

  .home-section-head > a,
  .home-service-grid a,
  .home-article-grid a,
  .featured-article a,
  .article-card a,
  .service-card a {
    display:inline-flex;
    min-height:44px;
    align-items:center;
    font-size:13px;
  }

  .home-team-feature .btn {
    min-height:44px;
  }

  .home-service-grid p {
    font-size:13px;
    line-height:1.8;
  }

  .home-why > div {
    grid-template-columns:1fr;
    gap:8px;
    border:0;
  }

  .home-why article {
    border:1px solid var(--line);
    border-radius:12px;
    padding:14px 16px;
    background:#fff;
  }

  .home-why h3 {
    font-size:15px;
  }

  .home-why p {
    display:block;
    font-size:13px;
  }

  .home-article-grid h3,
  .article-card h3 {
    font-size:15px;
  }

  .service-card {
    min-height:104px;
    height:auto;
  }

  .service-card > div {
    padding:14px 18px;
  }

  .category-bar button,
  .service-tabs button,
  .gallery-tabs button,
  .before-after-tabs button,
  .team-tabs button {
    min-height:44px;
    font-size:13px;
  }

  .featured-article p {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    font-size:13px;
  }

  .doctor-grid {
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:14px;
    padding:0 16px 18px;
  }

  .doctor-grid article:not(:first-child) {
    display:block;
  }

  .doctor-grid article {
    border-radius:55px 55px 18px 18px;
  }

  .doctor-grid .btn {
    min-height:44px;
  }

  .value-strip {
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    margin:0 16px 18px;
    padding:6px 14px;
  }

  .value-strip div {
    min-height:64px;
    grid-template-columns:48px 1fr;
    align-content:center;
    padding:8px 4px;
    border-left:0;
    border-bottom:1px solid var(--line);
  }

  .value-strip div:last-child {
    border-bottom:0;
  }

  .value-strip span {
    font-size:13px;
  }

  .doctor-about p,
  .timeline span,
  .timeline small {
    font-size:13px;
  }

  .doctor-services {
    grid-template-columns:1fr;
    gap:10px;
    border:0;
    border-radius:0;
  }

  .doctor-services article {
    display:grid;
    min-height:160px;
    grid-template-columns:110px minmax(0,1fr);
    gap:0;
    align-items:stretch;
    border:1px solid var(--line);
    border-radius:13px;
    padding:0;
    text-align:right;
  }

  .doctor-service-media {
    min-height:160px;
  }

  .doctor-services img {
    width:100%;
    height:100%;
    min-height:160px;
    border-radius:0;
  }

  .doctor-services h3 {
    width:100%;
    margin:0 0 5px;
    font-size:15px;
  }

  .doctor-services p,
  .doctor-services a {
    display:block;
  }

  .doctor-services p {
    width:100%;
    margin:0 0 9px;
    font-size:12px;
    line-height:1.75;
  }

  .doctor-services a {
    display:flex;
    min-height:44px;
  }

  .quick-contact a {
    display:flex;
    min-height:48px;
    align-items:center;
    justify-content:center;
    font-size:13px;
  }

  .contact-info-content > small,
  .contact-phone-list span,
  .contact-phone-list b,
  .contact-inline-link {
    font-size:13px;
  }

  .contact-info-content h2 {
    font-size:21px;
  }

  .contact-phone-list a,
  .contact-inline-link {
    min-height:44px;
  }

  .working-hours-list > div {
    min-height:42px;
    padding:8px 10px;
    font-size:13px;
  }

  .access-grid {
    grid-template-columns:1fr;
    gap:8px;
  }

  .access-grid > div {
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
  }

  .access-grid h3 {
    font-size:15px;
  }

  .access-grid p {
    display:block;
    margin:4px 0 0;
    font-size:13px;
  }

  .contact-form input,
  .contact-form textarea,
  .appointment-form input,
  .appointment-form select,
  .appointment-form textarea,
  .jalali-trigger,
  .search-box input,
  .public-search-head input,
  .public-search-head select {
    font-size:16px;
  }

  .appointment-form-wrap {
    padding:24px 16px 18px;
  }

  .steps span {
    font-size:12px;
  }

  .appointment-form {
    gap:16px;
  }

  .appointment-form label {
    font-size:14px;
  }

  .appointment-form .desktop-step-field {
    display:flex;
  }

  .appointment-form .check.desktop-step-field {
    display:block;
    font-size:14px;
    line-height:1.9;
  }

  .appointment-form input,
  .appointment-form select,
  .appointment-form textarea,
  .jalali-trigger {
    min-height:48px;
  }

  .jalali-trigger {
    color:#5f6c6f;
  }

  .jalali-calendar-head {
    grid-template-columns:44px 1fr 44px;
  }

  .jalali-calendar-head button {
    width:40px;
    height:40px;
  }

  .jalali-weekdays,
  .jalali-calendar-foot {
    font-size:12px;
  }

  .jalali-days button,
  .jalali-days .empty-day {
    min-height:44px;
  }

  .appointment-benefits {
    grid-template-columns:1fr;
    min-height:0;
    padding:8px 16px;
  }

  .appointment-benefits div {
    min-height:58px;
    flex-direction:row;
    justify-content:flex-start;
    gap:12px;
    border-left:0;
    border-bottom:1px solid var(--line);
    text-align:right;
    font-size:13px;
  }

  .appointment-benefits div:last-child {
    border-bottom:0;
  }

  .why-grid,
  .equipment-grid {
    grid-template-columns:1fr;
    gap:8px;
    padding:5px 12px 18px;
  }

  .why-grid > div,
  .equipment-grid > div {
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
    text-align:right;
  }

  .why-grid h3,
  .equipment-grid h3 {
    font-size:15px;
  }

  .why-grid p,
  .equipment-grid p {
    display:block;
    margin:5px 0 0;
    font-size:13px;
  }

  .article-meta {
    flex-wrap:wrap;
    justify-content:center;
    gap:7px 14px;
    font-size:12px;
  }

  .article-share a,
  .article-share button {
    display:inline-flex;
    min-height:44px;
    align-items:center;
    padding:8px 12px;
  }

  .article-layout {
    display:flex;
    flex-direction:column;
  }

  .article-layout .toc {
    order:-1;
    display:flex;
    position:static;
    top:auto;
    z-index:auto;
    max-height:13rem;
    overflow:auto;
    margin-bottom:12px;
    padding:14px;
    gap:10px;
  }

  .toc a {
    display:flex;
    min-height:44px;
    align-items:center;
    font-size:13px;
  }

  .public-search-grid article > div > a {
    display:inline-flex;
    min-height:44px;
    align-items:center;
  }

  .public-search-grid p {
    display:-webkit-box;
    overflow:hidden;
    margin-top:5px;
    font-size:13px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .implant-stats {
    grid-template-columns:1fr 1fr;
    min-height:0;
    padding:6px;
  }

  .implant-stats > div {
    min-height:74px;
    grid-template-columns:42px 1fr;
    align-content:center;
    padding:8px;
    border-bottom:1px solid var(--line);
    font-size:12px;
  }

  .implant-stats > div:nth-child(even) {
    border-left:0;
  }

  .implant-stats > div:nth-last-child(-n+2) {
    border-bottom:0;
  }

  .implant-what {
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:16px 14px 20px;
  }

  .implant-what > picture.responsive-picture {
    position:static;
    width:100%;
    border-radius:14px;
  }

  .implant-what img {
    width:100%;
    height:210px;
    object-fit:cover;
  }

  .service-article-copy > h2 {
    font-size:23px;
  }

  .implant-what .rich-content p {
    font-size:14px;
    line-height:2;
  }

  .implant-what .rich-content h3 {
    margin-top:24px;
    font-size:18px;
  }

  .implant-landing-hero ~ .section-title {
    display:flex;
  }

  .implant-steps {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:0 12px 18px;
  }

  .implant-steps > div {
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px;
    background:#fff;
  }

  .implant-steps img {
    height:105px;
  }

  .implant-steps h3 {
    font-size:15px;
  }

  .implant-steps p {
    font-size:13px;
  }

  .two-cols {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:8px 12px 18px;
    border:0;
  }

  .two-cols section {
    border:1px solid var(--line);
    border-radius:12px;
    padding:14px 16px;
  }

  .two-cols li {
    font-size:14px;
  }

  .mini-cta {
    display:flex;
    flex-direction:column;
  }

  .mini-cta img {
    width:100%;
    height:135px;
  }

  .mini-cta > div {
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:16px;
    text-align:center;
  }

  .mini-cta h2,
  .mini-cta .btn {
    font-size:14px;
  }

  .privacy-layout aside > h2 {
    padding:12px 5px;
    border-bottom:1px solid var(--line);
    font-size:18px;
  }

  .privacy-summary p {
    font-size:13px;
  }

  .privacy-layout article {
    display:block;
    padding:0 14px 18px;
  }

  .privacy-layout article section {
    scroll-margin-top:1rem;
    padding:14px 46px 16px 0;
  }

  .privacy-layout article section h2 {
    font-size:18px;
  }

  .privacy-layout article section p {
    font-size:14px;
  }

  .tour-section-head p {
    display:block;
    margin-top:7px;
    font-size:13px;
    text-align:center;
  }

  .tour-controls button {
    width:44px;
    height:44px;
  }

  .tour-hotspot {
    min-width:44px;
    min-height:44px;
    justify-content:center;
  }

  .tour-hotspot > span {
    width:30px;
    height:30px;
  }

  .tour-caption {
    grid-template-columns:1fr;
    gap:4px;
  }

  .tour-caption span {
    font-size:12px;
  }

  .tour-caption p {
    font-size:13px;
    line-height:1.8;
  }

  .tour-scene-tabs button {
    min-width:145px;
    font-size:13px;
  }

  .clinic-gallery-grid .gallery-card-caption small {
    display:block;
    font-size:12px;
  }

  .clinic-gallery-grid .gallery-card-caption b {
    font-size:13px;
  }

  .gallery-open-icon {
    width:32px;
    height:32px;
    font-size:14px;
  }

  .gallery-final-cta p,
  .before-after-cta p {
    display:block;
    font-size:13px;
  }

  .featured-case-info p {
    font-size:13px;
  }

  .before-after-grid article {
    grid-template-columns:44% 56%;
    min-height:150px;
  }

  .before-after-grid article > div:last-child {
    padding:10px 12px;
  }

  .before-after-grid h3 {
    font-size:15px;
  }

  .before-after-grid p {
    display:-webkit-box;
    overflow:hidden;
    font-size:12px;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }

  .before-after-grid small {
    font-size:12px;
  }

  .ba-label {
    font-size:12px;
  }

  .result-disclaimer {
    grid-template-columns:44px 1fr;
  }

  .result-disclaimer h2 {
    font-size:15px;
  }

  .result-disclaimer p {
    font-size:13px;
  }

  .roma-footer nav a {
    display:inline-flex;
    min-height:44px;
    align-items:center;
    padding:6px 4px;
    font-size:13px;
  }
}

/* Hierarchical navigation managed from the admin. */
.desktop-nav__item {
  position:relative;
  display:flex;
  height:100%;
  align-items:center;
}
.desktop-nav__item > a {
  padding-inline:2px;
}
.desktop-nav__toggle {
  width:28px;
  height:36px;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}
.desktop-nav__submenu {
  position:absolute;
  z-index:80;
  inset-block-start:calc(100% - 2px);
  inset-inline-end:0;
  display:grid;
  min-width:210px;
  padding:8px;
  visibility:hidden;
  border:1px solid var(--line);
  border-radius:0 0 14px 14px;
  background:#fff;
  box-shadow:var(--shadow);
  opacity:0;
  transform:translateY(6px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.desktop-nav__submenu a {
  min-height:44px;
  padding:9px 11px;
  border:0;
  border-radius:8px;
  white-space:nowrap;
}
.desktop-nav__submenu a:hover,
.desktop-nav__submenu a.active {
  border:0;
  background:#eef8f7;
}
.desktop-nav__item:hover .desktop-nav__submenu,
.desktop-nav__item:focus-within .desktop-nav__submenu {
  visibility:visible;
  opacity:1;
  transform:none;
}
.mobile-menu__group {
  overflow:hidden;
  border-radius:8px;
  background:#f7f9f9;
}
.mobile-menu__group summary {
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 11px;
  cursor:pointer;
  font-size:13px;
  list-style:none;
}
.mobile-menu__group summary::-webkit-details-marker {
  display:none;
}
.mobile-menu__group summary::after {
  content:"⌄";
  transition:transform .16s ease;
}
.mobile-menu__group[open] summary::after {
  transform:rotate(180deg);
}
.mobile-menu__group > a {
  margin:3px 7px 7px;
  background:#fff;
}
.mobile-menu__parent-link {
  color:var(--teal-dark);
  font-weight:700;
}
.roma-footer__nav-group {
  display:grid;
  gap:5px;
}
.roma-footer__child-link {
  color:var(--muted);
  font-size:12px;
}
.magazine-pagination {
  margin:20px 34px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.magazine-pagination a,
.magazine-pagination span,
.magazine-pagination strong {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-size:13px;
}
.magazine-pagination a {
  color:var(--teal-dark);
  font-weight:700;
}
.magazine-pagination span {
  color:#6b7476;
  background:#f5f7f7;
}

@media (max-width:760px) {
  .mobile-menu a,
  .smart-search-modal button,
  .smart-search-modal__chips button,
  .popular a,
  .breadcrumbs a,
  .article-share a,
  .article-share button,
  .gallery-lightbox-close,
  .appointment-form input,
  .appointment-form select,
  .appointment-form textarea,
  .jalali-trigger {
    min-height:44px;
  }

  .popular a,
  .breadcrumbs a {
    display:inline-flex;
    align-items:center;
    padding-block:6px;
  }

  .magazine-pagination {
    margin-inline:10px;
    gap:6px;
  }

  .magazine-pagination a,
  .magazine-pagination span,
  .magazine-pagination strong {
    padding-inline:9px;
    font-size:12px;
  }

  .article-layout > .article-toc {
    display:none;
  }

  .article-mobile-toc-trigger {
    position:sticky;
    top:73px;
    z-index:60;
    order:-4;
    display:block;
    margin:0 0 12px;
    padding:4px;
    border:1px solid rgb(0 142 143 / 22%);
    border-radius:14px;
    background:rgb(255 255 255 / 94%);
    box-shadow:0 9px 26px rgb(18 75 76 / 14%);
    backdrop-filter:blur(10px);
  }

  .article-mobile-toc-trigger button {
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    border-radius:10px;
    background:linear-gradient(135deg,#eef9f8,#fff);
    color:var(--teal-dark);
    font-family:inherit;
    font-size:14px;
    font-weight:800;
  }

  .article-mobile-toc-trigger button > span:first-child {
    font-size:18px;
    line-height:1;
  }

  .article-mobile-toc-trigger.is-fixed {
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }

  .article-mobile-toc-trigger.is-fixed button {
    position:fixed;
    z-index:61;
    top:73px;
    left:50%;
    width:min(calc(100vw - 32px),366px);
    border:1px solid rgb(0 142 143 / 25%);
    box-shadow:0 9px 26px rgb(18 75 76 / 18%);
    transform:translateX(-50%);
  }

  .article-content > section[id] {
    scroll-margin-top:136px;
  }

  .service-content-layout {
    display:block;
    padding:0;
  }

  .service-content-sidebar,
  .service-toc {
    display:none;
  }

  .service-mobile-toc-trigger {
    margin:12px 12px 10px;
  }

  .service-content-main .implant-what {
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:6px 14px 20px;
  }

  .service-about-mobile-media {
    display:block;
  }

  .service-about-mobile-media > picture.responsive-picture {
    position:static;
    display:block;
    width:100%;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f5f9f8;
  }

  .service-content-main .implant-what img {
    width:100%;
    height:210px;
    object-fit:cover;
  }

  .service-content-main .implant-steps {
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:0 12px 18px;
  }

  .service-treatment-timeline {
    margin:4px 13px 28px;
  }

  .service-treatment-timeline::before {
    right:20px;
  }

  .service-treatment-timeline > li {
    grid-template-columns:42px minmax(0,1fr);
    gap:11px;
    padding-bottom:13px;
  }

  .service-treatment-timeline__number {
    width:42px;
    height:42px;
    border-width:4px;
    font-size:13px;
  }

  .service-treatment-timeline__content {
    padding:12px 14px 13px;
    border-radius:13px;
  }

  .service-treatment-timeline__content h3 {
    font-size:15px;
  }

  .service-treatment-timeline__content p {
    font-size:13px;
    line-height:1.9;
  }

  .service-content-main .two-cols {
    grid-template-columns:1fr;
    gap:10px;
    padding:8px 12px 18px;
    border:0;
  }

  .service-content-main .two-cols section {
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:12px;
  }

  .service-content-main .mini-cta {
    margin:14px 10px;
    min-height:0;
  }

  .service-content-main .mini-cta > picture.responsive-picture {
    height:255px;
  }

  .service-content-main .mini-cta > picture.responsive-picture img {
    object-position:center 16%;
  }

  .service-content-main #service-faq {
    margin:28px 12px 34px;
  }

  .service-content-main #service-faq .section-title {
    margin-bottom:18px;
  }

  .service-content-anchor {
    scroll-margin-top:136px;
  }

  .article-toc-modal {
    position:fixed;
    inset:0;
    z-index:9998;
    display:grid;
    align-items:end;
  }

  .article-toc-modal[hidden] {
    display:none;
  }

  .article-toc-modal__backdrop {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgb(5 28 30 / 58%);
    backdrop-filter:blur(5px);
  }

  .article-toc-modal__dialog {
    position:relative;
    width:100%;
    max-height:min(78dvh,620px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
    border:1px solid rgb(255 255 255 / 60%);
    border-radius:24px 24px 0 0;
    background:#fff;
    box-shadow:0 -24px 70px rgb(0 29 31 / 26%);
  }

  .article-toc-modal__dialog > header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px 14px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(135deg,#f2fbfa,#fff);
  }

  .article-toc-modal__dialog > header span {
    color:var(--teal-dark);
    font-size:11px;
    font-weight:800;
  }

  .article-toc-modal__dialog > header h2 {
    margin:3px 0 0;
    font-size:21px;
  }

  .article-toc-modal__close {
    flex:0 0 44px;
    width:44px;
    height:44px;
    border:1px solid #cfe5e3;
    border-radius:50%;
    background:#fff;
    color:var(--teal-dark);
    font-family:inherit;
    font-size:27px;
    line-height:1;
  }

  .article-toc-modal nav {
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:8px 14px max(18px,env(safe-area-inset-bottom));
    scrollbar-width:thin;
  }

  .article-toc-modal nav a {
    min-height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px 8px;
    border-bottom:1px solid #e5eeee;
    color:#233;
    font-size:14px;
    font-weight:700;
  }

  .article-toc-modal nav a:last-child {
    border-bottom:0;
  }

  .article-toc-modal nav a > span:last-child {
    color:var(--teal);
    font-size:18px;
  }

  body.article-toc-modal-open {
    overflow:hidden;
  }
}

/* Article category archives */
.category-bar > a {
  flex:0 0 auto;
  min-width:max-content;
  min-height:50px;
  padding:7px 18px;
  display:flex;
  align-items:center;
  gap:12px;
  border:0;
  border-radius:14px;
  background:#fff;
  color:#172628;
  font-size:16px;
  white-space:nowrap;
}

.category-bar > a:hover,
.category-bar > a.active {
  color:var(--teal-dark);
  background:#eff9f9;
  box-shadow:inset 0 0 0 1px #8fc7ca;
}

.article-category-link {
  width:max-content;
  min-height:28px !important;
  margin-top:0 !important;
  padding:3px 10px !important;
  color:var(--teal-dark) !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.6;
}

.article-category-link:hover {
  background:#dff2f1;
}

.magazine-section-heading {
  margin:0 34px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.magazine-section-heading .fresh-heading {
  margin:0;
}

.magazine-section-heading > a {
  min-height:42px;
  padding:8px 14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #cfe5e3;
  border-radius:10px;
  color:var(--teal-dark);
  background:#fff;
  font-size:13px;
  font-weight:800;
}

.magazine-section-heading > a:hover {
  border-color:#86c7c5;
  background:#eef9f8;
}

.article-archive-hero {
  min-height:310px;
  display:grid;
  grid-template-columns:52% 48%;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 10% 18%,rgb(0 135 140 / 10%),transparent 32%),
    linear-gradient(135deg,#fff,#f1f8f7);
  direction:rtl;
}

.article-archive-hero__content {
  padding:48px 54px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
}

.article-archive-hero__content > span,
.article-archive-list__heading > div > span {
  color:var(--teal-dark);
  font-size:12px;
  font-weight:800;
}

.article-archive-hero h1 {
  max-width:650px;
  margin:8px 0 10px;
  font-size:35px;
  line-height:1.55;
}

.article-archive-hero p {
  max-width:620px;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:2;
}

.article-archive-hero > picture,
.article-archive-hero > picture > img {
  width:100%;
  height:100%;
  min-height:310px;
}

.article-archive-hero > picture > img {
  display:block;
  object-fit:cover;
}

.article-archive-hero__meta {
  min-height:58px;
  margin-top:18px;
  padding:7px 14px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid #cfe7e5;
  border-radius:14px;
  background:rgb(255 255 255 / 78%);
}

.article-archive-hero__meta strong {
  color:var(--teal-dark);
  font-size:25px;
}

.article-archive-hero__meta span {
  color:#506062;
  font-size:12px;
  font-weight:700;
}

.article-archive-categories {
  justify-content:flex-start;
}

.article-archive-categories > a small {
  min-width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#4e6768;
  background:#edf3f3;
  font-size:10px;
}

.article-archive-categories > a.active small {
  color:#fff;
  background:var(--teal);
}

.article-archive-list {
  padding:26px 34px 12px;
}

.article-archive-list__heading {
  margin-bottom:18px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
}

.article-archive-list__heading h2 {
  margin:4px 0 0;
  font-size:25px;
}

.article-archive-list__heading > a {
  min-height:42px;
  padding:8px 13px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #d7e7e6;
  border-radius:10px;
  color:var(--teal-dark);
  background:#fff;
  font-size:12px;
  font-weight:700;
}

.article-archive-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.article-archive-grid article {
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 24px rgb(18 57 59 / 6%);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.article-archive-grid article:hover {
  border-color:#bfdcda;
  box-shadow:0 14px 32px rgb(18 57 59 / 11%);
  transform:translateY(-3px);
}

.article-archive-card__image {
  overflow:hidden;
  display:block;
}

.article-archive-grid picture,
.article-archive-grid img {
  width:100%;
  height:190px;
}

.article-archive-grid img {
  display:block;
  object-fit:cover;
  transition:transform .28s ease;
}

.article-archive-grid article:hover img {
  transform:scale(1.025);
}

.article-archive-grid article > div {
  flex:1;
  padding:15px 17px 16px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.article-archive-grid h2 {
  margin:8px 0 5px;
  font-size:17px;
  line-height:1.75;
}

.article-archive-grid h2 a {
  color:#172325;
}

.article-archive-grid p {
  margin:0 0 12px;
  overflow:hidden;
  display:-webkit-box;
  color:var(--muted);
  font-size:12px;
  line-height:1.9;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

.article-archive-card__meta {
  width:100%;
  margin-top:auto;
  padding-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-top:1px solid #edf1f1;
  color:#6a7779;
  font-size:11px;
}

.article-archive-card__link {
  min-height:42px;
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--action-color);
  font-size:12px;
  font-weight:800;
}

.article-archive-empty {
  min-height:250px;
  padding:32px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px dashed #b9d9d7;
  border-radius:18px;
  background:#f7fbfb;
  text-align:center;
}

.article-archive-empty > span {
  color:var(--teal);
  font-size:36px;
}

.article-archive-empty h2 {
  margin:7px 0 4px;
  font-size:20px;
}

.article-archive-empty p {
  margin:0 0 14px;
  color:var(--muted);
}

@media (max-width:760px) {
  .time-slots {
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto;
    padding:2px 1px 8px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }

  .time-slots button {
    flex:0 0 auto;
    min-width:88px;
    white-space:nowrap;
    scroll-snap-align:start;
  }

  .appointment-form .desktop-step-field {
    min-width:0;
  }

  .category-bar > a {
    min-height:44px;
    padding:0 13px;
    scroll-snap-align:start;
    font-size:12px;
  }

  .magazine-section-heading {
    margin:8px 12px;
  }

  .magazine-section-heading .fresh-heading {
    text-align:right;
  }

  .magazine-section-heading > a {
    min-height:44px;
    padding-inline:10px;
    font-size:11px;
  }

  .article-archive-hero {
    min-height:0;
    display:flex;
    flex-direction:column-reverse;
  }

  .article-archive-hero__content {
    padding:20px 18px 22px;
  }

  .article-archive-hero h1 {
    margin-block:5px 7px;
    font-size:24px;
  }

  .article-archive-hero p {
    font-size:13px;
  }

  .article-archive-hero > picture,
  .article-archive-hero > picture > img {
    min-height:0;
    height:190px;
  }

  .article-archive-hero__meta {
    min-height:52px;
    margin-top:12px;
  }

  .article-archive-hero__meta strong {
    font-size:22px;
  }

  .article-archive-categories {
    margin-top:10px;
  }

  .article-archive-list {
    padding:15px 9px 8px;
  }

  .article-archive-list__heading {
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }

  .article-archive-list__heading h2 {
    font-size:21px;
  }

  .article-archive-list__heading > a {
    min-height:44px;
  }

  .article-archive-grid {
    grid-template-columns:1fr;
    gap:10px;
  }

  .article-archive-grid article {
    display:grid;
    grid-template-columns:38% minmax(0,62%);
    border-radius:14px;
  }

  .article-archive-card__image,
  .article-archive-grid picture,
  .article-archive-grid img {
    height:100%;
    min-height:190px;
  }

  .article-archive-grid article > div {
    min-width:0;
    padding:11px 12px;
  }

  .article-archive-grid h2 {
    margin-block:6px 3px;
    font-size:14px;
  }

  .article-archive-grid p {
    margin-bottom:7px;
    font-size:11px;
    -webkit-line-clamp:2;
  }

  .article-archive-card__meta {
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
    font-size:10px;
  }

  .article-archive-card__link {
    min-height:44px;
    margin-top:2px;
  }
}
