/* Homepage — visual journey + contrast-safe sections */
:root{
	--ab-ink:#121412;
	--ab-cedar:#163226;
	--ab-cedar-deep:#0c1f18;
	--ab-sand:#e8e2d6;
	--ab-mist:#f6f3ec;
	--ab-cream:#f4efe6;
	--ab-line:rgba(18,20,18,.12);
}
body.home{
	background:
		radial-gradient(900px 420px at 85% 0%, rgba(22,50,38,.08), transparent 60%),
		var(--ab-mist);
	color:var(--ab-ink);
	font-family:Manrope,system-ui,sans-serif;
}
body.home .entry-header,
body.home .page-title,
body.home .hero-section,
body.home .ct-container > .page-title,
body.home .entry-content > .wp-block-post-title{
	display:none !important;
}
body.home .entry-content > *{max-width:100%}
body.home h1,body.home h2,body.home .ab-display{
	font-family:Fraunces,Georgia,serif;
	font-optical-sizing:auto;
	letter-spacing:-.02em;
	color:inherit;
}

/* 1) Hero */
.ab-hero{
	position:relative;
	min-height:min(90vh,860px);
	display:grid;
	align-items:end;
	color:var(--ab-cream);
	overflow:hidden;
	isolation:isolate;
}
.ab-hero__media{
	position:absolute;inset:0;z-index:-2;
	background:var(--ab-cedar-deep) center/cover no-repeat;
	transform:scale(1.03);
	animation:abKen 18s ease-out forwards;
}
.ab-hero__shade{
	position:absolute;inset:0;z-index:-1;
	background:
		linear-gradient(105deg, rgba(8,16,12,.88) 0%, rgba(8,16,12,.55) 42%, rgba(8,16,12,.28) 100%),
		linear-gradient(180deg, rgba(8,16,12,.1) 0%, rgba(8,16,12,.75) 100%);
}
.ab-hero__inner{
	width:min(680px, 92vw);
	padding: clamp(5.5rem, 12vh, 7rem) clamp(1.25rem, 4vw, 3rem) clamp(2.75rem, 6vh, 4rem);
}
.ab-brand{
	font-family:Manrope,sans-serif;
	font-size:.75rem;
	font-weight:700;
	letter-spacing:.24em;
	text-transform:uppercase;
	margin:0 0 .85rem;
	color:var(--ab-cream);
	opacity:.95;
	animation:abRise .8s ease both;
}
.ab-hero h1{
	font-size:clamp(2.5rem, 6.5vw, 4.4rem);
	line-height:1.05;
	font-weight:650;
	margin:0 0 1rem;
	color:var(--ab-cream);
	animation:abRise .9s .08s ease both;
}
.ab-hero__lead{
	font-size:clamp(1rem, 2.1vw, 1.15rem);
	line-height:1.55;
	max-width:34ch;
	margin:0 0 1.5rem;
	color:rgba(244,239,230,.92);
	animation:abRise .9s .16s ease both;
}
.ab-cta-row{
	display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;
	animation:abRise .9s .24s ease both;
}
.ab-btn{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:3rem;padding:.85rem 1.4rem;
	font-family:Manrope,sans-serif;font-weight:700;font-size:.92rem;
	text-decoration:none;border:0;border-radius:0;
	transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.ab-btn:hover{transform:translateY(-1px)}
.ab-btn--primary{background:var(--ab-cream);color:var(--ab-cedar-deep)}
.ab-btn--primary:hover{background:#fff;color:#000}
.ab-btn--ghost{background:transparent;color:var(--ab-cream);border:1px solid rgba(244,239,230,.6)}
.ab-btn--ghost:hover{border-color:var(--ab-cream);background:rgba(244,239,230,.1)}

/* 2) Trust */
.ab-trust{
	background:var(--ab-cedar);
	color:var(--ab-cream);
	text-align:center;
	padding:1rem 1.25rem;
	font-size:.9rem;font-weight:500;
	letter-spacing:.02em;
}
.ab-trust strong{font-weight:700;color:#fff}

/* 3) Paths */
.ab-section{
	padding:clamp(3.5rem, 7vw, 5.5rem) clamp(1.25rem, 4vw, 2rem);
}
.ab-section--sand{background:var(--ab-sand)}
.ab-section__head{
	max-width:36rem;margin:0 auto 2rem;text-align:center;
}
.ab-section__head h2{
	font-size:clamp(1.75rem, 3.8vw, 2.45rem);
	margin:0 0 .6rem;font-weight:650;
	color:var(--ab-ink);
}
.ab-section__head p{
	margin:0;color:rgba(18,20,18,.72);font-size:1.02rem;line-height:1.55;
}
.ab-paths{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
	max-width:1120px;margin:0 auto;
}
.ab-path{
	display:block;position:relative;min-height:300px;
	background:#111 center/cover no-repeat;color:var(--ab-cream);
	text-decoration:none;overflow:hidden;
}
.ab-path::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.78));
	transition:opacity .3s ease;
}
.ab-path:hover::after{opacity:.92}
.ab-path__label{
	position:absolute;left:1.25rem;right:1.25rem;bottom:1.25rem;z-index:1;
	font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:650;
	color:var(--ab-cream);
}
.ab-path span{
	display:block;margin-top:.35rem;
	font-family:Manrope,sans-serif;font-size:.78rem;font-weight:600;
	letter-spacing:.1em;text-transform:uppercase;opacity:.9;
	color:var(--ab-cream);
}

/* 4) Products */
.ab-section--products{
	background:var(--ab-mist);
}
.ab-section--products .ab-display,
.ab-section--products h2{
	color:var(--ab-ink) !important;
}
.ab-section--products > p,
.ab-section--products .has-text-align-center{
	color:rgba(18,20,18,.72) !important;
}
.ab-section--products .wc-block-grid__products,
.ab-section--products ul.products{
	max-width:1120px;margin:0 auto !important;
}
.ab-section--products .woocommerce ul.products li.product .woocommerce-loop-product__title,
.ab-section--products .wc-block-grid__product-title{
	color:var(--ab-ink) !important;
	font-family:Manrope,sans-serif !important;
	font-weight:600 !important;
}
.ab-section--products .price,
.ab-section--products .wc-block-grid__product-price{
	color:var(--ab-cedar) !important;
	font-weight:700 !important;
}
.ab-section--products .wp-block-button__link,
.ab-section--products a.button{
	border-radius:0 !important;
	background:var(--ab-cedar) !important;
	color:var(--ab-cream) !important;
}

/* 5) Quote */
.ab-quote{
	background:var(--ab-cedar-deep);
	color:var(--ab-cream);
	text-align:center;
	padding:clamp(3.5rem, 8vw, 5.25rem) 1.25rem;
}
.ab-quote blockquote{
	max-width:36rem;margin:0 auto;padding:0;border:0;
	font-family:Fraunces,Georgia,serif;
	font-size:clamp(1.3rem, 3vw, 1.8rem);
	line-height:1.35;font-weight:500;
	color:var(--ab-cream);
}
.ab-quote cite{
	display:block;margin-top:1.25rem;
	font-family:Manrope,sans-serif;font-size:.8rem;font-style:normal;
	letter-spacing:.14em;text-transform:uppercase;
	color:rgba(244,239,230,.75);
}

/* 6) Close */
.ab-close{
	text-align:center;
	padding:clamp(3.5rem, 8vw, 5rem) 1.25rem 5rem;
	background:var(--ab-sand);
	color:var(--ab-ink);
}
.ab-close h2{
	font-size:clamp(1.85rem, 4vw, 2.6rem);
	margin:0 0 .75rem;
	color:var(--ab-ink);
}
.ab-close p{
	max-width:36ch;margin:0 auto 1.5rem;
	color:rgba(18,20,18,.72);font-size:1.02rem;
}
.ab-close .ab-btn--primary{background:var(--ab-cedar);color:var(--ab-cream)}
.ab-close .ab-btn--primary:hover{background:var(--ab-cedar-deep);color:#fff}
.ab-close .ab-btn--ghost{color:var(--ab-cedar);border-color:rgba(22,50,38,.4)}
.ab-close .ab-btn--ghost:hover{background:rgba(22,50,38,.08);border-color:var(--ab-cedar)}

@media (max-width:800px){
	.ab-paths{grid-template-columns:1fr}
	.ab-path{min-height:220px}
	.ab-hero{min-height:86vh}
}
@keyframes abRise{
	from{opacity:0;transform:translateY(16px)}
	to{opacity:1;transform:none}
}
@keyframes abKen{to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
	.ab-hero__media,.ab-brand,.ab-hero h1,.ab-hero__lead,.ab-cta-row{animation:none}
}
