@charset "utf-8";
/* CSS Document */


:root {
 --c-navy:#0D1B35;
 --c-navy2:#162850;
 --c-teal:#006E5A;
 --c-teal2:#00956E;
 --c-teal3:#E5F4EF;
 --c-gold:#B8882A;
 --c-gold2:#F5EDD8;
 --c-red:#C0392B;
 --c-white:#FFFFFF;
 --c-bg:#F8FAFA;
 --c-border:#DDE5E9;
 --c-text:#1C2B3A;
 --c-mid:#4A5568;
 --c-soft:#8B98A8;
 --ff-head:'Playfair Display', Georgia, serif;
 --ff-body:'Plus Jakarta Sans', system-ui, sans-serif;
 --r:10px;
 --sh1:0 2px 12px rgba(13, 27, 53, .08);
 --sh2:0 8px 36px rgba(13, 27, 53, .13);
}
*, *::before, *::after {
box-sizing:border-box;
margin:0;
padding:0
}
html {
	scroll-behavior:smooth;
	font-size:16px
}
body {
	font-family:var(--ff-body);
	color:var(--c-text);
	background:var(--c-bg);
	-webkit-font-smoothing:antialiased;
	line-height:1.65
}
img {
	display:block;
	max-width:100%
}
a {
	color:inherit;
	text-decoration:none
}
ul {
	list-style:none
}
button {
	cursor:pointer;
	font-family:var(--ff-body)
}
/* ── layout ── */
.wrap {
	max-width:1200px;
	margin:0 auto;
	padding:0 28px
}
.sec {
	padding:40px 0
}
.sec-alt {
	background:#fff
}
/* ── chips / tags ── */
.chip {
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:11.5px;
	font-weight:600;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--c-teal);
	background:var(--c-teal3);
	padding:5px 14px;
	border-radius:20px;
	margin-bottom:16px
}
.chip-red {
	color:var(--c-red);
	background:#FDECEC
}
.chip-gold {
	color:var(--c-gold);
	background:var(--c-gold2)
}
/* ── headings ── */
.h2 {
	font-family:var(--ff-head);
	font-size:clamp(26px, 3.5vw, 40px);
	font-weight:700;
	color:var(--c-navy);
	line-height:1.2;
	margin-bottom:14px
}
.h3 {
	font-family:var(--ff-head);
	font-size:22px;
	font-weight:600;
	color:var(--c-navy);
	margin-bottom:8px
}
.sub {
	font-size:15px;
	color:var(--c-mid);
	line-height:1.8;
	max-width:560px
}
/* ── buttons ── */
.btn {
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-size:14px;
	font-weight:600;
	padding:13px 26px;
	border-radius:7px;
	border:none;
transition:all .2s;
	white-space:nowrap
}
.btn-teal {
	background:var(--c-teal);
	color:#fff
}
.btn-teal:hover {
	background:var(--c-teal2);
	transform:translateY(-1px)
}
.btn-navy {
	background:var(--c-navy);
	color:#fff
}
.btn-navy:hover {
	background:var(--c-navy2);
	transform:translateY(-1px)
}
.btn-ghost {
	background:transparent;
	color:var(--c-navy);
	border:1.5px solid var(--c-border)
}
.btn-ghost:hover {
	border-color:var(--c-navy);
	background:var(--c-navy);
	color:#fff
}
.btn-ghost-w {
	background:transparent;
	color:rgba(255, 255, 255, .85);
	border:1.5px solid rgba(255, 255, 255, .3)
}
.btn-ghost-w:hover {
	background:rgba(255, 255, 255, .12);
	color:#fff
}
/* ═══════════════════════════ TOPBAR ═══════════════════════════ */
.topbar {
	background:var(--c-navy);
	padding:9px 0;
	font-size:12.5px;
	color:rgba(255, 255, 255, .65)
}
.topbar .wrap {
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:8px
}
.tb-left, .tb-right {
	display:flex;
	align-items:center;
	gap:20px
}
.tb-item {
	display:flex;
	align-items:center;
	gap:7px
}
.tb-item a {
	color:rgba(255, 255, 255, .65);
transition:color .15s
}
.tb-item a:hover {
	color:#fff
}
.tb-icon {
	width:13px;
	height:13px;
	fill:var(--c-teal2);
	flex-shrink:0
}
.tb-divider {
	width:1px;
	height:14px;
	background:rgba(255, 255, 255, .15)
}
/* ═══════════════════════════ NAVBAR ═══════════════════════════ */
nav {
	position:sticky;
	top:0;
	z-index:200;
	background:#fff;
	border-bottom:1px solid var(--c-border);
	box-shadow:var(--sh1)
}
.nav-inner {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:14px 0
}
.nav-logo {
	display:flex;
	align-items:center;
	gap:12px
}
.nav-logo img {
	height:52px;
	width:auto;
	object-fit:contain
}
.nav-logo-text strong {
	display:block;
	font-family:var(--ff-head);
	font-size:17px;
	font-weight:700;
	color:var(--c-navy);
	line-height:1.1
}
.nav-logo-text span {
	font-size:10.5px;
	color:var(--c-soft);
	letter-spacing:.05em
}
.nav-links {
	display:flex;
	align-items:center;
	gap:2px
}
.nav-links a {
	font-size:13px;
	font-weight:500;
	color:var(--c-mid);
	padding:8px 11px;
	border-radius:6px;
transition:all .15s
}
.nav-links a:hover {
	color:var(--c-navy);
	background:var(--c-bg)
}
.nav-links .active {
	color:var(--c-teal)
}
.nav-cta {
	background:var(--c-teal)!important;
	color:#fff!important;
	padding:9px 18px!important;
	border-radius:6px!important
}
.nav-cta:hover {
	background:var(--c-navy)!important
}
.nav-emergency {
	display:flex;
	align-items:center;
	gap:8px;
	background:var(--c-gold2);
	border:1.5px solid var(--c-gold);
	border-radius:8px;
	padding:7px 14px;
	margin-right:6px
}
.nav-emergency .pulse {
	width:9px;
	height:9px;
	border-radius:50%;
	background:var(--c-red);
	animation:pulse 1.4s infinite
}
.nav-emergency span {
	font-size:12.5px;
	font-weight:600;
	color:var(--c-gold)
}
@keyframes pulse {
0%, 100% {
box-shadow:0 0 0 0 rgba(192, 57, 43, .4)
}
50% {
box-shadow:0 0 0 6px rgba(192, 57, 43, 0)
}
}
/* ═══════════════════════════ HERO ═══════════════════════════ */
.hero {
	position:relative;
	height:620px;
	overflow:hidden;
	background:var(--c-navy)
}
.hero-slides {
	display:flex;
	height:100%;
transition:transform .7s cubic-bezier(.4, 0, .2, 1)
}
.hero-slide {
	min-width:100%;
	height:100%;
	position:relative;
	flex-shrink:0
}
.hero-slide img {
	width:100%;
	height:100%;
	object-fit:cover;
	filter:brightness(.38)
}
.hero-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(105deg, rgba(13, 27, 53, .92) 0%, rgba(13, 27, 53, .55) 55%, transparent 100%)
}
.hero-content {
	position:absolute;
	inset:0;
	display:flex;
	align-items:center
}
.hero-inner {
	max-width:620px;
	
}
.hero-badge {
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:rgba(255, 255, 255, .1);
	border:1px solid rgba(255, 255, 255, .2);
	backdrop-filter:blur(8px);
	color:rgba(255, 255, 255, .85);
	font-size:11.5px;
	font-weight:600;
	letter-spacing:.1em;
	text-transform:uppercase;
	padding:6px 16px;
	border-radius:24px;
	margin-bottom:24px
}
.hero-badge::before {
content:'';
width:8px;
height:8px;
border-radius:50%;
background:var(--c-teal2)
}
.hero h1 {
	font-family:var(--ff-head);
	font-size:clamp(32px, 5vw, 60px);
	font-weight:700;
	color:#fff;
	line-height:1.12;
	margin-bottom:18px
}
.hero h1 em {
	color:var(--c-teal2);
	font-style:normal
}
.hero-sub {
	font-size:16px;
	color:rgba(255, 255, 255, .65);
	line-height:1.78;
	margin-bottom:32px;
	max-width:480px
}
.hero-acts {
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	margin-bottom:44px
}
.hero-stats {
	display:flex;
	gap:0;
	background:rgba(255, 255, 255, .06);
	backdrop-filter:blur(10px);
	border:1px solid rgba(255, 255, 255, .12);
	border-radius:12px;
	overflow:hidden
}
.hs {
	padding:16px 24px;
	text-align:center;
	border-right:1px solid rgba(255, 255, 255, .12)
}
.hs:last-child {
	border-right:none
}
.hs-n {
	font-family:var(--ff-head);
	font-size:26px;
	font-weight:700;
	color:var(--c-teal2);
	line-height:1
}
.hs-l {
	font-size:11px;
	color:rgba(255, 255, 255, .5);
	margin-top:4px
}
/* hero slider dots */
.hero-nav {
	position:absolute;
	bottom:28px;
	left:50%;
	transform:translateX(-50%);
	display:flex;
	gap:8px;
	z-index:10
}
.hero-dot {
	width:8px;
	height:8px;
	border-radius:50%;
	background:rgba(255, 255, 255, .35);
	border:none;
	padding:0;
transition:all .3s;
	cursor:pointer
}
.hero-dot.on {
	background:#fff;
	width:28px;
	border-radius:4px
}
.hero-arrow {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	background:rgba(255, 255, 255, .12);
	border:1px solid rgba(255, 255, 255, .2);
	color:#fff;
	width:44px;
	height:44px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:10;
transition:background .2s;
	backdrop-filter:blur(6px)
}
.hero-arrow:hover {
	background:rgba(255, 255, 255, .22)
}
.hero-prev {
	left:24px
}
.hero-next {
	right:24px
}
/* ═══════════════════════════ BOOKING BAR ═══════════════════════════ */
.book-bar {
	background:#fff;
	box-shadow:var(--sh2);
	border-radius:16px;
	margin:-44px 28px 0;
	position:relative;
	z-index:50;
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	padding:28px 32px;
	display:grid;
	grid-template-columns:1fr 1fr 1fr auto;
	gap:16px;
	align-items:flex-end
}
.bb-field label {
	display:block;
	font-size:11.5px;
	font-weight:600;
	color:var(--c-soft);
	letter-spacing:.07em;
	text-transform:uppercase;
	margin-bottom:7px
}
.bb-field input, .bb-field select {
	width:100%;
	padding:12px 14px;
	border:1.5px solid var(--c-border);
	border-radius:8px;
	font-family:var(--ff-body);
	font-size:14px;
	color:var(--c-text);
	background:#fff;
	outline:none;
transition:border-color .2s
}
.bb-field input:focus, .bb-field select:focus {
	border-color:var(--c-teal)
}
.bb-btn {
	width:100%
}
/* ═══════════════════════════ TRUST STRIP ═══════════════════════════ */
.trust {
	background:linear-gradient(90deg, var(--c-navy) 0%, var(--c-navy2) 100%);
	padding:22px 0;
	margin-top:0px
}
.trust-row {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:0;
	flex-wrap:wrap
}
.trust-item {
	display:flex;
	align-items:center;
	gap:10px;
	padding:10px 28px;
	border-right:1px solid rgba(255, 255, 255, .1);
	color:rgba(255, 255, 255, .8);
	font-size:13px;
	font-weight:500
}
.trust-item:last-child {
	border-right:none
}
.trust-item svg {
	width:18px;
	height:18px;
	fill:var(--c-teal2);
	flex-shrink:0
}
/* ═══════════════════════════ ABOUT ═══════════════════════════ */
.about-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:72px;
	align-items:center
}
.about-img {
	position:relative
}
.about-img-main {
	width:100%;
	aspect-ratio:4/3.2;
	object-fit:cover;
	border-radius:16px;
	box-shadow:var(--sh2)
}
.about-img-badge {
	position:absolute;
	bottom:-20px;
	right:-20px;
	background:var(--c-navy);
	color:#fff;
	border-radius:14px;
	padding:20px 24px;
	text-align:center;
	box-shadow:var(--sh2)
}
.about-img-badge .num {
	font-family:var(--ff-head);
	font-size:38px;
	font-weight:700;
	color:var(--c-teal2);
	line-height:1
}
.about-img-badge .lbl {
	font-size:11px;
	color:rgba(255, 255, 255, .55);
	margin-top:5px
}
.about-img-accent {
	position:absolute;
	top:-16px;
	left:-16px;
	width:80px;
	height:80px;
	background:var(--c-teal3);
	border-radius:50%;
	z-index:-1
}
.about-pillars {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	margin:28px 0 36px
}
.pillar {
	display:flex;
	align-items:flex-start;
	gap:12px;
	padding:14px;
	background:var(--c-bg);
	border:1px solid var(--c-border);
	border-radius:9px
}
.pillar-dot {
	width:7px;
	height:7px;
	border-radius:50%;
	background:var(--c-teal);
	flex-shrink:0;
	margin-top:6px
}
.pillar p {
	font-size:13px;
	color:var(--c-mid);
	font-weight:500;
	line-height:1.45
}
/* ═══════════════════════════ STATS ═══════════════════════════ */
.stats-band {
	background:linear-gradient(135deg, var(--c-teal) 0%, var(--c-navy) 100%);
	padding:64px 0
}
.stats-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:1px;
	background:rgba(255, 255, 255, .12);
	border-radius:16px;
	overflow:hidden
}
.stat {
	background:rgba(255, 255, 255, .04);
	backdrop-filter:blur(4px);
	padding:36px 24px;
	text-align:center
}
.stat-n {
	font-family:var(--ff-head);
	font-size:48px;
	font-weight:700;
	color:#fff;
	line-height:1
}
.stat-n sup {
	font-size:24px
}
.stat-l {
	font-size:13px;
	color:rgba(255, 255, 255, .55);
	margin-top:8px;
	letter-spacing:.04em
}
/* ═══════════════════════════ DEPARTMENTS ═══════════════════════════ */
.dept-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));
	gap:18px
}
.dept-card {
	background:#fff;
	border:1px solid var(--c-border);
	border-radius:14px;
	overflow:hidden;
transition:box-shadow .2s, transform .2s;
	display:block
}
.dept-card:hover {
	box-shadow:var(--sh2);
	transform:translateY(-4px);
	border-color:var(--c-teal)
}
.dept-img {
	width:100%;
	height:140px;
	object-fit:cover;
	background:var(--c-teal3)
}
.dept-body {
	padding:16px 18px
}
.dept-name {
	font-size:14px;
	font-weight:600;
	color:var(--c-navy);
	line-height:1.4;
	margin-bottom:4px
}
.dept-arrow {
	font-size:12px;
	color:var(--c-teal);
	font-weight:600;
	margin-top:8px;
	display:flex;
	align-items:center;
	gap:4px
}
/* ═══════════════════════════ DOCTORS ═══════════════════════════ */
.doc-track-wrap {
	position:relative;
	overflow:hidden
}
.doc-track {
	display:flex;
	gap:20px;
transition:transform .5s cubic-bezier(.4, 0, .2, 1)
}
.doc-card {
	min-width:240px;
	background:#fff;
	border:1px solid var(--c-border);
	border-radius:14px;
	overflow:hidden;
	flex-shrink:0;
transition:box-shadow .2s, transform .2s
}
.doc-card:hover {
	box-shadow:var(--sh2);
	transform:translateY(-3px)
}
.doc-photo {
	width:100%;
	height:200px;
	object-fit:cover;
	object-position:top;
	background:linear-gradient(135deg, var(--c-teal3) 0%, #c8e8e0 100%)
}
.doc-body {
	padding:18px
}
.doc-name {
	font-family:var(--ff-head);
	font-size:16px;
	font-weight:700;
	color:var(--c-navy);
	margin-bottom:4px
}
.doc-spec {
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--c-teal);
	margin-bottom:6px
}
.doc-qual {
	font-size:12px;
	color:var(--c-soft);
	line-height:1.55;
	margin-bottom:14px
}
.doc-book {
	display:block;
	text-align:center;
	background:var(--c-teal3);
	color:var(--c-teal);
	font-size:12.5px;
	font-weight:700;
	padding:9px;
	border-radius:7px;
transition:background .2s, color .2s
}
.doc-book:hover {
	background:var(--c-teal);
	color:#fff
}
.track-btns {
	display:flex;
	gap:10px;
	justify-content:center;
	margin-top:32px
}
.track-btn {
	width:44px;
	height:44px;
	border-radius:50%;
	border:1.5px solid var(--c-border);
	background:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--c-mid);
transition:all .2s
}
.track-btn:hover {
	background:var(--c-navy);
	border-color:var(--c-navy);
	color:#fff
}
/* ═══════════════════════════ SERVICES TABS ═══════════════════════════ */
.tabs {
	display:flex;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:36px
}
.tab-btn {
	background:#fff;
	border:1.5px solid var(--c-border);
	color:var(--c-mid);
	font-size:13.5px;
	font-weight:500;
	padding:10px 20px;
	border-radius:8px;
transition:all .2s
}
.tab-btn.on {
	background:var(--c-navy);
	border-color:var(--c-navy);
	color:#fff
}
.tab-panel {
	display:none
}
.tab-panel.on {
	display:block
}
.svc-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));
	gap:14px
}
.svc-card {
	background:#fff;
	border:1px solid var(--c-border);
	border-radius:10px;
	padding:16px 18px;
	display:flex;
	align-items:center;
	gap:12px;
transition:box-shadow .15s, border-color .15s
}
.svc-card:hover {
	box-shadow:var(--sh1);
	border-color:var(--c-teal)
}
.svc-icon {
	width:36px;
	height:36px;
	border-radius:9px;
	background:var(--c-teal3);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:16px;
	flex-shrink:0
}
.svc-name {
	font-size:13px;
	font-weight:500;
	color:var(--c-navy);
	line-height:1.4
}
/* ═══════════════════════════ REVIEWS ═══════════════════════════ */
.rev-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
	gap:20px
}
.rev-card {
	background:#fff;
	border:1px solid var(--c-border);
	border-radius:14px;
	padding:24px;
	position:relative
}
.rev-quote {
	position:absolute;
	top:16px;
	right:20px;
	font-family:var(--ff-head);
	font-size:56px;
	color:var(--c-teal3);
	line-height:1;
	pointer-events:none
}
.rev-stars {
	color:#F5A623;
	letter-spacing:2px;
	font-size:13px;
	margin-bottom:12px
}
.rev-text {
	font-size:14px;
	color:var(--c-mid);
	line-height:1.78;
	margin-bottom:18px;
	font-style:italic
}
.rev-author {
	display:flex;
	align-items:center;
	gap:10px
}
.rev-av {
	width:38px;
	height:38px;
	border-radius:50%;
	background:var(--c-teal3);
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:14px;
	font-weight:700;
	color:var(--c-teal);
	flex-shrink:0
}
.rev-name {
	font-size:13px;
	font-weight:600;
	color:var(--c-navy)
}
.rev-date {
	font-size:11px;
	color:var(--c-soft)
}
.rev-rating-bar {
	background:var(--c-navy);
	border-radius:16px;
	padding:32px 36px;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:24px;
	margin-bottom:32px
}
.rb-big {
	font-family:var(--ff-head);
	font-size:64px;
	font-weight:700;
	color:var(--c-teal2);
	line-height:1
}
.rb-stars {
	color:#F5A623;
	font-size:20px;
	letter-spacing:3px;
	margin:6px 0 4px
}
.rb-count {
	font-size:13px;
	color:rgba(255, 255, 255, .5)
}
.rb-row {
	display:flex;
	align-items:center;
	gap:12px;
	margin-bottom:8px
}
.rb-bar {
	flex:1;
	height:6px;
	background:rgba(255, 255, 255, .15);
	border-radius:3px;
	overflow:hidden
}
.rb-fill {
	height:100%;
	background:var(--c-teal2);
	border-radius:3px
}
.rb-label {
	font-size:12px;
	color:rgba(255, 255, 255, .55);
	width:14px;
	text-align:right
}
/* ═══════════════════════════ FAQ ═══════════════════════════ */
.faq-wrap {
	max-width:740px;
	margin:0 auto
}
.faq-item {
	border-bottom:1px solid var(--c-border)
}
.faq-btn {
	width:100%;
	background:none;
	border:none;
	text-align:left;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:20px 0;
	gap:16px;
	font-size:15px;
	font-weight:600;
	color:var(--c-navy)
}
.faq-btn:hover {
	color:var(--c-teal)
}
.faq-ico {
	width:26px;
	height:26px;
	border-radius:50%;
	border:1.5px solid var(--c-border);
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--c-soft);
	font-size:18px;
	font-weight:300;
	flex-shrink:0;
transition:all .2s;
	line-height:1
}
.faq-item.open .faq-ico {
	background:var(--c-teal);
	border-color:var(--c-teal);
	color:#fff
}
.faq-ans {
	font-size:14px;
	color:var(--c-mid);
	line-height:1.8;
	padding-bottom:18px;
	display:none
}
.faq-item.open .faq-ans {
	display:block
}
/* ═══════════════════════════ CONTACT ═══════════════════════════ */
.contact-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:56px;
	align-items:start
}
.nap-card {
	background:#fff;
	border:1px solid var(--c-border);
	border-radius:14px;
	overflow:hidden
}
.nap-head {
	background:var(--c-navy);
	padding:24px 28px;
	color:#fff
}
.nap-head h3 {
	font-family:var(--ff-head);
	font-size:20px;
	font-weight:700;
	margin-bottom:4px
}
.nap-head p {
	font-size:13px;
	color:rgba(255, 255, 255, .55)
}
.nap-rows {
	padding:0 20px
}
.nap-row {
	display:flex;
	align-items:flex-start;
	gap:14px;
	padding:18px 0;
	border-bottom:1px solid var(--c-border)
}
.nap-row:last-child {
	border-bottom:none
}
.nap-ico {
	width:40px;
	height:40px;
	border-radius:10px;
	background:var(--c-teal3);
	display:flex;
	align-items:center;
	justify-content:center;
	flex-shrink:0
}
.nap-ico svg {
	width:18px;
	height:18px;
	fill:var(--c-teal)
}
.nap-lbl {
	font-size:10.5px;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
	color:var(--c-soft);
	margin-bottom:4px
}
.nap-val {
	font-size:14px;
	color:var(--c-navy);
	font-weight:500;
	line-height:1.55
}
.nap-val a {
	color:var(--c-teal)
}
.nap-val a:hover {
	color:var(--c-navy)
}
.map-embed {
	width:100%;
	height:320px;
	border-radius:14px;
	border:1px solid var(--c-border);
	background:var(--c-teal3);
	overflow:hidden
}
.map-embed iframe {
	width:100%;
	height:100%;
	border:none
}
/* ═══════════════════════════ FOOTER ═══════════════════════════ */
footer {
	background:var(--c-navy);
	color:rgba(255, 255, 255, .6);
	padding:64px 0 28px
}
.footer-top {
	/*display:grid;
	grid-template-columns:2fr 1fr 1fr 1fr;
	gap:44px;
	margin-bottom:52px*/
}
.ft-brand {
}
.ft-logo {
	display:flex;
	align-items:center;
	gap:10px;
	margin-bottom:16px
}
.ft-logo img {
	height:44px;
	filter:brightness(0) invert(1);
	opacity:.9
}
.ft-brand p {
	font-size:13.5px;
	line-height:1.8;
	margin-bottom:18px;
	max-width:290px
}
.ft-contact a {
	display:flex;
	align-items:center;
	gap:8px;
	font-size:13px;
	color:rgba(255, 255, 255, .65);
	margin-bottom:10px;
transition:color .15s
}
.ft-contact a:hover {
	color:#fff
}
.ft-contact svg {
	width:14px;
	height:14px;
	fill:var(--c-teal2);
	flex-shrink:0
}
.ft-col h5 {
	font-size:10.5px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:rgba(255, 255, 255, .3);
	margin-bottom:18px
}
.ft-col ul li {
	margin-bottom:10px
}
.ft-col ul a {
	font-size:13.5px;
	color:rgba(255, 255, 255, .6);
transition:color .15s
}
.ft-col ul a:hover {
	color:rgba(255, 255, 255, .95)
}
.footer-bottom {
	border-top:1px solid rgba(255, 255, 255, .08);
	padding-top:24px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:12px;
	font-size:12px
}
.fb-links {
	display:flex;
	gap:16px
}
.fb-links a {
	color:rgba(255, 255, 255, .4);
transition:color .15s
}
.fb-links a:hover {
	color:rgba(255, 255, 255, .8)
}
/* ═══════════════════════════ BREADCRUMB ═══════════════════════════ */
.breadcrumb {
	padding:10px 0;
	font-size:12px;
	color:var(--c-soft);
	display:flex;
	align-items:center;
	gap:6px
}
.breadcrumb a {
	color:var(--c-teal)
}
/* ═══════════════════════════ SECTION HEADER ═══════════════════════════ */
.sec-hdr {
	margin-bottom:52px
}
.sec-hdr-center {
	text-align:center
}
.sec-hdr-center .sub {
	margin:0 auto
}
.sec-hdr .sub {
	margin-top:4px
}
/* ═══════════════════════════ EMERGENCY BANNER ═══════════════════════════ */
.emerg-banner {
	background:linear-gradient(90deg, #C0392B 0%, #9B2335 100%);
	padding:20px 0
}
.emerg-row {
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	color:#fff
}
.emerg-left {
	display:flex;
	align-items:center;
	gap:14px
}
.emerg-icon {
	width:44px;
	height:44px;
	background:rgba(255, 255, 255, .15);
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center
}
.emerg-icon svg {
	width:22px;
	height:22px;
	fill:#fff
}
.emerg-text strong {
	display:block;
	font-size:16px;
	font-weight:700
}
.emerg-text span {
	font-size:13px;
	opacity:.8
}
/* ═══════════════════════════ SCROLL-FADE ═══════════════════════════ */
.fade-in {
	opacity:0;
	transform:translateY(24px);
transition:opacity .6s ease, transform .6s ease
}
.fade-in.visible {
	opacity:1;
	transform:none
}
/* ═══════════════════════════ APPOINTMENT MODAL ═══════════════════════════ */
.appt-backdrop {
	display:none;
	position:fixed;
	inset:0;
	z-index:9999;
	background:rgba(13, 27, 53, .75);
	backdrop-filter:blur(7px);
	-webkit-backdrop-filter:blur(7px);
	align-items:center;
	justify-content:center;
	padding:16px;
}
.appt-backdrop.open {
	display:flex;
animation:bdIn .22s ease
}
@keyframes bdIn {
from {
opacity:0
}
to {
	opacity:1
}
}
.appt-modal {
	background:#fff;
	border-radius:20px;
	overflow:hidden;
	width:100%;
	max-width:900px;
	max-height:94vh;
	display:flex;
	flex-direction:column;
	box-shadow:0 40px 100px rgba(13, 27, 53, .4);
 animation:mdIn .3s cubic-bezier(.34, 1.56, .64, 1);
}
@keyframes mdIn {
from {
opacity:0;
transform:translateY(32px) scale(.96)
}
to {
	opacity:1;
	transform:none
}
}
.appt-head {
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:16px 22px;
	background:var(--c-navy);
	flex-shrink:0;
}
.appt-head-info {
	display:flex;
	align-items:center;
	gap:12px
}
.appt-head-info img {
	height:38px;
	width:auto;
	filter:brightness(0) invert(1);
	opacity:.9
}
.appt-head-info strong {
	display:block;
	font-family:var(--ff-head);
	font-size:17px;
	font-weight:700;
	color:#fff;
	line-height:1.1
}
.appt-head-info span {
	font-size:11px;
	color:rgba(255, 255, 255, .45);
	letter-spacing:.04em
}
.appt-close {
	width:34px;
	height:34px;
	border-radius:50%;
	border:1.5px solid rgba(255, 255, 255, .2);
	background:rgba(255, 255, 255, .08);
	color:#fff;
	font-size:19px;
	line-height:1;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
 transition:background .18s;
	flex-shrink:0;
}
.appt-close:hover {
	background:rgba(255, 255, 255, .2)
}
.appt-body {
	flex:1;
	position:relative;
	min-height:560px;
	background:var(--c-bg)
}
.appt-loader {
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:14px;
	background:var(--c-bg);
	z-index:5;
transition:opacity .35s;
}
.appt-loader.gone {
	opacity:0;
	pointer-events:none
}
.appt-spin {
	width:42px;
	height:42px;
	border-radius:50%;
	border:3px solid var(--c-teal3);
	border-top-color:var(--c-teal);
 animation:spin .75s linear infinite;
}
@keyframes spin {
to {
transform:rotate(360deg)
}
}
.appt-loader p {
	font-size:14px;
	color:var(--c-soft)
}
.appt-iframe {
	width:100%;
	height:100%;
	border:none;
	position:absolute;
	inset:0
}
.appt-foot {
	padding:11px 22px;
	border-top:1px solid var(--c-border);
	display:flex;
	align-items:center;
	justify-content:space-between;
	flex-shrink:0;
	background:#fff;
	flex-wrap:wrap;
	gap:8px;
}
.appt-foot-note {
	font-size:12px;
	color:var(--c-soft);
	display:flex;
	align-items:center;
	gap:5px
}
.appt-foot-note svg {
	width:13px;
	height:13px;
	fill:var(--c-teal);
	flex-shrink:0
}
.appt-foot-call {
	font-size:13px;
	font-weight:600;
	color:var(--c-teal)
}
.appt-foot-call:hover {
	color:var(--c-navy)
}
@media(max-width:600px) {
 .appt-modal {
border-radius:14px;
max-height:96vh
}
 .appt-body {
min-height:420px
}
}

/* ═══════════════════════════ RESPONSIVE ═══════════════════════════ */
@media(max-width:1024px) {
 .book-bar {
grid-template-columns:1fr 1fr;
gap:14px
}
 .about-grid {
grid-template-columns:1fr;
gap:44px
}
 .about-img {
display:none
}
 .contact-grid {
grid-template-columns:1fr
}
 .footer-top {
grid-template-columns:1fr 1fr;
gap:32px
}
 .stats-grid {
grid-template-columns:repeat(2, 1fr)
}
}
@media(max-width:720px) {
 .topbar, .tb-left {
display:none
}
 .sec {
padding:56px 0
}
 .book-bar {
grid-template-columns:1fr;
margin:0 16px;
padding:22px 20px;
border-radius:14px;
margin-top:-30px
}
 .trust-row {
gap:0
}
 .trust-item {
padding:10px 18px;
font-size:12px
}
 .stats-grid {
grid-template-columns:repeat(2, 1fr)
}
 .footer-top {
grid-template-columns:1fr
}
 .hero {
height:520px
}
 .hero h1 {
font-size:32px
}
 .emerg-banner .btn {
display:none
}
 .nav-links a:not(.nav-cta) {
display:none
}
}
