/* Ecoterra motion + hover layer */

/* Lenis: it must be the only thing animating scroll (native smooth scroll fights it) */
html.lenis { scroll-behavior: auto !important; }
html.lenis, html.lenis body { height: auto; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }

/* Hide hero content until the intro timeline takes over (JS adds .et-js early) */
.et-js:not(.et-ready) .et-hero > * { opacity: 0; animation: et-failsafe 0s 2.5s forwards; }
@keyframes et-failsafe { to { opacity: 1; } }

/* Hero */
.et-hero .et-hero-tagline, .et-hero .et-hero-tag, .et-hero .et-lead-light { text-shadow: 0 2px 16px rgba(0,0,0,.55); }
.et-hero .et-btn-outline { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }

/* Brand line: logo serif with fine gold rules either side */
.et-hero-brand { display: inline-flex; align-items: center; gap: 18px; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.et-hero-brand::before, .et-hero-brand::after { content: ""; width: 56px; height: 1px; background: linear-gradient(90deg, rgba(245,170,73,0), #F5AA49); }
.et-hero-brand::after { background: linear-gradient(90deg, #F5AA49, rgba(245,170,73,0)); }
@media (max-width: 767px) { .et-hero-brand { gap: 8px; white-space: nowrap; } .et-hero-brand::before, .et-hero-brand::after { width: 16px; } }

/* Title: brushed white-to-gold metallic fill + centred gold rule */
.et-hero-title, .et-hero-title .et-line {
	background-image: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 42%, #F8E3C8 70%, #EBA04E 100%);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: transparent;
}
.et-hero-title { filter: drop-shadow(0 6px 22px rgba(0,0,0,.35)); }
.et-hero-title::after { content: ""; display: block; width: 96px; height: 2px; margin: 26px auto 4px; background: linear-gradient(90deg, rgba(245,170,73,0), #F5AA49, rgba(245,170,73,0)); }

/* Split lines */
.et-line { }

/* Scroll progress */
.et-progress { position: fixed; left: 0; top: 0; z-index: 9999; width: 100%; height: 2px; background: linear-gradient(90deg, #A6592C, #F2B25E); transform: scaleX(0); transform-origin: 0 50%; pointer-events: none; }
.admin-bar .et-progress { top: 32px; }

/* Header states */
header.et-site-header .et-header { transition: padding .4s ease, background-color .4s ease, box-shadow .4s ease; }
header.et-site-header.et-scrolled .et-header { padding-top: 6px; padding-bottom: 6px; background: rgba(42,20,12,.92); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 10px 30px rgba(0,0,0,.25); }
header.et-site-header .wp-block-site-logo img { transition: width .4s ease; }

/* Nav underline slide */
.et-nav .wp-block-navigation-item__content { position: relative; border-bottom: 0 !important; }
.et-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--wp--preset--color--gold); transform: scaleX(0); transform-origin: right; transition: transform .45s cubic-bezier(.22,1,.36,1); }
.et-nav .wp-block-navigation-item__content:hover::after { transform: scaleX(1); transform-origin: left; }

/* Buttons: lift + shine sweep */
.et-btn-gold, .et-btn-outline, .et-header__cta .wp-block-button__link { position: relative; overflow: hidden; isolation: isolate; transition: background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease !important; }
.et-btn-gold::after, .et-btn-outline::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s cubic-bezier(.22,1,.36,1); }
.et-btn-gold:hover::after, .et-btn-outline:hover::after { transform: translateX(120%); }
.et-btn-gold:hover { box-shadow: 0 12px 30px rgba(232,160,68,.35); }
.et-btn-outline:hover { box-shadow: 0 12px 30px rgba(232,160,68,.22); }

/* Cards: gold top line + border on hover (no pointer tracking) */
.et-card, .et-stat-card { position: relative; transition: box-shadow .5s ease, border-color .5s ease; }
.et-card::after, .et-stat-card::after { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%; background: linear-gradient(90deg, #A6592C, #F2B25E); transform: scaleX(0); transform-origin: left; transition: transform .6s cubic-bezier(.22,1,.36,1); }
.et-card:hover::after, .et-stat-card:hover::after { transform: scaleX(1); }
.et-card:hover { border-color: #E8A044; }
.et-card:hover .et-h3, .et-card:hover .et-bignum { color: #A6592C; }
.et-card .et-h3 { transition: color .4s ease; }

/* Big stat cells */
.et-bigstat-cell { transition: background-color .45s ease, border-color .45s ease; }
.et-bigstat-cell:hover { background-color: rgba(232,160,68,.08); border-color: #E8A044; }
.et-bigstat-cell .et-bigstat-num { transition: transform .5s cubic-bezier(.22,1,.36,1); }
.et-bigstat-cell:hover .et-bigstat-num { transform: translateY(-4px) scale(1.06); }

/* Pills fill on hover */
.et-pill, .et-pill-light { transition: background-color .35s ease, color .35s ease, transform .35s cubic-bezier(.22,1,.36,1); cursor: default; }
.et-pill:hover, .et-pill-light:hover { background-color: #E8A044; color: #2A140C; transform: translateY(-2px); }

/* List items slide */
.et-list-item, .et-li-light { transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .4s ease; }
.et-list-item:hover, .et-li-light:hover { transform: translateX(6px); border-color: #F2B25E; }

/* Founder photo */
.et-photo { transition: outline-offset .6s cubic-bezier(.22,1,.36,1), filter .6s ease; }
.et-photo:hover { outline-offset: 20px; filter: saturate(1.08) contrast(1.03); }

/* Footer links */
.et-footer a { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .45s cubic-bezier(.22,1,.36,1), color .3s ease; }
.et-footer a:hover { background-size: 100% 1px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
	.et-progress { display: none; }
}

/* Fluid hero title between phone and desktop sizes */
.et-hero .et-hero-title { font-size: clamp(32px, 5.2vw, 64px) !important; }
