@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/ibm-plex-sans-arabic-400.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/ibm-plex-sans-arabic-500.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/ibm-plex-sans-arabic-600.woff2") format("woff2");
}

@font-face {
	font-family: "IBM Plex Sans Arabic";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/ibm-plex-sans-arabic-700.woff2") format("woff2");
}

:root {
	--teal: #017e94;
	--teal-dark: #016578;
	--cyan: #01a3ca;
	--mint: #6cdb97;
	--ink: #08323c;
	--muted: #4c6a73;
	--line: #d5e7ea;
	--soft: #f3fbfa;
	--white: #fff;
	--shadow: 0 18px 50px rgba(8, 50, 60, 0.08);
	--font: "IBM Plex Sans Arabic", Tahoma, "Segoe UI", sans-serif;
	--header: 84px;
	--radius: 22px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--font);
	font-size: 1.0625rem;
	line-height: 1.85;
	color: var(--ink);
	background: var(--white);
	overflow-x: clip;
}

body.nav-lock { overflow: hidden; }

img { max-width: 100%; height: auto; }

button,
input,
select,
textarea { font: inherit; color: inherit; }

button { cursor: pointer; }

a { color: var(--teal-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }

h1, h2, h3, p { overflow-wrap: anywhere; }

h1, h2, h3 { line-height: 1.35; font-weight: 700; margin: 0; }

:focus-visible {
	outline: 3px solid var(--mint);
	outline-offset: 2px;
}

.suarat-main:focus { outline: none; }

::selection { background: #d8f6e6; color: var(--ink); }

.skip-link {
	position: absolute;
	inset-inline-start: 12px;
	top: -48px;
	z-index: 100;
	background: var(--ink);
	color: var(--white);
	padding: 8px 14px;
	border-radius: 10px;
}

.skip-link:focus { top: 12px; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.container { width: min(1200px, calc(100% - 32px)); margin-inline: auto; }
.container-narrow { width: min(760px, calc(100% - 32px)); }

@media (max-width: 380px) {
	.container,
	.container-narrow { width: min(1200px, calc(100% - 24px)); }
}

.kicker {
	display: inline-flex;
	align-items: center;
	margin: 0 0 12px;
	padding: 4px 12px;
	border-radius: 999px;
	background: #e7f8f1;
	color: var(--teal-dark);
	font-size: 0.92rem;
	font-weight: 600;
}

.lede { color: var(--muted); font-size: 1.125rem; margin: 14px 0 0; }

.section { padding: 56px 0; }
.section-alt { background: var(--soft); }

.section-head { max-width: 40rem; margin-bottom: 28px; }
.section-head h2 { font-size: clamp(1.7rem, 1.2rem + 1.4vw, 2.5rem); }
.section-head-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 24px;
	align-items: end;
	margin-bottom: 8px;
}
.section-head-row .section-head { margin-bottom: 16px; }

.icon { width: 1.15em; height: 1.15em; display: inline-block; vertical-align: -0.18em; }

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 20px;
	border-radius: 999px;
	border: 1.5px solid transparent;
	text-decoration: none;
	font-weight: 600;
	line-height: 1.2;
	transition: transform 0.2s ease, filter 0.2s ease, background 0.2s ease;
}

.btn-primary { background: var(--teal); color: var(--white); }
.btn-ghost { background: var(--white); color: var(--teal-dark); border-color: #b7dbe3; }
.btn-light { background: transparent; color: var(--white); border-color: rgba(255, 255, 255, 0.4); }

@media (hover: hover) {
	.btn-primary:hover { background: var(--teal-dark); }
	.btn-ghost:hover { border-color: var(--teal); }
	.btn:hover { transform: translateY(-1px); }
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	text-decoration: none;
	color: var(--teal-dark);
}

.icon-btn {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: 1px solid var(--line);
	background: var(--white);
	color: var(--ink);
	padding: 0;
}

.icon-whatsapp { background: var(--teal); color: var(--white); border-color: var(--teal); }

.site-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: transparent;
	border-bottom: 1px solid transparent;
}
.site-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(14px);
	pointer-events: none;
}
.site-header:has(.primary-nav.is-open) { z-index: 80; }

.site-header.is-stuck { border-bottom-color: var(--line); box-shadow: 0 8px 24px rgba(8, 50, 60, 0.05); }

.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}

.header-bar {
	min-height: var(--header);
	display: flex;
	align-items: center;
	gap: 16px;
}

.brand { display: flex; align-items: center; text-decoration: none; flex: 0 0 auto; }
.brand-img { height: 68px; width: auto; max-width: 210px; }

.header-actions { display: flex; align-items: center; gap: 8px; margin-inline-start: auto; }
.primary-nav { display: none; }
.menu-toggle, .nav-close, .nav-mobile-extra { display: none; }

.nav-list { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.nav-list a { display: inline-flex; align-items: center; min-height: 44px; padding: 6px 10px; text-decoration: none; color: var(--ink); font-weight: 500; border-radius: 10px; }
.nav-list .current-menu-item > a,
.nav-list .current_page_item > a { color: var(--teal-dark); background: #e7f8f1; }
.nav-list li { position: relative; }
.nav-list .sub-menu {
	position: absolute;
	inset-inline-start: 0;
	top: 100%;
	min-width: 220px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: var(--shadow);
	opacity: 0;
	visibility: hidden;
}
.nav-list li:hover > .sub-menu,
.nav-list li:focus-within > .sub-menu { opacity: 1; visibility: visible; }

@media (min-width: 1181px) {
	.header-bar {
		display: grid;
		grid-template-columns: minmax(140px, 1fr) auto minmax(140px, 1fr);
		gap: 12px;
	}
	.brand { justify-self: start; }
	.primary-nav { display: block; justify-self: center; }
	.header-actions { justify-self: end; margin-inline-start: 0; }
	.menu-toggle, .nav-close, .nav-mobile-extra { display: none !important; }
	.nav-list a { transition: color 0.2s ease, background 0.2s ease; }
	.nav-list a:hover { color: var(--teal-dark); background: #e7f8f1; }
}

@media (max-width: 1180px) {
	.header-cta { display: none; }
	.menu-toggle { display: inline-flex; }
	.primary-nav {
		display: flex;
		flex-direction: column;
		position: fixed;
		z-index: 70;
		inset-block: 0;
		inset-inline-start: 0;
		width: min(100%, 420px);
		background: var(--white);
		padding: 24px 20px 32px;
		transform: translateX(110%);
		visibility: hidden;
		overflow: auto;
		box-shadow: var(--shadow);
	}
	.primary-nav.is-open { transform: none; visibility: visible; }
	.nav-close, .nav-mobile-extra { display: flex; }
	.nav-close { align-self: flex-start; gap: 8px; border: 0; background: transparent; min-height: 44px; padding: 0; font-weight: 600; }
	.nav-list { flex-direction: column; align-items: stretch; margin-top: 12px; }
	.nav-list a { font-size: 1.2rem; min-height: 52px; }
	.nav-list .sub-menu { position: static; opacity: 1; visibility: visible; box-shadow: none; border: 0; padding-inline-start: 12px; }
	.nav-mobile-extra { margin-top: auto; padding-top: 20px; }
	.nav-mobile-extra .btn { width: 100%; }
	.nav-overlay { position: fixed; inset: 0; z-index: 60; border: 0; background: rgba(8, 50, 60, 0.46); }
	.admin-bar .primary-nav { top: 32px; }
}

@media (max-width: 767px) {
	.primary-nav { width: 100%; }
	.brand-img { height: 56px; }
}

@media (max-width: 782px) {
	.admin-bar .primary-nav { top: 46px; }
}

.hero {
	position: relative;
	padding: 20px 0 48px;
	background:
		radial-gradient(ellipse at 8% 0%, rgba(108, 219, 151, 0.28), transparent 46%),
		radial-gradient(ellipse at 100% 80%, rgba(1, 163, 202, 0.14), transparent 42%),
		linear-gradient(180deg, #f7fcfb 0%, #fff 100%);
}

.hero-grid { display: grid; gap: 28px; align-items: center; }
.hero-slider-track { display: grid; }
.hero-slide {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
}
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-title {
	font-size: clamp(1.85rem, 0.7rem + 2.2vw, 3.15rem);
	font-weight: 700;
	line-height: 1.15;
	max-width: 14em;
	perspective: 800px;
	margin-bottom: 8px;
}
.flip-line { display: flex; flex-wrap: wrap; align-items: flex-end; column-gap: 0.22em; row-gap: 0; line-height: 1.15; }
.flip-word {
	display: inline-block;
	font-weight: 700;
	line-height: 1.15;
	opacity: 0;
	transform: rotateX(86deg);
	transform-origin: center bottom;
}
.hero-slide.is-active .flip-word {
	animation: wordFlip 0.72s cubic-bezier(0.16, 0.84, 0.28, 1) forwards;
	animation-delay: calc(var(--i) * 70ms);
}
.hero-kicker,
.hero-text,
.hero-actions { opacity: 0; transform: translateY(14px); }
.hero-slide.is-active .hero-kicker,
.hero-slide.is-active .hero-text,
.hero-slide.is-active .hero-actions { animation: heroRise 0.7s ease forwards; }
.hero-slide.is-active .hero-text { animation-delay: 0.18s; }
.hero-slide.is-active .hero-actions { animation-delay: 0.32s; }
@keyframes wordFlip {
	0% { opacity: 0; transform: rotateX(86deg) translateY(10px); }
	100% { opacity: 1; transform: none; }
}
@keyframes heroRise {
	to { opacity: 1; transform: none; }
}
@keyframes heroFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
.hero-text { color: var(--muted); font-size: 1.08rem; max-width: 38rem; margin: 16px 0 0; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.hero-controls { display: flex; align-items: center; gap: 8px; margin-top: 26px; }
.hero-dots { display: flex; gap: 6px; }
.hero-dots button {
	width: 9px;
	height: 9px;
	padding: 0;
	border: 0;
	border-radius: 99px;
	background: #b7d5dc;
}
.hero-dots button[aria-current="true"] { width: 24px; background: var(--teal); transition: width 0.25s ease; }

.hero-visual { position: relative; min-height: 240px; }
.hero-art {
	position: relative;
	height: 320px;
	border-radius: 32px;
	overflow: hidden;
}
.hero-frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
	opacity: 0;
	transition: opacity 0.55s ease;
}
.hero-frame.is-active { opacity: 1; }
.hero-pills {
	position: absolute;
	inset-inline: 16px;
	bottom: 16px;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	pointer-events: none;
}
.hero-pills li {
	background: rgba(255, 255, 255, 0.94);
	border-radius: 999px;
	padding: 8px 14px;
	font-weight: 600;
	font-size: 0.92rem;
	box-shadow: var(--shadow);
	pointer-events: auto;
	white-space: nowrap;
}
@media (max-width: 700px) {
	.hero-pills { flex-wrap: nowrap; gap: 6px; inset-inline: 8px; bottom: 10px; }
	.hero-pills li { font-size: 0.72rem; padding: 6px 8px; }
}
@media (min-width: 980px) {
	.hero { padding: 28px 0 56px; }
	.hero-grid { grid-template-columns: 1.08fr 0.92fr; gap: 40px; }
	.hero-art { height: 460px; }
}

@media (max-width: 420px) {
	.hero-actions .btn { flex: 1 1 100%; }
}

.booking-band { margin-top: -40px; position: relative; z-index: 2; padding-bottom: 12px; }
.booking-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 28px;
	box-shadow: var(--shadow);
	padding: 22px;
}
.booking-intro h2 { font-size: clamp(1.45rem, 1.1rem + 1vw, 2rem); }
.booking-grid { display: grid; gap: 12px; margin-top: 16px; }
.field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.field label { font-size: 0.92rem; font-weight: 600; }
.field input,
.field select,
.field textarea {
	width: 100%;
	min-height: 48px;
	border: 1px solid #c5ddd9;
	border-radius: 14px;
	padding: 10px 14px;
	background: #fff;
	font: inherit;
}
.field textarea { min-height: 96px; resize: vertical; }
.field select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--teal) 50%), linear-gradient(135deg, var(--teal) 50%, transparent 50%);
	background-position: left 18px center, left 12px center;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	padding-left: 34px;
}
.field input:focus,
.field select:focus,
.field textarea:focus { border-color: var(--teal); outline: 3px solid rgba(108, 219, 151, 0.45); }
.field-submit .btn { width: 100%; }
.form-note, .admin-hint { color: var(--muted); font-size: 0.92rem; margin: 10px 0 0; }
.form-status { margin: 8px 0 0; font-weight: 600; }
.form-status:empty { display: none; }
.form-status.is-error { color: #9d2c3a; }
.hp-field { position: absolute; inset-inline-start: -9999px; height: 0; overflow: hidden; }

@media (min-width: 1100px) {
	.booking-form.is-inline .booking-grid {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
	}
	.booking-form.is-inline .booking-grid > .field { flex: 1 1 160px; }
	.booking-form.is-inline .booking-grid > .field-submit { flex: 0 0 auto; }
	.booking-form.is-inline .field-submit .btn { width: auto; white-space: nowrap; }
}

.about-grid, .mission-grid, .doctor-single-grid { display: grid; gap: 18px; }
.mission-card, .why-card, .service-card, .doctor-card, .branch-card, .review-card, .post-card, .empty-panel {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 22px;
}
.mission-card.is-alt { background: #08323c; color: var(--white); }
.mission-card.is-alt .kicker { background: rgba(255, 255, 255, 0.12); color: var(--mint); }
.mission-card h2 { font-size: 1.4rem; margin-bottom: 8px; }
.mission-card p:last-child { margin-bottom: 0; }

.why-grid, .branch-grid, .review-grid, .post-grid { display: grid; gap: 14px; }
.why-icon, .service-icon, .branch-pin {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: #e7f8f1;
	color: var(--teal-dark);
	margin-bottom: 12px;
}
.why-icon .icon, .service-icon .icon, .branch-pin .icon { width: 24px; height: 24px; }
.why-card h3, .service-card h3, .doctor-card h3, .branch-card h3, .post-card h3 { font-size: 1.15rem; margin-bottom: 8px; }
.service-card p, .doctor-card p, .post-card p { color: var(--muted); margin: 0 0 14px; }
.doctor-role { color: var(--teal-dark) !important; font-weight: 600; }
.doctor-photo {
	aspect-ratio: 4 / 5;
	border-radius: 18px;
	overflow: hidden;
	background: var(--soft);
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.doctor-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.doctor-fallback {
	width: 112px;
	height: 112px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(145deg, #017e94, #01a3ca 55%, #6cdb97);
	color: var(--white);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.branch-card .btn, .doctor-card .btn { margin-top: 8px; }
.branch-card .text-link { margin-top: 12px; }
.branch-map { margin-top: 14px; border-radius: 16px; overflow: hidden; }
.branch-map iframe { width: 100%; height: 180px; border: 0; }
.branch-single { max-width: 560px; padding-bottom: 24px; }

.stars { display: inline-flex; gap: 2px; color: #0e8f78; }
.stars .icon { width: 18px; height: 18px; }
.review-card blockquote { margin: 12px 0; font-size: 1.05rem; }
.review-card footer { display: flex; flex-wrap: wrap; gap: 6px 12px; color: var(--muted); font-size: 0.92rem; }
.review-card footer strong { color: var(--ink); }

.post-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.post-card-media { aspect-ratio: 16 / 10; background: linear-gradient(160deg, #e7f6f8, #e7f8f1); display: flex; align-items: center; justify-content: center; color: var(--teal); }
.post-card-media img { width: 100%; height: 100%; object-fit: cover; }
.media-fallback .icon { width: 42px; height: 42px; }
.post-card-body { padding: 18px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.post-card-body h3 { font-size: 1.2rem; }
.post-card-body h3 a { color: inherit; text-decoration: none; }
.post-cat {
	display: inline-flex;
	margin-bottom: 8px;
	color: var(--teal-dark);
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
}
.post-card .text-link { margin-top: auto; }

.empty-panel { text-align: center; padding: 32px 20px; }
.empty-panel p { margin: 0 0 8px; }

.card-slider { position: relative; }
.card-slider-controls { display: flex; justify-content: flex-end; gap: 8px; margin: 0 0 14px; }
.card-slider.is-sides .card-slider-controls {
	position: absolute;
	inset-inline: -18px;
	top: 50%;
	z-index: 3;
	justify-content: space-between;
	margin: 0;
	transform: translateY(-50%);
	pointer-events: none;
}
@media (max-width: 700px) {
	.card-slider.is-sides .card-slider-controls { inset-inline: -8px; }
}
.card-slider.is-sides .icon-btn { pointer-events: auto; box-shadow: var(--shadow); }
.card-slider-viewport { overflow: hidden; padding: 4px 0 12px; }
.card-slider-track {
	display: flex;
	align-items: stretch;
	gap: 16px;
	transition: transform 0.55s cubic-bezier(0.22, 0.8, 0.24, 1);
}
.card-slider-track > * { flex: 0 0 calc(100% - 28px); min-width: 0; display: flex; }
.card-grid { display: grid; gap: 16px; align-items: stretch; }
.card-grid > * { min-width: 0; display: flex; }
.card-slider .doctor-photo { aspect-ratio: 4 / 5; max-height: none; }
.service-card,
.doctor-card,
.branch-card,
.review-card { display: flex; flex-direction: column; width: 100%; }
.service-card .text-link,
.doctor-card .btn,
.branch-card .btn,
.review-card footer { margin-top: auto; }
.review-card blockquote { flex: 1 1 auto; }

.contact-section { padding-top: 12px; }
.contact-grid { display: grid; gap: 18px; align-items: start; }
.contact-form h2, .contact-aside h2 { font-size: 1.6rem; margin-bottom: 8px; }
.contact-lead { color: var(--muted); margin: 0 0 8px; }
.contact-aside {
	background: #08323c;
	color: rgba(255, 255, 255, 0.9);
	border-radius: 28px;
	padding: 28px;
}
.contact-aside h2 { color: var(--white); }
.contact-list { list-style: none; margin: 18px 0 22px; padding: 0; display: grid; gap: 16px; }
.contact-list span { display: block; color: var(--mint); font-weight: 600; font-size: 0.9rem; margin-bottom: 4px; }
.contact-list a, .contact-list strong { color: var(--white); font-size: 1.15rem; text-decoration: none; font-weight: 700; }
.contact-aside .btn { width: 100%; }

.snap-mobile { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.snap-mobile > * { flex: 0 0 86%; scroll-snap-align: start; }

@media (min-width: 700px) {
	.card-slider-track > * { flex-basis: calc((100% - 16px) / 2); }
	.card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
	.contact-grid { grid-template-columns: 1.3fr 0.7fr; }
	.section { padding: 84px 0; }
	.post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.why-grid, .branch-grid, .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mission-grid, .about-grid, .doctor-single-grid { grid-template-columns: 1fr 1fr; align-items: center; }
	.doctor-single .doctor-photo { max-width: 280px; margin-bottom: 0; }
}

@media (min-width: 980px) {
	.card-slider-track > * { flex-basis: calc((100% - 32px) / 3); }
	.card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.snap-mobile { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
	.snap-mobile > * { flex: none; }
	.post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.branch-grid, .review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
	.why-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.page-hero { padding: 36px 0 12px; }
.page-hero h1 { font-size: clamp(2rem, 1rem + 2.4vw, 3.4rem); max-width: 16em; }
.page-hero-photo {
	position: relative;
	padding: 0;
	min-height: 280px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
	color: var(--white);
	margin-bottom: 8px;
}
.page-hero-media { position: absolute; inset: 0; }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(8, 50, 60, 0.2) 0%, rgba(8, 50, 60, 0.78) 100%);
}
.page-hero-photo .container { position: relative; z-index: 1; padding-top: 88px; padding-bottom: 36px; }
.page-hero-photo h1,
.page-hero-photo .lede,
.page-hero-photo .breadcrumbs,
.page-hero-photo .breadcrumbs a,
.page-hero-photo .breadcrumbs li,
.page-hero-photo .post-meta { color: rgba(255, 255, 255, 0.92); }
.page-hero-photo h1 { color: var(--white); }
.page-hero-photo .post-cat { color: var(--mint); }
.page-hero-photo .kicker { background: rgba(255, 255, 255, 0.14); color: var(--mint); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 0; list-style: none; margin: 0 0 14px; padding: 0; color: var(--muted); font-size: 0.92rem; }
.breadcrumbs a { color: var(--muted); text-decoration: none; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-inline: 8px; }

.prose, .entry-content { padding-bottom: 28px; font-size: 1.125rem; line-height: 2; }
.prose > *:first-child, .entry-content > *:first-child { margin-top: 0; }
.prose h2, .entry-content h2 { font-size: 1.7rem; margin: 1.6em 0 0.5em; }
.prose h3, .entry-content h3 { font-size: 1.3rem; margin: 1.4em 0 0.4em; }
.prose p, .entry-content p { margin: 0 0 1em; }
.prose ul, .prose ol, .entry-content ul, .entry-content ol { padding-inline-start: 1.2rem; }
.prose img, .entry-content img { border-radius: 16px; }
.prose blockquote, .entry-content blockquote {
	margin: 1.4em 0;
	padding: 12px 16px;
	border-inline-start: 4px solid var(--mint);
	background: var(--soft);
}

.post-meta { display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); margin: 14px 0 0; }
.single-cover { margin: 8px 0 22px; }
.single-cover img { width: 100%; border-radius: 24px; max-height: 420px; object-fit: cover; display: block; }
.single-cta {
	margin: 12px auto 20px;
	padding: 28px;
	border-radius: 24px;
	background: var(--soft);
}
.single-cta h2 { font-size: 1.6rem; margin-bottom: 8px; }

.search-form { display: flex; gap: 8px; margin-top: 0; max-width: none; }
.search-form input {
	flex: 1;
	min-width: 0;
	min-height: 48px;
	border: 1px solid #c5ddd9;
	border-radius: 14px;
	padding: 10px 14px;
}
.cat-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.cat-list a {
	text-decoration: none;
	border: 1px solid var(--line);
	border-radius: 999px;
	padding: 8px 14px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	color: var(--ink);
	background: var(--white);
}
.cat-list a.is-current { background: var(--teal); color: var(--white); border-color: var(--teal); }
.archive-wrap { padding: 28px 0 64px; }

.pagination { margin-top: 28px; }
.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.pagination a, .pagination span {
	min-width: 44px;
	min-height: 44px;
	padding: 8px 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	border: 1px solid var(--line);
	text-decoration: none;
	background: var(--white);
	color: var(--ink);
}
.pagination .current { background: var(--teal); color: var(--white); border-color: var(--teal); }
.archive-wrap.is-loading { opacity: 0.55; }

.final-cta {
	background:
		radial-gradient(ellipse at 100% 0%, rgba(108, 219, 151, 0.22), transparent 42%),
		#08323c;
	color: var(--white);
	padding: 56px 0;
}
.final-cta-grid { display: grid; gap: 28px; align-items: center; }
.final-cta .kicker { background: rgba(255, 255, 255, 0.1); color: var(--mint); }
.final-cta h2 { font-size: clamp(1.8rem, 1.2rem + 1.5vw, 2.8rem); margin-bottom: 10px; }
.final-cta p { margin: 0 0 18px; max-width: 36rem; color: rgba(255, 255, 255, 0.86); }
.final-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cta-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cta-steps li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 18px;
	padding: 14px 16px;
}
.cta-steps span {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--teal);
	color: var(--white);
	font-weight: 700;
	flex: 0 0 auto;
}
.cta-steps strong { display: block; color: var(--white); margin-bottom: 4px; }
.cta-steps p { margin: 0; font-size: 0.95rem; }

.site-footer {
	position: relative;
	background: #08323c;
	color: rgba(255, 255, 255, 0.86);
	padding: 48px 0 20px;
}
.site-footer::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, #017e94, #01a3ca, #6cdb97);
}
.footer-grid { display: grid; gap: 28px; }
.footer-brand .brand-img { height: 72px; }
.footer-logo-plate { display: inline-flex; background: var(--white); border-radius: 16px; padding: 8px 10px; }
.site-footer h2 { color: var(--white); font-size: 1.05rem; margin-bottom: 10px; }
.footer-links { list-style: none; margin: 0; padding: 0; }
.footer-links a { color: rgba(255, 255, 255, 0.86); text-decoration: none; display: inline-flex; min-height: 36px; align-items: center; transition: color 0.2s ease; }
.footer-links a:hover { color: var(--mint); }
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.footer-icon-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; width: 100%; }
.footer-icon-list a { display: flex; align-items: center; gap: 12px; color: var(--white); text-decoration: none; }
.footer-icon-list small { display: block; color: rgba(255, 255, 255, 0.65); font-size: 0.8rem; }
.footer-ico {
	width: 42px;
	height: 42px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.08);
	color: var(--mint);
	flex: 0 0 auto;
}
.footer-social { display: flex; flex-wrap: wrap; gap: 8px; }
.social-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: rgba(255, 255, 255, 0.08);
	color: var(--white);
	text-decoration: none;
}
.social-btn .icon { width: 18px; height: 18px; }
.social-btn:hover { background: var(--teal); color: var(--white); }
.footer-bottom { margin-top: 28px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.92rem; display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: space-between; }
.footer-bottom p { margin: 0; }
.footer-credit a { color: var(--mint); text-decoration: none; font-weight: 600; }

@media (min-width: 900px) {
	.footer-grid { grid-template-columns: 1.4fr 0.7fr 1fr; }
	.final-cta-grid { grid-template-columns: 1.1fr 0.9fr; }
}

.sticky-cta {
	position: fixed;
	z-index: 45;
	inset-inline: 0;
	bottom: 0;
	padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid var(--line);
	display: flex;
}
.sticky-cta .btn { width: 100%; }
body { padding-bottom: 74px; }

@media (min-width: 768px) {
	.sticky-cta { display: none; }
	body { padding-bottom: 0; }
	.header-cta { display: inline-flex; }
}

@media (min-width: 768px) and (max-width: 1180px) {
	.header-cta { display: inline-flex; }
}

.booking-dialog {
	border: 0;
	padding: 0;
	background: transparent;
	width: min(560px, calc(100% - 24px));
	max-height: calc(100% - 24px);
}
.booking-dialog::backdrop { background: rgba(8, 50, 60, 0.55); }
.dialog-card, .booking-sheet {
	background: var(--white);
	border-radius: 24px;
	padding: 18px;
}
.booking-sheet {
	width: 100%;
	max-width: 100%;
	margin: auto 0 0;
	border-radius: 24px 24px 0 0;
	max-height: min(92vh, 760px);
	overflow: auto;
	padding-bottom: calc(18px + env(safe-area-inset-bottom));
}
.sheet-handle {
	width: 48px;
	height: 5px;
	border-radius: 99px;
	background: #d5e7ea;
	margin: 4px auto 10px;
}
.dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.dialog-head h2 { font-size: 1.35rem; }

.booking-toast {
	position: fixed;
	z-index: 90;
	inset-inline: 16px;
	bottom: 88px;
	margin-inline-start: auto;
	max-width: 420px;
	background: var(--ink);
	color: var(--white);
	border-radius: 14px;
	padding: 14px 16px;
}
.booking-toast.is-error { background: #9d2c3a; }
@media (min-width: 768px) {
	.booking-toast { bottom: 24px; }
}

.js [data-reveal].will-reveal { opacity: 0; transform: translateY(18px); }
.js [data-reveal].is-in { opacity: 1; transform: none; transition: opacity 0.7s ease, transform 0.7s ease; transition-delay: var(--reveal, 0s); }
.why-grid > :nth-child(2),
.branch-grid > :nth-child(2),
.review-grid > :nth-child(2),
.post-grid > :nth-child(2),
.snap-mobile > :nth-child(2) { --reveal: 0.08s; }
.why-grid > :nth-child(3),
.branch-grid > :nth-child(3),
.review-grid > :nth-child(3),
.post-grid > :nth-child(3),
.snap-mobile > :nth-child(3) { --reveal: 0.16s; }
.why-grid > :nth-child(4),
.branch-grid > :nth-child(4),
.review-grid > :nth-child(4) { --reveal: 0.24s; }
.why-grid > :nth-child(5) { --reveal: 0.32s; }

.text-link .icon { transition: transform 0.2s ease; }
.service-icon, .why-icon, .branch-pin { transition: transform 0.25s ease; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.service-card, .doctor-card, .post-card, .branch-card, .why-card, .review-card, .mission-card {
		transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
	}
	.service-card:hover, .doctor-card:hover, .post-card:hover, .branch-card:hover, .why-card:hover, .review-card:hover {
		transform: translateY(-6px);
		box-shadow: var(--shadow);
		border-color: #9fd4c8;
	}
	.card-slider .service-card:hover,
	.card-slider .doctor-card:hover,
	.card-slider .post-card:hover,
	.card-slider .branch-card:hover,
	.card-slider .review-card:hover { transform: none; }
	.service-card:hover .service-icon,
	.why-card:hover .why-icon,
	.branch-card:hover .branch-pin { transform: scale(1.08) rotate(-6deg); }
	.text-link:hover .icon { transform: translateX(-4px); }
	.icon-btn { transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease; }
	.icon-btn:hover { transform: translateY(-2px); border-color: var(--teal); }
	.hero-dots button { transition: width 0.25s ease, background 0.25s ease; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.js [data-reveal].will-reveal,
	.flip-word,
	.hero-kicker,
	.hero-text,
	.hero-actions,
	.hero-frame { opacity: 1; transform: none; }
	.hero-frame:not(.is-active) { opacity: 0; }
}

.phone-ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; letter-spacing: 0.01em; }
.field .req { color: #9d2c3a; margin-inline-start: 2px; }
.field input[dir="ltr"] { text-align: start; }
.booking-form.is-submitted .field [aria-invalid="true"] {
	border-color: #9d2c3a;
	box-shadow: 0 0 0 3px rgba(157, 44, 58, 0.14);
}
.field-submit.is-split { flex-direction: row; flex-wrap: wrap; gap: 10px; }
.field-submit.is-split .btn { flex: 1 1 180px; width: auto; }

.stats-section { padding-top: 12px; }
.stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.stat-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 24px;
	padding: 22px 12px;
	text-align: center;
}
.stat-card strong {
	display: block;
	font-size: clamp(2rem, 1.2rem + 2vw, 3.1rem);
	line-height: 1;
	color: var(--teal);
	font-variant-numeric: tabular-nums;
	margin-bottom: 8px;
}
.stat-card strong::before { content: "+"; }
.stat-card span { color: var(--muted); font-weight: 600; }

.blog-hero-layout { display: grid; gap: 18px; align-items: end; }
.blog-hero-search p { margin: 0 0 8px; color: var(--white); font-weight: 600; }
.blog-hero-search .search-form input { background: var(--white); }
.page-hero-photo .cat-list { margin-top: 18px; }

.about-split { display: grid; gap: 28px; align-items: center; }
.about-copy h2 { font-size: clamp(1.6rem, 1.1rem + 1.2vw, 2.4rem); margin-bottom: 12px; }
.about-figure { margin: 0; }
.about-figure img { width: 100%; height: 460px; object-fit: cover; border-radius: 28px; display: block; }
.about-figure figcaption {
	margin-top: 10px;
	color: var(--muted);
	font-weight: 600;
}
.about-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.about-steps li {
	display: grid;
	grid-template-columns: auto auto 1fr;
	gap: 14px;
	align-items: center;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 14px 16px;
}
.about-step-no {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--teal);
	color: var(--white);
	font-weight: 700;
}
.about-steps .why-icon { margin: 0; }
.about-steps strong { font-size: 1.05rem; }

.missing-code {
	margin: 0 0 8px;
	font-size: clamp(3rem, 2rem + 4vw, 5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--mint);
}
.thanks-copy .lede { max-width: 34rem; }
.page-hero-photo .hero-actions { margin-top: 16px; }

.blog-tools {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding-top: 28px;
}
.blog-tools .cat-list { margin: 0; }
.blog-tools .search-form { width: min(420px, 100%); margin: 0; }

.choose-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.choose-list li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 14px 16px;
}
.choose-list .why-icon { margin: 0; flex: 0 0 auto; }
.choose-list p { margin: 4px 0 0; color: var(--muted); }

.service-layout { padding-top: 36px; }
.service-single-grid { display: grid; gap: 22px; align-items: start; }
.service-panel {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 28px;
	padding: 28px 24px 8px;
}
.service-aside {
	background: #08323c;
	color: var(--white);
	border-radius: 28px;
	padding: 28px 24px;
}
.service-aside .kicker { background: rgba(255, 255, 255, 0.12); color: var(--mint); }
.service-aside h2 { font-size: 1.5rem; margin-bottom: 8px; }
.service-aside p { color: rgba(255, 255, 255, 0.86); margin: 0 0 18px; }
.service-aside .btn { width: 100%; }
.page-hero-photo .service-icon { margin-bottom: 14px; }

.thanks-page {
	min-height: 62vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 72px 16px 88px;
	background: var(--white);
}
.thanks-mark {
	width: 92px;
	height: 92px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: #e7f8f1;
	color: #0b8f62;
	margin-bottom: 18px;
}
.thanks-mark .icon { width: 46px; height: 46px; }
.thanks-page h1 { font-size: clamp(2rem, 1.2rem + 2vw, 3rem); margin-bottom: 10px; }
.thanks-page p { max-width: 28rem; color: var(--muted); margin: 0 0 22px; font-size: 1.1rem; }

@media (max-width: 979px) {
	.hero-visual { order: -1; }
}
@media (max-width: 799px) {
	.about-split { display: flex; flex-direction: column; }
	.split-media,
	.about-figure { order: -1; }
	.doctor-single-grid { display: flex; flex-direction: column; }
	.doctor-single-grid .doctor-photo { order: -1; }
	.blog-tools { flex-direction: column; align-items: stretch; }
	.service-single-grid { display: flex; flex-direction: column; }
}

@media (min-width: 800px) {
	.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.about-split { grid-template-columns: 1.1fr 0.9fr; align-items: center; }
	.about-steps { grid-template-columns: 1fr; }
	.service-single-grid { grid-template-columns: 1.35fr 0.65fr; }
}

.suarat-elementor-part { width: 100%; }
.elementor .brand-img,
.elementor-widget-suarat_section .brand-img { height: 68px !important; width: auto !important; max-width: 210px !important; }
.elementor-widget-suarat_section > .elementor-widget-container { width: 100%; }
.elementor-element.elementor-widget-suarat_section { width: 100%; }
.elementor-editor-preview .site-header,
.elementor-editor-active .site-header { position: relative; top: auto; }
.elementor-editor-preview .header-bar,
.elementor-editor-active .header-bar {
	display: grid;
	grid-template-columns: minmax(140px, 1fr) auto minmax(140px, 1fr);
}
.elementor-editor-preview .primary-nav,
.elementor-editor-active .primary-nav {
	display: block !important;
	position: static !important;
	transform: none !important;
	visibility: visible !important;
	width: auto !important;
	height: auto !important;
	inset: auto !important;
	overflow: visible !important;
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
}
.elementor-editor-preview .nav-list,
.elementor-editor-active .nav-list {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 0 !important;
}
.elementor-editor-preview .nav-list a,
.elementor-editor-active .nav-list a {
	font-size: 16px !important;
	min-height: 44px;
}
.elementor-editor-preview .menu-toggle,
.elementor-editor-preview .nav-close,
.elementor-editor-preview .nav-mobile-extra,
.elementor-editor-active .menu-toggle,
.elementor-editor-active .nav-close,
.elementor-editor-active .nav-mobile-extra { display: none !important; }
.elementor-editor-preview .header-cta,
.elementor-editor-active .header-cta { display: inline-flex !important; }
.suarat-el-header.e-con { align-items: center; background: #fff; }
.suarat-el-header .elementor-widget-image img { height: 68px !important; width: auto !important; max-width: 210px !important; }
.suarat-el-header .elementor-widget,
.suarat-el-nav .elementor-widget { width: auto; }
.suarat-el-nav.e-con { width: auto; flex: 1 1 auto; }
.suarat-el-nav .elementor-widget-heading { width: auto; }
.suarat-el-nav .elementor-heading-title { margin: 0; font-size: 16px; font-weight: 500; line-height: 1.4; }
.suarat-el-nav .elementor-heading-title a {
	color: #08323c !important;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 6px 10px;
	border-radius: 10px;
	background: transparent !important;
}
.suarat-el-nav .elementor-heading-title a:hover { background: #e7f8f1 !important; color: #016578 !important; }
.suarat-el-footer .suarat-el-link .elementor-heading-title { margin: 0; font-size: 16px; font-weight: 500; }
.suarat-el-footer .suarat-el-link .elementor-heading-title a { color: #fff !important; text-decoration: none; background: transparent !important; }
.suarat-edit-hero { background: linear-gradient(180deg, #f7fcfb 0%, #fff 100%); }
.suarat-edit-hero .elementor-widget-image img { width: 100%; height: 420px; object-fit: cover; border-radius: 32px; }
.suarat-edit-hero h1.elementor-heading-title { font-size: clamp(1.85rem, 2.4vw, 3rem); line-height: 1.2; margin: 0; }
.suarat-edit-block { background: #fff; }
.suarat-edit-cta .elementor-widget-text-editor { color: #fff; }
.suarat-edit-home-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.suarat-el-cta .elementor-button,
.suarat-el-footer .suarat-el-cta .elementor-button {
	background: #017e94 !important;
	background-color: #017e94 !important;
	color: #fff !important;
	border-radius: 999px;
}
.suarat-el-footer,
.suarat-el-footer .elementor-heading-title,
.suarat-el-footer .elementor-widget-text-editor { color: #fff; }
.suarat-el-footer a { color: #fff; }
.suarat-el-footer .elementor-widget-image img { height: 72px !important; width: auto !important; max-width: 220px !important; }
.suarat-el-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.16); padding-top: 16px; }
@media (max-width: 900px) {
	.suarat-el-header.e-con,
	.suarat-el-footer-cols.e-con,
	.suarat-el-footer-bottom.e-con { flex-direction: column; align-items: flex-start; }
}
.legal-layout { display: grid; gap: 18px; align-items: start; }
.legal-nav {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 22px;
	padding: 16px 16px 8px;
}
.legal-nav p { margin: 0 0 8px; font-weight: 700; }
.legal-nav ol { margin: 0; padding: 0 1.1rem 8px 0; display: grid; gap: 6px; }
.legal-nav a { color: var(--ink); text-decoration: none; }
.legal-nav a:hover { color: var(--teal-dark); }
.legal-updated { margin: 0 0 12px; color: var(--muted); }
.legal-body { display: grid; gap: 14px; }
.legal-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 24px;
	padding: 22px 22px 8px;
	scroll-margin-top: 96px;
}
.legal-card h2 { font-size: 1.35rem; margin: 0 0 10px; }
.legal-card p { margin: 0 0 12px; line-height: 1.9; }
.legal-card ul { margin: 0 0 14px; padding-inline-start: 1.15rem; display: grid; gap: 6px; }
.legal-contact-list { list-style: none; padding: 0; display: grid; gap: 10px; }
.legal-link {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	color: inherit;
	text-decoration: none;
	font-weight: 700;
}
.legal-ico {
	position: relative;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	background: #e7f8f1;
	color: var(--teal-dark);
	animation: legalFloat 2.6s ease-in-out infinite;
}
.legal-ico .icon { width: 22px; height: 22px; }
.legal-ico::after {
	content: "";
	position: absolute;
	inset: -5px;
	border-radius: 18px;
	border: 2px solid rgba(1, 126, 148, 0.28);
	animation: legalRing 2.6s ease-out infinite;
}
.legal-ico-wa { animation-delay: 0.25s; background: #e5f8ef; color: #128c7e; }
.legal-ico-wa::after { animation-delay: 0.25s; border-color: rgba(18, 140, 126, 0.35); }
.legal-ico-mail { animation-delay: 0.5s; }
.legal-ico-mail::after { animation-delay: 0.5s; }
@keyframes legalFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}
@keyframes legalRing {
	0% { transform: scale(0.82); opacity: 0.75; }
	100% { transform: scale(1.18); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.legal-ico, .legal-ico::after { animation: none; }
}
@media (min-width: 980px) {
	.legal-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 28px; }
	.legal-nav { position: sticky; top: 96px; }
}
@media (max-width: 799px) {
	.legal-nav ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 8px; list-style: none; }
	.legal-nav li { background: var(--soft); border-radius: 999px; }
	.legal-nav a { display: inline-flex; min-height: 36px; align-items: center; padding: 0 12px; }
}
