@font-face{font-family:"Earth Orbiter XB";src:url("earthorbiter-xtrabold.woff") format("woff");font-weight:800;font-style:normal;font-display:swap}
/* B-Angel home — Meloo-inspired dark theme. Colours and fonts live here. */
:root{
  --ba-bg:#0e0c13; --ba-bg2:#17131f; --ba-line:#2e2740;
  --ba-text:#dedae6; --ba-head:#ffffff; --ba-muted:#958ca8;
  --ba-accent:#8b5cf6; --ba-accent-hover:#a582ff; --ba-glow:rgba(139,92,246,.35);
  --ba-display:"Barlow Condensed","Kanit","Arial Narrow",sans-serif;
  --ba-body:"Roboto","Sarabun",system-ui,sans-serif;
  --ba-mono:"Space Mono",ui-monospace,monospace;
  --ba-logo:"Earth Orbiter XB","Barlow Condensed",sans-serif;
}
body,.elementor-page{background:var(--ba-bg)!important;color:var(--ba-text);font-family:var(--ba-body)}
.ba-page{background:var(--ba-bg);color:var(--ba-text);font-family:var(--ba-body);overflow-x:clip}
.ba-page p{margin:0 0 1em}
.ba-page .elementor-heading-title{font-family:var(--ba-display);color:var(--ba-head);text-transform:uppercase;letter-spacing:.07em;line-height:1.05}
.ba-page .elementor-widget-text-editor{font-family:var(--ba-body);font-size:16px;line-height:1.75;color:var(--ba-text)}

/* section rhythm */
.ba-sec{padding:110px 24px!important;position:relative}
.ba-inner{max-width:1180px;margin:0 auto;width:100%}
.ba-title .elementor-heading-title{font-size:clamp(44px,6vw,68px);font-weight:500;letter-spacing:.07em;position:relative;z-index:1}
.ba-title{position:relative}
.ba-title .elementor-heading-title::before{content:attr(data-ghost);}
.ba-kicker .elementor-heading-title{font-family:var(--ba-mono)!important;font-size:13px!important;letter-spacing:.2em!important;color:var(--ba-accent)!important}
/* ghost words behind section titles (Meloo style) */
.ba-sec .ba-ghost .elementor-heading-title{position:absolute;left:50%;top:50%;transform:none;translate:-50% -62%;font-size:clamp(70px,11vw,150px);font-weight:700;color:transparent;-webkit-text-stroke:1px rgba(176,140,255,.12);white-space:nowrap;pointer-events:none;z-index:0}
.ba-ghost{position:absolute!important;inset:auto 0 auto 0;height:0;width:100%!important;margin:0!important}
.ba-head-wrap{position:relative;text-align:center;margin-bottom:56px}

/* buttons */
.ba-btn .elementor-button{background:var(--ba-accent);color:#fff;font-family:var(--ba-display);font-weight:500;font-size:15px;letter-spacing:.18em;text-transform:uppercase;border-radius:0;padding:16px 30px;transition:background .2s}
.ba-btn .elementor-button:hover,.ba-btn .elementor-button:focus-visible{background:var(--ba-accent-hover);color:#fff}
.ba-btn-ghost .elementor-button{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;font-family:var(--ba-display);font-size:15px;letter-spacing:.18em;text-transform:uppercase;border-radius:0;padding:15px 28px}
.ba-btn-ghost .elementor-button:hover{border-color:var(--ba-accent);color:#fff}

/* header */
.ba-header{position:fixed!important;top:0;left:0;right:0;z-index:999;padding:22px 32px!important;transition:background .3s,padding .3s;background:linear-gradient(rgba(10,6,18,.75),transparent)}
.admin-bar .ba-header{top:32px}
.ba-logo .elementor-heading-title{font-size:30px!important;font-weight:700!important;letter-spacing:.12em!important}
.ba-logo a{color:#fff}
.ba-nav .elementor-icon-list-items{gap:4px 30px;justify-content:flex-end}
.ba-nav .elementor-icon-list-item{margin:0!important;padding:0!important}
.ba-nav .elementor-icon-list-item::after{display:none!important}
.ba-nav .elementor-icon-list-text{font-family:var(--ba-display);font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:#fff;padding:0!important}
.ba-nav a:hover .elementor-icon-list-text{color:var(--ba-accent-hover)}
@media (max-width:767px){
  .ba-header{padding:14px 16px!important;flex-direction:column!important;gap:6px!important;background:rgba(14,10,22,.94)}
  .ba-nav .elementor-icon-list-items{justify-content:center;gap:4px 16px}
  .ba-nav .elementor-icon-list-text{font-size:14px;letter-spacing:.1em}
  .ba-logo .elementor-heading-title{font-size:24px!important;text-align:center}
}

/* hero */
.ba-hero{min-height:100vh;padding:140px 24px 90px!important;text-align:center}
.ba-hero-title .elementor-heading-title{font-size:clamp(64px,13vw,170px);font-weight:700;letter-spacing:.06em;text-shadow:0 6px 40px rgba(0,0,0,.5),0 0 60px var(--ba-glow)}
.ba-hero-sub .elementor-heading-title{font-size:clamp(18px,2.2vw,26px);font-weight:500;letter-spacing:.22em;color:#eaeaea}
.ba-hero-genres .elementor-heading-title{font-family:var(--ba-mono)!important;font-size:13px!important;letter-spacing:.2em!important;color:rgba(255,255,255,.7)!important;text-transform:uppercase}

/* biography */
.ba-bio{background:radial-gradient(ellipse at 50% 0%,#241a38 0%,var(--ba-bg) 65%)}
.ba-bio-cols{gap:48px!important}
.ba-bio-cols{flex-wrap:nowrap!important}
.ba-bio-cols > .e-con{min-width:0;flex:1 1 0!important;width:auto!important}
@media (max-width:767px){.ba-bio-cols{flex-direction:column!important}}
.ba-lang .elementor-heading-title{font-family:var(--ba-mono)!important;font-size:12px!important;letter-spacing:.2em!important;color:var(--ba-muted)!important;margin-bottom:12px}
.ba-born .elementor-heading-title{font-size:28px;font-weight:500;letter-spacing:.12em}
.ba-quote .elementor-heading-title{font-size:clamp(22px,2.6vw,32px);font-weight:500;letter-spacing:.08em;line-height:1.25;border-left:3px solid var(--ba-accent);padding-left:22px;text-align:left;max-width:820px;margin:0 auto}
.ba-th{font-family:"Sarabun",var(--ba-body)!important}

/* portrait */
.ba-portrait{padding:40px 24px 0!important;background:radial-gradient(ellipse 42% 60% at 50% 55%,#463466 0%,#1d1629 45%,var(--ba-bg) 75%)}
.ba-portrait img{max-width:min(980px,100%)!important;width:100%;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}

/* music */
.ba-music{background:var(--ba-bg2)}
.ba-cards{gap:24px!important}
.ba-card{border:1px solid var(--ba-line);padding:40px 32px!important;background:var(--ba-bg);transition:border-color .2s}
.ba-card:hover{border-color:var(--ba-accent)}
.ba-card .ba-card-title .elementor-heading-title{font-size:34px;font-weight:700}
.ba-genres .elementor-icon-list-items{gap:10px;justify-content:center}
.ba-genres .elementor-icon-list-item{border:1px solid var(--ba-line);padding:8px 16px!important;margin:0!important}
.ba-genres .elementor-icon-list-item::after{display:none!important}
.ba-genres .elementor-icon-list-text{font-family:var(--ba-mono);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:0!important}

/* schedule */
.ba-schedule{background:linear-gradient(rgba(20,12,34,.86),rgba(14,12,19,.94)),url(/wp-content/uploads/b-angel/hero-poster.jpg) center/cover fixed}
.ba-gigs .elementor-icon-list-item{border-bottom:1px solid var(--ba-line);padding:18px 0!important;margin:0!important}
.ba-gigs .elementor-icon-list-item::after{display:none!important}
.ba-gigs .elementor-icon-list-text{font-family:var(--ba-display);font-size:22px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.ba-gigs .elementor-icon-list-icon i,.ba-gigs .elementor-icon-list-icon svg{color:var(--ba-accent);fill:var(--ba-accent)}

/* gallery */
.ba-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
.ba-grid > .elementor-element{width:100%!important;margin:0!important}
.ba-grid img{width:100%!important;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;display:block;filter:grayscale(.15) contrast(1.05);transition:filter .3s,transform .4s}
.ba-grid a{display:block;overflow:hidden}
.ba-grid a:hover img{filter:none;transform:scale(1.03)}
@media (max-width:767px){.ba-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* played at + stats */
.ba-split{gap:56px!important;margin-top:72px}
.ba-split > .e-con{min-width:0}
.ba-sub .elementor-heading-title{font-size:22px;font-weight:500;letter-spacing:.2em;color:var(--ba-text)}
.ba-venues .elementor-icon-list-item{padding:9px 0!important;border-bottom:1px solid var(--ba-line);margin:0!important}
.ba-venues .elementor-icon-list-item::after{display:none!important}
.ba-venues .elementor-icon-list-text{font-family:var(--ba-display);font-size:19px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.ba-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px!important}
.ba-stats > .elementor-element{width:100%!important;margin:0!important}
.ba-stats .elementor-counter{flex-direction:column;align-items:flex-start}
.ba-stats .elementor-counter-number-wrapper{font-family:var(--ba-display);font-size:clamp(64px,7vw,92px);font-weight:700;color:#fff;line-height:1;justify-content:flex-start;text-shadow:0 0 30px var(--ba-glow)}
.ba-stats .elementor-counter-title{font-family:var(--ba-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ba-muted);text-align:left;line-height:1.5}

/* video */
.ba-video{background:linear-gradient(135deg,#1c1430 0%,var(--ba-bg2) 60%)}
.ba-video-row{gap:56px!important;align-items:center!important}
.ba-video-row > .e-con{min-width:0}
.ba-video-frame{max-width:400px;margin:0 auto}
.ba-video-frame video,.ba-video-frame .elementor-wrapper{aspect-ratio:9/16!important;height:auto}
.ba-video-frame .elementor-custom-embed-image-overlay{aspect-ratio:9/16}

/* booking */
.ba-booking-row{gap:56px!important}
.ba-booking-row > .e-con{min-width:0}
.ba-form .elementor-field-group .elementor-field{background:var(--ba-bg2)!important;border:1px solid var(--ba-line)!important;border-radius:0!important;color:#fff!important;font-family:var(--ba-body);padding:14px 16px}
.ba-form .elementor-field:focus{border-color:var(--ba-accent)!important;outline:none}
.ba-form label{font-family:var(--ba-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ba-muted)!important}
.ba-form .elementor-button{background:var(--ba-accent)!important;border-radius:0!important;font-family:var(--ba-display);letter-spacing:.18em;text-transform:uppercase}
.ba-contact-block{border-top:1px solid var(--ba-line);padding-top:22px!important;gap:8px!important}
.ba-label .elementor-heading-title{font-family:var(--ba-mono)!important;font-size:12px!important;letter-spacing:.2em!important;color:var(--ba-accent)!important}
.ba-big .elementor-heading-title{font-size:30px;font-weight:500;letter-spacing:.06em;text-transform:none}
.ba-big a{color:#fff}
.ba-small .elementor-heading-title{font-family:var(--ba-body)!important;font-size:14px!important;letter-spacing:.04em!important;text-transform:none!important;color:var(--ba-muted)!important}
.ba-btn-row{gap:10px!important;flex-wrap:wrap!important}

/* footer */
.ba-footer{padding:56px 24px!important;border-top:1px solid var(--ba-line);text-align:center;gap:18px!important}
.ba-social .elementor-social-icon{background:transparent!important;border:1px solid var(--ba-line);color:#fff!important;font-size:18px}
.ba-social .elementor-social-icon:hover{border-color:var(--ba-accent);color:var(--ba-accent-hover)!important}
.ba-social .elementor-social-icon i,.ba-social .elementor-social-icon svg{color:#fff;fill:#fff}
.ba-copy .elementor-heading-title{font-family:var(--ba-mono)!important;font-size:12px!important;letter-spacing:.16em!important;color:var(--ba-muted)!important}

@media (max-width:1024px){.ba-sec{padding:84px 20px!important}}
@media (max-width:767px){
  .ba-sec{padding:72px 16px!important}
  .ba-head-wrap{margin-bottom:36px}
  .ba-big .elementor-heading-title{font-size:24px}
}
@media (prefers-reduced-motion:reduce){.ba-grid img{transition:none}.ba-schedule{background-attachment:scroll}}

/* logo font: Earth Orbiter Extra-Bold */
.ba-page .ba-logo .elementor-heading-title,.ba-page .ba-hero-title .elementor-heading-title{font-family:var(--ba-logo)!important;font-weight:800!important;text-transform:uppercase}
.ba-page .ba-logo .elementor-heading-title{font-size:26px!important;letter-spacing:.04em!important}
.ba-page .ba-hero-title .elementor-heading-title{font-size:clamp(52px,16vw,150px)!important;letter-spacing:.02em!important;line-height:1}
@media (max-width:767px){.ba-page .ba-logo .elementor-heading-title{font-size:20px!important}}
