/*
Theme Name: Brotha Asé — Ancestral Tech Amplified
Theme URI: https://brothaase.com/
Author: Brotha Asé / OpenAI
Description: Amplified African Afrofuturist WordPress theme: ancestral technology, crimson energy, earth-tone geometry, living rhythm, story, community, and the Brotha Asé visual archive.
Version: 2.0.0
Text Domain: brotha-ase
*/

:root{
  --ase-black:#050505;
  --ase-black-2:#0b0908;
  --ase-black-3:#12100e;
  --ase-gold:#9f1239;
  --ase-gold-2:#e11d48;
  --ase-copper:#7f1d1d;
  --ase-earth:#4c0519;
  --ase-cream:#fff7e8;
  --ase-muted:#d7cfc2;
  --ase-line:rgba(225,29,72,.24);
  --ase-glass:rgba(255,255,255,.055);
  --ase-shadow:0 20px 70px rgba(0,0,0,.45);
  --ase-radius:26px;
  --ase-max:1320px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ase-black)}
body{
  margin:0;
  color:var(--ase-cream);
  background:
    radial-gradient(circle at 12% 18%,rgba(127,29,29,.20),transparent 28%),
    radial-gradient(circle at 85% 8%,rgba(225,29,72,.12),transparent 30%),
    radial-gradient(circle at 50% 95%,rgba(76,5,25,.18),transparent 34%),
    var(--ase-black);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;inset:0;
  pointer-events:none;
  z-index:-3;
  opacity:.13;
  background-image:
    linear-gradient(rgba(225,29,72,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(225,29,72,.075) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.8) 35%,transparent 92%);
}
body::after{
  content:"";
  position:fixed;inset:-30%;
  pointer-events:none;
  z-index:-2;
  opacity:.26;
  background:
    repeating-radial-gradient(circle at center,rgba(225,29,72,.06) 0 1px,transparent 1px 26px);
  animation:aseSpin 50s linear infinite;
}
@keyframes aseSpin{to{transform:rotate(360deg)}}

a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
::selection{background:var(--ase-gold);color:#090705}

.ase-wrap{width:min(var(--ase-max),88vw);margin-inline:auto}
.ase-skip{position:absolute;left:-999px}
.ase-skip:focus{left:20px;top:20px;z-index:9999;background:#fff;color:#000;padding:12px 16px}

#ase-cursor-glow{
  width:300px;height:300px;border-radius:50%;
  position:fixed;left:50%;top:50%;
  transform:translate(-50%,-50%);
  background:rgba(225,29,72,.085);
  filter:blur(65px);
  pointer-events:none;
  z-index:-1;
  transition:opacity .3s;
}
#ase-progress{
  position:fixed;top:0;left:0;height:2px;width:0;
  z-index:99999;
  background:linear-gradient(90deg,var(--ase-copper),var(--ase-gold-2));
  box-shadow:0 0 15px rgba(225,29,72,.85);
}

/* HEADER */
.ase-header{
  position:fixed;left:0;right:0;top:0;z-index:1000;
  border-bottom:1px solid rgba(255,255,255,.065);
  background:rgba(5,5,5,.62);
  backdrop-filter:blur(18px) saturate(130%);
  transition:.35s ease;
}
.ase-header.is-scrolled{background:rgba(5,5,5,.9);box-shadow:0 8px 40px rgba(0,0,0,.25)}
.ase-nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ase-logo{
  font-family:"Bebas Neue",Impact,sans-serif;
  letter-spacing:.18em;
  font-size:clamp(24px,2.2vw,34px);
  white-space:nowrap;
}
.ase-logo span{color:var(--ase-gold)}
.ase-menu{display:flex;align-items:center;gap:clamp(14px,2vw,32px);list-style:none;padding:0;margin:0}
.ase-menu a{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:#d8d1c7;
  position:relative;
  transition:.25s;
}
.ase-menu a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--ase-gold);
  transition:.25s;
}
.ase-menu a:hover,.ase-menu .current-menu-item>a{color:var(--ase-gold-2)}
.ase-menu a:hover::after,.ase-menu .current-menu-item>a::after{right:0}
.ase-nav-cta{
  border:1px solid var(--ase-gold)!important;border-radius:999px;padding:11px 16px!important;
}
.ase-nav-cta::after{display:none!important}
.ase-mobile-toggle{display:none;background:none;border:1px solid var(--ase-line);color:var(--ase-cream);border-radius:999px;padding:10px 14px}

/* HERO / PAGE TITLE */
.ase-hero{
  min-height:94vh;
  display:grid;place-items:center;
  text-align:center;
  padding:145px 0 88px;
  position:relative;
  isolation:isolate;
}
.ase-hero--inner{min-height:54vh;place-items:end start;text-align:left;padding-bottom:70px}
.ase-hero--photo{
  background-position:center 28%;background-size:cover;background-repeat:no-repeat;
}
.ase-hero--photo::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(90deg,rgba(5,5,5,.94) 0%,rgba(5,5,5,.68) 48%,rgba(5,5,5,.34) 100%),
             linear-gradient(0deg,rgba(5,5,5,.88) 0%,rgba(5,5,5,.08) 58%,rgba(5,5,5,.35) 100%);
}
.ase-hero--photo::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 68% 38%,rgba(225,29,72,.09),transparent 30%);
}
.ase-hero--photo .ase-wrap{position:relative;z-index:2}
.ase-hero--photo .ase-title{text-shadow:0 12px 55px rgba(0,0,0,.5)}

.ase-orbit{
  width:min(46vw,610px);aspect-ratio:1;
  border:1px solid rgba(225,29,72,.22);
  border-radius:50%;
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  z-index:-1;
  animation:aseOrbit 26s linear infinite;
  box-shadow:inset 0 0 90px rgba(225,29,72,.035),0 0 120px rgba(225,29,72,.035);
}
.ase-orbit::before,.ase-orbit::after{
  content:"";position:absolute;border-radius:50%;
  border:1px dashed rgba(225,29,72,.20)
}
.ase-orbit::before{inset:10%}
.ase-orbit::after{inset:23%;border-style:solid;opacity:.7}
@keyframes aseOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}

.ase-kicker{
  color:var(--ase-gold-2);text-transform:uppercase;letter-spacing:.38em;
  font-size:11px;font-weight:700;margin-bottom:20px;
}
.ase-title{
  margin:0;
  font-family:"Bebas Neue",Impact,sans-serif;
  font-size:clamp(78px,14vw,190px);
  line-height:.78;
  letter-spacing:.02em;
  font-weight:400;
  text-transform:uppercase;
  text-wrap:balance;
}
.ase-title .outline{
  color:transparent;
  -webkit-text-stroke:1px var(--ase-gold);
  text-shadow:0 0 40px rgba(225,29,72,.10);
}
.ase-hero--inner .ase-title{font-size:clamp(68px,10vw,130px)}
.ase-subtitle{
  max-width:760px;margin:32px auto 0;
  color:var(--ase-muted);line-height:1.8;font-size:clamp(16px,1.35vw,19px);
}
.ase-hero--inner .ase-subtitle{margin-left:0}
.ase-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:34px}
.ase-hero--inner .ase-actions{justify-content:flex-start}
.ase-btn,.wp-block-button__link,input[type=submit],button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:14px 23px;border-radius:999px;
  border:1px solid transparent;
  background:var(--ase-gold);color:#090705;
  font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;
  cursor:pointer;
}
.ase-btn:hover,.wp-block-button__link:hover,input[type=submit]:hover,button[type=submit]:hover{
  transform:translateY(-3px);
  box-shadow:0 0 35px rgba(225,29,72,.28);
}
.ase-btn--ghost{
  background:transparent;color:var(--ase-cream);border-color:rgba(255,255,255,.2)
}
.ase-btn--ghost:hover{border-color:var(--ase-gold);color:var(--ase-gold-2)}

/* TICKER */
.ase-ticker{
  overflow:hidden;border-block:1px solid rgba(255,255,255,.06);
  padding:15px 0;color:var(--ase-gold-2);
  white-space:nowrap;font-size:11px;letter-spacing:.38em;text-transform:uppercase;
}
.ase-ticker-track{display:inline-block;min-width:200%;animation:aseTicker 28s linear infinite}
@keyframes aseTicker{to{transform:translateX(-50%)}}

/* GENERAL CONTENT */
.ase-main{position:relative}
.ase-section{padding:clamp(76px,10vw,130px) 0}
.ase-section--tight{padding:70px 0}
.ase-section-label{color:var(--ase-gold);letter-spacing:.35em;text-transform:uppercase;font-size:10px;font-weight:800;margin-bottom:16px}
.ase-heading,h1,h2,h3{
  font-family:"Bebas Neue",Impact,sans-serif;
  font-weight:400;letter-spacing:.02em;
}
.ase-heading{font-size:clamp(52px,7vw,105px);line-height:.94;margin:0;text-wrap:balance}
.ase-copy{color:var(--ase-muted);line-height:1.85;font-size:16px}
.ase-copy strong{color:var(--ase-cream)}
.ase-grid{display:grid;gap:22px}
.ase-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ase-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ase-card{
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.015));
  border:1px solid var(--ase-line);
  border-radius:var(--ase-radius);
  box-shadow:var(--ase-shadow);
  overflow:hidden;position:relative;
}
.ase-card::before{
  content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;
  background:rgba(225,29,72,.12);filter:blur(20px);pointer-events:none;
}
.ase-card-inner{padding:30px}
.ase-card h3{font-size:38px;line-height:1;margin:0 0 14px}
.ase-card p{color:var(--ase-muted);line-height:1.75}
.ase-card-media{aspect-ratio:16/10;overflow:hidden;background:#0d0b0a}
.ase-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .7s ease}
.ase-card:hover .ase-card-media img{transform:scale(1.055);filter:saturate(1.08) contrast(1.03)}
.ase-index{display:inline-block;color:var(--ase-gold);font-family:"Bebas Neue";font-size:22px;letter-spacing:.08em;margin-bottom:75px}

/* WP CONTENT NORMALIZATION */
.ase-entry{width:min(1120px,88vw);margin:0 auto;padding:80px 0 120px}
.ase-entry>*{max-width:860px;margin-left:auto;margin-right:auto}
.ase-entry>figure,.ase-entry>.wp-block-image,.ase-entry>.wp-block-gallery,.ase-entry>.wp-block-columns,.ase-entry>.wp-block-cover{max-width:1120px}
.ase-entry h2{font-size:clamp(42px,6vw,78px);line-height:.98;margin-top:1.2em;margin-bottom:.35em}
.ase-entry h3{font-size:clamp(30px,4vw,48px);margin-top:1.1em;margin-bottom:.3em}
.ase-entry p,.ase-entry li{color:#bdb4a9;font-size:16px;line-height:1.86}
.ase-entry p+p{margin-top:1.15em}
.ase-entry a:not(.wp-block-button__link){color:var(--ase-gold-2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ase-entry img{border-radius:22px}
.ase-entry blockquote{
  border-left:2px solid var(--ase-gold);margin:60px auto;padding:15px 0 15px 30px;
  font-family:"Bebas Neue";font-size:clamp(34px,5vw,62px);line-height:1.05;color:var(--ase-cream)
}
.wp-block-separator{border-color:rgba(225,29,72,.28)!important;margin:65px auto!important}
.wp-block-columns{gap:22px!important}
.wp-block-column{min-width:0}

/* PAGE-SPECIFIC ATMOSPHERES */
body.page-about .ase-page-shell{background:radial-gradient(circle at 20% 20%,rgba(87,107,57,.08),transparent 28%)}
body.page-releases .ase-page-shell{background:radial-gradient(circle at 82% 24%,rgba(225,29,72,.12),transparent 24%)}
body.page-past-works .ase-page-shell{background:radial-gradient(circle at 15% 35%,rgba(159,18,57,.07),transparent 28%)}
body.page-projects .ase-page-shell{background:radial-gradient(circle at 80% 35%,rgba(127,29,29,.10),transparent 28%)}
body.page-contact .ase-page-shell{background:radial-gradient(circle at 50% 30%,rgba(225,29,72,.10),transparent 28%)}
body.page-support-the-work .ase-page-shell{background:radial-gradient(circle at 50% 35%,rgba(159,18,57,.08),transparent 30%)}

/* ABOUT: long-form becomes a visual chapter journey */
body.page-about .ase-entry h2{
  position:sticky;top:105px;z-index:2;
  max-width:1120px;
  padding:14px 18px;border:1px solid rgba(225,29,72,.18);
  border-radius:16px;background:rgba(5,5,5,.72);backdrop-filter:blur(10px);
}
body.page-about .ase-entry p{max-width:760px}
body.page-about .ase-entry figure{margin-top:50px;margin-bottom:50px}

/* RELEASES: album/song cards from existing groups */
body.page-releases .ase-entry h2{
  padding:30px;border:1px solid var(--ase-line);border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.01));
  transition:.35s;
}
body.page-releases .ase-entry h2:hover{
  transform:translateX(8px);border-color:rgba(225,29,72,.55);box-shadow:0 0 38px rgba(225,29,72,.10)
}

/* PAST WORKS + PROJECTS */
body.page-past-works .ase-entry h2,
body.page-projects .ase-entry h2{
  border-top:1px solid rgba(225,29,72,.28);padding-top:30px;
}
body.page-past-works .ase-entry figure,
body.page-projects .ase-entry figure{
  max-width:1000px;border:1px solid var(--ase-line);border-radius:24px;overflow:hidden
}

/* SUPPORT */
body.page-support-the-work .ase-entry h2{max-width:950px}
body.page-support-the-work .ase-entry h3{
  padding:25px 28px;border-radius:20px;border:1px solid rgba(225,29,72,.22);
  background:rgba(255,255,255,.025);
}
body.page-support-the-work .ase-entry .wp-block-button{margin-top:35px}

/* CONTACT + FORMS */
body.page-contact .ase-entry{max-width:1050px}
body.page-contact form,.wpcf7-form,.wpforms-form,form{
  accent-color:var(--ase-gold)
}
input,textarea,select{
  width:100%;background:rgba(255,255,255,.035);color:var(--ase-cream);
  border:1px solid rgba(225,29,72,.24);border-radius:14px;padding:14px 15px;
  outline:none;transition:.25s
}
input:focus,textarea:focus,select:focus{border-color:var(--ase-gold);box-shadow:0 0 0 4px rgba(225,29,72,.075)}
textarea{min-height:150px;resize:vertical}
label{color:#d8d0c6}
input[type=checkbox],input[type=radio]{width:auto}

/* MANIFESTO BAND */
.ase-manifesto{
  padding:120px 0;text-align:center;
  background:
    linear-gradient(rgba(5,5,5,.82),rgba(5,5,5,.94)),
    radial-gradient(circle at center,rgba(127,29,29,.38),transparent 60%);
  border-block:1px solid rgba(255,255,255,.06)
}
.ase-manifesto q{
  display:block;max-width:1050px;margin:auto;
  font-family:"Bebas Neue";font-size:clamp(48px,7vw,100px);line-height:1.02;
  quotes:none
}
.ase-manifesto em{font-style:normal;color:var(--ase-gold-2)}

/* CTA */
.ase-cta{
  border:1px solid var(--ase-line);border-radius:34px;
  padding:clamp(30px,5vw,70px);
  background:linear-gradient(135deg,rgba(127,29,29,.20),rgba(214,168,75,.05));
  display:flex;align-items:center;justify-content:space-between;gap:40px;overflow:hidden;position:relative
}
.ase-cta::after{
  content:"";position:absolute;right:-90px;bottom:-120px;width:320px;aspect-ratio:1;border-radius:50%;
  border:1px dashed rgba(225,29,72,.22);animation:aseSpin 28s linear infinite
}
.ase-cta-copy{max-width:760px}
.ase-cta h2{font-size:clamp(48px,6vw,90px);line-height:.95;margin:0}
.ase-cta p{color:var(--ase-muted);line-height:1.75}

/* FOOTER */
.ase-footer{border-top:1px solid rgba(255,255,255,.07);padding:64px 0 38px;background:rgba(0,0,0,.16)}
.ase-footer-grid{display:grid;grid-template-columns:1.3fr .8fr .9fr;gap:38px}
.ase-footer h3{font-size:30px;margin:0 0 14px}
.ase-footer p,.ase-footer li,.ase-footer a{color:#928b82;font-size:13px;line-height:1.8}
.ase-footer ul{list-style:none;margin:0;padding:0}
.ase-footer .ase-logo{display:inline-block;margin-bottom:16px}
.ase-footer-bottom{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;gap:20px;color:#6e6963;font-size:11px;letter-spacing:.13em;text-transform:uppercase}

/* MOTION */
.ase-reveal{opacity:1;transform:none;transition:opacity .85s cubic-bezier(.22,.8,.2,1),transform .85s cubic-bezier(.22,.8,.2,1)}
html.ase-js .ase-reveal.ase-can-animate{opacity:0;transform:translateY(32px)}
html.ase-js .ase-reveal.ase-can-animate.is-visible{opacity:1;transform:none}
.ase-parallax{will-change:transform}
.ase-magnetic{will-change:transform}
.ase-pulse{position:relative}
.ase-pulse::before{
  content:"";position:absolute;inset:-12px;border:1px solid rgba(225,29,72,.24);border-radius:inherit;
  animation:asePulse 2.4s ease-out infinite;pointer-events:none
}
@keyframes asePulse{0%{transform:scale(.97);opacity:.5}100%{transform:scale(1.08);opacity:0}}

/* ACCESSIBILITY */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  #ase-cursor-glow{display:none}
}

/* MOBILE */
@media(max-width:960px){
  .ase-grid--3,.ase-grid--2,.ase-footer-grid{grid-template-columns:1fr}
  .ase-menu{display:none;position:absolute;left:6vw;right:6vw;top:86px;flex-direction:column;align-items:stretch;background:rgba(5,5,5,.97);padding:24px;border:1px solid var(--ase-line);border-radius:22px}
  .ase-menu.is-open{display:flex}
  .ase-menu a{display:block;padding:10px 0}
  .ase-mobile-toggle{display:block}
  .ase-orbit{width:78vw}
  .ase-cta{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
  .ase-wrap,.ase-entry{width:min(92vw,100%)}
  .ase-nav{min-height:70px}
  .ase-hero{min-height:88vh;padding-top:120px}
  .ase-hero--inner{min-height:48vh}
  .ase-title{font-size:clamp(66px,25vw,110px)}
  .ase-subtitle{font-size:15px}
  .ase-actions{align-items:stretch}
  .ase-actions .ase-btn{width:100%}
  .ase-footer-bottom{flex-direction:column}
  body.page-about .ase-entry h2{position:relative;top:auto}
}


/* Page-builder compatibility: never hide stored WordPress content */
.ase-entry .elementor, .ase-entry .elementor-section, .ase-entry .elementor-element,
.ase-entry .wp-block-group, .ase-entry .wp-block-cover, .ase-entry .wp-site-blocks {
  max-width:none;
}
.ase-entry .elementor img{border-radius:18px}
body.elementor-page .ase-entry{width:100%;max-width:none;padding-left:0;padding-right:0}
body.elementor-page .ase-entry > .elementor{max-width:none;margin:0}


/* CRIMSON + CREAM AMPLIFICATION */
.ase-header{box-shadow:0 1px 0 rgba(225,29,72,.06)}
.ase-logo span,.ase-kicker,.ase-section-label,.ase-index{filter:drop-shadow(0 0 12px rgba(225,29,72,.18))}
.ase-btn:not(.ase-btn--ghost),.wp-block-button__link,input[type=submit],button[type=submit]{
  background:linear-gradient(135deg,#7f1d1d 0%,#9f1239 46%,#e11d48 100%);
  color:var(--ase-cream);
  border-color:rgba(255,247,232,.16);
  box-shadow:0 12px 35px rgba(127,29,29,.24),inset 0 1px 0 rgba(255,255,255,.14)
}
.ase-btn:not(.ase-btn--ghost):hover,.wp-block-button__link:hover,input[type=submit]:hover,button[type=submit]:hover{
  box-shadow:0 0 42px rgba(225,29,72,.32),0 18px 45px rgba(76,5,25,.28)
}
.ase-btn--ghost{background:rgba(255,247,232,.025);border-color:rgba(255,247,232,.26)}
.ase-btn--ghost:hover{background:rgba(159,18,57,.13);border-color:#e11d48;color:#fff7e8}
.ase-card{background:linear-gradient(145deg,rgba(255,247,232,.055),rgba(159,18,57,.028))}
.ase-card:hover{border-color:rgba(225,29,72,.52);box-shadow:0 26px 80px rgba(76,5,25,.30),0 0 35px rgba(225,29,72,.08)}
.ase-manifesto{background:linear-gradient(rgba(5,5,5,.80),rgba(5,5,5,.96)),radial-gradient(circle at center,rgba(159,18,57,.42),transparent 62%)}
.ase-cta{background:linear-gradient(135deg,rgba(127,29,29,.24),rgba(255,247,232,.035) 55%,rgba(225,29,72,.10))}
.ase-ticker{background:linear-gradient(90deg,rgba(76,5,25,.18),rgba(159,18,57,.08),rgba(76,5,25,.18))}
body.page-about .ase-page-shell{background:radial-gradient(circle at 20% 20%,rgba(159,18,57,.10),transparent 30%)}
body.page-releases .ase-page-shell{background:radial-gradient(circle at 82% 24%,rgba(225,29,72,.12),transparent 25%)}
body.page-past-works .ase-page-shell{background:radial-gradient(circle at 15% 35%,rgba(127,29,29,.12),transparent 30%)}
body.page-projects .ase-page-shell{background:radial-gradient(circle at 80% 35%,rgba(159,18,57,.10),transparent 30%)}
body.page-contact .ase-page-shell{background:radial-gradient(circle at 50% 30%,rgba(225,29,72,.11),transparent 30%)}
body.page-support-the-work .ase-page-shell{background:radial-gradient(circle at 50% 35%,rgba(159,18,57,.11),transparent 32%)}

/* =========================================================
   BROTHA ASÉ — ANCESTRAL TECH AMPLIFIED v2.0
   Ancient African earth • Crimson energy • Future technology
   ========================================================= */
:root{
  --ase-black:#080706;
  --ase-black-2:#100c0a;
  --ase-black-3:#18100d;
  --ase-crimson:#8f1e2d;
  --ase-crimson-bright:#c23c46;
  --ase-rust:#a6472f;
  --ase-clay:#b96842;
  --ase-gold:#d6a85f;
  --ase-gold-2:#e5c483;
  --ase-copper:#a6472f;
  --ase-earth:#4b2c20;
  --ase-cream:#f4ead8;
  --ase-muted:#c7b8a5;
  --ase-line:rgba(214,168,95,.24);
  --ase-glass:rgba(30,18,13,.70);
  --ase-shadow:0 28px 85px rgba(0,0,0,.48);
  --ase-radius:10px;
}
body{
  background:
    radial-gradient(circle at 12% 18%,rgba(143,30,45,.20),transparent 27%),
    radial-gradient(circle at 86% 12%,rgba(166,71,47,.12),transparent 25%),
    radial-gradient(circle at 58% 92%,rgba(75,44,32,.25),transparent 32%),
    #080706;
}
body::before{
  opacity:.09;
  background-image:url('assets/patterns/textile-grid.svg');
  background-size:240px 240px;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.55) 60%,transparent 96%);
}
body::after{opacity:.12;background:repeating-radial-gradient(circle at center,rgba(214,168,95,.08) 0 1px,transparent 1px 34px)}
#ase-cursor-glow{background:rgba(143,30,45,.12);filter:blur(75px)}
#ase-progress{height:3px;background:linear-gradient(90deg,var(--ase-rust),var(--ase-crimson-bright),var(--ase-gold));box-shadow:0 0 14px rgba(194,60,70,.65)}

/* Navigation becomes a ceremonial interface */
.ase-header{background:linear-gradient(180deg,rgba(8,7,6,.90),rgba(8,7,6,.63));border-bottom:1px solid rgba(214,168,95,.13);backdrop-filter:blur(18px) saturate(110%)}
.ase-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--ase-crimson),var(--ase-gold),var(--ase-crimson),transparent);opacity:.45}
.ase-nav{min-height:84px}
.ase-logo{display:inline-flex;align-items:center;gap:12px;font-size:clamp(23px,2vw,32px);letter-spacing:.14em}
.ase-logo-text{color:var(--ase-cream)}
.ase-logo-text b{font-weight:400;color:var(--ase-crimson-bright)}
.ase-logo-mark{position:relative;width:30px;height:30px;display:inline-block;transform:rotate(45deg);border:1px solid var(--ase-gold);box-shadow:inset 0 0 0 5px rgba(143,30,45,.26),0 0 20px rgba(143,30,45,.18)}
.ase-logo-mark::before,.ase-logo-mark::after{content:"";position:absolute;inset:6px;border:1px solid var(--ase-crimson-bright)}
.ase-logo-mark::after{inset:11px;background:var(--ase-gold);border:0}
.ase-menu a{color:#d7cbb9;letter-spacing:.14em;font-size:11px}
.ase-menu a::after{background:linear-gradient(90deg,var(--ase-crimson-bright),var(--ase-gold))}
.ase-menu a:hover,.ase-menu .current-menu-item>a{color:var(--ase-gold-2)}
.ase-nav-cta{border-radius:2px!important;border-color:rgba(214,168,95,.55)!important;background:rgba(143,30,45,.10);padding:12px 16px!important}
.ase-mobile-toggle{border-radius:2px;border-color:rgba(214,168,95,.4);display:none;align-items:center;gap:10px;color:var(--ase-cream);letter-spacing:.14em;font-size:11px}
.ase-mobile-toggle i{width:17px;height:10px;border-top:1px solid var(--ase-gold);border-bottom:1px solid var(--ase-crimson-bright);display:block}

/* Hero — patterned circuitry layered over photography */
.ase-hero--amplified{overflow:hidden;background-position:center 24%}
.ase-hero--amplified::before{background:linear-gradient(90deg,rgba(8,7,6,.97) 0%,rgba(8,7,6,.88) 29%,rgba(8,7,6,.54) 59%,rgba(8,7,6,.23) 100%),linear-gradient(0deg,rgba(8,7,6,.97) 0%,rgba(8,7,6,.08) 55%,rgba(8,7,6,.60) 100%)}
.ase-hero--amplified::after{background:linear-gradient(90deg,transparent 0 68%,rgba(143,30,45,.10) 68% 69%,transparent 69%),url('assets/patterns/textile-grid.svg');background-size:auto,300px 300px;opacity:.32;mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent 0%,transparent 38%,#000 80%)}
.ase-home-amplified .ase-hero{min-height:100vh;text-align:left;place-items:center start;padding-top:150px}
.ase-hero-copy{margin-left:max(6vw,calc((100vw - var(--ase-max))/2));margin-right:auto;width:min(780px,86vw)!important}
.ase-system-label{display:inline-flex;align-items:center;gap:12px;color:var(--ase-gold);font-size:9px;letter-spacing:.32em;text-transform:uppercase;margin-bottom:18px;opacity:.8}
.ase-system-label::before{content:"";width:38px;height:1px;background:linear-gradient(90deg,var(--ase-crimson-bright),var(--ase-gold))}
.ase-home-amplified .ase-kicker{margin-bottom:12px;color:var(--ase-clay)}
.ase-home-amplified .ase-title{font-size:clamp(95px,13vw,184px);line-height:.74;text-shadow:0 18px 60px rgba(0,0,0,.56)}
.ase-home-amplified .ase-title .outline{-webkit-text-stroke:1px var(--ase-gold);color:rgba(143,30,45,.08);text-shadow:0 0 28px rgba(143,30,45,.28)}
.ase-home-amplified .ase-subtitle{margin-left:0;max-width:610px;color:#d6cab9;font-size:clamp(16px,1.25vw,19px)}
.ase-home-amplified .ase-actions{justify-content:flex-start}
.ase-ancestral-disc{position:absolute;width:min(58vw,800px);aspect-ratio:1;left:-13vw;top:50%;transform:translateY(-45%);background:url('assets/patterns/ancestral-circuit.svg') center/contain no-repeat;opacity:.28;filter:drop-shadow(0 0 35px rgba(143,30,45,.18));z-index:-1;animation:aseDisc 55s linear infinite}
.ase-ancestral-disc::after{content:"";position:absolute;inset:18%;border:1px solid rgba(214,168,95,.15);border-radius:50%;box-shadow:0 0 70px rgba(143,30,45,.15),inset 0 0 50px rgba(143,30,45,.10)}
@keyframes aseDisc{to{transform:translateY(-45%) rotate(360deg)}}
.ase-ancestral-disc--page{left:auto;right:-15vw;width:min(48vw,670px);top:60%;opacity:.20}
.ase-hero-signal{position:absolute;right:7vw;bottom:9vh;display:flex;gap:7px;height:64px;align-items:flex-end;opacity:.55}
.ase-hero-signal span{display:block;width:2px;background:linear-gradient(to top,var(--ase-crimson-bright),var(--ase-gold));animation:aseSignal 1.7s ease-in-out infinite alternate}
.ase-hero-signal span:nth-child(1){height:32px}.ase-hero-signal span:nth-child(2){height:62px;animation-delay:.25s}.ase-hero-signal span:nth-child(3){height:43px;animation-delay:.5s}
@keyframes aseSignal{to{height:14px;opacity:.25}}
.ase-hero-coordinate{position:absolute;right:7vw;top:50%;writing-mode:vertical-rl;color:rgba(244,234,216,.42);font-size:8px;letter-spacing:.34em;text-transform:uppercase}

.ase-btn,.wp-block-button__link,input[type=submit],button[type=submit]{border-radius:2px;background:linear-gradient(135deg,#75202c,#9d2834 55%,#b54a3b);border:1px solid rgba(229,196,131,.28);color:var(--ase-cream);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));box-shadow:0 15px 38px rgba(0,0,0,.28)}
.ase-btn:hover,.wp-block-button__link:hover,input[type=submit]:hover,button[type=submit]:hover{box-shadow:0 0 34px rgba(143,30,45,.34),0 18px 42px rgba(0,0,0,.32)}
.ase-btn--ghost{background:rgba(8,7,6,.34);border-color:rgba(214,168,95,.38);color:var(--ase-cream)}

.ase-ticker{background:#110c0a;border-color:rgba(214,168,95,.12);color:var(--ase-gold);padding:13px 0;position:relative}
.ase-ticker::before,.ase-ticker::after{content:"";position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}.ase-ticker::before{left:0;background:linear-gradient(90deg,#080706,transparent)}.ase-ticker::after{right:0;background:linear-gradient(-90deg,#080706,transparent)}

/* Editorial section architecture */
.ase-experience-section{background:linear-gradient(180deg,#080706,#0e0907);position:relative}
.ase-experience-section::after{content:"";position:absolute;right:-110px;top:8%;width:420px;height:420px;background:url('assets/patterns/ancestral-circuit.svg') center/contain no-repeat;opacity:.075;transform:rotate(22deg);pointer-events:none}
.ase-section-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr);gap:8vw;align-items:end}
.ase-section-intro .ase-copy{max-width:540px;margin:0 0 8px}
.ase-heading span,.ase-transmission-copy h2 span,.ase-archive-preview .ase-heading span{color:var(--ase-crimson-bright)}
.ase-pillars{counter-reset:pillars}
.ase-pillar{min-height:410px;border-radius:2px;background:linear-gradient(145deg,rgba(75,44,32,.32),rgba(8,7,6,.64));border-color:rgba(214,168,95,.19);clip-path:polygon(0 0,90% 0,100% 10%,100% 100%,0 100%)}
.ase-pillar::before{right:-50px;top:-50px;background:rgba(143,30,45,.18)}
.ase-pillar .ase-card-inner{padding:34px;min-height:410px;display:flex;flex-direction:column}
.ase-pillar .ase-index{font-size:10px;font-family:Inter,sans-serif;letter-spacing:.24em;margin-bottom:auto;color:var(--ase-gold)}
.ase-pillar h3{font-size:clamp(52px,5vw,72px);margin-bottom:15px}
.ase-pillar p{max-width:340px}
.ase-card-pattern{position:absolute;right:-40px;top:-35px;width:220px;height:220px;background:url('assets/patterns/ancestral-circuit.svg') center/contain no-repeat;opacity:.12;transform:rotate(20deg)}
.ase-mini-signal{height:42px;margin-top:24px;background:repeating-linear-gradient(90deg,transparent 0 9px,var(--ase-rust) 9px 11px,transparent 11px 18px);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);opacity:.42}
.ase-mini-signal--voice{background:repeating-linear-gradient(90deg,transparent 0 8px,var(--ase-gold) 8px 9px,transparent 9px 15px);transform:skewY(-4deg)}
.ase-node-map{position:relative;height:56px;margin-top:18px}.ase-node-map i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--ase-crimson-bright);box-shadow:0 0 0 5px rgba(143,30,45,.08)}.ase-node-map i:nth-child(1){left:5%;top:30%}.ase-node-map i:nth-child(2){left:28%;top:65%}.ase-node-map i:nth-child(3){left:52%;top:18%}.ase-node-map i:nth-child(4){left:72%;top:58%}.ase-node-map i:nth-child(5){left:91%;top:25%}.ase-node-map::before{content:"";position:absolute;left:7%;right:7%;top:49%;height:1px;background:linear-gradient(90deg,var(--ase-crimson),var(--ase-gold),var(--ase-rust));transform:rotate(-2deg);opacity:.6}

/* Photographic transmission collage */
.ase-visual-transmission{padding:clamp(80px,10vw,145px) 0;background:linear-gradient(135deg,#160d09 0%,#0a0807 52%,#16090d 100%);border-block:1px solid rgba(214,168,95,.10);position:relative;overflow:hidden}
.ase-visual-transmission::before{content:"";position:absolute;inset:0;background:url('assets/patterns/textile-grid.svg') 0 0/260px 260px;opacity:.055;pointer-events:none}
.ase-visual-grid{display:grid;grid-template-columns:1.15fr .62fr .9fr;grid-template-rows:300px 360px;gap:18px;position:relative}
.ase-photo-panel{margin:0;position:relative;overflow:hidden;background:#130c09;border:1px solid rgba(214,168,95,.18);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.ase-photo-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,7,6,.78));pointer-events:none}
.ase-photo-panel img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.22,.8,.2,1),filter .8s}
.ase-photo-panel:hover img{transform:scale(1.045);filter:saturate(1.08) contrast(1.04)}
.ase-photo-panel figcaption{position:absolute;left:18px;bottom:15px;z-index:2;font-size:8px;letter-spacing:.28em;color:var(--ase-gold);text-transform:uppercase}
.ase-photo-panel--wide{grid-column:1 / 3;grid-row:1}.ase-photo-panel--wide img{object-position:center 44%}
.ase-photo-panel--tall{grid-column:3;grid-row:1 / 3}.ase-photo-panel--tall img{object-position:center 22%}
.ase-photo-panel--portrait{grid-column:1;grid-row:2}.ase-photo-panel--portrait img{object-position:center 20%}
.ase-transmission-copy{grid-column:2;grid-row:2;padding:38px 30px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(143,30,45,.30);background:linear-gradient(145deg,rgba(143,30,45,.12),rgba(8,7,6,.36));position:relative}
.ase-transmission-copy::after{content:"";position:absolute;right:15px;top:15px;width:92px;height:92px;background:url('assets/patterns/ancestral-circuit.svg') center/contain no-repeat;opacity:.16}
.ase-transmission-copy h2{font-size:clamp(46px,5vw,76px);line-height:.88;margin:8px 0 22px}
.ase-transmission-copy p{color:var(--ase-muted);line-height:1.75;max-width:460px}
.ase-text-link{margin-top:18px;color:var(--ase-gold);font-size:10px;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}.ase-text-link b{color:var(--ase-crimson-bright);font-size:18px}

/* Manifesto */
.ase-manifesto--patterned{position:relative;overflow:hidden;padding:clamp(100px,12vw,170px) 0;background:radial-gradient(circle at center,rgba(143,30,45,.23),transparent 48%),#080706}
.ase-manifesto--patterned::before{content:"";position:absolute;inset:0;background:url('assets/patterns/textile-grid.svg') center/220px 220px;opacity:.055}
.ase-ancestral-ring{position:absolute;width:min(78vw,1040px);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);background:url('assets/patterns/ancestral-circuit.svg') center/contain no-repeat;opacity:.12;animation:aseOrbit 50s linear infinite}
.ase-manifesto .ase-section-label{margin-bottom:28px}
.ase-manifesto q{position:relative;z-index:1}
.ase-manifesto em{color:var(--ase-crimson-bright);text-shadow:0 0 30px rgba(143,30,45,.18)}

/* Visual archive strip */
.ase-archive-preview{background:#0c0907;overflow:hidden}
.ase-section-intro--archive{align-items:end}
.ase-archive-note{text-align:right;color:var(--ase-gold);font-size:9px;line-height:1.8;letter-spacing:.24em;text-transform:uppercase}.ase-archive-note small{color:#7e7163;font-size:8px;letter-spacing:.14em}
.ase-photo-strip{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:12px;margin-top:60px;width:max(100%,1260px)}
.ase-strip-card{height:430px;margin:0;position:relative;overflow:hidden;border:1px solid rgba(214,168,95,.16);background:#100c09;transition:transform .32s ease,border-color .32s ease;transform-style:preserve-3d}
.ase-strip-card:nth-child(even){transform:translateY(28px)}
.ase-strip-card:hover{border-color:rgba(214,168,95,.48);z-index:2}
.ase-strip-card img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88) contrast(1.03);transition:transform .7s,filter .5s}
.ase-strip-card:hover img{transform:scale(1.045);filter:saturate(1.08) contrast(1.06)}
.ase-strip-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,7,6,.88))}
.ase-strip-card figcaption{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;color:var(--ase-cream);font-size:8px;letter-spacing:.18em;text-transform:uppercase}.ase-strip-card figcaption span{display:block;color:var(--ase-crimson-bright);font-size:20px;font-family:"Bebas Neue";margin-bottom:4px}
.ase-actions--left{justify-content:flex-start;margin-top:78px}

/* Existing WP/Elementor content becomes part of the same world */
.ase-existing-content{border-top:1px solid rgba(214,168,95,.10);background:linear-gradient(180deg,#0c0907,#080706)}
.ase-entry h2{color:var(--ase-cream)}
.ase-entry h2::first-letter{color:var(--ase-crimson-bright)}
.ase-entry img{border-radius:2px;border:1px solid rgba(214,168,95,.16)}
.ase-entry blockquote{border-color:var(--ase-crimson-bright)}
.wp-block-separator{border-color:rgba(214,168,95,.22)!important}
.ase-entry a:not(.wp-block-button__link){color:var(--ase-gold-2)}

/* Interior page amplifier */
.ase-page-shell .ase-hero--inner{min-height:66vh;position:relative;overflow:hidden}
.ase-page-shell .ase-hero--inner::before{background:linear-gradient(90deg,rgba(8,7,6,.98),rgba(8,7,6,.70) 50%,rgba(8,7,6,.30)),linear-gradient(0deg,rgba(8,7,6,.93),rgba(8,7,6,.04) 62%,rgba(8,7,6,.50))}
.ase-page-shell .ase-hero--inner::after{background:url('assets/patterns/textile-grid.svg') right center/280px 280px repeat;opacity:.16;mask-image:linear-gradient(90deg,transparent 30%,#000)}
.ase-page-shell .ase-title{font-size:clamp(72px,10vw,145px);max-width:1000px}
body.page-about .ase-page-shell,body.page-releases .ase-page-shell,body.page-past-works .ase-page-shell,body.page-projects .ase-page-shell,body.page-contact .ase-page-shell,body.page-support-the-work .ase-page-shell{background:radial-gradient(circle at 86% 18%,rgba(143,30,45,.10),transparent 25%),#080706}
body.page-about .ase-entry h2{border-radius:2px;background:rgba(16,12,10,.88);border-color:rgba(214,168,95,.20)}
body.page-releases .ase-entry h2,body.page-support-the-work .ase-entry h3{border-radius:2px;border-color:rgba(214,168,95,.20);background:linear-gradient(145deg,rgba(75,44,32,.24),rgba(8,7,6,.4))}
body.page-past-works .ase-entry h2,body.page-projects .ase-entry h2{border-top-color:rgba(214,168,95,.28)}
body.page-past-works .ase-entry figure,body.page-projects .ase-entry figure{border-radius:2px;border-color:rgba(214,168,95,.20)}

/* CTA + footer */
.ase-cta{border-radius:2px;border-color:rgba(214,168,95,.25);background:linear-gradient(135deg,rgba(75,44,32,.58),rgba(143,30,45,.13) 48%,rgba(8,7,6,.55));clip-path:polygon(0 0,96% 0,100% 20%,100% 100%,4% 100%,0 80%)}
.ase-cta::before{content:"";position:absolute;left:-70px;top:-80px;width:260px;height:260px;background:url('assets/patterns/ancestral-circuit.svg') center/contain no-repeat;opacity:.12}
.ase-cta::after{border-color:rgba(214,168,95,.18)}
.ase-footer{background:#070605;border-top-color:rgba(214,168,95,.15);position:relative;overflow:hidden}
.ase-footer::before{content:"";position:absolute;right:-140px;bottom:-190px;width:540px;height:540px;background:url('assets/patterns/ancestral-circuit.svg') center/contain no-repeat;opacity:.06}
.ase-footer h3{color:var(--ase-gold-2)}
.ase-footer p,.ase-footer li,.ase-footer a{color:#9f9181}
.ase-footer-bottom{border-top-color:rgba(214,168,95,.10);color:#71665b}

/* Responsive */
@media(max-width:1100px){
  .ase-photo-strip{grid-template-columns:repeat(3,1fr);width:100%}.ase-strip-card:nth-child(even){transform:none}.ase-strip-card{height:390px}
  .ase-visual-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 340px 380px}.ase-photo-panel--wide{grid-column:1/3;grid-row:1}.ase-photo-panel--tall{grid-column:2;grid-row:2/4}.ase-photo-panel--portrait{grid-column:1;grid-row:2}.ase-transmission-copy{grid-column:1;grid-row:3}
}
@media(max-width:960px){
  .ase-section-intro{grid-template-columns:1fr;gap:28px}.ase-section-intro .ase-copy{max-width:680px}.ase-archive-note{text-align:left}
  .ase-menu{background:linear-gradient(145deg,#21130e,#100c09);border-radius:2px;border-color:rgba(214,168,95,.32);box-shadow:0 30px 75px rgba(0,0,0,.55)}
  .ase-mobile-toggle{display:flex}
  .ase-home-amplified .ase-hero--amplified::before{background:linear-gradient(90deg,rgba(8,7,6,.93),rgba(8,7,6,.60)),linear-gradient(0deg,rgba(8,7,6,.92),rgba(8,7,6,.08) 58%,rgba(8,7,6,.50))}
  .ase-hero-copy{margin-inline:auto;width:min(88vw,780px)!important}.ase-hero-coordinate{display:none}.ase-ancestral-disc{left:-34vw;width:95vw;opacity:.2}
}
@media(max-width:720px){
  .ase-home-amplified .ase-hero{min-height:92vh;padding-top:120px;background-position:62% center}
  .ase-home-amplified .ase-title{font-size:clamp(84px,27vw,124px)}
  .ase-system-label{font-size:8px;letter-spacing:.22em}.ase-kicker{letter-spacing:.25em}
  .ase-visual-grid{display:flex;flex-direction:column}.ase-photo-panel--wide{height:260px}.ase-photo-panel--portrait,.ase-photo-panel--tall{height:480px}.ase-transmission-copy{min-height:340px}
  .ase-photo-strip{grid-template-columns:repeat(2,1fr);gap:8px}.ase-strip-card{height:330px}
  .ase-hero-signal{display:none}
}
@media(max-width:480px){
  .ase-photo-strip{grid-template-columns:1fr 1fr}.ase-strip-card{height:285px}.ase-strip-card figcaption{font-size:7px}.ase-strip-card figcaption span{font-size:17px}
  .ase-logo{gap:8px}.ase-logo-mark{width:24px;height:24px}.ase-logo-text{font-size:22px}
}
