/*
Theme Name: Koury Enterprises for KouryLab
Description: Koury Enterprises identity layer for the KouryLab parent theme.
Author: KouryLab
Template: kourylab
Version: 0.1.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kourylab-kouryenterprises
*/

:root {
	--ke-ink: #07111d;
	--ke-navy: #0b1b2b;
	--ke-steel: #5f87a6;
	--ke-steel-light: #9fc1da;
	--ke-ice: #e8f1f7;
	--ke-paper: #f7f5ef;
	--ke-white: #ffffff;
	--ke-line: rgba(159, 193, 218, 0.18);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background: var(--ke-ink); color: var(--ke-white); }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0 !important; }
.wp-site-blocks > main > * { margin-block-start: 0 !important; }
.ke-wrap { width: min(1180px, calc(100% - 40px)); max-width: none !important; margin-inline: auto; }
.ke-wrap > * { max-width: none !important; }

.ke-header {
	position: fixed;
	inset: 0 0 auto;
	top: 0;
	z-index: 20;
	border-bottom: 1px solid var(--ke-line);
	background: rgba(7, 17, 29, 0.92);
	backdrop-filter: blur(16px);
}
.admin-bar .ke-header { top: 32px; }
.ke-nav { min-height: 76px; }
.ke-brand { gap: 12px; font-weight: 650; letter-spacing: 0.02em; }
.ke-mark {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border: 1px solid var(--ke-steel);
	border-radius: 50%;
	color: var(--ke-steel-light);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 14px;
}
.ke-brand-name { margin: 0; }
.ke-links { gap: 28px; font-size: 14px; }
.ke-links a { color: var(--ke-ice); text-decoration: none; }
.ke-links a:hover, .ke-links a:focus-visible { color: var(--ke-steel-light); }
.ke-contact-link { padding: 10px 17px; border: 1px solid var(--ke-steel); border-radius: 999px; }

.ke-section { padding: 120px 0; }
.ke-hero {
	position: relative;
	min-height: 100vh;
	display: grid;
	align-items: center;
	padding: 140px 0 80px;
	overflow: hidden;
	background:
		radial-gradient(circle at 78% 30%, rgba(95, 135, 166, 0.25), transparent 34%),
		radial-gradient(circle at 15% 90%, rgba(50, 83, 110, 0.16), transparent 30%);
}
.ke-hero::after {
	content: "";
	position: absolute;
	top: 110px;
	right: -170px;
	width: 560px;
	height: 560px;
	border: 1px solid var(--ke-line);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(159, 193, 218, 0.024), 0 0 0 160px rgba(159, 193, 218, 0.016);
	pointer-events: none;
}
.ke-hero .ke-wrap { position: relative; z-index: 1; }
.ke-eyebrow { display: flex; align-items: center; gap: 12px; color: var(--ke-steel-light); text-transform: uppercase; letter-spacing: 0.18em; font-size: 12px; font-weight: 700; }
.ke-eyebrow::before { content: ""; width: 38px; height: 1px; flex: 0 0 auto; background: var(--ke-steel); }
.ke-hero h1 { max-width: 900px !important; margin: 28px 0 26px; font-size: clamp(58px, 8vw, 112px); line-height: 0.96; letter-spacing: -0.045em; }
.ke-hero h1 em { color: var(--ke-steel-light); font-weight: 400; }
.ke-lead { max-width: 650px !important; color: #bdcbd6; font-size: clamp(18px, 2vw, 22px); }
.ke-actions { gap: 14px; margin-top: 38px; }
.ke-button .wp-block-button__link { border-radius: 999px; background: var(--ke-steel); color: var(--ke-ink); font-size: 14px; font-weight: 750; }
.ke-button.is-style-outline .wp-block-button__link { border-color: var(--ke-line); background: transparent; color: var(--ke-ice); }

.ke-ventures { border-block: 1px solid var(--ke-line); background: var(--ke-navy); }
.ke-section-head { display: grid !important; grid-template-columns: 1fr 1.4fr; align-items: start; gap: 50px; margin-bottom: 54px; }
.ke-section-head h2, .ke-contact h2 { margin: 0; font-size: clamp(40px, 5vw, 70px); line-height: 1.05; }
.ke-section-head p { margin-top: 10px; color: #aabac7; font-size: 18px; }
.ke-cards { gap: 18px; }
.ke-card { min-height: 360px; display: flex; flex-direction: column; padding: 34px; border: 1px solid var(--ke-line); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,0.043), rgba(255,255,255,0.016)); }
.ke-card > * { margin-block-start: 0 !important; }
.ke-card-number { color: var(--ke-steel-light); font-size: 12px; letter-spacing: 0.18em; }
.ke-card h3 { margin: auto 0 10px !important; font-size: 36px; }
.ke-card p { margin: 0 0 25px !important; color: #aabac7; }
.ke-card p:last-child { margin-bottom: 0 !important; }
.ke-card a { color: var(--ke-steel-light); font-size: 14px; font-weight: 700; }
.ke-card-muted { border-style: dashed; }

.ke-about-grid { display: grid !important; grid-template-columns: 0.8fr 1.2fr; align-items: start; gap: 80px; }
.ke-quote { margin: 0; color: var(--ke-ice); font-family: Georgia, "Times New Roman", serif; font-size: clamp(36px, 5vw, 62px); line-height: 1.08; }
.ke-about-copy { color: #b7c5cf; font-size: 18px; }
.ke-about-copy strong { color: var(--ke-white); }

.ke-contact { min-height: 602px; background: var(--ke-paper); color: var(--ke-ink); }
.ke-contact-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 90px; }
.ke-contact h2 { margin: 18px 0 24px; font-size: clamp(44px, 6vw, 78px); line-height: 1; }
.ke-contact p { color: #486072; }
.ke-contact .ke-eyebrow { color: #496f8d; }

.ke-footer { padding: 42px 0; border-top: 1px solid var(--ke-line); background: #050d16; color: #8fa1af; font-size: 13px; }
.ke-footer a { color: inherit; }

@media (max-width: 800px) {
	.admin-bar .ke-header { top: 46px; }
	.ke-links a:not(.ke-contact-link) { display: none; }
	.ke-brand-name { font-size: 13px; }
	.ke-contact-link { padding: 8px 10px; white-space: nowrap; font-size: 12px; }
	.ke-section { padding: 82px 0; }
	.ke-contact { min-height: 639px; }
	.ke-section-head, .ke-about-grid, .ke-contact-grid { grid-template-columns: 1fr; gap: 30px; }
	.ke-cards { grid-template-columns: 1fr; }
	.ke-card { min-height: 290px; }
	.ke-hero::after { opacity: 0.35; }
	.ke-footer-row { align-items: flex-start; flex-direction: column; }
}
