/*
Theme Name: Raqeeb HotelConnect Pro
Description: Raqeeb HotelConnect Pro Hotel Management System.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hotelconnect-pro
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* === google-fonts === */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700;800&display=swap');

:root {
	--navy: #0B1D3A;
	--navy-mid: #122150;
	--navy-light: #1A2F6B;
	--gold: #D4A017;
	--gold-light: #F0C040;
	--gold-dark: #B8860B;
	--white: #FFFFFF;
	--off-white: #F5F7FA;
	--slate: #64748B;
	--text-dark: #0F172A;
	--text-mid: #334155;
	--border: #E2E8F0;
	--shadow-sm: 0 1px 3px rgba(11,29,58,0.08), 0 1px 2px rgba(11,29,58,0.06);
	--shadow-md: 0 4px 16px rgba(11,29,58,0.12), 0 2px 6px rgba(11,29,58,0.08);
	--shadow-lg: 0 10px 40px rgba(11,29,58,0.18), 0 4px 12px rgba(11,29,58,0.10);
	--shadow-xl: 0 20px 60px rgba(11,29,58,0.22), 0 8px 20px rgba(11,29,58,0.14);
	--shadow-gold: 0 4px 20px rgba(212,160,23,0.35);
	--radius: 12px;
	--radius-sm: 8px;
	--radius-lg: 20px;
}
/* === reset === */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; background: var(--off-white); color: var(--text-dark); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; transition: color 0.2s; }
ul { list-style: none; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block: 0; }
.entry-content > * + * { margin-top: 0; }
/* === typography === */
.section-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	background: rgba(212,160,23,0.12); color: var(--gold);
	font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	padding: 6px 16px; border-radius: 100px; border: 1px solid rgba(212,160,23,0.3);
	margin-bottom: 16px;
}
.section-eyebrow::before { content: ''; display: block; width: 6px; height: 6px; background: var(--gold); border-radius: 50%; }
.section-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(2rem, 4vw, 2.8rem);
	color: var(--navy); font-weight: 700; line-height: 1.2;
	letter-spacing: -0.02em; margin-bottom: 16px;
}
.section-title.light { color: var(--white); }
.section-subtitle {
	font-size: 1.1rem; color: var(--slate); line-height: 1.7;
	max-width: 600px; margin: 0 auto 48px;
}
.section-subtitle.light { color: rgba(255,255,255,0.8); }
.text-center { text-align: center; }
.text-gold { color: var(--gold); }
.badge {
	display: inline-block; background: rgba(212,160,23,0.15);
	color: var(--gold-dark); font-size: 0.75rem; font-weight: 700;
	padding: 4px 12px; border-radius: 100px; letter-spacing: 0.05em;
}
/* === nav wrapper === */
.site-header-wrap {
	position: static !important;
	background: transparent !important;
	z-index: auto !important;
	display: block !important;
}
/* ============================================================
   RHCP NAVBAR — div/a only, no ul/li
   ============================================================ */
.rhcp-nav-bar {
	position: fixed; top: 0; left: 0; right: 0; z-index: 9999;
	background: rgba(11,29,58,0.88);
	backdrop-filter: blur(18px) saturate(160%);
	-webkit-backdrop-filter: blur(18px) saturate(160%);
	border-bottom: 1px solid rgba(255,255,255,0.07);
	transition: background 0.3s, box-shadow 0.3s;
}
.rhcp-nav-bar.rhcp-nb-scrolled {
	background: rgba(11,29,58,0.98);
	border-bottom-color: rgba(212,160,23,0.2);
	box-shadow: 0 4px 32px rgba(0,0,0,0.4);
}
/* --- Inner row --- */
.rhcp-nb-inner {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 36px;
	height: 66px;
	gap: 0;
}

/* --- Logo --- */
.rhcp-nb-logo {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 9px;
	text-decoration: none;
	flex-shrink: 0;
	margin-right: 32px;
}
.rhcp-nb-logo-icon {
	width: 32px; height: 32px; border-radius: 7px; flex-shrink: 0;
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	display: flex; align-items: center; justify-content: center;
	font-size: 0.95rem; line-height: 1;
	box-shadow: 0 2px 10px rgba(212,160,23,0.35);
}
.rhcp-nb-logo-text {
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	font-size: 1rem; font-weight: 700; color: var(--white);
	letter-spacing: -0.01em; white-space: nowrap;
}
.rhcp-nb-logo-text em {
	font-style: normal; color: var(--gold); font-weight: 800;
}

/* --- Nav links (div of anchors, NO ul/li) --- */
.rhcp-nb-links {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 2px;
	margin: 0 auto;
	padding: 0;
}
.rhcp-nb-links a {
	display: inline-block;
	color: rgba(255,255,255,0.78);
	font-size: 0.875rem; font-weight: 500;
	padding: 8px 12px; border-radius: 7px;
	transition: color 0.18s, background 0.18s;
	white-space: nowrap; text-decoration: none;
}
.rhcp-nb-links a:hover {
	color: var(--white);
	background: rgba(255,255,255,0.09);
}

/* --- CTA group --- */
.rhcp-nb-cta {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
.rhcp-nb-signin {
	display: inline-block;
	color: rgba(255,255,255,0.8) !important;
	font-size: 0.875rem; font-weight: 500;
	padding: 7px 14px; border-radius: 7px;
	text-decoration: none;
	transition: color 0.18s, background 0.18s;
	white-space: nowrap;
}
.rhcp-nb-signin:hover { color: var(--white) !important; background: rgba(255,255,255,0.09); }
.rhcp-nb-vendor {
	display: inline-block;
	color: var(--gold) !important;
	font-size: 0.8rem; font-weight: 600;
	padding: 7px 14px; border-radius: 7px;
	border: 1.5px solid rgba(212,160,23,0.45);
	text-decoration: none; background: transparent;
	transition: background 0.18s, border-color 0.18s;
	white-space: nowrap;
}
.rhcp-nb-vendor:hover {
	background: rgba(212,160,23,0.1);
	border-color: var(--gold);
}
.rhcp-nb-demo {
	display: inline-block;
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	color: var(--navy) !important;
	font-size: 0.875rem; font-weight: 700;
	padding: 9px 18px; border-radius: 7px;
	text-decoration: none; border: none;
	box-shadow: 0 2px 14px rgba(212,160,23,0.3);
	transition: transform 0.18s, box-shadow 0.18s;
	white-space: nowrap;
}
.rhcp-nb-demo:hover {
	transform: translateY(-1px);
	box-shadow: 0 5px 22px rgba(212,160,23,0.45);
	color: var(--navy) !important;
}

/* --- Hamburger (hidden on desktop) --- */
.rhcp-nb-burger {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 38px; height: 38px; padding: 8px;
	background: rgba(255,255,255,0.06);
	border: 1px solid rgba(255,255,255,0.14);
	border-radius: 8px; cursor: pointer;
	transition: background 0.2s;
}
.rhcp-nb-burger span {
	display: block; width: 100%; height: 2px;
	background: rgba(255,255,255,0.85); border-radius: 2px;
	transition: transform 0.25s, opacity 0.2s;
	transform-origin: center;
}
.rhcp-nb-burger.rhcp-nb-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.rhcp-nb-burger.rhcp-nb-active span:nth-child(2) { opacity: 0; }
.rhcp-nb-burger.rhcp-nb-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* --- Mobile drawer (hidden by default, NO display:flex by default) --- */
.rhcp-nb-drawer {
	display: none;
	background: rgba(9,20,44,0.99);
	border-top: 1px solid rgba(212,160,23,0.12);
	padding: 12px 20px 20px;
	overflow: hidden;
}
.rhcp-nb-drawer.rhcp-nb-open {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.rhcp-nb-drawer > a {
	display: block;
	color: rgba(255,255,255,0.82);
	font-size: 0.95rem; font-weight: 500;
	padding: 11px 14px; border-radius: 8px;
	text-decoration: none;
	transition: background 0.15s;
}
.rhcp-nb-drawer > a:hover { background: rgba(255,255,255,0.07); color: var(--white); }
.rhcp-nb-drawer-cta {
	display: flex; flex-direction: column; gap: 8px;
	margin-top: 10px; padding-top: 12px;
	border-top: 1px solid rgba(255,255,255,0.08);
}
.rhcp-nb-drawer-cta .rhcp-nb-signin,
.rhcp-nb-drawer-cta .rhcp-nb-vendor,
.rhcp-nb-drawer-cta .rhcp-nb-demo {
	display: block; text-align: center; padding: 11px;
}
/* === hero slideshow background === */
.hero-section { overflow: hidden !important; }
.hs-slideshow {
	position: absolute !important;
	top: 0 !important; left: 0 !important;
	right: 0 !important; bottom: 0 !important;
	z-index: 0 !important;
	overflow: hidden !important;
	pointer-events: none;
	width: 100% !important; height: 100% !important;
}
.hs-slide {
	position: absolute !important;
	top: 0 !important; left: 0 !important;
	width: 100% !important; height: 100% !important;
	background-size: cover !important;
	background-position: center center !important;
	opacity: 0;
	transition: opacity 1.8s ease-in-out;
	will-change: transform, opacity;
	transform: scale(1);
}
.hs-slide.hs-active { opacity: 1 !important; }
/* Slide 1 — 5-star resort pool */
.hs-slide--1 {
	background-image: url('https://images.unsplash.com/photo-1571003123894-1f0594d2b5d9?w=1920&q=95&auto=format&fit=crop') !important;
	animation: hs-zoom-1 20s ease-in-out infinite;
}
/* Slide 2 — luxury suite */
.hs-slide--2 {
	background-image: url('https://images.unsplash.com/photo-1618773928121-c32242e63f39?w=1920&q=95&auto=format&fit=crop') !important;
	animation: hs-zoom-2 20s ease-in-out infinite;
}
/* Slide 3 — hotel lobby */
.hs-slide--3 {
	background-image: url('https://images.unsplash.com/photo-1542314831-068cd1dbfeeb?w=1920&q=95&auto=format&fit=crop') !important;
	animation: hs-zoom-3 20s ease-in-out infinite;
}
@keyframes hs-zoom-1 { 0%{transform:scale(1.0);} 50%{transform:scale(1.08) translate(-1.5%,-1%);} 100%{transform:scale(1.0);} }
@keyframes hs-zoom-2 { 0%{transform:scale(1.0);} 50%{transform:scale(1.08) translate(1.5%,-1.5%);} 100%{transform:scale(1.0);} }
@keyframes hs-zoom-3 { 0%{transform:scale(1.0);} 50%{transform:scale(1.08) translate(-1%,1.5%);} 100%{transform:scale(1.0);} }
/* Dark overlay */
.hs-overlay {
	position: absolute !important;
	top: 0 !important; left: 0 !important;
	width: 100% !important; height: 100% !important;
	background: linear-gradient(135deg, rgba(11,29,58,0.85) 0%, rgba(11,29,58,0.60) 50%, rgba(11,29,58,0.80) 100%) !important;
	z-index: 1 !important;
}
@media (prefers-reduced-motion: reduce) {
	.hs-slide { animation: none !important; transition: none !important; }
}

/* === hero === */
.hero-section {
	background: #0B1D3A; /* fallback while images load */
	position: relative; overflow: hidden;
	padding: 160px 32px 100px;
	min-height: 100vh; display: flex; align-items: center;
}
.hero-section::before {
	content: ''; position: absolute; inset: 0;
	background:
		radial-gradient(ellipse 70% 60% at 70% 50%, rgba(212,160,23,0.08) 0%, transparent 70%),
		radial-gradient(ellipse 50% 50% at 10% 80%, rgba(26,47,107,0.6) 0%, transparent 60%);
	pointer-events: none;
}
.hero-section::after {
	content: ''; position: absolute;
	bottom: -2px; left: 0; right: 0; height: 80px;
	background: linear-gradient(to bottom, transparent, var(--off-white));
	pointer-events: none;
}
.hero-grid {
	max-width: 1200px; margin: 0 auto; width: 100%;
	display: grid; grid-template-columns: 1fr 1fr;
	gap: 60px; align-items: center; position: relative; z-index: 2;
}
.hero-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	background: rgba(212,160,23,0.15); color: var(--gold);
	font-size: 0.8rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	padding: 8px 18px; border-radius: 100px; border: 1px solid rgba(212,160,23,0.3);
	margin-bottom: 24px;
}
.hero-eyebrow::before { content: ''; width: 8px; height: 8px; background: var(--gold); border-radius: 50%; animation: pulse-dot 2s ease-in-out infinite; }
.hero-headline {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	color: var(--white); font-weight: 700;
	line-height: 1.15; letter-spacing: -0.02em;
	margin-bottom: 24px;
}
.hero-headline em { font-style: normal; color: var(--gold); }
.hero-subheadline {
	font-size: 1.15rem; color: rgba(255,255,255,0.75);
	line-height: 1.8; margin-bottom: 40px; max-width: 520px;
}
.hero-buttons {
	display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 48px;
}
.btn-primary {
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	color: var(--navy); font-weight: 700; font-size: 1rem;
	padding: 16px 32px; border-radius: 8px; border: none;
	box-shadow: var(--shadow-gold); cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
	display: inline-flex; align-items: center; gap: 8px;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(212,160,23,0.5); color: var(--navy); }
.btn-secondary {
	background: transparent; color: var(--white);
	font-weight: 600; font-size: 1rem;
	padding: 15px 32px; border-radius: 8px;
	border: 2px solid rgba(255,255,255,0.3); cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
	display: inline-flex; align-items: center; gap: 8px;
}
.btn-secondary:hover { border-color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.07); color: var(--white); }
.hero-trust {
	display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.trust-stat { text-align: center; }
.trust-num { display: block; font-size: 1.5rem; font-weight: 800; color: var(--gold); }
.trust-label { font-size: 0.78rem; color: rgba(255,255,255,0.6); }
.trust-divider { width: 1px; height: 40px; background: rgba(255,255,255,0.15); }
.hero-visual { position: relative; }
.hero-dashboard {
	background: linear-gradient(145deg, #0F2250 0%, #1A3170 100%);
	border: 1px solid rgba(212,160,23,0.25); border-radius: 20px;
	box-shadow: var(--shadow-xl), 0 0 80px rgba(212,160,23,0.08);
	overflow: hidden; padding: 0;
}
.dashboard-topbar {
	background: rgba(11,29,58,0.9); padding: 14px 20px;
	display: flex; align-items: center; gap: 12px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.dash-dots { display: flex; gap: 6px; }
.dash-dots span { width: 12px; height: 12px; border-radius: 50%; }
.dash-dots span:nth-child(1) { background: #FF5F56; }
.dash-dots span:nth-child(2) { background: #FEBC2E; }
.dash-dots span:nth-child(3) { background: #27C840; }
.dash-title { color: rgba(255,255,255,0.5); font-size: 0.8rem; margin-left: 8px; }
.dashboard-body { padding: 24px; }
.dash-metrics {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px;
}
.dash-metric {
	background: rgba(255,255,255,0.05); border-radius: 10px;
	padding: 14px; border: 1px solid rgba(255,255,255,0.08);
}
.dash-metric-val { font-size: 1.4rem; font-weight: 800; color: var(--white); }
.dash-metric-label { font-size: 0.7rem; color: rgba(255,255,255,0.5); margin-top: 2px; }
.dash-metric-badge { font-size: 0.65rem; font-weight: 700; color: #22C55E; margin-top: 4px; }
.dash-rooms-grid {
	display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin-bottom: 20px;
}
.dash-room {
	height: 32px; border-radius: 6px; display: flex; align-items: center; justify-content: center;
	font-size: 0.65rem; font-weight: 600;
}
.dash-room.occupied { background: rgba(239,68,68,0.25); color: #FCA5A5; border: 1px solid rgba(239,68,68,0.3); }
.dash-room.available { background: rgba(34,197,94,0.2); color: #86EFAC; border: 1px solid rgba(34,197,94,0.3); }
.dash-room.cleaning { background: rgba(251,191,36,0.2); color: #FDE68A; border: 1px solid rgba(251,191,36,0.3); }
.dash-chart {
	background: rgba(255,255,255,0.04); border-radius: 10px; padding: 16px;
	border: 1px solid rgba(255,255,255,0.06);
}
.dash-chart-title { font-size: 0.75rem; color: rgba(255,255,255,0.5); margin-bottom: 12px; font-weight: 600; }
.dash-bars { display: flex; align-items: flex-end; gap: 4px; height: 60px; }
.dash-bar { flex: 1; border-radius: 4px 4px 0 0; opacity: 0.85; }
.dash-bar.gold { background: linear-gradient(to top, var(--gold-dark), var(--gold-light)); }
.dash-bar.navy { background: rgba(255,255,255,0.15); }
.hero-float-1 {
	position: absolute; top: -16px; right: -16px;
	background: var(--white); border-radius: 12px;
	padding: 12px 16px; box-shadow: var(--shadow-lg);
	display: flex; align-items: center; gap: 10px;
	font-size: 0.8rem; font-weight: 600; color: var(--text-dark);
}
.hero-float-1 .icon { font-size: 1.3rem; }
.hero-float-2 {
	position: absolute; bottom: 20px; left: -20px;
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
	border: 1px solid rgba(212,160,23,0.3); border-radius: 12px;
	padding: 12px 16px; box-shadow: var(--shadow-lg);
	display: flex; align-items: center; gap: 10px;
	font-size: 0.8rem; font-weight: 600; color: var(--white);
}
.hero-float-2 .icon { font-size: 1.3rem; }
/* === stats-bar === */
.stats-bar {
	background: var(--white); border-bottom: 1px solid var(--border);
	padding: 36px 32px; box-shadow: var(--shadow-sm);
}
.stats-bar-inner {
	max-width: 1200px; margin: 0 auto;
	display: flex; align-items: center; justify-content: space-between;
	gap: 32px; flex-wrap: wrap;
}
.stat-item { text-align: center; }
.stat-number {
	font-family: 'Playfair Display', serif;
	font-size: 2.4rem; font-weight: 700; color: var(--navy);
	line-height: 1;
}
.stat-number span { color: var(--gold); }
.stat-label { font-size: 0.85rem; color: var(--slate); margin-top: 4px; font-weight: 500; }
.stat-divider { width: 1px; height: 60px; background: var(--border); }
/* === features === */
.features-section {
	padding: 100px 32px;
	background: var(--off-white);
}
.features-inner { max-width: 1200px; margin: 0 auto; }
.features-grid {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px; margin-top: 60px;
}
.feature-card {
	background: var(--white); border-radius: var(--radius); padding: 32px;
	border: 1px solid var(--border);
	transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
	position: relative; overflow: hidden;
}
.feature-card::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--gold), var(--gold-light));
	transform: scaleX(0); transform-origin: left;
	transition: transform 0.3s;
}
.feature-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: rgba(212,160,23,0.3); }
.feature-card:hover::before { transform: scaleX(1); }
.feature-icon {
	width: 56px; height: 56px;
	background: linear-gradient(135deg, rgba(11,29,58,0.08) 0%, rgba(212,160,23,0.1) 100%);
	border-radius: 14px; font-size: 1.6rem;
	display: flex; align-items: center; justify-content: center;
	margin-bottom: 20px;
	border: 1px solid rgba(212,160,23,0.15);
}
.feature-title { font-size: 1.1rem; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.feature-desc { font-size: 0.9rem; color: var(--slate); line-height: 1.7; }
.feature-link {
	display: inline-flex; align-items: center; gap: 6px;
	color: var(--gold); font-size: 0.85rem; font-weight: 600;
	margin-top: 16px; transition: gap 0.2s;
}
.feature-link:hover { gap: 10px; color: var(--gold-dark); }
/* === benefits === */
.benefits-section {
	padding: 100px 32px;
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 50%, #0E2048 100%);
	position: relative; overflow: hidden;
}
.benefits-section::before {
	content: ''; position: absolute; inset: 0;
	background: radial-gradient(ellipse 60% 60% at 80% 50%, rgba(212,160,23,0.07) 0%, transparent 70%);
	pointer-events: none;
}
.benefits-inner {
	max-width: 1200px; margin: 0 auto;
	display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
	position: relative; z-index: 1;
}
.benefits-text .section-title { color: var(--white); }
.benefits-text .section-subtitle { color: rgba(255,255,255,0.7); text-align: left; margin-left: 0; max-width: 480px; margin-bottom: 0; }
.benefits-grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.benefit-card {
	background: rgba(255,255,255,0.05); border-radius: var(--radius);
	padding: 28px; border: 1px solid rgba(255,255,255,0.1);
	transition: background 0.3s, border-color 0.3s, transform 0.3s;
}
.benefit-card:hover { background: rgba(255,255,255,0.09); border-color: rgba(212,160,23,0.35); transform: translateY(-4px); }
.benefit-icon {
	width: 48px; height: 48px;
	background: rgba(212,160,23,0.15); border-radius: 12px;
	font-size: 1.4rem; display: flex; align-items: center; justify-content: center;
	margin-bottom: 16px;
}
.benefit-title { font-size: 1rem; font-weight: 700; color: var(--white); margin-bottom: 8px; }
.benefit-desc { font-size: 0.85rem; color: rgba(255,255,255,0.6); line-height: 1.6; }
/* === screenshots === */
.screenshots-section {
	padding: 100px 32px;
	background: var(--white);
}
.screenshots-inner { max-width: 1200px; margin: 0 auto; }
.screenshots-tabs {
	display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 48px;
}
.screenshot-tab {
	padding: 10px 22px; border-radius: 100px;
	border: 2px solid var(--border); background: transparent;
	font-size: 0.875rem; font-weight: 600; color: var(--slate);
	cursor: pointer; transition: all 0.2s;
}
.screenshot-tab.active, .screenshot-tab:hover {
	background: var(--navy); border-color: var(--navy); color: var(--white);
}
.screenshots-display {
	background: linear-gradient(145deg, #0F2250 0%, #1A3170 100%);
	border-radius: 20px; padding: 32px;
	box-shadow: var(--shadow-xl);
	border: 1px solid rgba(212,160,23,0.2);
}
.screenshot-window {
	background: rgba(11,29,58,0.8); border-radius: 14px;
	overflow: hidden; border: 1px solid rgba(255,255,255,0.1);
}
.window-bar {
	background: rgba(0,0,0,0.3); padding: 12px 20px;
	display: flex; align-items: center; gap: 12px;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.window-dots { display: flex; gap: 6px; }
.window-dots span { width: 10px; height: 10px; border-radius: 50%; }
.window-dots span:nth-child(1) { background: #FF5F56; }
.window-dots span:nth-child(2) { background: #FEBC2E; }
.window-dots span:nth-child(3) { background: #27C840; }
.window-url {
	background: rgba(255,255,255,0.07); border-radius: 6px;
	padding: 6px 16px; font-size: 0.75rem; color: rgba(255,255,255,0.4);
	flex: 1; max-width: 380px;
}
.window-content { padding: 28px; }
.dash-panel {
	display: flex; gap: 20px;
}
.dash-sidebar {
	width: 180px; flex-shrink: 0;
	background: rgba(11,29,58,0.6); border-radius: 10px; padding: 20px 14px;
}
.dash-sidebar-logo {
	color: var(--gold); font-weight: 700; font-size: 0.9rem; margin-bottom: 20px;
	padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,0.08);
}
.dash-sidebar-item {
	padding: 8px 12px; border-radius: 6px; font-size: 0.75rem;
	color: rgba(255,255,255,0.6); margin-bottom: 4px; cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.dash-sidebar-item.active { background: rgba(212,160,23,0.15); color: var(--gold); font-weight: 600; }
.dash-main { flex: 1; }
.dash-main-title { font-size: 0.95rem; font-weight: 700; color: var(--white); margin-bottom: 20px; }
.dash-kpi-row { display: flex; gap: 12px; margin-bottom: 20px; }
.dash-kpi {
	flex: 1; background: rgba(255,255,255,0.05);
	border-radius: 10px; padding: 16px;
	border: 1px solid rgba(255,255,255,0.08);
}
.kpi-label { font-size: 0.7rem; color: rgba(255,255,255,0.5); margin-bottom: 6px; }
.kpi-val { font-size: 1.5rem; font-weight: 800; color: var(--white); }
.kpi-change { font-size: 0.7rem; color: #22C55E; margin-top: 4px; }
.kpi-change.down { color: #EF4444; }
.dash-table {
	background: rgba(255,255,255,0.04); border-radius: 10px;
	border: 1px solid rgba(255,255,255,0.06); overflow: hidden;
}
.dash-table-head, .dash-table-row {
	display: grid; grid-template-columns: 60px 1fr 80px 100px 90px;
	padding: 10px 16px;
	align-items: center; gap: 12px;
}
.dash-table-head {
	background: rgba(255,255,255,0.05);
	font-size: 0.7rem; color: rgba(255,255,255,0.4); font-weight: 700;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.dash-table-row { font-size: 0.75rem; color: rgba(255,255,255,0.75); border-bottom: 1px solid rgba(255,255,255,0.04); }
.status-pill {
	display: inline-block; padding: 3px 10px; border-radius: 100px;
	font-size: 0.65rem; font-weight: 700;
}
.status-pill.confirmed { background: rgba(34,197,94,0.2); color: #86EFAC; }
.status-pill.pending { background: rgba(251,191,36,0.2); color: #FDE68A; }
.status-pill.checkedout { background: rgba(148,163,184,0.2); color: #CBD5E1; }
/* === pricing === */
.pricing-section {
	padding: 100px 32px;
	background: var(--off-white);
}
.pricing-inner { max-width: 1180px; margin: 0 auto; }
.pricing-grid {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: 28px; margin-top: 60px; align-items: start;
}
.pricing-card {
	background: var(--white); border-radius: var(--radius-lg);
	padding: 40px 36px; border: 2px solid var(--border);
	transition: transform 0.3s, box-shadow 0.3s;
	position: relative;
}
.pricing-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.pricing-card.featured {
	background: linear-gradient(145deg, var(--navy) 0%, var(--navy-light) 100%);
	border-color: var(--gold); transform: scale(1.04);
	box-shadow: var(--shadow-xl), 0 0 40px rgba(212,160,23,0.15);
}
.pricing-card.featured:hover { transform: scale(1.04) translateY(-8px); }
.pricing-badge {
	position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	color: var(--navy); font-size: 0.7rem; font-weight: 800;
	padding: 5px 20px; border-radius: 100px; letter-spacing: 0.08em; text-transform: uppercase;
}
.pricing-plan { font-size: 0.85rem; font-weight: 700; color: var(--slate); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 8px; }
.pricing-card.featured .pricing-plan { color: rgba(255,255,255,0.6); }
.pricing-price {
	font-family: 'Playfair Display', serif;
	font-size: 3rem; font-weight: 700; color: var(--navy); line-height: 1;
	margin-bottom: 4px;
}
.pricing-card.featured .pricing-price { color: var(--white); }
.pricing-currency { font-size: 1.5rem; vertical-align: super; color: var(--gold); font-weight: 700; }
.pricing-period { font-size: 0.85rem; color: var(--slate); margin-bottom: 20px; }
.pricing-card.featured .pricing-period { color: rgba(255,255,255,0.5); }
.pricing-desc { font-size: 0.9rem; color: var(--slate); margin-bottom: 28px; line-height: 1.6; padding-bottom: 28px; border-bottom: 1px solid var(--border); }
.pricing-card.featured .pricing-desc { color: rgba(255,255,255,0.65); border-color: rgba(255,255,255,0.1); }
.pricing-features { margin-bottom: 32px; }
.pricing-feature {
	display: flex; align-items: flex-start; gap: 10px;
	margin-bottom: 12px; font-size: 0.9rem; color: var(--text-mid);
}
.pricing-card.featured .pricing-feature { color: rgba(255,255,255,0.85); }
.pricing-feature::before {
	content: ''; display: block; width: 18px; height: 18px;
	background: rgba(34,197,94,0.15); border-radius: 50%;
	flex-shrink: 0; margin-top: 2px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2322C55E' d='M13.7 4.3a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4 0l-3-3a1 1 0 1 1 1.4-1.4L7 9.6l5.3-5.3a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: center; background-size: 12px;
}
.btn-pricing {
	width: 100%; padding: 15px; border-radius: 8px; font-weight: 700;
	font-size: 1rem; cursor: pointer; transition: all 0.2s; text-align: center;
	display: block;
}
.btn-pricing.outline {
	background: transparent; border: 2px solid var(--navy); color: var(--navy);
}
.btn-pricing.outline:hover { background: var(--navy); color: var(--white); }
.btn-pricing.gold {
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	border: none; color: var(--navy);
	box-shadow: var(--shadow-gold);
}
.btn-pricing.gold:hover { box-shadow: 0 8px 28px rgba(212,160,23,0.5); transform: translateY(-2px); color: var(--navy); }
.btn-pricing.outline-light {
	background: transparent; border: 2px solid rgba(255,255,255,0.4); color: var(--white);
}
.btn-pricing.outline-light:hover { background: rgba(255,255,255,0.1); border-color: var(--white); }
/* === trust section (replaces fabricated testimonials) === */
.trust-section {
	padding: 100px 32px;
	background: var(--white);
}
.trust-inner { max-width: 1200px; margin: 0 auto; }
.trust-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 56px;
}
.trust-card {
	background: var(--off-white); border-radius: var(--radius); padding: 32px 26px;
	border: 1px solid var(--border);
	transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
	text-align: center;
}
.trust-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: rgba(212,160,23,0.3); }
.trust-card-icon { font-size: 2.2rem; margin-bottom: 14px; }
.trust-card-title { font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: 10px; }
.trust-card-desc { font-size: 0.85rem; color: var(--text-mid); line-height: 1.65; }
@media(max-width:900px){ .trust-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:560px){ .trust-grid { grid-template-columns: 1fr; } }
/* === deployment options === */
.deployment-section {
	padding: 100px 32px;
	background: linear-gradient(160deg, #06111f 0%, #0B1D3A 55%, #0e2245 100%);
	position: relative;
	overflow: hidden;
}
.deployment-section::before {
	content: '';
	position: absolute;
	top: -200px; right: -200px;
	width: 600px; height: 600px;
	background: radial-gradient(circle, rgba(212,160,23,0.07) 0%, transparent 70%);
	pointer-events: none;
}
.deployment-section::after {
	content: '';
	position: absolute;
	bottom: -200px; left: -200px;
	width: 500px; height: 500px;
	background: radial-gradient(circle, rgba(29,78,216,0.1) 0%, transparent 70%);
	pointer-events: none;
}
.deployment-inner {
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
.deployment-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(212,160,23,0.1);
	border: 1px solid rgba(212,160,23,0.25);
	color: var(--gold);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 6px 16px;
	border-radius: 100px;
	margin-bottom: 22px;
}
.deployment-eyebrow svg { width: 14px; height: 14px; fill: var(--gold); }
.deployment-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(2rem, 3.5vw, 2.8rem);
	font-weight: 800;
	color: var(--white);
	line-height: 1.2;
	margin-bottom: 18px;
}
.deployment-subtitle {
	font-size: 1.08rem;
	color: rgba(255,255,255,0.62);
	max-width: 620px;
	margin: 0 auto 60px;
	line-height: 1.7;
}
.deployment-cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	margin-bottom: 60px;
}
.deploy-card {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 20px;
	padding: 40px 36px 36px;
	position: relative;
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.deploy-card:hover {
	transform: translateY(-6px);
	border-color: rgba(212,160,23,0.4);
	box-shadow: 0 24px 60px rgba(0,0,0,0.4), 0 0 0 1px rgba(212,160,23,0.15);
}
.deploy-card.featured {
	background: linear-gradient(145deg, rgba(212,160,23,0.1) 0%, rgba(212,160,23,0.04) 100%);
	border-color: rgba(212,160,23,0.35);
	box-shadow: 0 16px 48px rgba(0,0,0,0.3), inset 0 1px 0 rgba(212,160,23,0.2);
}
.deploy-badge {
	position: absolute;
	top: -14px; left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(90deg, #D4A017 0%, #f0c040 100%);
	color: #0B1D3A;
	font-size: 0.65rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 18px;
	border-radius: 100px;
	white-space: nowrap;
}
.deploy-icon {
	width: 58px; height: 58px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
	background: rgba(212,160,23,0.1);
	border: 1px solid rgba(212,160,23,0.2);
}
.deploy-icon svg {
	width: 28px; height: 28px;
	stroke: var(--gold);
	fill: none;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.deploy-card-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.55rem;
	font-weight: 800;
	color: var(--white);
	margin-bottom: 8px;
}
.deploy-card-subtitle {
	font-size: 0.88rem;
	color: rgba(255,255,255,0.5);
	margin-bottom: 28px;
	line-height: 1.5;
}
.deploy-features {
	list-style: none;
	padding: 0; margin: 0 0 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.deploy-feature {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.9rem;
	color: rgba(255,255,255,0.78);
	line-height: 1.4;
}
.deploy-feature-check {
	width: 18px; height: 18px;
	background: rgba(34,197,94,0.15);
	border: 1px solid rgba(34,197,94,0.3);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-top: 1px;
}
.deploy-feature-check svg {
	width: 10px; height: 10px;
	stroke: #22c55e;
	fill: none;
	stroke-width: 2.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.deploy-cta {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 24px;
	border-radius: 10px;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: all 0.25s ease;
	text-decoration: none;
}
.deploy-cta.gold {
	background: linear-gradient(135deg, #D4A017 0%, #f0c040 100%);
	color: #0B1D3A;
	border: none;
	box-shadow: 0 4px 20px rgba(212,160,23,0.35);
}
.deploy-cta.gold:hover {
	box-shadow: 0 8px 30px rgba(212,160,23,0.5);
	transform: translateY(-2px);
}
.deploy-cta.outline {
	background: transparent;
	color: var(--white);
	border: 1.5px solid rgba(255,255,255,0.25);
}
.deploy-cta.outline:hover {
	border-color: rgba(212,160,23,0.5);
	color: var(--gold);
	background: rgba(212,160,23,0.05);
}
/* comparison table */
.deploy-compare {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 40px;
}
.deploy-compare-title {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--white);
	padding: 24px 32px 20px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.deploy-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.88rem;
}
.deploy-table thead tr {
	background: rgba(212,160,23,0.08);
}
.deploy-table th {
	padding: 14px 24px;
	text-align: left;
	color: var(--gold);
	font-weight: 800;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(212,160,23,0.2);
}
.deploy-table th:not(:first-child) { text-align: center; }
.deploy-table td {
	padding: 13px 24px;
	color: rgba(255,255,255,0.72);
	border-bottom: 1px solid rgba(255,255,255,0.06);
	vertical-align: middle;
}
.deploy-table td:not(:first-child) { text-align: center; }
.deploy-table tbody tr:last-child td { border-bottom: none; }
.deploy-table tbody tr:hover { background: rgba(255,255,255,0.03); }
.deploy-table .td-label { font-weight: 600; color: rgba(255,255,255,0.88); }
.deploy-yes {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	color: #22c55e;
	font-weight: 700;
	font-size: 0.82rem;
}
.deploy-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	color: rgba(255,255,255,0.3);
	font-weight: 600;
	font-size: 0.82rem;
}
.deploy-opt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	color: #f0c040;
	font-weight: 600;
	font-size: 0.82rem;
}
.deploy-note {
	text-align: center;
	padding: 28px 32px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.09);
	border-radius: 14px;
	font-size: 0.92rem;
	color: rgba(255,255,255,0.6);
	line-height: 1.65;
}
.deploy-note a, .deploy-note strong {
	color: var(--gold);
	font-weight: 700;
	text-decoration: none;
}
.deploy-note a:hover { text-decoration: underline; }
/* comparison table via columns */
.deploy-compare .deploy-compare-title {
	padding: 24px 28px 16px;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--white);
	border-bottom: 1px solid rgba(255,255,255,0.08);
	margin: 0;
}
.deploy-table-row {
	display: flex !important;
	align-items: stretch;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	gap: 0 !important;
}
.deploy-table-row.deploy-row-last { border-bottom: none; }
.deploy-head-row {
	background: rgba(212,160,23,0.07);
	border-bottom: 1px solid rgba(212,160,23,0.18);
}
.dtc {
	display: flex !important;
	align-items: center;
	padding: 12px 24px;
	font-size: 0.86rem;
	line-height: 1.4;
	min-width: 0;
}
.dtc p { margin: 0; color: rgba(255,255,255,0.72); }
.dtc.dtc-label { flex: 1.6 !important; min-width: 0; }
.dtc.dtc-label p { font-weight: 600; color: rgba(255,255,255,0.88); }
.dtc.dtc-val { flex: 1 !important; justify-content: center; text-align: center; }
.deploy-head-row .dtc p {
	color: var(--gold);
	font-weight: 800;
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.deploy-yes { color: #22c55e !important; font-weight: 700; }
.deploy-no { color: rgba(255,255,255,0.28) !important; font-weight: 600; }
.deploy-opt { color: #f0c040 !important; font-weight: 600; }
/* column blocks inside deploy-compare lose gap */
.deploy-compare .wp-block-columns { gap: 0; margin-bottom: 0; }
.deploy-compare .wp-block-column { padding: 0; }
/* card list styling */
.deploy-features.wp-block-list { padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 11px; margin-bottom: 28px; }
.deploy-features.wp-block-list li {
	position: relative;
	padding-left: 26px;
	font-size: 0.9rem;
	color: rgba(255,255,255,0.78);
	line-height: 1.45;
}
.deploy-features.wp-block-list li::before {
	content: '';
	position: absolute;
	left: 0; top: 4px;
	width: 16px; height: 16px;
	background: rgba(34,197,94,0.15);
	border: 1px solid rgba(34,197,94,0.35);
	border-radius: 50%;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline points='2,6 5,9 10,3' fill='none' stroke='%2322c55e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 10px;
	background-repeat: no-repeat;
	background-position: center;
}
/* card icon as paragraph */
.deploy-icon.wp-block-paragraph, p.deploy-icon {
	width: 54px; height: 54px;
	background: rgba(212,160,23,0.1);
	border: 1px solid rgba(212,160,23,0.2);
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	padding: 0;
}
p.deploy-icon svg { width: 26px; height: 26px; stroke: var(--gold); }
/* badge paragraph */
p.deploy-badge {
	position: absolute;
	top: -14px; left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(90deg, #D4A017 0%, #f0c040 100%);
	color: #0B1D3A;
	font-size: 0.63rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 18px;
	border-radius: 100px;
	white-space: nowrap;
	margin: 0;
}
/* button overrides for deploy cards */
.deploy-cta-btn.gold-btn .wp-element-button {
	background: linear-gradient(135deg, #D4A017 0%, #f0c040 100%);
	color: #0B1D3A;
	border: none;
	box-shadow: 0 4px 20px rgba(212,160,23,0.35);
	width: 100%;
	text-align: center;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 14px 24px;
	border-radius: 10px;
}
.deploy-cta-btn.gold-btn .wp-element-button:hover {
	box-shadow: 0 8px 30px rgba(212,160,23,0.5);
	transform: translateY(-2px);
}
.deploy-cta-btn.outline-btn .wp-element-button {
	background: transparent;
	color: var(--white);
	border: 1.5px solid rgba(255,255,255,0.25);
	width: 100%;
	text-align: center;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 14px 24px;
	border-radius: 10px;
}
.deploy-cta-btn.outline-btn .wp-element-button:hover {
	border-color: rgba(212,160,23,0.5);
	color: var(--gold);
	background: rgba(212,160,23,0.05);
}
/* columns inside deployment-cards */
.deployment-cards.wp-block-columns {
	gap: 28px;
	margin-bottom: 56px;
	align-items: stretch;
}
.deployment-cards .wp-block-column { margin-bottom: 0; }
@media (max-width: 768px) {
	.deployment-cards.wp-block-columns { flex-direction: column; }
	.dtc { padding: 10px 14px; font-size: 0.78rem; }
}
/* === faq === */
.faq-section {
	padding: 100px 32px;
	background: var(--off-white);
}
.faq-inner {
	max-width: 800px; margin: 0 auto;
}
.faq-list { margin-top: 52px; }
.faq-item {
	background: var(--white); border-radius: var(--radius);
	border: 1px solid var(--border); margin-bottom: 12px; overflow: hidden;
	transition: box-shadow 0.2s;
}
.faq-item:hover { box-shadow: var(--shadow-sm); }
.faq-question {
	padding: 22px 28px; cursor: pointer;
	display: flex; justify-content: space-between; align-items: center;
	gap: 16px; font-size: 1rem; font-weight: 600; color: var(--navy);
}
.faq-question-icon {
	width: 28px; height: 28px; border-radius: 50%;
	background: rgba(212,160,23,0.1); color: var(--gold);
	display: flex; align-items: center; justify-content: center;
	font-size: 1.2rem; flex-shrink: 0; font-weight: 300;
	transition: transform 0.3s, background 0.2s;
}
.faq-item.open .faq-question-icon { transform: rotate(45deg); background: var(--gold); color: var(--navy); }
.faq-answer {
	max-height: 0; overflow: hidden; transition: max-height 0.4s ease;
}
.faq-item.open .faq-answer { max-height: 400px; }
.faq-answer-inner {
	padding: 0 28px 24px;
	font-size: 0.95rem; color: var(--slate); line-height: 1.8;
}
/* === cta-band === */
.cta-band {
	padding: 100px 32px;
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 60%, #0E2048 100%);
	position: relative; overflow: hidden; text-align: center;
}
.cta-band::before {
	content: ''; position: absolute; inset: 0;
	background:
		radial-gradient(ellipse 80% 80% at 50% 50%, rgba(212,160,23,0.06) 0%, transparent 60%),
		url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	pointer-events: none;
}
.cta-band-inner { max-width: 720px; margin: 0 auto; position: relative; z-index: 1; }
.cta-band h2 {
	font-family: 'Playfair Display', serif;
	font-size: clamp(2rem, 4vw, 3rem);
	color: var(--white); margin-bottom: 20px;
	font-weight: 700; line-height: 1.2;
}
.cta-band h2 em { font-style: normal; color: var(--gold); }
.cta-band p { font-size: 1.1rem; color: rgba(255,255,255,0.75); margin-bottom: 40px; line-height: 1.7; }
.cta-band-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.btn-cta-primary {
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	color: var(--navy); font-weight: 700; font-size: 1.05rem;
	padding: 17px 40px; border-radius: 8px; border: none;
	box-shadow: var(--shadow-gold); cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}
.btn-cta-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(212,160,23,0.5); color: var(--navy); }
.btn-cta-secondary {
	background: transparent; color: var(--white); font-weight: 600; font-size: 1.05rem;
	padding: 16px 40px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.35);
	cursor: pointer; transition: border-color 0.2s, background 0.2s;
}
.btn-cta-secondary:hover { border-color: var(--white); background: rgba(255,255,255,0.07); color: var(--white); }
/* === footer === */
.site-footer {
	background: var(--navy); padding: 80px 32px 0;
	border-top: 1px solid rgba(255,255,255,0.06);
}
.footer-inner {
	max-width: 1200px; margin: 0 auto;
	display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr;
	gap: 60px; padding-bottom: 60px;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.footer-brand-logo {
	display: flex; align-items: center; gap: 10px; margin-bottom: 20px;
	font-family: 'Playfair Display', serif; font-size: 1.4rem; font-weight: 700; color: var(--white);
}
.footer-brand-logo span { color: var(--gold); }
.footer-brand-logo .logo-icon {
	width: 36px; height: 36px;
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	border-radius: 8px; display: flex; align-items: center; justify-content: center;
	font-size: 1.1rem;
}
.footer-desc { font-size: 0.9rem; color: rgba(255,255,255,0.55); line-height: 1.7; margin-bottom: 28px; }
.footer-socials { display: flex; gap: 10px; }
.social-icon {
	width: 38px; height: 38px; border-radius: 8px;
	background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.6);
	display: flex; align-items: center; justify-content: center; font-size: 0.9rem;
	transition: background 0.2s, color 0.2s;
	border: 1px solid rgba(255,255,255,0.08);
}
.social-icon:hover { background: rgba(212,160,23,0.2); color: var(--gold); border-color: rgba(212,160,23,0.3); }
.footer-col-title { font-size: 0.85rem; font-weight: 700; color: var(--white); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 20px; }
.footer-links { display: flex; flex-direction: column; gap: 10px; }
.footer-links a { font-size: 0.9rem; color: rgba(255,255,255,0.55); transition: color 0.2s; }
.footer-links a:hover { color: var(--gold); }
.footer-contact-item {
	display: flex; gap: 12px; align-items: flex-start;
	margin-bottom: 14px; font-size: 0.9rem; color: rgba(255,255,255,0.6);
}
.footer-contact-icon { color: var(--gold); font-size: 1rem; flex-shrink: 0; margin-top: 2px; }
a.footer-contact-item, a.contact-detail { text-decoration: none; color: inherit; }
a.footer-contact-item:hover .phone-mask, a.contact-detail:hover .phone-mask { text-decoration: underline; }
/* Phone numbers are masked by default (privacy/security) and reveal on hover,
   keyboard focus, or tap — covers desktop hover and touch devices alike. */
.phone-reveal { cursor: pointer; }
.phone-reveal .phone-mask {
	filter: blur(5px); transition: filter 0.2s ease, background-color 0.2s ease, color 0.2s ease;
	user-select: none; display: inline-block; border-radius: 5px;
}
.phone-reveal:hover .phone-mask,
.phone-reveal:focus-within .phone-mask,
.phone-reveal.is-revealed .phone-mask {
	filter: blur(0); user-select: text;
	background-color: #000; color: #fff !important; padding: 3px 8px;
}
.phone-reveal::after {
	content: '(tap or hover to reveal)'; display: block; font-size: 0.7rem; color: rgba(255,255,255,0.35);
	margin-top: 2px; font-style: italic;
}
.phone-reveal:hover::after, .phone-reveal:focus-within::after, .phone-reveal.is-revealed::after { display: none; }
@media (prefers-reduced-motion: reduce) {
	.phone-reveal .phone-mask { transition: none; }
}
.footer-bottom {
	max-width: 1200px; margin: 0 auto;
	display: flex; justify-content: space-between; align-items: center;
	padding: 24px 0; flex-wrap: wrap; gap: 12px;
}
.footer-bottom p { font-size: 0.85rem; color: rgba(255,255,255,0.35); }
.footer-credit-break { display: none; }
.footer-credit { display: inline-block; margin-left: 8px; padding-left: 8px; border-left: 1px solid rgba(255,255,255,0.15); color: rgba(212,160,23,0.65); font-weight: 600; }
@media (max-width: 640px) {
	.footer-credit-break { display: block; }
	.footer-credit { margin-left: 0; padding-left: 0; border-left: none; display: block; margin-top: 4px; }
}
.footer-bottom-links { display: flex; gap: 24px; }
.footer-bottom-links a { font-size: 0.85rem; color: rgba(255,255,255,0.35); transition: color 0.2s; }
.footer-bottom-links a:hover { color: var(--gold); }
/* === pages === */
.page-hero {
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
	padding: 140px 32px 80px; text-align: center;
}
.page-hero h1 { color: var(--white); font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 16px; }
.page-hero p { color: rgba(255,255,255,0.7); font-size: 1.1rem; max-width: 600px; margin: 0 auto; }
.page-content { padding: 80px 32px; max-width: 1200px; margin: 0 auto; }
.contact-grid {
	display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: start;
	max-width: 1100px; margin: 0 auto;
}
.contact-info { padding: 40px; background: linear-gradient(145deg, var(--navy) 0%, var(--navy-light) 100%); border-radius: var(--radius-lg); }
.contact-info h3 { font-size: 1.4rem; color: var(--white); margin-bottom: 8px; }
.contact-info p { color: rgba(255,255,255,0.65); font-size: 0.95rem; margin-bottom: 32px; }
.contact-detail { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 20px; }
.contact-detail-icon { width: 40px; height: 40px; background: rgba(212,160,23,0.15); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.contact-detail-text strong { display: block; color: var(--white); font-size: 0.9rem; margin-bottom: 2px; }
.contact-detail-text span { color: rgba(255,255,255,0.55); font-size: 0.85rem; }
.contact-form-wrap { background: var(--white); border-radius: var(--radius-lg); padding: 48px; box-shadow: var(--shadow-md); border: 1px solid var(--border); }
.lead-form-notice { padding: 14px 18px; border-radius: 10px; font-size: 0.9rem; font-weight: 600; margin-bottom: 22px; }
.lead-form-notice--success { background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.3); color: #15803d; }
.lead-form-notice--error { background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.3); color: #b91c1c; }
.rhcp-honeypot-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* === features-page:hero === */
.fx-hero {
	background: radial-gradient(ellipse 900px 500px at 50% -10%, rgba(212,160,23,0.12), transparent 60%), linear-gradient(180deg, var(--navy) 0%, var(--navy-mid) 100%);
	padding: 150px 32px 90px; text-align: center; position: relative; overflow: hidden;
}
.fx-hero::before {
	content: ''; position: absolute; inset: 0;
	background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 48px 48px; pointer-events: none;
	mask-image: radial-gradient(ellipse 700px 400px at 50% 0%, black, transparent 75%);
}
.fx-hero-eyebrow {
	display: inline-block; position: relative; z-index: 1;
	font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--gold-light); background: rgba(212,160,23,0.12); border: 1px solid rgba(212,160,23,0.3);
	padding: 6px 18px; border-radius: 100px; margin-bottom: 22px;
}
.fx-hero h1 {
	position: relative; z-index: 1; color: var(--white);
	font-size: clamp(2.2rem, 4.4vw, 3.4rem); max-width: 820px; margin: 0 auto 20px;
}
.fx-hero > p { position: relative; z-index: 1; color: rgba(255,255,255,0.68); font-size: 1.15rem; max-width: 640px; margin: 0 auto; line-height: 1.7; }
.fx-hero-buttons { position: relative; z-index: 1; margin-top: 36px; }
.fx-hero-outline-btn .wp-element-button {
	background: transparent; color: var(--white); border: 1.5px solid rgba(255,255,255,0.25);
}
.fx-hero-outline-btn .wp-element-button:hover { border-color: var(--gold); color: var(--gold-light); background: rgba(212,160,23,0.08); }
/* === features-page:catnav === */
.fx-catnav {
	background: var(--white); border-bottom: 1px solid var(--border);
	position: sticky; top: 0; z-index: 20; padding: 18px 32px;
}
.fx-catnav-row { max-width: 1200px; margin: 0 auto; gap: 8px !important; }
.fx-catnav-link { margin: 0 !important; }
.fx-catnav-link a {
	display: inline-block; font-size: 0.85rem; font-weight: 600; color: var(--text-mid);
	padding: 8px 18px; border-radius: 100px; transition: background 0.2s, color 0.2s;
}
.fx-catnav-link a:hover { background: rgba(212,160,23,0.1); color: var(--gold-dark); }
/* === features-page:category === */
.fx-category { background: var(--white); padding: 76px 32px; }
.fx-category-alt { background: var(--off-white); }
.fx-category-head { max-width: 1200px; margin: 0 auto 44px; gap: 24px !important; align-items: flex-start !important; }
.fx-category-num {
	font-family: 'Playfair Display', serif; font-size: 3.2rem; font-weight: 800;
	color: transparent; -webkit-text-stroke: 1.5px rgba(212,160,23,0.4);
	line-height: 1; flex-shrink: 0; margin: 0 !important;
}
.fx-category-title { font-size: clamp(1.5rem, 2.6vw, 2rem); color: var(--navy); margin: 0 0 8px !important; }
.fx-category-desc { color: var(--slate); font-size: 1.02rem; max-width: 560px; margin: 0 !important; line-height: 1.7; }
/* === features-page:card === */
.fx-grid { max-width: 1200px; margin: 0 auto; gap: 20px !important; display: grid !important; }
.fx-grid-4 { grid-template-columns: repeat(4, 1fr) !important; }
.fx-grid-3 { grid-template-columns: repeat(3, 1fr) !important; }
.fx-grid > .fx-card { width: auto !important; min-width: 0; }
.fx-card {
	background: var(--white); border: 1px solid var(--border); border-radius: var(--radius);
	padding: 30px 26px; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
	position: relative; overflow: hidden;
}
.fx-category-alt .fx-card { background: var(--white); }
.fx-card::before {
	content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--gold), var(--gold-light));
	transform: scaleX(0); transform-origin: left; transition: transform 0.3s;
}
.fx-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: rgba(212,160,23,0.3); }
.fx-card:hover::before { transform: scaleX(1); }
.fx-card-icon {
	font-size: 1.7rem; margin: 0 0 18px !important; line-height: 1;
	width: 52px; height: 52px; display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, rgba(11,29,58,0.07) 0%, rgba(212,160,23,0.1) 100%);
	border-radius: 12px; border: 1px solid rgba(212,160,23,0.15);
}
.fx-card-title { font-size: 1.05rem; color: var(--navy); margin: 0 0 10px !important; }
.fx-card-desc { font-size: 0.9rem; color: var(--slate); line-height: 1.7; margin: 0 !important; }
.fx-card-gold { border-color: rgba(212,160,23,0.35); background: linear-gradient(160deg, #fffbf0, var(--white)); }
.fx-card-badge {
	display: inline-block; font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em;
	color: var(--gold-dark); background: rgba(212,160,23,0.15); padding: 4px 12px; border-radius: 100px;
	margin: 0 0 14px !important;
}
/* === features-page:spotlight === */
.fx-spotlight {
	background: linear-gradient(160deg, var(--navy) 0%, var(--navy-mid) 100%);
	padding: 96px 32px;
}
.fx-spotlight-grid { max-width: 1200px; margin: 0 auto; gap: 64px !important; }
.fx-spotlight-tag {
	display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase;
	color: var(--gold-light); margin: 0 0 16px !important;
}
.fx-spotlight-title { color: var(--white); font-size: clamp(1.7rem, 3vw, 2.3rem); margin: 0 0 18px !important; }
.fx-spotlight-desc { color: rgba(255,255,255,0.68); font-size: 1.02rem; line-height: 1.75; margin: 0 0 28px !important; }
.fx-spotlight-list { margin: 0 !important; }
.fx-spotlight-list li {
	color: rgba(255,255,255,0.85); font-size: 0.95rem; padding: 9px 0 9px 30px; position: relative;
	border-bottom: 1px solid rgba(255,255,255,0.08);
}
.fx-spotlight-list li:last-child { border-bottom: none; }
.fx-spotlight-list li::before {
	content: '\2713'; position: absolute; left: 0; top: 9px; color: var(--gold-light); font-weight: 800;
}
/* === features-page:mock === */
.fx-mock-window {
	background: rgba(255,255,255,0.045); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-lg);
	padding: 22px; backdrop-filter: blur(10px); box-shadow: var(--shadow-xl);
}
.fx-mock-bar {
	font-size: 0.7rem; color: rgba(255,255,255,0.4); background: rgba(0,0,0,0.2);
	border-radius: 7px; padding: 8px 14px; margin: 0 0 18px !important; font-family: monospace;
}
.fx-mock-kpis { gap: 12px !important; margin-bottom: 18px !important; }
.fx-mock-kpi {
	flex: 1 1 calc(33.333% - 12px); min-width: 90px;
	background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 14px;
}
.fx-mock-kpi-label { font-size: 0.62rem; color: rgba(255,255,255,0.45); font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; margin: 0 0 6px !important; }
.fx-mock-kpi-val { font-size: 1.15rem; font-weight: 800; color: var(--white); margin: 0 !important; }
.fx-mock-chart {
	background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06); border-radius: 10px; padding: 12px 16px 4px;
}
/* === features-page:stats === */
.fx-stats { background: var(--off-white); padding: 64px 32px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.fx-stats-row { max-width: 1000px; margin: 0 auto; gap: 0 !important; }
.fx-stat { flex: 1 1 200px; text-align: center; padding: 0 24px; }
.fx-stat-num {
	font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3.4vw, 2.6rem); font-weight: 800;
	color: var(--navy); margin: 0 !important; line-height: 1;
}
.fx-stat-label { font-size: 0.85rem; color: var(--slate); font-weight: 500; margin: 8px 0 0 !important; }
/* === features-page:responsive === */
@media (max-width: 1024px) {
	.fx-grid-4, .fx-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
	.fx-spotlight-grid { gap: 40px !important; }
	.fx-category-num { font-size: 2.4rem; }
}
@media (max-width: 768px) {
	.fx-catnav { position: static; overflow-x: auto; }
	.fx-grid-4, .fx-grid-3 { grid-template-columns: 1fr !important; }
	.fx-category-head { flex-direction: column !important; gap: 10px !important; }
	.fx-spotlight-grid { grid-template-columns: 1fr !important; }
	.fx-spotlight-grid > .wp-block-column { flex-basis: 100% !important; }
	.fx-stat { flex: 1 1 45%; margin-bottom: 24px; }
}
.contact-form-wrap h3 { font-size: 1.5rem; color: var(--navy); margin-bottom: 8px; }
.contact-form-wrap p { color: var(--slate); margin-bottom: 32px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { margin-bottom: 20px; }
.form-group label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--text-mid); margin-bottom: 8px; }
.form-group input, .form-group select, .form-group textarea {
	width: 100%; padding: 13px 16px;
	border: 2px solid var(--border); border-radius: 8px;
	font-family: 'Plus Jakarta Sans', sans-serif; font-size: 0.95rem; color: var(--text-dark);
	background: var(--off-white); outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
	border-color: var(--gold); box-shadow: 0 0 0 3px rgba(212,160,23,0.1);
	background: var(--white);
}
.form-group textarea { resize: vertical; min-height: 120px; }
.btn-submit {
	width: 100%; padding: 16px; border-radius: 8px;
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
	color: var(--white); font-weight: 700; font-size: 1rem;
	border: none; cursor: pointer; transition: all 0.2s;
	box-shadow: var(--shadow-md);
}
.btn-submit:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-bottom: 80px; }
.about-text { position: relative; background: var(--white); border-radius: var(--radius-lg); padding: 56px 48px 48px; box-shadow: var(--shadow-md); border-left: 4px solid var(--gold); }
.about-text::before {
	content: '\201C'; position: absolute; top: -18px; left: 40px;
	font-family: 'Playfair Display', serif; font-size: 6.5rem; font-weight: 800;
	color: var(--gold); opacity: 0.18; line-height: 1; pointer-events: none;
}
.about-text .mission-eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	background: rgba(212,160,23,0.12); color: var(--gold-dark);
	font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	padding: 6px 16px; border-radius: 100px; border: 1px solid rgba(212,160,23,0.3);
	margin-bottom: 18px;
}
.about-text .mission-eyebrow::before { content: ''; display: block; width: 6px; height: 6px; background: var(--gold); border-radius: 50%; }
.about-text h2 {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: clamp(2rem, 3.2vw, 2.6rem); font-weight: 800; color: var(--navy);
	margin-bottom: 8px; letter-spacing: -0.01em; position: relative; z-index: 1;
}
.about-text .mission-rule { width: 64px; height: 4px; background: linear-gradient(90deg, var(--gold), var(--gold-light)); border-radius: 4px; margin-bottom: 28px; }
.about-text p { color: var(--slate); line-height: 1.8; margin-bottom: 18px; position: relative; z-index: 1; }
.about-text p.mission-lede { font-size: 1.2rem; font-weight: 600; color: var(--navy); line-height: 1.6; }
.about-text p .mission-mark { color: var(--gold-dark); font-weight: 700; }
.about-visual { border-radius: var(--radius-lg); overflow: hidden; background: linear-gradient(145deg, var(--navy) 0%, var(--navy-light) 100%); padding: 48px; }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 60px; }
.team-card { background: var(--white); border-radius: var(--radius); padding: 32px; text-align: center; border: 1px solid var(--border); }
.team-avatar { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%); margin: 0 auto 16px; display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 700; color: var(--gold); }
.team-name { font-size: 1.05rem; font-weight: 700; color: var(--navy); margin-bottom: 4px; }
.team-role { font-size: 0.85rem; color: var(--gold); font-weight: 600; margin-bottom: 8px; }
.team-bio { font-size: 0.85rem; color: var(--slate); line-height: 1.6; }
.founder-section { max-width: none; margin: 80px 0 0; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 56px; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; display: grid !important; grid-template-columns: 220px 1fr; gap: 40px !important; align-items: center; }
.founder-info { flex: 1 1 auto !important; text-align: left; }
.founder-info .founder-eyebrow, .founder-info .founder-name, .founder-info .founder-title, .founder-info .founder-note { text-align: left; }
.founder-portfolio { text-align: left; max-width: 560px; }
.founder-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, var(--navy) 0%, var(--gold) 100%); }
.founder-eyebrow { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-dark); margin-bottom: 20px !important; }
.founder-photo-block { width: 220px !important; margin: 0 auto !important; }
.founder-photo-block img { width: 220px !important; height: 220px !important; box-shadow: var(--shadow-lg); object-position: 85% 20% !important; }
.founder-photo { width: 220px; height: 220px; border-radius: 50%; object-fit: cover; border: 4px solid var(--gold); }
.founder-photo-placeholder { width: 220px; height: 220px; border-radius: 50%; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%); display: flex; align-items: center; justify-content: center; font-size: 3rem; color: var(--gold); border: 4px solid var(--gold); }
.founder-name { font-size: 1.6rem; font-weight: 700; color: var(--navy); margin-bottom: 2px; }
.founder-title { font-size: 0.95rem; color: var(--gold-dark); font-weight: 600; margin-bottom: 18px; }
.founder-note { font-size: 1rem; color: var(--slate); line-height: 1.8; margin-bottom: 28px !important; max-width: 560px; }
.founder-portfolio { border-top: 1px solid var(--border); padding-top: 24px; }
.founder-portfolio-label { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy); margin-bottom: 14px !important; }
.founder-portfolio-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.founder-portfolio-list li { position: relative; padding-left: 20px; font-size: 0.95rem; color: var(--slate); line-height: 1.6; }
.founder-portfolio-list li::before { content: '\25CF'; position: absolute; left: 0; top: 0; color: var(--gold-dark); font-size: 0.6rem; top: 6px; }
.founder-portfolio-list strong { color: var(--navy); font-weight: 600; }
.founder-portfolio-list a { color: var(--gold-dark); font-weight: 600; text-decoration: none; }
.founder-portfolio-list a:hover { text-decoration: underline; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; list-style: none; margin: 0; padding: 0; }
.blog-grid > li.wp-block-post { background: var(--white); border-radius: var(--radius); overflow: hidden; border: 1px solid var(--border); transition: transform 0.3s, box-shadow 0.3s; }
.blog-grid > li.wp-block-post:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.blog-thumb { height: 200px; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%); display: flex; align-items: center; justify-content: center; font-size: 3rem; }
.blog-body { padding: 28px; }
.blog-cat { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold); margin-bottom: 10px; }
.blog-title { font-size: 1.05rem; font-weight: 700; color: var(--navy); margin-bottom: 10px; line-height: 1.4; }
.blog-excerpt { font-size: 0.875rem; color: var(--slate); line-height: 1.7; margin-bottom: 16px; }
.blog-meta { font-size: 0.8rem; color: var(--slate); }
.blog-thumb { padding: 0; }
.blog-thumb img { width: 100%; height: 200px; object-fit: cover; }
.blog-thumb:not(:has(img)) { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%); }
.blog-card .blog-cat a { color: inherit; text-decoration: none; }
.blog-card .blog-title a { color: inherit; text-decoration: none; }
.blog-card .blog-title a:hover { color: var(--gold-dark); }
.wp-block-post-terms.blog-cat { display: block; }
.blog-post-hero { padding: 60px 32px 48px; }
.blog-post-cat a { color: var(--gold); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; text-decoration: none; }
.blog-post-title { margin: 16px 0; }
.blog-post-meta { color: rgba(255,255,255,0.65); font-size: 0.9rem; gap: 16px !important; }
.blog-post-meta time, .blog-post-meta a { color: rgba(255,255,255,0.65); text-decoration: none; }
.blog-post-featured { border-radius: var(--radius-lg); overflow: hidden; margin: -60px 0 40px; box-shadow: var(--shadow-lg); }
.blog-post-featured img { width: 100%; height: auto; display: block; }
.blog-post-content { color: var(--slate); font-size: 1.05rem; line-height: 1.85; }
.blog-post-content h2 { color: var(--navy); font-size: 1.7rem; margin: 40px 0 16px; }
.blog-post-content h3 { color: var(--navy); font-size: 1.3rem; margin: 32px 0 14px; }
.blog-post-content p { margin-bottom: 20px; }
.blog-post-content ul, .blog-post-content ol { margin: 0 0 20px 24px; }
.blog-post-content li { margin-bottom: 8px; }
.blog-post-content a { color: var(--gold-dark); font-weight: 600; }
.blog-post-content strong { color: var(--navy); }
.demo-section { background: var(--white); }
.demo-form-wrap { max-width: 700px; margin: 0 auto; background: var(--off-white); border-radius: var(--radius-lg); padding: 60px; border: 1px solid var(--border); }
.demo-form-wrap h2 { font-size: 2rem; color: var(--navy); margin-bottom: 8px; }
.demo-form-wrap p { color: var(--slate); margin-bottom: 40px; }
/* === demo-page-modern === */
/* === demo-page-modern: hero === */
.demo-hero { background: linear-gradient(160deg, var(--navy) 0%, var(--navy-mid) 55%, var(--navy-light) 100%); position: relative; overflow: hidden; padding: 90px 32px 80px; }
.demo-hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle at 15% 20%, rgba(212,160,23,0.14) 0%, transparent 45%), radial-gradient(circle at 85% 75%, rgba(212,160,23,0.10) 0%, transparent 50%); pointer-events: none; }
.demo-hero-inner { position: relative; max-width: 780px; margin: 0 auto; text-align: center; }
.demo-hero .section-eyebrow { background: rgba(212,160,23,0.16); }
.demo-hero h1 { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.2rem, 4.5vw, 3.2rem); color: var(--white); margin: 18px 0 16px; line-height: 1.15; }
.demo-hero p.demo-hero-sub { color: rgba(255,255,255,0.72); font-size: 1.05rem; max-width: 560px; margin: 0 auto; }
.demo-hero-badges { display: flex; justify-content: center; gap: 28px; margin-top: 32px; flex-wrap: wrap; }
.demo-hero-badge { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.75); font-size: 0.85rem; font-weight: 600; }
.demo-hero-badge svg { width: 18px; height: 18px; fill: none; stroke: var(--gold); stroke-width: 2; }
/* === demo-page-modern: layout === */
.demo-section-modern { background: var(--off-white); padding: 80px 32px; }
.demo-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; max-width: 1160px; margin: 0 auto; align-items: start; }
.demo-side { position: sticky; top: 32px; }
.demo-side h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.9rem; color: var(--navy); margin-bottom: 14px; }
.demo-side > p { color: var(--slate); font-size: 0.98rem; margin-bottom: 32px; }
/* === demo-page-modern: steps === */
.demo-step { display: flex; gap: 18px; margin-bottom: 28px; }
.demo-step-num { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, var(--gold), var(--gold-dark)); color: var(--navy); font-weight: 800; font-size: 1rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: var(--shadow-gold); }
.demo-step-body h4 { color: var(--navy); font-size: 1.02rem; margin-bottom: 4px; }
.demo-step-body p { color: var(--slate); font-size: 0.9rem; line-height: 1.55; margin: 0; }
.demo-trust-strip { display: flex; flex-direction: column; gap: 14px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--border); }
.demo-trust-strip-item { display: flex; align-items: center; gap: 12px; color: var(--text-mid); font-size: 0.88rem; font-weight: 600; }
.demo-trust-strip-item svg { width: 20px; height: 20px; fill: none; stroke: var(--gold-dark); stroke-width: 2; flex-shrink: 0; }
/* === demo-page-modern: form === */
/* Premium dark card matching the Sign Up / Login auth pages, instead of the
   plain light card the old Contact-style form used — gold uppercase labels,
   translucent dark inputs, gold gradient button. */
.demo-form-card {
	background: linear-gradient(160deg, var(--navy) 0%, var(--navy-light) 100%);
	border-radius: var(--radius-lg); padding: 44px; box-shadow: var(--shadow-xl);
	border: 1px solid rgba(255,255,255,0.08);
}
.demo-form-card h3 { color: var(--white); font-size: 1.35rem; margin-bottom: 6px; }
.demo-form-card > p { color: rgba(255,255,255,0.6); font-size: 0.92rem; margin-bottom: 28px; }
.demo-form-card .form-row { margin-bottom: 0; }
.demo-form-card .form-group label { color: var(--gold); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px; }
.demo-form-card .form-group input,
.demo-form-card .form-group select,
.demo-form-card .form-group textarea {
	background: rgba(255,255,255,0.06); border: 1.5px solid rgba(255,255,255,0.14);
	color: var(--white);
}
.demo-form-card .form-group input::placeholder,
.demo-form-card .form-group textarea::placeholder { color: rgba(255,255,255,0.32); }
.demo-form-card .form-group select option { background: var(--navy); color: var(--white); }
.demo-form-card .form-group input:focus,
.demo-form-card .form-group select:focus,
.demo-form-card .form-group textarea:focus {
	border-color: rgba(212,160,23,0.6); background: rgba(255,255,255,0.09);
	box-shadow: 0 0 0 3px rgba(212,160,23,0.12);
}
.demo-form-card .btn-submit {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	color: var(--navy); box-shadow: var(--shadow-gold);
}
.demo-form-card .btn-submit:hover { box-shadow: 0 6px 28px rgba(212,160,23,.5); }
.demo-form-card .lead-form-notice { border-radius: 10px; margin-bottom: 20px; }
.demo-form-card .lead-form-notice--success { background: rgba(34,197,94,0.14); border-color: rgba(34,197,94,0.4); color: #4ade80; }
.demo-form-card .lead-form-notice--error { background: rgba(239,68,68,0.14); border-color: rgba(239,68,68,0.4); color: #f87171; }
/* === demo-page-modern: responsive === */
@media(max-width: 900px) {
	.demo-grid { grid-template-columns: 1fr; gap: 44px; }
	.demo-side { position: static; }
	.demo-form-card { padding: 32px 24px; }
	.demo-hero { padding: 64px 20px 56px; }
	.demo-hero-badges { gap: 16px; }
}
/* === buttons-extra === */
.cta-band .wp-block-buttons { margin-top: 8px; }
.cta-band .cta-primary-btn .wp-element-button {
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%) !important;
	color: var(--navy) !important; font-weight: 700 !important;
	padding: 16px 36px !important; border-radius: 8px !important;
	border: none !important; box-shadow: var(--shadow-gold) !important;
	transition: transform 0.2s, box-shadow 0.2s !important;
}
.cta-band .cta-primary-btn .wp-element-button:hover { transform: translateY(-2px) !important; box-shadow: 0 8px 28px rgba(212,160,23,0.5) !important; }
.cta-band .cta-secondary-btn .wp-element-button {
	background: transparent !important; color: var(--white) !important;
	border: 2px solid rgba(255,255,255,0.35) !important;
	padding: 15px 36px !important; border-radius: 8px !important;
	font-weight: 600 !important;
	transition: border-color 0.2s, background 0.2s !important;
}
.cta-band .cta-secondary-btn .wp-element-button:hover { border-color: var(--white) !important; background: rgba(255,255,255,0.07) !important; }
.cta-band h2 { color: var(--white) !important; margin-bottom: 20px; }
.cta-band p { color: rgba(255,255,255,0.75) !important; }
.cta-band-inner { text-align: center; }
main { background: var(--off-white); }

/* === animations === */
@keyframes pulse-dot {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.5; transform: scale(0.85); }
}
@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}
@keyframes fadeInUp {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer {
	0% { background-position: -200% center; }
	100% { background-position: 200% center; }
}
.reveal {
	opacity: 1; transform: translateY(0);
	transition: opacity 0.7s ease, transform 0.7s ease;
}
.hero-float-1 { animation: float 4s ease-in-out infinite; }
.hero-float-2 { animation: float 5s ease-in-out infinite 1s; }
/* === rooms === */
.rooms-hero {
	position: relative; padding: 160px 32px 100px;
	background: linear-gradient(135deg, #0B1D3A 0%, #1A2F6B 60%, #0B1D3A 100%);
	text-align: center; overflow: hidden;
}
.rooms-hero::before {
	content:''; position:absolute; inset:0;
	background: radial-gradient(ellipse 70% 60% at 50% 60%, rgba(212,160,23,0.09) 0%, transparent 70%);
	pointer-events:none;
}
.rooms-hero h1 { color:var(--white); font-size:clamp(2.2rem,4.5vw,3.6rem); margin-bottom:16px; position:relative; z-index:1; }
.rooms-hero p { color:rgba(255,255,255,0.75); font-size:1.1rem; max-width:620px; margin:0 auto; position:relative; z-index:1; }
.room-types-section { padding:100px 32px; background:var(--off-white); }
.room-types-inner { max-width:1200px; margin:0 auto; }
.room-card {
	background:var(--white); border-radius:var(--radius-lg); overflow:hidden;
	border:1px solid var(--border); margin-bottom:60px;
	box-shadow:var(--shadow-md); transition:box-shadow 0.3s, transform 0.3s;
}
.room-card:hover { box-shadow:var(--shadow-xl); transform:translateY(-4px); }
.room-card-inner { display:grid; grid-template-columns:1.1fr 1fr; }
.room-card:nth-child(even) .room-card-inner { direction:rtl; }
.room-card:nth-child(even) .room-card-body { direction:ltr; }
.room-img-wrap { position:relative; overflow:hidden; min-height:380px; }
.room-img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.6s ease; }
.room-card:hover .room-img-wrap img { transform:scale(1.04); }
.room-img-overlay {
	position:absolute; top:20px; left:20px;
	background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
	color:var(--navy); font-size:0.72rem; font-weight:800;
	padding:6px 16px; border-radius:100px; letter-spacing:0.08em; text-transform:uppercase;
	box-shadow:var(--shadow-gold);
}
.room-img-gallery { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin-top:4px; }
.room-img-gallery img { width:100%; height:140px; object-fit:cover; display:block; transition:transform 0.5s; }
.room-img-gallery img:hover { transform:scale(1.05); }
.room-card-body { padding:48px 52px; display:flex; flex-direction:column; justify-content:center; }
.room-type-label { font-size:0.78rem; font-weight:800; text-transform:uppercase; letter-spacing:0.12em; color:var(--gold); margin-bottom:10px; }
.room-name { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,2.5vw,2.2rem); color:var(--navy); font-weight:700; margin-bottom:12px; line-height:1.2; }
.room-tagline { font-size:1rem; color:var(--slate); margin-bottom:24px; line-height:1.7; }
.room-amenities { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.room-amenity {
	display:inline-flex; align-items:center; gap:6px;
	background:var(--off-white); border:1px solid var(--border);
	color:var(--text-mid); font-size:0.8rem; font-weight:600;
	padding:6px 14px; border-radius:100px;
}
.room-amenity-icon { font-size:0.95rem; }
.room-price-row { display:flex; align-items:center; gap:20px; margin-bottom:28px; padding-top:20px; border-top:1px solid var(--border); }
.room-price { font-family:'Playfair Display',serif; font-size:2rem; font-weight:700; color:var(--navy); }
.room-price span { font-size:1rem; color:var(--slate); font-family:inherit; font-weight:400; }
.room-price-currency { font-size:1.1rem; color:var(--gold); font-weight:700; }
.room-price-from { font-size:0.78rem; color:var(--slate); }
.room-cta-row { display:flex; gap:12px; flex-wrap:wrap; }
.btn-book-room {
	padding:13px 28px; border-radius:8px;
	background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
	color:var(--white); font-weight:700; font-size:0.9rem;
	border:none; cursor:pointer; transition:all 0.2s;
	box-shadow:var(--shadow-md); text-decoration:none; display:inline-block;
}
.btn-book-room:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); color:var(--white); }
.btn-view-room {
	padding:12px 24px; border-radius:8px;
	background:transparent; border:2px solid var(--navy);
	color:var(--navy); font-weight:600; font-size:0.9rem;
	cursor:pointer; transition:all 0.2s; text-decoration:none; display:inline-block;
}
.btn-view-room:hover { background:var(--navy); color:var(--white); }
.gallery-section { padding:100px 32px; background:var(--navy); }
.gallery-inner { max-width:1200px; margin:0 auto; }
.gallery-section .section-title { color:var(--white); }
.gallery-section .section-subtitle { color:rgba(255,255,255,0.65); }
.gallery-grid {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	grid-template-rows:auto;
	gap:12px; margin-top:52px;
}
.gallery-item { overflow:hidden; border-radius:12px; position:relative; cursor:pointer; }
.gallery-item.span2 { grid-column:span 2; }
.gallery-item.span2-row { grid-row:span 2; }
.gallery-item img { width:100%; height:100%; object-fit:cover; display:block; min-height:200px; transition:transform 0.5s ease; }
.gallery-item:hover img { transform:scale(1.07); }
.gallery-item-overlay {
	position:absolute; inset:0;
	background:linear-gradient(to top, rgba(11,29,58,0.7) 0%, transparent 50%);
	opacity:0; transition:opacity 0.3s;
	display:flex; align-items:flex-end; padding:20px;
}
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-item-label { color:var(--white); font-size:0.85rem; font-weight:700; }
.room-features-section { padding:80px 32px; background:var(--white); }
.room-features-inner { max-width:1200px; margin:0 auto; }
.room-features-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:52px; }
.room-feature-item { text-align:center; }
.room-feature-icon { width:64px; height:64px; border-radius:16px; margin:0 auto 16px; background:linear-gradient(135deg,rgba(11,29,58,0.08) 0%,rgba(212,160,23,0.1) 100%); border:1px solid rgba(212,160,23,0.2); display:flex; align-items:center; justify-content:center; font-size:1.6rem; }
.room-feature-title { font-size:0.95rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
.room-feature-desc { font-size:0.85rem; color:var(--slate); line-height:1.6; }
@media(max-width:1024px){ .room-card-inner{ grid-template-columns:1fr; } .room-card:nth-child(even) .room-card-inner{ direction:ltr; } .room-img-wrap{ min-height:280px; } .room-card-body{ padding:32px; } .gallery-grid{ grid-template-columns:repeat(2,1fr); } .gallery-item.span2-row{ grid-row:span 1; } .room-features-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:768px){ .room-features-grid{ grid-template-columns:1fr 1fr; } .gallery-grid{ grid-template-columns:1fr 1fr; } }

/* === ai-chat === */
.ai-chat-launcher {
	position: fixed; bottom: 28px; right: 28px; z-index: 9999;
	width: 58px; height: 58px; border-radius: 50%;
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
	border: 2px solid rgba(212,160,23,0.5);
	box-shadow: 0 8px 32px rgba(11,29,58,0.35), 0 0 0 0 rgba(212,160,23,0);
	cursor: pointer; display: flex; align-items: center; justify-content: center;
	font-size: 1.5rem; transition: transform 0.3s, box-shadow 0.3s;
	animation: launcher-pulse 3s ease-in-out infinite;
}
.ai-chat-launcher:hover { transform: scale(1.1); box-shadow: 0 12px 40px rgba(11,29,58,0.45), var(--shadow-gold); }
.ai-chat-launcher .launcher-tooltip {
	position: absolute; right: 70px; top: 50%; transform: translateY(-50%);
	background: var(--navy); color: var(--white); font-size: 0.78rem; font-weight: 600;
	padding: 7px 14px; border-radius: 8px; white-space: nowrap;
	border: 1px solid rgba(212,160,23,0.3); pointer-events: none;
	opacity: 0; transition: opacity 0.2s;
}
.ai-chat-launcher .launcher-tooltip::after {
	content: ''; position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
	border: 6px solid transparent; border-left-color: var(--navy);
}
.ai-chat-launcher:hover .launcher-tooltip { opacity: 1; }
.ai-chat-launcher .launcher-dot {
	position: absolute; top: 4px; right: 4px; width: 12px; height: 12px;
	background: #22C55E; border-radius: 50%; border: 2px solid var(--off-white);
	animation: pulse-dot 2s ease-in-out infinite;
}
@keyframes launcher-pulse {
	0%, 100% { box-shadow: 0 8px 32px rgba(11,29,58,0.35), 0 0 0 0 rgba(212,160,23,0.4); }
	50% { box-shadow: 0 8px 32px rgba(11,29,58,0.35), 0 0 0 8px rgba(212,160,23,0); }
}
.ai-chat-window {
	position: fixed; bottom: 100px; right: 28px; z-index: 9998;
	width: 380px; height: 560px;
	background: var(--white); border-radius: 20px;
	box-shadow: 0 20px 60px rgba(11,29,58,0.25), 0 4px 20px rgba(11,29,58,0.15);
	border: 1px solid var(--border);
	display: flex; flex-direction: column; overflow: hidden;
	transform: scale(0.85) translateY(20px); opacity: 0;
	transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s;
	pointer-events: none;
}
.ai-chat-window.open { transform: scale(1) translateY(0); opacity: 1; pointer-events: all; }
.ai-chat-header {
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
	padding: 18px 20px; display: flex; align-items: center; gap: 12px;
	border-bottom: 1px solid rgba(212,160,23,0.2);
}
.ai-avatar {
	width: 40px; height: 40px; border-radius: 50%;
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	display: flex; align-items: center; justify-content: center;
	font-size: 1.2rem; flex-shrink: 0;
}
.ai-header-info { flex: 1; }
.ai-header-name { font-size: 0.95rem; font-weight: 700; color: var(--white); }
.ai-header-status { font-size: 0.72rem; color: rgba(255,255,255,0.65); display: flex; align-items: center; gap: 5px; }
.ai-header-status::before { content: ''; width: 7px; height: 7px; background: #22C55E; border-radius: 50%; }
.ai-close-btn {
	width: 28px; height: 28px; background: rgba(255,255,255,0.1); border-radius: 50%;
	display: flex; align-items: center; justify-content: center; cursor: pointer;
	color: rgba(255,255,255,0.7); font-size: 1rem; transition: background 0.2s;
}
.ai-close-btn:hover { background: rgba(255,255,255,0.2); color: var(--white); }
.ai-quick-chips {
	padding: 10px 14px 0; display: flex; gap: 6px; flex-wrap: wrap;
	border-bottom: 1px solid var(--border); padding-bottom: 10px;
	background: var(--off-white);
}
.ai-chip {
	padding: 5px 12px; border-radius: 100px;
	background: var(--white); border: 1px solid var(--border);
	font-size: 0.72rem; font-weight: 600; color: var(--navy);
	cursor: pointer; transition: border-color 0.2s, background 0.2s; white-space: nowrap;
}
.ai-chip:hover { border-color: var(--gold); background: rgba(212,160,23,0.06); color: var(--gold-dark); }
.ai-messages {
	flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px;
	scroll-behavior: smooth;
}
.ai-messages::-webkit-scrollbar { width: 4px; }
.ai-messages::-webkit-scrollbar-track { background: transparent; }
.ai-messages::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }
.ai-msg { display: flex; gap: 8px; max-width: 92%; }
.ai-msg.bot { align-self: flex-start; }
.ai-msg.user { align-self: flex-end; flex-direction: row-reverse; }
.ai-msg-avatar {
	width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	display: flex; align-items: center; justify-content: center; font-size: 0.8rem;
}
.ai-msg-bubble {
	padding: 10px 14px; border-radius: 14px; font-size: 0.875rem; line-height: 1.6;
}
.ai-msg.bot .ai-msg-bubble {
	background: var(--off-white); color: var(--text-dark);
	border-radius: 4px 14px 14px 14px; border: 1px solid var(--border);
}
.ai-msg.user .ai-msg-bubble {
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
	color: var(--white); border-radius: 14px 4px 14px 14px;
}
/* Chat-widget action buttons (Email/Call/WhatsApp) shown inside bot replies —
   real tappable buttons like Intercom/Drift, not raw text to read and dial. */
.ai-contact-btn {
	display: inline-flex; align-items: center; gap: 6px;
	background: var(--white); border: 1.5px solid var(--border); color: var(--navy) !important;
	font-size: 0.78rem; font-weight: 700; text-decoration: none !important;
	padding: 7px 12px; border-radius: 100px; margin: 4px 6px 8px 0;
	transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.ai-contact-btn:hover { border-color: var(--gold); background: rgba(212,160,23,0.08); color: var(--gold-dark) !important; }
.ai-typing {
	display: flex; align-items: center; gap: 4px; padding: 10px 14px;
	background: var(--off-white); border-radius: 4px 14px 14px 14px;
	border: 1px solid var(--border); width: fit-content;
}
.ai-typing span {
	width: 7px; height: 7px; border-radius: 50%; background: var(--slate);
	animation: typing-dot 1.4s ease-in-out infinite;
}
.ai-typing span:nth-child(2) { animation-delay: 0.2s; }
.ai-typing span:nth-child(3) { animation-delay: 0.4s; }
@keyframes typing-dot {
	0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
	30% { transform: translateY(-5px); opacity: 1; }
}
.ai-input-area {
	padding: 12px 16px; border-top: 1px solid var(--border);
	display: flex; gap: 10px; align-items: flex-end; background: var(--white);
}
.ai-input {
	flex: 1; resize: none; border: 2px solid var(--border); border-radius: 12px;
	padding: 10px 14px; font-family: inherit; font-size: 0.875rem; color: var(--text-dark);
	outline: none; background: var(--off-white); transition: border-color 0.2s;
	max-height: 100px; min-height: 42px;
}
.ai-input:focus { border-color: var(--gold); background: var(--white); }
.ai-send-btn {
	width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
	background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%);
	border: none; cursor: pointer; color: var(--navy);
	display: flex; align-items: center; justify-content: center; font-size: 1rem;
	transition: transform 0.2s, box-shadow 0.2s;
	box-shadow: var(--shadow-gold);
}
.ai-send-btn:hover { transform: scale(1.1); box-shadow: 0 6px 20px rgba(212,160,23,0.5); }
.ai-powered-by {
	text-align: center; font-size: 0.68rem; color: var(--slate); padding: 6px;
	background: var(--off-white); border-top: 1px solid var(--border);
}
.ai-powered-by span { color: var(--gold); font-weight: 700; }

/* === whatsapp-widget === */
.wa-launcher {
	position: fixed; bottom: 96px; right: 28px; z-index: 9997;
	width: 52px; height: 52px; border-radius: 50%;
	background: #25D366; box-shadow: 0 6px 24px rgba(37,211,102,0.45);
	cursor: pointer; display: flex; align-items: center; justify-content: center;
	font-size: 1.5rem; transition: transform 0.2s, box-shadow 0.2s;
	border: none;
}
.wa-launcher:hover { transform: scale(1.1); box-shadow: 0 10px 32px rgba(37,211,102,0.6); }
.wa-launcher .wa-tooltip {
	position: absolute; right: 62px; top: 50%; transform: translateY(-50%);
	background: #075E54; color: var(--white); font-size: 0.78rem; font-weight: 600;
	padding: 7px 14px; border-radius: 8px; white-space: nowrap;
	pointer-events: none; opacity: 0; transition: opacity 0.2s;
}
.wa-launcher .wa-tooltip::after {
	content: ''; position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
	border: 6px solid transparent; border-left-color: #075E54;
}
.wa-launcher:hover .wa-tooltip { opacity: 1; }
.wa-menu {
	position: fixed; bottom: 158px; right: 28px; z-index: 9996;
	background: var(--white); border-radius: 16px;
	box-shadow: 0 12px 40px rgba(11,29,58,0.2); border: 1px solid var(--border);
	width: 300px; overflow: hidden;
	transform: scale(0.85) translateY(10px); opacity: 0;
	transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), opacity 0.25s;
	pointer-events: none;
}
.wa-menu.open { transform: scale(1) translateY(0); opacity: 1; pointer-events: all; }
.wa-menu-header {
	background: #075E54; padding: 16px 18px;
	display: flex; align-items: center; gap: 12px;
}
.wa-menu-header .wa-icon { font-size: 1.6rem; }
.wa-menu-header-info .wa-menu-title { color: var(--white); font-size: 0.95rem; font-weight: 700; margin: 0; }
.wa-menu-header-info p { color: rgba(255,255,255,0.7); font-size: 0.75rem; }
.wa-options { padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.wa-option {
	display: flex; align-items: flex-start; gap: 10px;
	padding: 12px 14px; border-radius: 10px;
	background: var(--off-white); border: 1px solid var(--border);
	cursor: pointer; transition: border-color 0.2s, background 0.2s;
	text-decoration: none;
}
.wa-option:hover { border-color: #25D366; background: rgba(37,211,102,0.05); }
.wa-option-icon { font-size: 1.3rem; flex-shrink: 0; }
.wa-option-label { font-size: 0.8rem; font-weight: 700; color: var(--navy); margin-bottom: 2px; }
.wa-option-msg { font-size: 0.72rem; color: var(--slate); line-height: 1.4; }

/* === software-screenshots === */
.ss-section { padding:100px 32px; background:var(--off-white); }
.ss-inner { max-width:1240px; margin:0 auto; }
.ss-tabs { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:48px; }
.ss-tab {
	padding:10px 22px; border-radius:100px;
	border:2px solid var(--border); background:transparent;
	font-size:0.875rem; font-weight:600; color:var(--slate);
	cursor:pointer; transition:all 0.25s; font-family:inherit;
}
.ss-tab.active,.ss-tab:hover { background:var(--navy); border-color:var(--navy); color:var(--white); }
.ss-screen { display:none; }
.ss-screen.active { display:block; }
.ss-frame {
	background:linear-gradient(145deg,#0A1B38 0%,#112050 100%);
	border-radius:20px; padding:28px;
	box-shadow:0 24px 80px rgba(11,29,58,0.32),0 4px 20px rgba(11,29,58,0.18);
	border:1px solid rgba(212,160,23,0.22);
}
.ss-window {
	background:#0B1D3A; border-radius:14px; overflow:hidden;
	border:1px solid rgba(255,255,255,0.08);
}
.ss-titlebar {
	background:rgba(0,0,0,0.35); padding:11px 18px;
	display:flex; align-items:center; gap:10px;
	border-bottom:1px solid rgba(255,255,255,0.06);
}
.ss-dots { display:flex; gap:5px; }
.ss-dots span { width:10px; height:10px; border-radius:50%; }
.ss-dots span:nth-child(1){background:#FF5F56;}
.ss-dots span:nth-child(2){background:#FEBC2E;}
.ss-dots span:nth-child(3){background:#27C840;}
.ss-url {
	background:rgba(255,255,255,0.06); border-radius:6px;
	padding:5px 14px; font-size:0.72rem; color:rgba(255,255,255,0.38);
	flex:1; max-width:420px;
}
.ss-tag {
	margin-left:auto; background:rgba(212,160,23,0.18); color:var(--gold);
	font-size:0.62rem; font-weight:800; padding:3px 10px; border-radius:100px;
	letter-spacing:0.08em; text-transform:uppercase;
}
.ss-layout { display:flex; gap:0; min-height:520px; }
.ss-sidebar {
	width:196px; flex-shrink:0;
	background:rgba(6,14,32,0.7); padding:20px 14px;
	border-right:1px solid rgba(255,255,255,0.06);
}
.ss-logo { color:var(--gold); font-weight:800; font-size:0.88rem; margin-bottom:22px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.08); display:flex; align-items:center; gap:7px; }
.ss-nav-group { margin-bottom:18px; }
.ss-nav-label { font-size:0.58rem; font-weight:800; text-transform:uppercase; letter-spacing:0.12em; color:rgba(255,255,255,0.28); margin-bottom:7px; padding:0 8px; }
.ss-nav-item {
	display:flex; align-items:center; gap:8px;
	padding:8px 10px; border-radius:7px;
	font-size:0.72rem; color:rgba(255,255,255,0.55); margin-bottom:2px; cursor:default;
	transition:background 0.15s;
}
.ss-nav-item.active { background:rgba(212,160,23,0.14); color:var(--gold); font-weight:700; }
.ss-nav-item:not(.active):hover { background:rgba(255,255,255,0.05); }
.ss-nav-dot { width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.ss-nav-dot.green { background:#22C55E; }
.ss-nav-dot.blue { background:#38BDF8; }
.ss-nav-dot.red { background:#EF4444; }
.ss-content { flex:1; padding:22px 24px; overflow:hidden; }
.ss-topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; gap:16px; }
.ss-page-title { font-size:1rem; font-weight:800; color:var(--white); }
.ss-breadcrumb { font-size:0.68rem; color:rgba(255,255,255,0.35); margin-top:2px; }
.ss-actions { display:flex; gap:8px; }
.ss-btn {
	padding:7px 14px; border-radius:6px; font-size:0.7rem; font-weight:700; cursor:default;
	border:none;
}
.ss-btn.primary { background:linear-gradient(135deg,var(--gold),var(--gold-dark)); color:var(--navy); }
.ss-btn.ghost { background:rgba(255,255,255,0.07); color:rgba(255,255,255,0.7); border:1px solid rgba(255,255,255,0.1); }
.ss-btn.danger { background:rgba(239,68,68,0.15); color:#FCA5A5; border:1px solid rgba(239,68,68,0.2); }
.ss-kpi-row { display:flex; gap:12px; margin-bottom:18px; }
.ss-kpi {
	flex:1; background:rgba(255,255,255,0.05); border-radius:10px;
	padding:14px 16px; border:1px solid rgba(255,255,255,0.07);
}
.ss-kpi-label { font-size:0.6rem; font-weight:700; text-transform:uppercase; letter-spacing:0.09em; color:rgba(255,255,255,0.38); margin-bottom:6px; }
.ss-kpi-val { font-size:1.35rem; font-weight:800; color:var(--white); line-height:1; }
.ss-kpi-change { font-size:0.62rem; margin-top:5px; display:flex; align-items:center; gap:3px; }
.ss-kpi-change.up { color:#22C55E; }
.ss-kpi-change.down { color:#EF4444; }
.ss-kpi-change.neutral { color:rgba(255,255,255,0.4); }
.ss-kpi-icon { width:28px; height:28px; border-radius:7px; font-size:0.85rem; display:flex; align-items:center; justify-content:center; float:right; margin-top:-2px; }
.ss-kpi-icon.gold { background:rgba(212,160,23,0.15); }
.ss-kpi-icon.green { background:rgba(34,197,94,0.12); }
.ss-kpi-icon.blue { background:rgba(56,189,248,0.12); }
.ss-kpi-icon.red { background:rgba(239,68,68,0.12); }
.ss-table-wrap { background:rgba(255,255,255,0.04); border-radius:10px; border:1px solid rgba(255,255,255,0.07); overflow:hidden; margin-bottom:16px; }
.ss-table-header { display:flex; align-items:center; justify-content:space-between; padding:12px 16px; border-bottom:1px solid rgba(255,255,255,0.06); }
.ss-table-title { font-size:0.78rem; font-weight:700; color:var(--white); }
.ss-search { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:6px; padding:5px 12px; font-size:0.68rem; color:rgba(255,255,255,0.5); display:flex; align-items:center; gap:6px; }
.ss-thead { display:grid; padding:9px 16px; background:rgba(255,255,255,0.04); border-bottom:1px solid rgba(255,255,255,0.05); }
.ss-thead span { font-size:0.6rem; font-weight:800; text-transform:uppercase; letter-spacing:0.09em; color:rgba(255,255,255,0.3); }
.ss-trow { display:grid; padding:10px 16px; border-bottom:1px solid rgba(255,255,255,0.04); align-items:center; }
.ss-trow:last-child { border-bottom:none; }
.ss-trow span { font-size:0.72rem; color:rgba(255,255,255,0.72); }
.ss-pill { display:inline-block; padding:3px 9px; border-radius:100px; font-size:0.6rem; font-weight:700; }
.ss-pill.green { background:rgba(34,197,94,0.18); color:#86EFAC; }
.ss-pill.yellow { background:rgba(251,191,36,0.18); color:#FDE68A; }
.ss-pill.red { background:rgba(239,68,68,0.18); color:#FCA5A5; }
.ss-pill.blue { background:rgba(56,189,248,0.18); color:#7DD3FC; }
.ss-pill.purple { background:rgba(167,139,250,0.18); color:#C4B5FD; }
.ss-pill.gray { background:rgba(148,163,184,0.18); color:#CBD5E1; }
.ss-avatar { width:26px; height:26px; border-radius:50%; font-size:0.62rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.ss-avatar.navy { background:rgba(26,47,107,0.8); color:var(--gold); border:1px solid rgba(212,160,23,0.2); }
.ss-row-user { display:flex; align-items:center; gap:8px; }
.ss-user-name { font-size:0.72rem; color:rgba(255,255,255,0.8); font-weight:600; }
.ss-user-sub { font-size:0.6rem; color:rgba(255,255,255,0.35); }
.ss-chart-area { background:rgba(255,255,255,0.04); border-radius:10px; padding:14px 16px; border:1px solid rgba(255,255,255,0.07); }
.ss-chart-title { font-size:0.7rem; font-weight:700; color:rgba(255,255,255,0.45); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:12px; }
.ss-bars { display:flex; align-items:flex-end; gap:5px; height:64px; }
.ss-bar { flex:1; border-radius:4px 4px 0 0; }
.ss-bar.gold { background:linear-gradient(to top,#B8860B,#F0C040); opacity:0.85; }
.ss-bar.teal { background:linear-gradient(to top,#0891B2,#67E8F9); opacity:0.7; }
.ss-bar.blue { background:linear-gradient(to top,#1D4ED8,#60A5FA); opacity:0.7; }
.ss-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.ss-cal-day { background:rgba(255,255,255,0.05); border-radius:5px; padding:5px; font-size:0.6rem; min-height:44px; border:1px solid rgba(255,255,255,0.05); position:relative; }
.ss-cal-day.has-booking { border-color:rgba(212,160,23,0.25); }
.ss-cal-day-num { color:rgba(255,255,255,0.4); margin-bottom:3px; }
.ss-cal-booking { border-radius:3px; padding:2px 5px; font-size:0.52rem; font-weight:700; margin-bottom:2px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ss-cal-booking.gold { background:rgba(212,160,23,0.25); color:#FDE68A; }
.ss-cal-booking.blue { background:rgba(56,189,248,0.2); color:#7DD3FC; }
.ss-cal-booking.green { background:rgba(34,197,94,0.2); color:#86EFAC; }
.ss-cal-booking.red { background:rgba(239,68,68,0.18); color:#FCA5A5; }
.ss-room-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin-bottom:14px; }
.ss-room-cell { border-radius:7px; padding:8px 6px; text-align:center; border:1px solid; }
.ss-room-cell.occupied { background:rgba(239,68,68,0.12); border-color:rgba(239,68,68,0.22); }
.ss-room-cell.available { background:rgba(34,197,94,0.1); border-color:rgba(34,197,94,0.2); }
.ss-room-cell.cleaning { background:rgba(251,191,36,0.12); border-color:rgba(251,191,36,0.22); }
.ss-room-cell.maintenance { background:rgba(167,139,250,0.12); border-color:rgba(167,139,250,0.2); }
.ss-room-num { font-size:0.65rem; font-weight:800; }
.ss-room-cell.occupied .ss-room-num { color:#FCA5A5; }
.ss-room-cell.available .ss-room-num { color:#86EFAC; }
.ss-room-cell.cleaning .ss-room-num { color:#FDE68A; }
.ss-room-cell.maintenance .ss-room-num { color:#C4B5FD; }
.ss-room-status { font-size:0.52rem; margin-top:2px; opacity:0.7; }
.ss-room-cell.occupied .ss-room-status { color:#FCA5A5; }
.ss-room-cell.available .ss-room-status { color:#86EFAC; }
.ss-room-cell.cleaning .ss-room-status { color:#FDE68A; }
.ss-room-cell.maintenance .ss-room-status { color:#C4B5FD; }
.ss-legend { display:flex; gap:14px; margin-bottom:12px; }
.ss-legend-item { display:flex; align-items:center; gap:5px; font-size:0.62rem; color:rgba(255,255,255,0.5); }
.ss-legend-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.ss-two-col { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ss-three-col { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.ss-gauge-wrap { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:16px; background:rgba(255,255,255,0.04); border-radius:10px; border:1px solid rgba(255,255,255,0.07); }
.ss-gauge-circle { width:72px; height:72px; border-radius:50%; background:conic-gradient(var(--gold) 0% calc(var(--pct)*1%), rgba(255,255,255,0.08) 0% 100%); display:flex; align-items:center; justify-content:center; margin-bottom:8px; position:relative; }
.ss-gauge-circle::before { content:""; position:absolute; width:52px; height:52px; border-radius:50%; background:#0B1D3A; }
.ss-gauge-inner { position:relative; z-index:1; font-size:0.85rem; font-weight:800; color:var(--white); }
.ss-gauge-label { font-size:0.6rem; color:rgba(255,255,255,0.45); text-align:center; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; }
.ss-progress-list { display:flex; flex-direction:column; gap:10px; }
.ss-progress-item {}
.ss-progress-label { display:flex; justify-content:space-between; font-size:0.68rem; color:rgba(255,255,255,0.6); margin-bottom:5px; }
.ss-progress-val { font-weight:700; color:var(--white); }
.ss-progress-track { height:6px; background:rgba(255,255,255,0.08); border-radius:3px; overflow:hidden; }
.ss-progress-fill { height:100%; border-radius:3px; }
.ss-progress-fill.gold { background:linear-gradient(90deg,#B8860B,#F0C040); }
.ss-progress-fill.teal { background:linear-gradient(90deg,#0891B2,#22D3EE); }
.ss-progress-fill.green { background:linear-gradient(90deg,#16A34A,#4ADE80); }
.ss-progress-fill.blue { background:linear-gradient(90deg,#1D4ED8,#60A5FA); }
.ss-progress-fill.red { background:linear-gradient(90deg,#DC2626,#F87171); }
.ss-task-list { display:flex; flex-direction:column; gap:6px; }
.ss-task { display:flex; align-items:center; gap:10px; padding:9px 12px; background:rgba(255,255,255,0.04); border-radius:8px; border:1px solid rgba(255,255,255,0.06); }
.ss-task-check { width:16px; height:16px; border-radius:4px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:0.55rem; }
.ss-task-check.done { background:rgba(34,197,94,0.2); color:#86EFAC; }
.ss-task-check.pending { background:rgba(251,191,36,0.15); color:#FDE68A; }
.ss-task-check.inprog { background:rgba(56,189,248,0.15); color:#7DD3FC; }
.ss-task-info { flex:1; }
.ss-task-name { font-size:0.7rem; color:rgba(255,255,255,0.8); font-weight:600; }
.ss-task-meta { font-size:0.6rem; color:rgba(255,255,255,0.35); margin-top:1px; }
.ss-task-assignee { font-size:0.62rem; color:rgba(255,255,255,0.4); flex-shrink:0; }

/* === smart-features === */
.smart-section {
	padding: 100px 32px;
	background: var(--white);
}
.smart-inner { max-width: 1200px; margin: 0 auto; }
.smart-grid {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 60px;
}
.smart-card {
	background: var(--off-white); border-radius: var(--radius);
	padding: 28px; border: 1px solid var(--border);
	text-align: center; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
	position: relative; overflow: hidden;
}
.smart-card::after {
	content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--gold), var(--gold-light));
	transform: scaleX(0); transform-origin: center; transition: transform 0.3s;
}
.smart-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: rgba(212,160,23,0.3); }
.smart-card:hover::after { transform: scaleX(1); }
.smart-icon {
	width: 60px; height: 60px; border-radius: 16px; margin: 0 auto 18px;
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
	display: flex; align-items: center; justify-content: center; font-size: 1.6rem;
	box-shadow: var(--shadow-md);
}
.smart-title { font-size: 0.95rem; font-weight: 700; color: var(--navy); margin-bottom: 8px; }
.smart-desc { font-size: 0.82rem; color: var(--slate); line-height: 1.6; }
.smart-badge {
	display: inline-block; background: rgba(212,160,23,0.12);
	color: var(--gold-dark); font-size: 0.65rem; font-weight: 800;
	padding: 3px 10px; border-radius: 100px; letter-spacing: 0.06em;
	text-transform: uppercase; margin-bottom: 10px;
}

/* === ai-dashboard === */
.ai-dashboard-section {
	padding: 100px 32px;
	background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 55%, #0A1830 100%);
	position: relative; overflow: hidden;
}
.ai-dashboard-section::before {
	content: ''; position: absolute; inset: 0;
	background:
		radial-gradient(ellipse 60% 60% at 80% 40%, rgba(212,160,23,0.07) 0%, transparent 65%),
		radial-gradient(ellipse 40% 40% at 10% 80%, rgba(26,47,107,0.5) 0%, transparent 55%);
	pointer-events: none;
}
.ai-dash-inner {
	max-width: 1200px; margin: 0 auto; position: relative; z-index: 1;
}
.ai-dash-top {
	display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; margin-bottom: 60px;
}
.ai-dash-text .section-eyebrow { margin-bottom: 20px; }
.ai-badge-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; }
.ai-badge {
	display: inline-flex; align-items: center; gap: 6px;
	background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12);
	color: rgba(255,255,255,0.8); font-size: 0.78rem; font-weight: 600;
	padding: 7px 14px; border-radius: 100px;
}
.ai-badge-dot { width: 8px; height: 8px; background: var(--gold); border-radius: 50%; }
.ai-dash-preview {
	background: rgba(255,255,255,0.04); border-radius: 20px;
	border: 1px solid rgba(212,160,23,0.2); padding: 24px;
	box-shadow: var(--shadow-xl);
}
.ai-dash-preview-bar {
	display: flex; align-items: center; gap: 10px; margin-bottom: 20px;
	padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,0.08);
}
.ai-preview-dots { display: flex; gap: 5px; }
.ai-preview-dots span { width: 10px; height: 10px; border-radius: 50%; }
.ai-preview-dots span:nth-child(1) { background: #FF5F56; }
.ai-preview-dots span:nth-child(2) { background: #FEBC2E; }
.ai-preview-dots span:nth-child(3) { background: #27C840; }
.ai-preview-title { color: rgba(255,255,255,0.4); font-size: 0.75rem; }
.ai-preview-tag {
	margin-left: auto; background: rgba(212,160,23,0.2); color: var(--gold);
	font-size: 0.65rem; font-weight: 800; padding: 3px 10px; border-radius: 100px;
	letter-spacing: 0.08em; text-transform: uppercase;
}
.ai-kpi-row { display: flex; gap: 12px; margin-bottom: 18px; }
.ai-kpi {
	flex: 1; background: rgba(255,255,255,0.06); border-radius: 10px;
	padding: 14px; border: 1px solid rgba(255,255,255,0.08);
}
.ai-kpi-label { font-size: 0.65rem; color: rgba(255,255,255,0.45); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 6px; }
.ai-kpi-value { font-size: 1.4rem; font-weight: 800; color: var(--white); }
.ai-kpi-trend { font-size: 0.68rem; color: #22C55E; margin-top: 4px; }
.ai-kpi-trend.down { color: #EF4444; }
.ai-chart-area {
	background: rgba(255,255,255,0.04); border-radius: 10px; padding: 16px;
	border: 1px solid rgba(255,255,255,0.06); margin-bottom: 16px;
}
.ai-chart-title { font-size: 0.72rem; color: rgba(255,255,255,0.45); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 14px; }
.ai-chart-bars { display: flex; align-items: flex-end; gap: 5px; height: 70px; }
.ai-chart-bar { flex: 1; border-radius: 4px 4px 0 0; }
.ai-chart-bar.gold { background: linear-gradient(to top, var(--gold-dark), var(--gold-light)); opacity: 0.9; }
.ai-chart-bar.teal { background: linear-gradient(to top, #0891B2, #67E8F9); opacity: 0.7; }
.ai-insight-row { display: flex; gap: 10px; }
.ai-insight {
	flex: 1; background: rgba(255,255,255,0.05); border-radius: 8px; padding: 12px;
	border: 1px solid rgba(255,255,255,0.07);
}
.ai-insight-label { font-size: 0.65rem; color: rgba(255,255,255,0.4); font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px; }
.ai-insight-val { font-size: 0.9rem; font-weight: 700; color: var(--white); }
.ai-insight-sub { font-size: 0.65rem; color: rgba(255,255,255,0.45); margin-top: 2px; }
.ai-dash-cards {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
}
.ai-dash-card {
	background: rgba(255,255,255,0.05); border-radius: var(--radius);
	padding: 24px; border: 1px solid rgba(255,255,255,0.1);
	transition: background 0.3s, transform 0.3s, border-color 0.3s;
}
.ai-dash-card:hover { background: rgba(255,255,255,0.09); transform: translateY(-4px); border-color: rgba(212,160,23,0.3); }
.ai-dash-card-icon { font-size: 1.8rem; margin-bottom: 14px; }
.ai-dash-card-title { font-size: 0.9rem; font-weight: 700; color: var(--white); margin-bottom: 6px; }
.ai-dash-card-desc { font-size: 0.8rem; color: rgba(255,255,255,0.55); line-height: 1.6; }

/* === responsive === */
@media (max-width: 1024px) {
	.smart-grid { grid-template-columns: repeat(2, 1fr); }
	.ai-dash-top { grid-template-columns: 1fr; gap: 40px; }
	.ai-dash-cards { grid-template-columns: repeat(2, 1fr); }
	.ai-chat-window { width: 340px; height: 520px; }

	.hero-grid { grid-template-columns: 1fr; gap: 40px; }
	.hero-visual { display: none; }
	/* Decorative "Welcome Back" login-card mockup next to the hero text —
	   was a raw-inline-style flex row with no classes, so it could never
	   respond to this breakpoint and instead overlapped the headline on
	   phones/tablets. Hide the mockup and let the text column take full width. */
	.hero-2col { flex-direction: column !important; }
	.hero-2col-visual { display: none !important; }
	.hero-2col-text { width: 100%; }
	.benefits-inner { grid-template-columns: 1fr; gap: 40px; }
	.footer-inner { grid-template-columns: 1fr 1fr; gap: 40px; }
	.pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin: 60px auto 0; }
	.pricing-card.featured { transform: none; }
	.contact-grid { grid-template-columns: 1fr; }
	.about-grid { grid-template-columns: 1fr; gap: 40px; }
	.team-grid { grid-template-columns: 1fr 1fr; }
	.blog-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
	.smart-grid { grid-template-columns: 1fr 1fr; }
	.ai-dash-cards { grid-template-columns: 1fr 1fr; }
	.ai-chat-window { width: calc(100vw - 40px); right: 20px; bottom: 90px; height: 500px; }
	.ai-chat-launcher { right: 20px; bottom: 20px; }
	.wa-launcher { right: 20px; bottom: 88px; }
	.wa-menu { right: 20px; bottom: 150px; width: calc(100vw - 40px); }

	/* Mobile navbar */
	.rhcp-nb-inner { padding: 0 18px; height: 60px; }
	.rhcp-nb-logo { margin-right: 0; }
	.rhcp-nb-links { display: none !important; }
	.rhcp-nb-signin, .rhcp-nb-vendor, .rhcp-nb-demo { display: none !important; }
	.rhcp-nb-burger { display: flex !important; }
	.hero-section { padding: 120px 20px 80px; }
	.hero-headline { font-size: 2rem; }
	.hero-buttons { flex-direction: column; }
	.stats-bar-inner { justify-content: center; }
	.stat-divider { display: none; }
	.features-section, .benefits-section, .screenshots-section,
	.pricing-section, .testimonials-section, .faq-section, .cta-band { padding: 72px 20px; }
	.benefits-grid { grid-template-columns: 1fr; }
	.testimonials-grid { grid-template-columns: 1fr; }
	.footer-inner { grid-template-columns: 1fr; gap: 32px; }
	.footer-bottom { flex-direction: column; text-align: center; }
	.contact-form-wrap { padding: 28px; }
	.form-row { grid-template-columns: 1fr; }
	.team-grid { grid-template-columns: 1fr; }
	.blog-grid { grid-template-columns: 1fr; }
	.demo-form-wrap { padding: 32px 20px; }
	.founder-section { grid-template-columns: 1fr !important; gap: 24px !important; text-align: center; padding: 32px; }
	.founder-photo, .founder-photo-placeholder, .founder-photo-block { margin: 0 auto !important; }
	.founder-portfolio-item { justify-content: center; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation: none !important; transition: none !important;
		scroll-behavior: auto !important;
	}
}
