/* Consulting Landing Builder - Frontend Styles */

:root{
	--cl-bg-start:#fff4e3;
	--cl-bg-end:#f7a94a;
	--cl-accent:#e0672a;
	--cl-highlight:#e8ff8a;
	--cl-btn-bg:#e0672a;
	--cl-btn-text:#ffffff;
	--cl-outline-btn:#e0672a;
	--cl-heading:#e0672a;
	--cl-body-text:#2b2b2b;
	--cl-max-width:1200px;
	--cl-section-py:80px;
	--cl-section-px:24px;
	--cl-radius:4px;
	--cl-btn-py:14px;
	--cl-btn-px:30px;
	--cl-col-gap:60px;
}

.cl-consulting-section{
	position:relative;
	overflow:hidden;
	background:linear-gradient(160deg,var(--cl-bg-start) 0%, var(--cl-bg-end) 100%);
	padding:var(--cl-section-py) var(--cl-section-px);
	font-family:inherit;
	color:var(--cl-body-text);
	box-sizing:border-box;
}
.cl-consulting-section *{ box-sizing:border-box; }

.cl-glow{
	pointer-events:none;
	position:absolute;
	top:0; left:0;
	width:520px; height:520px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0) 70%);
	transform:translate(-50%,-50%);
	opacity:0.9;
	transition:transform .6s cubic-bezier(.19,1,.22,1);
	z-index:0;
}
.cl-consulting-section:hover .cl-glow{ opacity:1; }
.cl-consulting-section.cl-glow-active .cl-glow{ opacity:1; }

/* ---------- Hero ---------- */
.cl-hero{
	position:relative;
	z-index:1;
	max-width:var(--cl-max-width);
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr 1.4fr 1fr;
	align-items:center;
	gap:32px;
	margin-bottom:60px;
}
.cl-hero-media{ position:relative; }
.cl-hero-media img{
	width:100%;
	height:auto;
	display:block;
	border-radius:var(--cl-radius);
	transition:transform .35s ease, box-shadow .35s ease;
	will-change:transform;
}
.cl-hero-media:hover img{
	transform:translateY(-4px) scale(1.02);
	box-shadow:0 18px 40px rgba(0,0,0,0.18);
}
.cl-ring{
	position:absolute;
	right:-30px;
	bottom:-40px;
	width:180px;
	height:180px;
	border:1px solid var(--cl-accent);
	border-radius:50%;
	transition:transform .4s ease;
}
.cl-hero-media:hover .cl-ring{ transform:scale(1.08) rotate(15deg); }

.cl-hero-text{ text-align:center; }
.cl-hero-title{
	font-family:Georgia,'Times New Roman',serif;
	font-style:italic;
	color:var(--cl-heading);
	font-size:clamp(40px,6vw,84px);
	letter-spacing:1px;
	margin:0 0 20px;
	line-height:1;
}
.cl-hero-subtitle{
	font-size:19px;
	line-height:1.6;
	margin:0 0 28px;
}

.cl-btn{
	display:inline-block;
	font-size:13px;
	font-weight:600;
	letter-spacing:1.5px;
	text-transform:uppercase;
	text-decoration:none;
	padding:var(--cl-btn-py) var(--cl-btn-px);
	border-radius:999px;
	transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
	cursor:pointer;
}
.cl-btn-outline{
	background:transparent;
	border:1px solid var(--cl-outline-btn);
	color:var(--cl-outline-btn);
}
.cl-btn-outline:hover{
	background:var(--cl-outline-btn);
	color:#fff;
	transform:translateY(-3px);
	box-shadow:0 10px 24px rgba(0,0,0,0.18);
}
.cl-btn-solid{
	background:var(--cl-btn-bg);
	border:1px solid var(--cl-btn-bg);
	color:var(--cl-btn-text);
}
.cl-btn-solid:hover{
	transform:translateY(-3px);
	box-shadow:0 10px 24px rgba(0,0,0,0.25);
	filter:brightness(1.06);
}
.cl-btn:active{ transform:translateY(0) scale(.98); }

/* ---------- Content (2 columns) ---------- */
.cl-content{
	position:relative;
	z-index:1;
	max-width:var(--cl-max-width);
	margin:0 auto;
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:var(--cl-col-gap);
	align-items:start;
}
.cl-section-title{
	font-size:30px;
	color:var(--cl-heading);
	margin:0 0 18px;
}
.cl-price{
	font-style:italic;
	font-weight:400;
	font-size:22px;
}
.cl-section-desc{ line-height:1.7; margin:0 0 20px; }
.cl-list-intro{ margin:0 0 12px; }

.cl-bullet-list{
	list-style:disc;
	padding-left:20px;
	margin:0 0 26px;
}
.cl-bullet-list li{
	line-height:1.7;
	margin-bottom:14px;
}
.cl-bullet-title{
	background:var(--cl-highlight);
	font-weight:700;
	padding:0 3px;
	border-radius:2px;
	transition:background-color .25s ease;
}
.cl-bullet-list li:hover .cl-bullet-title{
	filter:brightness(0.92);
}

.cl-footnote{ font-size:15px; line-height:1.7; }
.cl-footnote-prefix{
	color:var(--cl-accent);
	font-style:italic;
	font-weight:600;
	margin-right:4px;
}
.cl-footnote-link{
	background:var(--cl-highlight);
	color:inherit;
	font-weight:600;
	text-decoration:none;
	padding:0 3px;
	border-radius:2px;
	transition:background-color .2s ease, color .2s ease;
}
.cl-footnote-link:hover{ background:var(--cl-accent); color:#fff; }

.cl-content-media{
	position:relative;
	display:flex;
	justify-content:center;
}
.cl-content-media img{
	width:100%;
	max-width:460px;
	height:auto;
	border-radius:var(--cl-radius);
	background:#efefef;
	transition:transform .4s ease, box-shadow .4s ease;
	will-change:transform;
}
.cl-content-media:hover img{
	transform:translateY(-6px) rotate(-0.5deg);
	box-shadow:0 22px 50px rgba(0,0,0,0.22);
}
.cl-badge{
	position:absolute;
	right:-8%;
	bottom:6%;
	background:var(--cl-highlight);
	color:#2b2b2b;
	font-weight:800;
	font-size:14px;
	letter-spacing:.5px;
	width:110px;
	height:110px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	clip-path:polygon(50% 0%, 61% 12%, 78% 4%, 80% 22%, 98% 26%, 90% 42%, 100% 55%, 84% 62%, 88% 80%, 70% 76%, 63% 94%, 50% 82%, 37% 94%, 30% 76%, 12% 80%, 16% 62%, 0% 55%, 10% 42%, 2% 26%, 20% 22%, 22% 4%, 39% 12%);
	transform:rotate(-8deg);
	transition:transform .3s ease;
	z-index:2;
}
.cl-content-media:hover .cl-badge{ transform:rotate(4deg) scale(1.05); }

/* ---------- Bottom CTA ---------- */
.cl-cta-wrap{
	position:relative;
	z-index:1;
	text-align:center;
	margin-top:64px;
}

/* ---------- Bottom curve decoration ---------- */
.cl-curve{
	position:absolute;
	left:0;
	right:0;
	bottom:-2px;
	height:140px;
	background:#fff8ef;
	border-radius:50% 50% 0 0 / 100% 100% 0 0;
	transform:scale(1.6);
	z-index:0;
}

/* ---------- Tilt effect helper ---------- */
.cl-tilt{ transition:transform .15s ease-out; transform-style:preserve-3d; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
	.cl-hero{ grid-template-columns:1fr; text-align:center; gap:24px; }
	.cl-hero-media{ max-width:360px; margin:0 auto; }
	.cl-content{ grid-template-columns:1fr; }
	.cl-content-media{ order:-1; margin-bottom:20px; }
}

@media (max-width:600px){
	.cl-consulting-section{ padding:48px 16px; }
	.cl-hero-title{ font-size:clamp(32px,12vw,52px); }
	.cl-hero-subtitle{ font-size:16px; }
	.cl-btn{ font-size:12px; padding:12px 22px; }
	.cl-section-title{ font-size:24px; }
	.cl-badge{ width:84px; height:84px; font-size:11px; right:0; bottom:-6%; }
	.cl-ring{ display:none; }
}
