/* =========================================================
   CYBERWALKER MEDIA
   Global Design System
   Canonical stylesheet: place in Astra child-theme ROOT
   as /cyberwalker.css
========================================================= */

:root {
	--cw-midnight:#072f37;
	--cw-deep:#05242b;
	--cw-teal:#0f5b63;
	--cw-cream:#f4dfad;
	--cw-paper:#f6f0e4;
	--cw-paper-2:#eee4d2;
	--cw-gold:#e2ad55;
	--cw-orange:#d6652f;
	--cw-ink:#163237;
	--cw-white:#fffaf1;
	--cw-line:#d7cdbb;
	--cw-text-muted:#52676a;
	--cw-text-light:#c2cfce;
	--cw-max:1180px;
	--cw-radius-sm:7px;
	--cw-radius-lg:20px;
	--cw-shadow:0 16px 34px rgba(7,47,55,.08);
	--cw-font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	--cw-font-display:Georgia,"Times New Roman",serif;

	/* Backward-compatible aliases for older Cyberwalker templates */
	--midnight:var(--cw-midnight);
	--deep:var(--cw-deep);
	--teal:var(--cw-teal);
	--cream:var(--cw-cream);
	--paper:var(--cw-paper);
	--paper-2:var(--cw-paper-2);
	--gold:var(--cw-gold);
	--orange:var(--cw-orange);
	--ink:var(--cw-ink);
	--white:var(--cw-white);
	--line:var(--cw-line);
	--max:var(--cw-max);
}

html { scroll-behavior:smooth; }
body { margin:0; padding:0; }

.cw-site,.cw-page,.cw-engine {
	background:var(--cw-paper);
	color:var(--cw-ink);
	font-family:var(--cw-font-body);
	line-height:1.58;
}

.cw-site *,.cw-page *,.cw-engine *,
.cw-nav *,.cw-footer * { box-sizing:border-box; }

.cw-site img,.cw-page img,.cw-engine img { display:block; max-width:100%; }

.cw-site a,.cw-page a,.cw-engine a,
.cw-nav a,.cw-footer a { text-decoration:none; }

.cw-wrap {
	width:min(calc(100% - 40px),var(--cw-max));
	max-width:var(--cw-max);
	margin-left:auto;
	margin-right:auto;
}

.cw-section { padding:100px 0; }

.cw-display,.cw-page h1,.cw-page h2,.cw-engine h1,.cw-engine h2 {
	font-family:var(--cw-font-display);
	font-weight:700;
	letter-spacing:-.035em;
	line-height:.99;
}

.cw-page h1,.cw-engine h1 { font-size:clamp(3.7rem,7.6vw,7rem); }
.cw-page h2,.cw-engine h2 { font-size:clamp(2.45rem,4.9vw,4.4rem); }
.cw-page h3,.cw-engine h3 { font-size:1.28rem; line-height:1.18; letter-spacing:-.02em; }
.cw-lead { font-size:clamp(1.16rem,2vw,1.42rem); }

.cw-eyebrow {
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:.76rem;
	font-weight:900;
	letter-spacing:.14em;
	text-transform:uppercase;
}
.cw-eyebrow::before { content:""; width:31px; height:2px; background:currentColor; }

.cw-btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	border:1px solid currentColor;
	border-radius:var(--cw-radius-sm);
	padding:14px 20px;
	font-weight:850;
	transition:transform .2s ease,background .2s ease,color .2s ease;
}
.cw-btn:hover { transform:translateY(-2px); }
.cw-btn-gold { background:var(--cw-gold); border-color:var(--cw-gold); color:var(--cw-deep)!important; }
.cw-btn-dark { background:var(--cw-deep); border-color:var(--cw-deep); color:var(--cw-white)!important; }
.cw-btn-outline { background:transparent; color:var(--cw-cream)!important; border-color:rgba(244,223,173,.48); }

.cw-panel {
	display:grid;
	grid-template-columns:.44fr .56fr;
	background:var(--cw-white);
	border:1px solid var(--cw-line);
	border-radius:var(--cw-radius-lg);
	overflow:hidden;
	box-shadow:var(--cw-shadow);
}
.cw-panel.cw-reverse { grid-template-columns:.56fr .44fr; }
.cw-panel-media { display:flex; align-items:stretch; overflow:hidden; }
.cw-panel-media img { width:100%; height:100%; min-height:360px; object-fit:cover; }
.cw-panel-copy { padding:38px 36px; align-self:center; }

.cw-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cw-card { background:var(--cw-white); border:1px solid var(--cw-line); padding:28px; }

/* =========================================================
   GLOBAL HEADER
========================================================= */

body.admin-bar .cw-nav { top:32px; }

body .cw-nav {
	position:sticky;
	top:0;
	z-index:99999;
	width:100%;
	background:rgba(246,240,228,.96);
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
	border-bottom:1px solid rgba(22,50,55,.10);
	font-family:var(--cw-font-body);
	color:var(--cw-midnight);
}

body .cw-nav .cw-nav-inner {
	height:76px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
}

body .cw-nav .cw-brand,
body .cw-footer .cw-brand {
	display:flex;
	align-items:center;
	gap:10px;
	font-family:var(--cw-font-body);
	font-size:1.22rem;
	font-weight:950;
	line-height:1;
	letter-spacing:.045em;
	text-decoration:none;
}

body .cw-nav .cw-brand { color:var(--cw-midnight)!important; }

body .cw-brand-mark {
	width:31px;
	height:31px;
	border:3px solid var(--cw-orange);
	border-right-color:transparent;
	border-radius:50%;
	position:relative;
	flex:0 0 auto;
}

body .cw-brand-mark::after {
	content:"";
	position:absolute;
	width:7px;
	height:7px;
	background:var(--cw-gold);
	border-radius:50%;
	right:-4px;
	top:9px;
}

body .cw-brand small {
	font-size:.75em;
	font-weight:650;
	letter-spacing:.02em;
	color:#617275;
}

body .cw-nav .cw-nav-links {
	display:flex;
	align-items:center;
	gap:28px;
	font-size:.91rem;
	font-weight:780;
}

body .cw-nav .cw-nav-links a {
	color:var(--cw-midnight)!important;
	text-decoration:none!important;
}

body .cw-nav .cw-nav-links a:hover,
body .cw-nav .cw-nav-links a:focus { color:var(--cw-orange)!important; }

body .cw-nav .cw-nav-cta { color:var(--cw-orange)!important; }

body .cw-menu-toggle {
	display:none;
	background:none!important;
	border:0!important;
	box-shadow:none!important;
	padding:8px!important;
	font-size:1.35rem;
	line-height:1;
	color:var(--cw-midnight)!important;
	cursor:pointer;
}

/* =========================================================
   GLOBAL FOOTER
========================================================= */

body .cw-footer {
	width:100%;
	background:var(--cw-deep);
	color:var(--cw-white);
	padding:42px 0 48px;
	font-family:var(--cw-font-body);
}

body .cw-footer .cw-footer-grid {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:28px;
}

body .cw-footer .cw-brand { color:var(--cw-white)!important; }
body .cw-footer .cw-brand small { color:#9fb2b1; }

body .cw-footer-meta {
	font-size:.87rem;
	line-height:1.45;
	color:#9fb2b1;
	margin-top:9px;
}

body .cw-footer-links {
	display:flex;
	flex-wrap:wrap;
	gap:22px;
	font-size:.9rem;
	font-weight:760;
}

body .cw-footer-links a {
	color:var(--cw-cream)!important;
	text-decoration:none!important;
}
body .cw-footer-links a:hover,
body .cw-footer-links a:focus { color:var(--cw-gold)!important; }

/* Keep custom full-width page templates independent of Astra content widths */
body[class*="page-template-page-ai-content-engine"] .site-content,
body[class*="page-template-page-ai-content-engine"] .ast-container,
body[class*="page-template-page-ai-content-engine"] #primary,
body[class*="page-template-page-ai-content-engine"] .content-area,
body[class*="page-template-page-ai-content-engine"] .site-main,
body[class*="page-template-page-ai-content-engine"] .entry-content {
	width:100%;
	max-width:none;
	margin:0;
	padding:0;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:960px) {
	body .cw-nav .cw-nav-links { display:none; }
	body .cw-menu-toggle { display:block; }

	body .cw-nav .cw-nav-links.cw-open {
		display:flex;
		position:absolute;
		left:20px;
		right:20px;
		top:68px;
		background:var(--cw-paper);
		padding:20px;
		border:1px solid var(--cw-line);
		flex-direction:column;
		align-items:flex-start;
		box-shadow:0 16px 34px rgba(7,47,55,.12);
	}

	.cw-cards { grid-template-columns:1fr 1fr; }
}

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

@media (max-width:700px) {
	.cw-panel,.cw-panel.cw-reverse { grid-template-columns:1fr; }
}

@media (max-width:620px) {
	.cw-wrap { width:min(calc(100% - 28px),var(--cw-max)); }
	.cw-cards { grid-template-columns:1fr; }
	body .cw-footer .cw-footer-grid { flex-direction:column; }
	body .cw-brand small { display:none; }
}
