/* =========================================================
   Black Gold Enterprises — main stylesheet
   Mobile-first, accessible, no framework.
   Colors come from CSS variables set by the Customizer.
   ========================================================= */

:root{
	--bg-primary:#1a1a1a;
	--bg-secondary:#ffc20e;
	--bg-accent:#1ca3ec;
	--bg-font:'Inter',sans-serif;
	--bg-container:1200px;
	--bg-btn-radius:8px;
	--bg-text:#222;
	--bg-muted:#5c5c5c;
	--bg-border:#e4e4e4;
	--bg-bg-soft:#f6f7f9;
	--bg-white:#fff;
}

*,*::before,*::after{box-sizing:border-box;}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--bg-font);
	color:var(--bg-text);
	line-height:1.6;
	background:var(--bg-white);
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--bg-accent);}
a:hover,a:focus{color:var(--bg-primary);}

h1,h2,h3,h4{line-height:1.2;color:var(--bg-primary);margin:0 0 .5em;font-weight:700;}
h1{font-size:clamp(1.8rem,4vw,2.6rem);}
h2{font-size:clamp(1.5rem,3vw,2rem);}
h3{font-size:1.25rem;}
p{margin:0 0 1rem;}

/* Accessibility */
.screen-reader-text{
	border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
	height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important;
}
.skip-link{
	position:absolute;left:-9999px;top:0;background:var(--bg-secondary);color:var(--bg-primary);
	padding:.75rem 1rem;z-index:1000;font-weight:700;border-radius:0 0 var(--bg-btn-radius) 0;
}
.skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--bg-accent);outline-offset:2px;}

/* Layout */
.container{width:100%;max-width:var(--bg-container);margin:0 auto;padding:0 1rem;}
.site-main{padding:2rem 1rem;}
.section{padding:3.5rem 0;}
.section:nth-child(even){background:var(--bg-bg-soft);}
.section__head{text-align:center;max-width:720px;margin:0 auto 2.5rem;}
.section__subtitle{color:var(--bg-muted);font-size:1.1rem;}

/* Buttons */
.btn{
	display:inline-block;padding:.7rem 1.4rem;border-radius:var(--bg-btn-radius);
	font-weight:600;text-decoration:none;cursor:pointer;border:2px solid transparent;
	transition:background .15s,color .15s,transform .05s;line-height:1.2;
}
.btn:active{transform:translateY(1px);}
.btn--cta{background:var(--bg-secondary);color:var(--bg-primary);}
.btn--cta:hover,.btn--cta:focus{background:var(--bg-primary);color:var(--bg-secondary);}
.btn--outline{background:transparent;border-color:var(--bg-primary);color:var(--bg-primary);}
.btn--outline:hover,.btn--outline:focus{background:var(--bg-primary);color:var(--bg-white);}
.btn--lg{padding:.95rem 1.9rem;font-size:1.05rem;}

/* Header */
.site-header{background:var(--bg-primary);color:var(--bg-white);}
.has-sticky-header .site-header{position:sticky;top:0;z-index:100;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.75rem;padding-bottom:.75rem;}
.header-logo-center .site-header__inner{flex-direction:column;text-align:center;}
.site-title{margin:0;font-size:1.3rem;}
.site-title a{color:var(--bg-white);text-decoration:none;}
.site-description{margin:0;font-size:.85rem;color:var(--bg-secondary);}
.custom-logo{max-height:60px;width:auto;}

.main-navigation{display:flex;align-items:center;gap:1.25rem;}
.main-navigation ul{list-style:none;display:flex;gap:1.25rem;margin:0;padding:0;flex-wrap:wrap;}
.main-navigation a{color:var(--bg-white);text-decoration:none;padding:.4rem 0;font-weight:500;}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--bg-secondary);}
.main-navigation .sub-menu{display:none;position:absolute;background:var(--bg-primary);padding:.5rem;min-width:200px;flex-direction:column;z-index:50;}
.main-navigation li{position:relative;}
.main-navigation li:hover>.sub-menu,.main-navigation li:focus-within>.sub-menu{display:flex;}
.header-cta{margin-left:.5rem;}

.menu-toggle{
	display:none;background:none;border:0;cursor:pointer;padding:.5rem;width:44px;height:44px;
}
.menu-toggle__bar,.menu-toggle__bar::before,.menu-toggle__bar::after{
	display:block;width:24px;height:2px;background:var(--bg-white);position:relative;transition:.2s;
}
.menu-toggle__bar::before,.menu-toggle__bar::after{content:"";position:absolute;left:0;}
.menu-toggle__bar::before{top:-7px;}
.menu-toggle__bar::after{top:7px;}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar{background:transparent;}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar::before{top:0;transform:rotate(45deg);}
.menu-toggle[aria-expanded="true"] .menu-toggle__bar::after{top:0;transform:rotate(-45deg);}

/* Hero */
.hero{background:var(--bg-primary);color:var(--bg-white);text-align:center;background-size:cover;background-position:center;position:relative;}
.hero--has-bg::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);}
.hero__inner{position:relative;max-width:820px;padding-top:4rem;padding-bottom:4rem;}
.hero__heading{color:var(--bg-white);}
.hero__subheading{font-size:1.15rem;color:#e8e8e8;margin-bottom:1.75rem;}

/* Grids */
.grid{display:grid;gap:1.5rem;}
.grid--3{grid-template-columns:1fr;}
.grid--4{grid-template-columns:1fr;}

/* Cards */
.card{background:var(--bg-white);border:1px solid var(--bg-border);border-radius:12px;padding:1.5rem;}
.service-card .card__link{display:inline-block;margin-top:.5rem;font-weight:600;}
.feature{padding:1.25rem;border-left:4px solid var(--bg-secondary);background:var(--bg-white);border-radius:0 8px 8px 0;}

/* About */
.about__inner.about--has-image{display:grid;gap:2rem;grid-template-columns:1fr;}
.about__media img{border-radius:12px;}

/* Testimonials */
.testimonial{background:var(--bg-white);border:1px solid var(--bg-border);border-radius:12px;padding:1.5rem;margin:0;}
.testimonial__quote{font-style:italic;margin:0 0 1rem;}
.testimonial__author{font-weight:700;color:var(--bg-primary);}

/* Products */
.product-card{display:flex;flex-direction:column;padding:0;overflow:hidden;}
.product-card__thumb img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.product-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.product-card__title{font-size:1.1rem;margin:0;}
.product-card__title a{color:var(--bg-primary);text-decoration:none;}
.product-card__price{font-weight:700;color:var(--bg-accent);margin:0;}
.product-card .btn{margin-top:auto;text-align:center;}
.section__more{text-align:center;margin-top:2rem;}

/* CTA */
.section--cta{background:var(--bg-primary);color:var(--bg-white);}
.section--cta .section__title{color:var(--bg-white);}
.cta__inner{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center;}
.cta__sub{color:#e8e8e8;}
.cta__actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;}

/* Blog listing */
.posts-wrap{display:grid;gap:1.5rem;}
.blog-layout-grid .posts-wrap{grid-template-columns:1fr;}
.post-card{background:var(--bg-white);border:1px solid var(--bg-border);border-radius:12px;overflow:hidden;}
.post-card__thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.post-card__body{padding:1.25rem;}
.entry-meta{font-size:.85rem;color:var(--bg-muted);margin-bottom:.75rem;}
.read-more{font-weight:600;}

/* Content area + sidebar */
.content-area{min-width:0;}
.widget-area .widget{margin-bottom:2rem;}
.widget-title{font-size:1.1rem;border-bottom:2px solid var(--bg-secondary);padding-bottom:.4rem;}

/* Single */
.entry-thumbnail{margin:1.5rem 0;}
.entry-thumbnail img{border-radius:12px;}
.single-post .entry-content,.single-page .entry-content{max-width:760px;}
.entry-content a{text-decoration:underline;}

/* Pagination */
.pagination,.posts-navigation,.post-navigation{margin:2.5rem 0;}
.pagination .nav-links{display:flex;gap:.5rem;flex-wrap:wrap;}
.pagination a,.pagination span{padding:.5rem .85rem;border:1px solid var(--bg-border);border-radius:6px;text-decoration:none;}
.pagination .current{background:var(--bg-primary);color:var(--bg-white);border-color:var(--bg-primary);}

/* Footer */
.site-footer{background:var(--bg-primary);color:#d6d6d6;margin-top:3rem;}
.site-footer__widgets{display:grid;gap:2rem;padding:3rem 1rem 1rem;grid-template-columns:1fr;}
.site-footer a{color:var(--bg-secondary);}
.site-footer .widget-title{color:var(--bg-white);border-color:var(--bg-secondary);}
.site-footer__bottom{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;padding:1.5rem 1rem;border-top:1px solid rgba(255,255,255,.1);}
.social-links ul{list-style:none;display:flex;gap:1rem;margin:0;padding:0;}

/* Contact page */
.contact-grid{display:grid;gap:2rem;grid-template-columns:1fr;}
.contact-list{list-style:none;padding:0;}
.contact-list li{margin-bottom:.75rem;}

/* WhatsApp float + quote tray (plugin) */
.bg-whatsapp-float{
	position:fixed;right:18px;bottom:18px;z-index:200;width:56px;height:56px;border-radius:50%;
	background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.25);
	color:#fff;text-decoration:none;font-size:0;
}
.bg-whatsapp-float svg{width:30px;height:30px;}
.bg-quote-tray{
	position:fixed;left:0;right:0;bottom:0;z-index:210;background:var(--bg-primary);color:#fff;
	transform:translateY(100%);transition:transform .25s;padding:1rem;
}
.bg-quote-tray.is-open{transform:translateY(0);}
.bg-quote-tray__inner{max-width:var(--bg-container);margin:0 auto;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.bg-quote-tray ul{list-style:none;margin:0;padding:0;max-height:120px;overflow:auto;}
.bg-quote-tray li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;border-bottom:1px solid rgba(255,255,255,.1);}
.bg-quote-remove{background:none;border:0;color:var(--bg-secondary);cursor:pointer;}

/* Quote page form */
.bg-quote-form{max-width:560px;}
.bg-quote-form label{display:block;font-weight:600;margin:1rem 0 .25rem;}
.bg-quote-form input,.bg-quote-form textarea{width:100%;padding:.7rem;border:1px solid var(--bg-border);border-radius:8px;font:inherit;}
.bg-quote-items{list-style:none;padding:0;margin:0 0 1rem;}
.bg-quote-items li{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--bg-border);}

/* ---------- Mobile menu ---------- */
@media (max-width:860px){
	.menu-toggle{display:inline-flex;align-items:center;justify-content:center;}
	.main-navigation{
		display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg-primary);
		flex-direction:column;align-items:flex-start;padding:1rem;gap:.5rem;
	}
	.site-header{position:relative;}
	.main-navigation.is-open{display:flex;}
	.main-navigation ul{flex-direction:column;width:100%;gap:.25rem;}
	.main-navigation .sub-menu{position:static;}
	.header-cta{margin:.5rem 0 0;}
}

/* ---------- Tablet+ ---------- */
@media (min-width:640px){
	.grid--3{grid-template-columns:repeat(2,1fr);}
	.grid--4{grid-template-columns:repeat(2,1fr);}
	.site-footer__widgets.cols-2,.site-footer__widgets.cols-3,.site-footer__widgets.cols-4{grid-template-columns:repeat(2,1fr);}
}

/* ---------- Desktop ---------- */
@media (min-width:900px){
	.grid--3{grid-template-columns:repeat(3,1fr);}
	.grid--4{grid-template-columns:repeat(4,1fr);}
	.blog-layout-grid .posts-wrap{grid-template-columns:repeat(2,1fr);}
	.about__inner.about--has-image{grid-template-columns:1fr 1fr;align-items:center;}
	.cta__inner{flex-direction:row;justify-content:space-between;text-align:left;}
	.contact-grid{grid-template-columns:1fr 1.2fr;}
	.site-footer__widgets.cols-3{grid-template-columns:repeat(3,1fr);}
	.site-footer__widgets.cols-4{grid-template-columns:repeat(4,1fr);}
	.site-footer__bottom{flex-direction:row;justify-content:space-between;}

	/* Sidebar layouts — ONLY when the page actually renders a sidebar.
	   The grid is scoped to .site-main that contains a .content-area, so
	   product archives, single products and the front page (which have no
	   .content-area) stay full-width. */
	body.sidebar-right .site-main:has(.content-area),
	body.sidebar-left .site-main:has(.content-area){display:grid;gap:2.5rem;grid-template-columns:1fr 300px;align-items:start;}
	body.sidebar-left .site-main:has(.content-area){grid-template-columns:300px 1fr;}
	body.sidebar-left .content-area{order:2;}
	body.sidebar-left .sidebar{order:1;}
	.blog-layout-list .posts-wrap{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
	*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* =========================================================
   Products: category grouping, archive, single detail
   (rebuilt for a cleaner, consistent UI)
   ========================================================= */

/* Product grid: equal-height cards, comfortable gutters */
.product-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;align-items:stretch;}

/* ---- Product card ---- */
.product-card{
	display:flex;flex-direction:column;background:var(--bg-white);
	border:1px solid var(--bg-border);border-radius:14px;overflow:hidden;
	box-shadow:0 1px 2px rgba(0,0,0,.04);
	transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	height:100%;
}
.product-card:hover,.product-card:focus-within{
	transform:translateY(-4px);
	box-shadow:0 12px 28px rgba(0,0,0,.12);
	border-color:var(--bg-secondary);
}

/* Image: fixed aspect ratio so every card lines up */
.product-card__thumb{
	position:relative;display:block;aspect-ratio:4/3;background:var(--bg-primary);
	overflow:hidden;
}
.product-card__thumb img{
	width:100%;height:100%;object-fit:cover;display:block;
	transition:transform .3s ease;
}
.product-card:hover .product-card__thumb img{transform:scale(1.04);}
.product-card__noimg{
	position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
	color:#9a9a9a;font-size:.9rem;
}
.product-card__badge{
	position:absolute;top:10px;left:10px;background:var(--bg-secondary);color:var(--bg-primary);
	font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
	padding:.25rem .6rem;border-radius:999px;max-width:calc(100% - 20px);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Body grows to fill, actions pinned to bottom */
.product-card__body{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.1rem 1.25rem;flex:1 1 auto;}
.product-card__title{margin:0;font-size:1.05rem;line-height:1.3;}
.product-card__title a{color:var(--bg-primary);text-decoration:none;}
.product-card__title a:hover{color:var(--bg-accent);}
.product-card__excerpt{
	margin:0;color:var(--bg-muted);font-size:.9rem;line-height:1.5;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.product-card__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.25rem;}
.product-card__price{font-weight:700;color:var(--bg-accent);font-size:.95rem;}
.product-card__sku{font-size:.72rem;color:var(--bg-muted);background:var(--bg-bg-soft);padding:.15rem .5rem;border-radius:6px;}
.product-card__actions{display:flex;align-items:center;gap:.6rem;margin-top:auto;padding-top:.75rem;}
.product-card__actions .btn{flex:1;text-align:center;padding:.6rem .8rem;font-size:.9rem;}
.product-card__details{
	font-weight:600;font-size:.85rem;white-space:nowrap;text-decoration:none;color:var(--bg-primary);
}
.product-card__details:hover{color:var(--bg-accent);text-decoration:underline;}

/* ---- Category block (homepage + archive) ---- */
.product-category-block{margin-bottom:3.5rem;}
.product-category-block__head{
	display:flex;align-items:center;justify-content:space-between;gap:1rem;
	margin-bottom:1.25rem;
}
.product-category-block__title{
	margin:0;font-size:1.5rem;position:relative;padding-left:.85rem;
}
.product-category-block__title::before{
	content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:5px;
	background:var(--bg-secondary);border-radius:3px;
}
.product-category-block__link{
	font-weight:600;white-space:nowrap;text-decoration:none;color:var(--bg-accent);
	font-size:.9rem;display:inline-flex;align-items:center;gap:.25rem;
}
.product-category-block__link::after{content:"\2192";}
.product-category-block__link:hover{text-decoration:underline;}
.product-category-block__desc{color:var(--bg-muted);margin:-.5rem 0 1.25rem;max-width:70ch;}

/* ---- Breadcrumb ---- */
.breadcrumb{font-size:.85rem;color:var(--bg-muted);margin:1.25rem 0 1.5rem;display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;}
.breadcrumb a{text-decoration:none;color:var(--bg-muted);}
.breadcrumb a:hover{color:var(--bg-accent);text-decoration:underline;}

/* ---- Single product detail ---- */
.single-product-detail{margin-bottom:1rem;}
.product-detail-grid{display:grid;gap:2rem;grid-template-columns:1fr;margin-bottom:2.5rem;}
.product-detail__media{
	background:var(--bg-primary);border-radius:16px;overflow:hidden;
	border:1px solid var(--bg-border);
}
.product-detail__image{width:100%;height:auto;display:block;}
.product-detail__noimg{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:#fff;}
.product-detail__cat{text-transform:uppercase;letter-spacing:1.5px;font-size:.75rem;color:var(--bg-accent);font-weight:700;margin:0 0 .5rem;}
.product-detail__title{margin:0 0 1rem;font-size:clamp(1.6rem,3vw,2.2rem);}
.product-detail__price{font-size:1.4rem;font-weight:700;color:var(--bg-accent);margin:0 0 .5rem;}
.product-detail__price-label{color:var(--bg-text);font-weight:600;font-size:1rem;}
.product-detail__sku{color:var(--bg-muted);margin:0 0 1.25rem;font-size:.9rem;}
.product-detail__excerpt{font-size:1.05rem;color:var(--bg-text);margin-bottom:1.5rem;line-height:1.6;}
.product-detail__actions{display:flex;gap:.75rem;flex-wrap:wrap;}
.product-detail__description{margin-top:1.5rem;max-width:860px;}
.product-detail__description h2{border-bottom:2px solid var(--bg-secondary);padding-bottom:.4rem;display:inline-block;margin-bottom:1rem;}
.related-products{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--bg-border);}
.related-products .section__title{margin-bottom:1.5rem;}

/* ---- Products grid responsive columns ---- */
@media (min-width:560px){
	.product-grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:900px){
	.product-grid{grid-template-columns:repeat(3,1fr);}
	.product-detail-grid{grid-template-columns:1fr 1fr;align-items:start;}
}
@media (min-width:1200px){
	.product-grid{grid-template-columns:repeat(4,1fr);}
}

/* =========================================================
   Hero banner mode (full-width image banner with CTA)
   ========================================================= */
.hero--banner{padding:0;position:relative;background:var(--bg-primary);}
.hero__banner-img{width:100%;height:auto;display:block;}
.hero__banner-cta{position:absolute;left:0;right:0;bottom:6%;display:flex;}
.hero__banner-cta .btn{margin-left:4.4%;}

/* Keep the custom logo crisp and sized in the dark header */
.custom-logo{max-height:56px;width:auto;}

@media (max-width:600px){
	/* On small screens the banner text can get tiny; keep the CTA tappable */
	.hero__banner-cta{position:static;padding:1rem;justify-content:center;background:var(--bg-primary);}
	.hero__banner-cta .btn{margin-left:0;}
}

/* =========================================================
   About (animated) page
   ========================================================= */

/* Scroll-reveal base */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease, transform .7s ease;}
.reveal.is-visible{opacity:1;transform:none;}
.reveal--delay{transition-delay:.12s;}
.reveal--delay2{transition-delay:.24s;}
.reveal--delay3{transition-delay:.36s;}

.about-page{padding:0;}

/* Hero strip */
.about-hero{background:var(--bg-primary);color:#fff;padding:4rem 0 3.5rem;position:relative;overflow:hidden;}
.about-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,194,14,.18),transparent 70%);}
.about-hero__inner{max-width:820px;position:relative;z-index:1;}
.about-hero__eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.8rem;color:var(--bg-secondary);font-weight:700;margin:0 0 .5rem;}
.about-hero__title{color:#fff;font-size:clamp(2rem,4vw,3rem);margin:0 0 1rem;}
.about-hero__lead{font-size:1.15rem;color:#dcdcdc;line-height:1.7;margin:0;}

/* Intro + card */
.about-intro{padding:3.5rem 0;}
.about-intro__grid{display:grid;gap:2.5rem;grid-template-columns:1fr;}
.about-intro__text{font-size:1.05rem;line-height:1.8;color:#333;}
.about-intro__text p{margin:0 0 1.2rem;}
.about-intro__card{background:var(--bg-bg-soft);border:1px solid var(--bg-border);border-radius:16px;padding:1.75rem;align-self:start;}
.about-intro__card h2{font-size:1.25rem;margin:0 0 1rem;}
.about-check{list-style:none;margin:0 0 1.5rem;padding:0;}
.about-check li{position:relative;padding:.4rem 0 .4rem 1.75rem;color:#333;}
.about-check li::before{content:"";position:absolute;left:0;top:.75rem;width:12px;height:12px;border-radius:50%;background:var(--bg-secondary);box-shadow:0 0 0 3px rgba(255,194,14,.25);}

/* Stats */
.about-stats{background:var(--bg-primary);color:#fff;padding:3rem 0;}
.about-stats__grid{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);text-align:center;}
.stat{padding:1rem;}
.stat__num{font-size:2.6rem;font-weight:800;color:var(--bg-secondary);line-height:1;}
.stat__suffix{font-size:1.8rem;font-weight:800;color:var(--bg-secondary);}
.stat__label{display:block;margin-top:.5rem;color:#cfcfcf;font-size:.95rem;}

/* Capabilities */
.about-capabilities{padding:3.5rem 0;background:var(--bg-bg-soft);}
.about-capabilities .section__title{text-align:center;margin-bottom:2rem;}
.about-cap__grid{display:grid;gap:1.5rem;grid-template-columns:1fr;}
.about-cap{background:#fff;border:1px solid var(--bg-border);border-radius:14px;padding:1.5rem;border-top:4px solid var(--bg-secondary);transition:transform .2s ease, box-shadow .2s ease;}
.about-cap:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.1);}
.about-cap h3{margin:0 0 .5rem;font-size:1.15rem;}
.about-cap p{margin:0;color:var(--bg-muted);}

/* CTA band */
.about-cta{background:linear-gradient(135deg,var(--bg-primary),#2a2a2a);color:#fff;padding:3rem 0;}
.about-cta__inner{display:flex;flex-direction:column;gap:1.5rem;align-items:center;text-align:center;}
.about-cta h2{color:#fff;margin:0;}
.about-cta__actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;}
.about-cta__phone{color:#fff;border-color:#fff;}
.about-cta__phone:hover{background:#fff;color:var(--bg-primary);}

@media (min-width:800px){
	.about-intro__grid{grid-template-columns:1.6fr 1fr;}
	.about-stats__grid{grid-template-columns:repeat(4,1fr);}
	.about-cap__grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:1100px){
	.about-cap__grid{grid-template-columns:repeat(4,1fr);}
}

@media (prefers-reduced-motion:reduce){
	.reveal{opacity:1;transform:none;transition:none;}
}

/* =========================================================
   Site-wide branded page hero + unified reveal styling
   ========================================================= */
.page-hero{
	background:var(--bg-primary);color:#fff;padding:3rem 0 2.75rem;position:relative;overflow:hidden;
	margin-bottom:2.5rem;
}
.page-hero::after{
	content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;
	background:radial-gradient(circle,rgba(255,194,14,.16),transparent 70%);
}
.page-hero__inner{position:relative;z-index:1;max-width:820px;}
.page-hero__eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:.75rem;color:var(--bg-secondary);font-weight:700;margin:0 0 .4rem;}
.page-hero__title{color:#fff;font-size:clamp(1.8rem,3.5vw,2.6rem);margin:0;}
.page-hero__lead{font-size:1.1rem;color:#dcdcdc;line-height:1.7;margin:.75rem 0 0;}

/* When a page-hero is present, the main below it shouldn't double its top pad */
.page-hero + .site-main,
.page-hero + #primary{padding-top:0;}

/* Apply gentle stagger to grids of reveal items */
.product-grid .reveal:nth-child(2){transition-delay:.08s;}
.product-grid .reveal:nth-child(3){transition-delay:.16s;}
.product-grid .reveal:nth-child(4){transition-delay:.24s;}

/* Homepage section headings + cards reveal consistently */
.section .reveal{will-change:opacity,transform;}
