/* Bitralynx Elevate (stage 2). Additive and scoped. Loads after the theme CSS.
   Rollback: remove the require line for inc/elevate.php in functions.php.
   The hero animation and slogan are never targeted here. */

/* Tokens. Base is --bg, raised is --surface (dark #121212 / #18181A, light #FAF8F5 / #F3EFE8). */
/* Oct 23: section grid lines removed at Leetroy's request (no grids; sections may only use a plain see-through panel over the dust). */
.blx-deliver::before,.experience-arch::after{background-image:none!important}
:root{--el-glow:rgba(220,160,68,.10);--el-grid:rgba(220,160,68,.055);--el-hair:rgba(220,160,68,.22);--el-ease:cubic-bezier(.16,1,.3,1)}
html.light{--el-glow:rgba(133,82,15,.075);--el-grid:rgba(133,82,15,.06);--el-hair:rgba(133,82,15,.22)}

/* 1. Section surfaces: alternate base and raised. */
.blx-proof-strip{background:var(--surface)}
.experience-arch{background:var(--bg)}
.audience-arch.blx-who{background:var(--surface)}
.blx-deliver{position:relative;background:var(--surface);box-shadow:0 0 0 100vmax var(--surface);clip-path:inset(0 -100vmax);padding-bottom:64px}
.blx-deliver::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--el-grid) 1px,transparent 1px),linear-gradient(90deg,var(--el-grid) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000 0,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000 0,transparent 75%)}
.blx-deliver>*{position:relative;z-index:1}
.experience-arch::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--el-grid) 1px,transparent 1px),linear-gradient(90deg,var(--el-grid) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 60% 70% at 25% 45%,#000 0,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 25% 45%,#000 0,transparent 75%)}
.experience-arch>*{position:relative;z-index:1}

/* 2. Soft gold glow behind section headings (not the hero h1). */
main h2{position:relative;z-index:0}
main h2::before{content:"";position:absolute;z-index:-1;left:-4%;top:50%;width:min(620px,108%);height:260%;transform:translateY(-50%);
  background:radial-gradient(closest-side,var(--el-glow),transparent);pointer-events:none}
dialog h2::before{display:none}

/* 3. Footer columns on desktop. */
@media(min-width:900px){
  .site-footer .blx-footer-v2{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:32px 40px;padding-bottom:36px}
  .site-footer .blx-footer-v2 .footer-group{border-bottom:0}
  .site-footer .footer-group summary{pointer-events:none;cursor:default;min-height:0;padding:6px 0 14px;font:700 11px/1.4 'Space Grotesk','Hanken Grotesk',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blx-gold,#DCA044)}
  .site-footer .footer-group summary::after{display:none}
  .site-footer .footer-group nav{padding:0;gap:11px}
  .site-footer .footer-group nav a{font-size:14px;line-height:1.4;color:#c0c0c0;transition:color .2s var(--el-ease)}
  .site-footer .footer-group nav a:hover{color:#fff}
  html.light .site-footer .footer-group nav a{color:inherit}
  @supports selector(::details-content){.site-footer .footer-group:not([open])::details-content{content-visibility:visible;display:block}}
}
/* Contact row spacing. */
.site-footer .footer-contact{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:20px 40px;padding:22px 0;border-top:1px solid #35312b;align-items:start}
.site-footer .footer-contact>div,.site-footer .footer-contact address{display:flex;flex-direction:column;gap:6px;font-style:normal;line-height:1.5}
.site-footer .footer-contact span{margin:0;letter-spacing:.12em;text-transform:uppercase;font-size:10px}
@media(max-width:680px){.site-footer .footer-contact{grid-template-columns:1fr 1fr;gap:18px 16px}.site-footer .footer-contact address{grid-column:1/-1}}

/* Closing band above the footer. */
.blx-el-band{background:var(--surface);border-top:1px solid var(--el-hair);position:relative;overflow:hidden}
.blx-el-band::before{content:"";position:absolute;top:0;left:38%;right:38%;height:1px;background:linear-gradient(90deg,transparent,var(--blx-gold,#DCA044),transparent)}
.blx-el-band__in{max-width:1210px;margin:auto;padding:30px 28px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.blx-el-band__line{margin:0 auto 0 0;font:700 clamp(22px,2.6vw,30px)/1.15 'Space Grotesk','Bricolage Grotesque',sans-serif;letter-spacing:-.02em;color:var(--ink)}
.blx-el-band__line span{color:var(--accent)}
.blx-el-band__copy{margin-right:auto}.blx-el-band__copy .blx-el-band__line{margin:0}
.blx-el-band__sub{margin:6px 0 0;font-size:15px;line-height:1.45;color:var(--muted)}
.blx-el-band__tel{font:500 15px/1.2 'Space Grotesk',sans-serif;color:var(--muted);white-space:nowrap}
.blx-el-band__tel:hover{color:var(--ink)}
@media(max-width:680px){.blx-el-band__in{padding:26px 24px;gap:16px}.blx-el-band__line{flex:1 0 100%}}

/* 4. Heading rise, only under classes JS adds. */
.blx-el-hide .blx-w{opacity:0;transform:translateY(.45em)}
.blx-w{display:inline-block}
.blx-el-in .blx-w{opacity:1;transform:none;transition:opacity .5s var(--el-ease),transform .6s var(--el-ease);transition-delay:calc(var(--i,0)*45ms)}
.paused .blx-w,.reduced .blx-w{opacity:1!important;transform:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.blx-w{opacity:1!important;transform:none!important;transition:none!important}}
.blx-el-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.blx-el-num{font-variant-numeric:tabular-nums}

/* 5. Deliver card icons. */
.blx-deliver-grid li{position:relative}
.blx-el-ico{display:grid;place-items:center;width:40px;height:40px;margin:0 0 16px;border-radius:11px;color:var(--accent);
  background:linear-gradient(145deg,rgba(220,160,68,.14),rgba(220,160,68,.04));border:1px solid var(--blx-gold-15)}
html.light .blx-el-ico{background:linear-gradient(145deg,rgba(133,82,15,.10),rgba(133,82,15,.03))}
.blx-el-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
