/* ==========================================================================
   CREPUS — base, header, footer, heroes
   ========================================================================== */
:root {
	--c-ink: var(--wp--preset--color--ink);
	--c-bronze: var(--wp--preset--color--bronze);
	--c-ember: var(--wp--preset--color--ember);
	--c-sand: var(--wp--preset--color--sand);
	--ease: cubic-bezier(.22, .61, .36, 1);
	--header-h: var(--wp--custom--header-height);
	--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
::selection { background: var(--c-ember); color: #fff; }
img { height: auto; }
:where(.wp-site-blocks) > main { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Dark sections get a subtle film grain */
.wp-block-group.has-ink-background-color, .wp-block-group.has-coal-background-color, .crepus-hero { position: relative; isolation: isolate; }
.wp-block-group.has-ink-background-color::after, .wp-block-group.has-coal-background-color::after, .crepus-hero::after {
	content: ""; position: absolute; inset: 0; background: var(--grain); pointer-events: none; z-index: 0; opacity: .7;
}
.wp-block-group.has-ink-background-color > *, .wp-block-group.has-coal-background-color > * { position: relative; z-index: 1; }

/* Eyebrow / lead */
.is-style-eyebrow {
	display: flex; align-items: center; gap: .9rem;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: var(--wp--preset--font-size--xs) !important; font-weight: 700 !important;
	letter-spacing: .24em !important; text-transform: uppercase; line-height: 1.4 !important;
	color: var(--c-bronze);
}
.is-style-eyebrow::before { content: ""; width: 2.25rem; height: 1px; background: currentColor; opacity: .8; }
.has-text-align-center.is-style-eyebrow { justify-content: center; }
.is-style-lead { font-size: var(--wp--preset--font-size--lg); line-height: 1.6; opacity: .85; }
h1 em, h2 em, h3 em, .is-style-lead em { font-style: italic; color: var(--c-bronze); }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.site-header {
	position: fixed; inset: 0 0 auto 0; z-index: 100; color: #fff;
	transition: background-color .4s var(--ease), backdrop-filter .4s, box-shadow .4s;
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.site-header.is-scrolled {
	background: rgba(20, 17, 15, .86);
	backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%);
	box-shadow: 0 1px 0 rgba(201, 160, 106, .18);
}
.site-header__top {
	font-size: .75rem; letter-spacing: .06em; color: rgba(255,255,255,.62);
	border-bottom: 1px solid rgba(255,255,255,.08);
	max-height: 44px; overflow: hidden; transition: max-height .4s var(--ease), opacity .3s;
}
.site-header__top p { margin: 0; }
.site-header__top a:hover { color: var(--c-bronze); }
.site-header.is-scrolled .site-header__top { max-height: 0; opacity: 0; border-color: transparent; }
.site-header__bar { min-height: var(--header-h); }
.site-header__logo img { width: 156px; display: block; transition: transform .4s var(--ease); }
.site-header__logo a:hover img { transform: translateY(-1px); }

.site-header .wp-block-navigation-item__content { position: relative; padding-block: .5rem; }
.site-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--c-bronze);
	transition: right .35s var(--ease);
}
.site-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.site-header .current-menu-item > .wp-block-navigation-item__content::after { right: 0; }
.site-header .wp-block-navigation-item__content:hover { color: #fff; }
.site-header .wp-block-navigation__submenu-container {
	background: rgba(29, 24, 21, .97) !important; border: 1px solid rgba(201,160,106,.18) !important;
	padding: .5rem 0 !important; min-width: 220px !important; box-shadow: 0 24px 48px rgba(0,0,0,.35);
}
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem 1.25rem !important; }
.site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--c-bronze); }
.site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--c-ink) !important; color: #fff !important; padding: 2rem;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display); font-size: 1.75rem;
}
.site-header .wp-block-button__link { padding: .8rem 1.3rem; }
@media (max-width: 900px) {
	.site-header__cta { display: none !important; }
	.site-header__top { display: none; }
	.site-header .site-header__bar .wp-block-navigation { order: 3; margin-left: .9rem; }
	.site-header .site-header__tail { margin-left: auto; }
	.crepus-cta-band .wp-block-buttons { justify-content: flex-start !important; }
	.site-header__logo img { width: 128px; }
}

/* Language switcher */
.crepus-lang { position: relative; }
.crepus-lang__btn {
	display: inline-flex; align-items: center; gap: .4rem; cursor: pointer;
	background: none; border: 1px solid rgba(255,255,255,.22); color: inherit; border-radius: 99px;
	padding: .45rem .8rem; font: 600 .75rem/1 var(--wp--preset--font-family--body); letter-spacing: .12em;
	transition: border-color .3s;
}
.crepus-lang__btn:hover, .crepus-lang.is-open .crepus-lang__btn { border-color: var(--c-bronze); }
.crepus-lang__menu {
	position: absolute; right: 0; top: calc(100% + .6rem); list-style: none; margin: 0; padding: .4rem 0; min-width: 170px;
	background: rgba(29,24,21,.97); border: 1px solid rgba(201,160,106,.2); box-shadow: 0 24px 48px rgba(0,0,0,.35);
	opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .25s, transform .25s var(--ease);
}
.crepus-lang.is-open .crepus-lang__menu { opacity: 1; transform: none; pointer-events: auto; }
.crepus-lang__menu a { display: flex; gap: .9rem; padding: .55rem 1.1rem; font-size: .875rem; color: rgba(255,255,255,.8); }
.crepus-lang__menu a span { width: 1.6rem; font-weight: 700; font-size: .7rem; letter-spacing: .1em; color: var(--c-bronze); }
.crepus-lang__menu a:hover, .crepus-lang__menu a[aria-current] { color: #fff; background: rgba(255,255,255,.05); }

/* --------------------------------------------------------------------------
   Heroes
   -------------------------------------------------------------------------- */
.crepus-hero { padding-top: calc(var(--header-h) + 44px + var(--wp--preset--spacing--50)) !important; overflow: hidden; }
.crepus-hero.wp-block-cover { align-items: flex-end; }
.crepus-hero > .wp-block-cover__inner-container, .crepus-hero > .wp-block-group__inner-container { position: relative; z-index: 2; }
.crepus-hero::before {
	content: ""; position: absolute; left: 50%; bottom: -30%; width: 120%; height: 70%; transform: translateX(-50%);
	background: radial-gradient(closest-side, rgba(217, 98, 43, .28), transparent 70%);
	z-index: 1; pointer-events: none; animation: ember-breathe 6s ease-in-out infinite;
}
@keyframes ember-breathe { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.is-style-kenburns .wp-block-cover__image-background { animation: kenburns 18s var(--ease) both; }
@keyframes kenburns { from { transform: scale(1.12); } to { transform: scale(1); } }
.crepus-hero h1 { text-wrap: balance; }
.crepus-hero .crepus-scroll {
	position: absolute; left: 50%; bottom: 1.75rem; width: 1px; height: 56px; background: rgba(255,255,255,.2); overflow: hidden;
}
.crepus-hero .crepus-scroll::after {
	content: ""; position: absolute; inset: 0; background: var(--c-bronze); animation: scroll-line 2.2s var(--ease) infinite;
}
@keyframes scroll-line { from { transform: translateY(-100%); } to { transform: translateY(100%); } }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.site-footer { color: rgba(255,255,255,.62); font-size: var(--wp--preset--font-size--sm); }
.site-footer h2, .site-footer h3 { color: #fff; }
.site-footer a { transition: color .25s; }
.site-footer a:hover { color: var(--c-bronze); }
.site-footer .footer-col-title {
	font-family: var(--wp--preset--font-family--body) !important; font-size: .72rem !important; font-weight: 700 !important;
	letter-spacing: .22em; text-transform: uppercase; color: var(--c-bronze) !important;
}
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li + li { margin-top: .55rem; }
.site-footer__logo img { width: 170px; }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); font-size: .78rem; color: rgba(255,255,255,.42); }
.crepus-cta-band { overflow: hidden; }
.crepus-cta-band::before {
	content: ""; position: absolute; right: -10%; top: -60%; width: 60%; aspect-ratio: 1; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(217,98,43,.35), transparent); z-index: 0; animation: ember-breathe 7s ease-in-out infinite;
}

/* Floating WhatsApp button (number: Settings → General) */
.crepus-wa {
	position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 90; width: 58px; height: 58px; border-radius: 50%;
	display: grid; place-items: center; color: #fff; background: #25d366;
	box-shadow: 0 12px 28px rgba(0,0,0,.28), 0 0 0 0 rgba(37,211,102,.5);
	transition: transform .3s var(--ease); animation: wa-pulse 2.8s ease-out infinite;
}
.crepus-wa:hover { transform: translateY(-3px) scale(1.06); color: #fff; }
@keyframes wa-pulse { 70%, 100% { box-shadow: 0 12px 28px rgba(0,0,0,.28), 0 0 0 16px rgba(37,211,102,0); } }
@media (max-width: 600px) { .crepus-wa { right: 1rem; bottom: 1rem; width: 52px; height: 52px; } }
@media (prefers-reduced-motion: reduce) { .crepus-wa { animation: none; } }
