/* Kamire — Home Page Styles */

/* ── Hero ── */
.kamire-hero {
	min-height: 100vh;
	background: var(--kamire-near);
	display: flex;
	align-items: center;
	padding: 140px var(--kamire-side-pad) 80px;
	position: relative;
	overflow: hidden;
}
.hero-bg-accent {
	position: absolute;
	top: -20%; right: -5%;
	width: 55%; height: 130%;
	background: radial-gradient(ellipse at 70% 40%, rgba(157,224,22,0.12) 0%, transparent 65%);
	pointer-events: none;
}
.hero-bg-accent2 {
	position: absolute;
	bottom: -10%; left: -5%;
	width: 40%; height: 80%;
	background: radial-gradient(ellipse at 30% 70%, rgba(0,168,89,0.08) 0%, transparent 65%);
	pointer-events: none;
}
.hero-content { position: relative; z-index: 2; max-width: 820px; }
.hero-eyebrow {
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .18em;
	color: var(--kamire-lime);
	text-transform: uppercase;
	margin-bottom: 1.5rem;
	opacity: 0;
	animation: fadeUp .8s .2s forwards;
}
.hero-headline {
	font-family: var(--kamire-font-display);
	font-size: clamp(3rem, 7vw, 5.5rem);
	font-weight: 300;
	line-height: 1.08;
	color: var(--kamire-white);
	margin-bottom: 2rem;
	opacity: 0;
	animation: fadeUp .8s .4s forwards;
}
.hero-headline em { font-style: italic; color: var(--kamire-lime); }
.hero-sub {
	font-size: 1.125rem;
	color: rgba(255,255,255,0.62);
	max-width: 520px;
	line-height: 1.75;
	margin-bottom: 2.8rem;
	opacity: 0;
	animation: fadeUp .8s .6s forwards;
}
.hero-actions {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	opacity: 0;
	animation: fadeUp .8s .8s forwards;
}
.hero-scroll {
	position: absolute;
	bottom: 2.5rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	opacity: 0;
	animation: fadeIn 1s 1.2s forwards;
}
.hero-scroll span { font-size: .7rem; letter-spacing: .15em; color: rgba(255,255,255,.4); text-transform: uppercase; }
.scroll-line {
	width: 1px; height: 40px;
	background: linear-gradient(to bottom, rgba(157,224,22,.6), transparent);
	animation: scrollPulse 2s ease-in-out infinite;
}

/* ── Disciplines ── */
.kamire-disciplines {
	padding: var(--kamire-section-pad) var(--kamire-side-pad);
	background: var(--kamire-white);
}
.disc-intro { margin-bottom: 3.5rem; }
.disc-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2px;
	background: var(--kamire-light-gray);
}
.disc-card {
	background: var(--kamire-white);
	padding: 3rem 2.5rem;
	position: relative;
	overflow: hidden;
	transition: background .35s;
	cursor: default;
}
.disc-card::before {
	content: '';
	position: absolute;
	bottom: 0; left: 0;
	width: 100%; height: 3px;
	background: var(--kamire-lime);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.disc-card:hover::before { transform: scaleX(1); }
.disc-card:hover { background: var(--kamire-mint); }
.disc-num {
	font-family: var(--kamire-font-display);
	font-size: 3.5rem;
	font-weight: 700;
	color: rgba(0,0,0,.07);
	line-height: 1;
	margin-bottom: 1.5rem;
}
.disc-title {
	font-family: var(--kamire-font-display);
	font-size: 1.4rem;
	font-weight: 400;
	color: var(--kamire-black);
	margin-bottom: .8rem;
}
.disc-body { font-size: .9rem; color: var(--kamire-gray); line-height: 1.7; }

/* ── Approach ── */
.kamire-approach {
	padding: var(--kamire-section-pad) var(--kamire-side-pad);
	background: var(--kamire-near);
	display: grid;
	grid-template-columns: 55fr 45fr;
	gap: 5rem;
	align-items: center;
}
.approach-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	border-top: 1px solid rgba(255,255,255,.1);
}
.approach-stat {
	font-family: var(--kamire-font-display);
	font-size: 3.5rem;
	font-weight: 300;
	color: var(--kamire-lime);
	line-height: 1;
}
.approach-stat-label { font-size: .85rem; color: rgba(255,255,255,.45); margin-top: .25rem; }

/* ── Aura ── */
.kamire-aura {
	width: 260px; height: 260px;
	position: relative;
	margin: 0 auto;
}
.aura-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px solid rgba(157,224,22,0.2);
	animation: slowSpin 20s linear infinite;
}
.aura-ring--2 { inset: 20px; border-color: rgba(0,168,89,.15); animation-duration: 30s; animation-direction: reverse; }
.aura-ring--3 { inset: 50px; border-color: rgba(157,224,22,.1); animation-duration: 15s; }
.aura-core {
	position: absolute;
	inset: 80px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(157,224,22,.25) 0%, rgba(0,168,89,.1) 60%, transparent 100%);
	animation: breathe 4s ease-in-out infinite;
}

/* ── Work ── */
.kamire-work {
	padding: var(--kamire-section-pad) var(--kamire-side-pad);
	background: var(--kamire-white);
}

/* ── Reach ── */
.kamire-reach {
	padding: var(--kamire-section-pad) var(--kamire-side-pad);
	background: var(--kamire-mint);
	text-align: center;
}
.reach-headline {
	font-family: var(--kamire-font-display);
	font-size: clamp(2rem, 4.5vw, 3.5rem);
	font-weight: 300;
	color: var(--kamire-black);
	margin-bottom: 1rem;
	line-height: 1.15;
}
.reach-headline em { font-style: italic; color: var(--kamire-deep); }
.reach-sub { font-size: 1rem; color: var(--kamire-gray); max-width: 480px; margin: 0 auto 3rem; line-height: 1.7; }

/* ── Quote ── */
.kamire-quote {
	padding: 7rem var(--kamire-side-pad);
	background: var(--kamire-white);
	text-align: center;
}
.quote-line {
	width: 2px; height: 60px;
	background: linear-gradient(to bottom, var(--kamire-lime), var(--kamire-deep));
	margin: 0 auto 2rem;
}
.big-quote {
	font-family: var(--kamire-font-display);
	font-size: clamp(1.4rem, 3vw, 2.2rem);
	font-weight: 300;
	font-style: italic;
	color: var(--kamire-near);
	max-width: 760px;
	margin: 0 auto;
	line-height: 1.5;
}

/* ── Final CTA ── */
.kamire-final-cta {
	padding: 8rem var(--kamire-side-pad);
	background: var(--kamire-near);
	text-align: center;
	position: relative;
	overflow: hidden;
}
.final-cta-bg {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 50% 50%, rgba(157,224,22,0.07) 0%, transparent 70%);
	pointer-events: none;
}
.kamire-final-cta h2 {
	font-family: var(--kamire-font-display);
	font-size: clamp(2.2rem, 5vw, 4rem);
	font-weight: 300;
	color: var(--kamire-white);
	margin-bottom: 1rem;
	position: relative;
}
.kamire-final-cta h2 em { font-style: italic; color: var(--kamire-lime); }
.kamire-final-cta p { color: rgba(255,255,255,.5); font-size: 1.05rem; margin-bottom: 2.5rem; position: relative; }

/* ── Animations ── */
@keyframes fadeUp  { from { opacity:0; transform:translateY(24px) } to { opacity:1; transform:translateY(0) } }
@keyframes fadeIn  { from { opacity:0 } to { opacity:.6 } }
@keyframes slowSpin { to { transform:rotate(360deg) } }
@keyframes breathe { 0%,100% { transform:scale(1); opacity:.7 } 50% { transform:scale(1.12); opacity:1 } }
@keyframes scrollPulse { 0% { opacity:1 } 100% { opacity:0 } }

/* ── Elementor overrides (when home is Elementor-rendered) ── */
.elementor-page .kamire-hero,
.elementor-page .kamire-disciplines,
.elementor-page .kamire-approach,
.elementor-page .kamire-work,
.elementor-page .kamire-reach,
.elementor-page .kamire-quote,
.elementor-page .kamire-final-cta { margin: 0; }

/* ── Homepage: Elementor manages sections, no extra top pad needed ── */
.page-template-page-templates-page-home .kamire-main {
	padding-top: 0 !important;
}
/* Hero section must account for fixed nav height */
.kamire-hero {
	padding-top: 140px !important;
}
