/* V510 — public page-builder structure and semantic theme integration. */
:is(.a2-page,.episode-builder){
  --a2-accent:var(--studio-color-accent,#1798ff);
  --a2-secondary:var(--studio-color-accent-secondary,#2759db);
  --a2-canvas:var(--studio-page-canvas,var(--studio-color-canvas,#020713));
  --a2-surface:var(--studio-component-card-bg,var(--studio-color-surface,#071a35));
  --a2-surface-raised:var(--studio-component-card-raised-bg,var(--studio-color-surface-raised,#0c1b31));
  --a2-control:var(--studio-component-control-bg,var(--studio-color-surface-muted,#071329));
  --a2-border:var(--studio-component-card-border,var(--studio-color-border,rgb(255 255 255 / 13%)));
  --a2-border-strong:var(--studio-color-border-strong,rgb(255 255 255 / 22%));
  --a2-text:var(--studio-color-text,#f8fbff);
  --a2-muted:var(--studio-color-text-muted,#91a9c5);
  --a2-text-secondary:var(--studio-color-text-secondary,#b7c4d6);
  --a2-radius:var(--studio-component-card-radius,var(--studio-radius-lg,16px));
  --membership-page-bg:var(--a2-canvas);
  color:var(--a2-text);
  font-family:var(--studio-font-family-ui,inherit);
}

.a2-page{
  min-height:70vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% -10%,color-mix(in srgb,var(--a2-accent) 14%,transparent),transparent 30%),
    var(--a2-canvas);
}

.episode-builder{
  position:relative;
  background:var(--a2-canvas);
}

.a2-preview{
  position:sticky;
  top:74px;
  z-index:19;
  padding:9px;
  background:linear-gradient(135deg,var(--a2-accent),var(--a2-secondary));
  color:var(--studio-color-on-accent,#fff);
  text-align:center;
  font-size:12px;
  font-weight:800;
}

.a2-empty-shell{padding-block:90px}
.a2-section{position:relative;padding:38px 0}
.a2-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:15px;
  margin-bottom:18px;
}
.a2-heading h2{margin:0;color:var(--a2-text);font-size:clamp(21px,3vw,29px)}
.a2-heading p{margin:6px 0 0;color:var(--a2-muted);font-size:12px}

/* Builder background modes remain explicit and never leak into other sections. */
.a2-responsive-section{
  isolation:isolate;
  color:var(--a2-text);
}
.a2-responsive-section[data-section-background="seamless"]{
  background-color:transparent;
  background-image:none;
}
.a2-responsive-section[data-section-background="glow"]{
  background-color:transparent;
  background-image:none;
}
.a2-responsive-section[data-section-background="glow"]::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:8% 4%;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 50%,color-mix(in srgb,var(--a2-accent) 16%,transparent),transparent 38%),
    radial-gradient(circle at 78% 45%,color-mix(in srgb,var(--a2-secondary) 13%,transparent),transparent 35%);
  filter:blur(22px);
}
.a2-responsive-section[data-section-background="panel"]{
  --membership-page-bg:var(--studio-page-section-strong,var(--a2-surface));
  background-color:var(--studio-page-section-strong,var(--a2-surface));
  background-image:none;
}
.a2-responsive-section[data-section-background="custom"]{
  --membership-page-bg:var(--section-background-color,transparent);
  background-color:var(--section-background-color,transparent)!important;
  background-image:none;
}
.a2-responsive-section[data-section-background="image"]{
  --membership-page-bg:transparent;
  background-color:var(--a2-canvas);
  background-image:
    linear-gradient(180deg,var(--a2-canvas),transparent 19%,transparent 81%,var(--a2-canvas)),
    var(--section-background-image,none);
}

/* Hero artwork remains section-owned while its chrome follows the active theme. */
.a2-hero{
  position:relative;
  display:flex;
  align-items:end;
  min-height:610px;
  overflow:hidden;
  background:var(--a2-canvas);
}
.a2-hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,var(--a2-canvas) 5%,color-mix(in srgb,var(--a2-canvas) 80%,transparent) 48%,color-mix(in srgb,var(--a2-canvas) 20%,transparent)),
    linear-gradient(0deg,var(--a2-canvas) 0%,transparent 42%),
    var(--a2-bg) center/cover no-repeat;
}
[dir="rtl"] .a2-hero-bg{
  background:
    linear-gradient(270deg,var(--a2-canvas) 5%,color-mix(in srgb,var(--a2-canvas) 80%,transparent) 48%,color-mix(in srgb,var(--a2-canvas) 20%,transparent)),
    linear-gradient(0deg,var(--a2-canvas) 0%,transparent 42%),
    var(--a2-bg) center/cover no-repeat;
}
.a2-hero-copy{
  position:relative;
  z-index:2;
  width:min(1220px,calc(100% - 30px));
  margin:auto;
  padding:100px 0 75px;
}
.a2-kicker{
  display:inline-flex;
  padding:7px 10px;
  border:1px solid var(--a2-border-strong);
  border-radius:999px;
  background:color-mix(in srgb,var(--a2-surface) 62%,transparent);
  color:var(--a2-text-secondary);
  backdrop-filter:blur(12px);
  font-size:10px;
  letter-spacing:1.4px;
}
.a2-hero h1{
  max-width:760px;
  margin:18px 0;
  color:var(--a2-text);
  font-size:clamp(42px,7vw,82px);
  line-height:1.06;
}
.a2-hero p{max-width:650px;color:var(--a2-text-secondary);font-size:15px;line-height:1.9}
.a2-title-secondary{
  display:block;
  margin:-8px 0 14px;
  color:var(--a2-muted);
  font-size:12px;
  font-style:normal;
  font-weight:500;
}
.a2-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}
.a2-primary{
  border:0;
  background:linear-gradient(135deg,var(--a2-accent),var(--a2-secondary));
  color:var(--studio-color-on-accent,#fff);
}
.a2-secondary-action{
  border-color:var(--a2-border);
  background:color-mix(in srgb,var(--a2-control) 78%,transparent);
  color:var(--a2-text);
  backdrop-filter:blur(12px);
}

/* Cards, collections and editorial blocks. */
.a2-cards{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.a2-cards.list{grid-template-columns:1fr}
.a2-cards.list .a2-card{display:grid;grid-template-columns:90px 1fr}
.a2-card{
  overflow:hidden;
  border:1px solid var(--a2-border);
  border-radius:var(--a2-radius);
  background:var(--a2-surface);
  color:var(--a2-text);
  transition:transform .22s,border-color .22s,box-shadow .22s;
}
.a2-card:hover{
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--a2-accent) 56%,var(--a2-border));
  box-shadow:var(--studio-shadow-card,0 18px 40px rgb(0 0 0 / 36%));
}
.a2-card-img{position:relative;aspect-ratio:2/3;background:var(--studio-color-surface-muted,var(--a2-control))}
.a2-card-img img{width:100%;height:100%;object-fit:cover}
.a2-card-img::after{background:linear-gradient(0deg,color-mix(in srgb,var(--a2-canvas) 88%,transparent),transparent)}
.a2-card-img span{
  position:absolute;
  top:8px;
  right:auto;
  left:auto;
  inset-inline-end:8px;
  padding:5px 7px;
  border:1px solid var(--a2-border);
  border-radius:calc(var(--a2-radius) * .45);
  background:color-mix(in srgb,var(--a2-canvas) 82%,transparent);
  color:var(--a2-text);
  font-size:8px;
}
.a2-card-play{
  border-color:var(--a2-border-strong);
  background:color-mix(in srgb,var(--a2-canvas) 82%,transparent);
  color:var(--a2-text);
}
.a2-card-placeholder{
  background:
    radial-gradient(circle at 70% 20%,color-mix(in srgb,var(--a2-accent) 28%,transparent),transparent 40%),
    var(--studio-color-surface-muted,var(--a2-control))!important;
  color:color-mix(in srgb,var(--a2-muted) 46%,transparent)!important;
}
.a2-card-body{padding:11px}
.a2-card h3{
  overflow:hidden;
  margin:0 0 7px;
  color:var(--a2-text);
  font-size:12px;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.a2-card small{color:var(--a2-muted);font-size:9px}
.a2-progress{
  height:3px;
  margin-top:9px;
  overflow:hidden;
  border-radius:9px;
  background:var(--a2-control);
}
.a2-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--a2-secondary),var(--a2-accent))}
.a2-progress-label{color:var(--a2-muted)}
.a2-scroll{
  display:flex;
  gap:14px;
  overflow:auto;
  padding-bottom:8px;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.a2-scroll::-webkit-scrollbar{display:none}
.a2-scroll .a2-card{width:175px;min-width:175px;scroll-snap-align:start}

.a2-promo{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:center;
  min-height:310px;
  overflow:hidden;
  border:1px solid var(--a2-border);
  border-radius:calc(var(--a2-radius) * 1.5);
  background:
    radial-gradient(circle at 8% 5%,color-mix(in srgb,var(--a2-accent) 16%,transparent),transparent 42%),
    var(--a2-surface);
}
.a2-promo-copy{padding:45px}
.a2-promo-copy h2{margin:0 0 13px;color:var(--a2-text);font-size:32px}
.a2-promo-copy p{color:var(--a2-muted);line-height:1.9}
.a2-promo-media{height:100%;min-height:310px;background:var(--studio-color-surface-muted,var(--a2-control))}
.a2-promo-media :is(img,video){width:100%;height:100%;object-fit:cover}
.a2-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.a2-plan{
  padding:22px;
  border:1px solid var(--a2-border);
  border-radius:var(--a2-radius);
  background:var(--a2-surface);
}
.a2-plan.featured{
  border-color:color-mix(in srgb,var(--a2-accent) 64%,var(--a2-border));
  background:linear-gradient(150deg,color-mix(in srgb,var(--a2-accent) 15%,var(--a2-surface)),var(--a2-surface));
}
.a2-plan h3{margin:0 0 10px;color:var(--a2-text)}
.a2-price{font-size:28px;font-weight:900}
.a2-price small{color:var(--a2-muted);font-size:10px}
.a2-people{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:13px}
.a2-person{text-align:center}
.a2-person img,.a2-person .no-photo{
  display:grid;
  width:88px;
  height:88px;
  place-items:center;
  margin:auto;
  border:2px solid var(--a2-border);
  border-radius:50%;
  background:var(--studio-color-surface-muted,var(--a2-control));
  object-fit:cover;
}
.a2-person b{display:block;margin-top:8px;color:var(--a2-text);font-size:10px}
.a2-text{
  padding:50px;
  border:1px solid var(--a2-border);
  border-radius:calc(var(--a2-radius) * 1.35);
  background:linear-gradient(135deg,var(--a2-surface-raised),var(--a2-surface));
  text-align:var(--align);
}
.a2-text h2{color:var(--a2-text);font-size:31px}
.a2-text p{color:var(--a2-muted);line-height:2;white-space:pre-line}
.a2-empty{
  padding:35px;
  border:1px dashed var(--a2-border-strong);
  border-radius:var(--a2-radius);
  background:var(--studio-page-section,var(--a2-canvas));
  color:var(--a2-muted);
  text-align:center;
}

/* Member landing shell. */
.a2-member-dock{
  border-color:var(--a2-border);
  background:color-mix(in srgb,var(--studio-component-header-bg,var(--a2-surface)) 90%,transparent);
}
.a2-member-welcome>span{
  border-color:var(--a2-border-strong);
  background:linear-gradient(135deg,var(--a2-secondary),var(--a2-accent));
  color:var(--studio-color-on-accent,#fff);
}
.a2-member-welcome small,.a2-member-status small,.a2-member-status em{color:var(--a2-muted)}
.a2-member-dock nav a{
  border-color:var(--a2-border);
  background:var(--a2-control);
  color:var(--a2-text-secondary);
}
.a2-member-dock nav a:hover{border-color:var(--a2-accent);color:var(--a2-text)}
.a2-member-status{border-color:var(--a2-border)}
.a2-row-controls button{
  border-color:var(--a2-border);
  background:var(--a2-control);
  color:var(--a2-text);
}
.a2-row-controls button:hover{border-color:var(--a2-accent);color:var(--a2-text)}
.a2-hero-meta span{
  border-color:var(--a2-border);
  background:color-mix(in srgb,var(--a2-control) 76%,transparent);
  color:var(--a2-text-secondary);
}

/* Shared news, artist, membership and campaign blocks. */
:is(.a2-page,.episode-builder) :is(
  .builder-news,.builder-artists,.builder-memberships,.builder-campaigns,.news-spectrum
){color:var(--a2-text)}
:is(.a2-page,.episode-builder) :is(
  .builder-news__card,.builder-news__ticker,.builder-news__list>a,
  .builder-artist,.builder-membership,.builder-campaign,
  .news-spectrum-card,.news-spectrum__trends,.news-spectrum__timeline,
  .builder-memberships__heading aside
){
  border-color:var(--a2-border);
  background-color:var(--a2-surface);
  color:var(--a2-text);
}
:is(.a2-page,.episode-builder) :is(
  .builder-news__card p,.builder-news__card footer,.builder-news__list span i,
  .builder-artists__heading p,.builder-artist p,.builder-artist footer span,
  .builder-memberships__heading p,.builder-memberships__heading aside small,
  .builder-memberships__heading aside span,.builder-membership__head p,
  .news-spectrum__live,.news-spectrum-card p,.news-spectrum-card footer,
  .news-spectrum__trends a i,.news-spectrum__timeline a
){color:var(--a2-muted)}
:is(.a2-page,.episode-builder) :is(
  .builder-news__heading span,.builder-news__heading>a b,
  .builder-artists__heading>div>span,.builder-artists__heading>a b,
  .news-spectrum__trends header span,.news-spectrum__all b
){color:var(--a2-accent)}
:is(.a2-page,.episode-builder) :is(
  .builder-news__heading>a,.builder-artists__heading>a,.builder-memberships__heading h2,
  .builder-news__card h3,.builder-artist h3,.builder-membership h3,
  .news-spectrum-card h3,.news-spectrum__trends a
){color:var(--a2-text)}
:is(.a2-page,.episode-builder) :is(
  .builder-news__empty,.builder-artists__empty,.builder-memberships__empty
){
  border-color:var(--a2-border-strong);
  background:var(--studio-page-section,var(--a2-canvas));
  color:var(--a2-muted);
}
:is(.a2-page,.episode-builder) .studio-section-signature{
  --signature-accent:var(--a2-accent);
  border-color:color-mix(in srgb,var(--a2-accent) 34%,var(--a2-border));
  background:linear-gradient(135deg,color-mix(in srgb,var(--a2-accent) 14%,var(--a2-surface)),var(--a2-surface));
}
:is(.a2-page,.episode-builder) .studio-section-signature__icon{
  border-color:color-mix(in srgb,var(--a2-accent) 45%,var(--a2-border));
  background:color-mix(in srgb,var(--a2-accent) 18%,var(--a2-control))!important;
}
:is(.a2-page,.episode-builder) .studio-section-signature h2{color:var(--a2-text)!important}
:is(.a2-page,.episode-builder) .builder-memberships__manifesto{
  border-color:color-mix(in srgb,var(--a2-accent) 44%,var(--a2-border));
  background:
    radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--a2-accent) 28%,transparent),transparent 42%),
    linear-gradient(145deg,var(--a2-surface-raised),var(--a2-surface));
}
:is(.a2-page,.episode-builder) .builder-memberships__manifesto li{color:var(--a2-text-secondary)}
:is(.a2-page,.episode-builder) .builder-memberships__manifesto footer{border-color:var(--a2-border)}
:is(.a2-page,.episode-builder) .builder-memberships::before{
  background:linear-gradient(180deg,var(--a2-canvas),transparent);
}
:is(.a2-page,.episode-builder) .builder-memberships::after{
  background:linear-gradient(0deg,var(--a2-canvas),transparent);
}
:is(.a2-page,.episode-builder) .builder-membership.is-featured{
  border-color:color-mix(in srgb,var(--a2-accent) 64%,var(--a2-border));
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--a2-accent) 20%,transparent),transparent 42%),
    var(--a2-surface-raised);
}
:is(.a2-page,.episode-builder) .builder-membership__action a{
  background:linear-gradient(135deg,var(--a2-accent),var(--a2-secondary));
  color:var(--studio-color-on-accent,#fff);
}
:is(.a2-page,.episode-builder) .news-spectrum__filters button{
  border-color:var(--a2-border);
  background:var(--a2-control);
  color:var(--a2-muted);
}
:is(.a2-page,.episode-builder) .news-spectrum__filters button:is(:hover,.is-active){
  border-color:var(--a2-accent);
  background:color-mix(in srgb,var(--a2-accent) 18%,var(--a2-control));
  color:var(--a2-text);
}

/* Per-section responsive controls supplied by the visual builder. */
.a2-responsive-section .a2-section{
  padding-top:var(--a2-padding-desktop,38px);
  padding-bottom:var(--a2-padding-desktop,38px);
}
.a2-responsive-section .a2-heading h2{font-size:var(--a2-title-desktop,29px)}
.a2-responsive-section .a2-cards{
  grid-template-columns:repeat(var(--a2-columns-desktop,6),minmax(0,1fr));
  gap:var(--a2-gap-desktop,14px);
}
.a2-responsive-section :is(.a2-scroll,.a2-plans,.a2-people){gap:var(--a2-gap-desktop,14px)}
.a2-responsive-section .a2-hero{padding-top:0;padding-bottom:0}

/* Locale isolation: the public English builder is LTR without affecting admin. */
:is(.a2-page,.episode-builder)[dir="ltr"],
:is(.a2-page,.episode-builder)[dir="ltr"] :is(
  .builder-news,.news-spectrum,.builder-artists,.builder-memberships,.builder-campaigns
){direction:ltr;text-align:left}
:is(.a2-page,.episode-builder)[dir="ltr"] :is(
  .a2-hero-copy,.a2-heading,.a2-card-body,.a2-promo-copy,.a2-plan,.a2-text,
  .builder-news__heading,.builder-news__card>div,.builder-artists__heading,
  .builder-artist>div,.builder-memberships__heading,.builder-membership,
  .builder-campaigns,.builder-campaigns header,.builder-campaign,.builder-campaign__html,
  .news-spectrum-card__content,.news-spectrum__trends
){text-align:left}
:is(.a2-page,.episode-builder)[dir="ltr"] .a2-member-status{
  padding-right:0;
  padding-left:25px;
  border-right:0;
  border-left:1px solid var(--a2-border);
}
:is(.a2-page,.episode-builder)[dir="ltr"] .a2-member-dock nav{margin-right:0;margin-left:auto}

@media(max-width:1000px){
  .a2-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  .a2-plans{grid-template-columns:repeat(2,minmax(0,1fr))}
  .a2-people{grid-template-columns:repeat(5,minmax(0,1fr))}
  .a2-responsive-section .a2-section{
    padding-top:var(--a2-padding-tablet,32px);
    padding-bottom:var(--a2-padding-tablet,32px);
  }
  .a2-responsive-section .a2-heading h2{font-size:var(--a2-title-tablet,25px)}
  .a2-responsive-section .a2-cards{
    grid-template-columns:repeat(var(--a2-columns-tablet,4),minmax(0,1fr));
    gap:var(--a2-gap-tablet,12px);
  }
  .a2-responsive-section :is(.a2-scroll,.a2-plans,.a2-people){gap:var(--a2-gap-tablet,12px)}
}

@media(max-width:820px){
  :is(.a2-page,.episode-builder)[dir="ltr"] .a2-member-status{padding-left:14px}
}

@media(max-width:680px){
  .a2-empty-shell{padding-block:52px}
  .a2-hero{min-height:510px}
  .a2-hero-copy{padding-bottom:48px}
  .a2-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .a2-scroll .a2-card{width:145px;min-width:145px}
  .a2-promo{grid-template-columns:1fr}
  .a2-promo-copy{padding:28px}
  .a2-plans{grid-template-columns:1fr}
  .a2-people{grid-template-columns:repeat(3,minmax(0,1fr))}
  .a2-text{padding:28px}
  .a2-responsive-section .a2-section{
    padding-top:var(--a2-padding-mobile,24px);
    padding-bottom:var(--a2-padding-mobile,24px);
  }
  .a2-responsive-section .a2-heading h2{font-size:var(--a2-title-mobile,21px)}
  .a2-responsive-section .a2-cards{
    grid-template-columns:repeat(var(--a2-columns-mobile,2),minmax(0,1fr));
    gap:var(--a2-gap-mobile,10px);
  }
  .a2-responsive-section :is(.a2-scroll,.a2-plans,.a2-people){gap:var(--a2-gap-mobile,10px)}
  .a2-section.device-mobile{display:block!important}
  .a2-hero.device-mobile{display:flex!important}
  .a2-section:not(.device-mobile){display:none!important}
  .a2-responsive-section[data-section-background="glow"]::before{inset:5% 0}
}

@media(min-width:681px) and (max-width:1000px){
  .a2-section.device-tablet{display:block!important}
  .a2-hero.device-tablet{display:flex!important}
  .a2-section:not(.device-tablet){display:none!important}
}

@media(min-width:1001px){
  .a2-section.device-desktop{display:block!important}
  .a2-hero.device-desktop{display:flex!important}
  .a2-section:not(.device-desktop){display:none!important}
}

@media(max-width:520px){
  :is(.a2-page,.episode-builder)[dir="ltr"] .a2-member-status{margin-right:0;margin-left:auto}
}

@media(prefers-reduced-motion:reduce){
  :is(.a2-page,.episode-builder) *{scroll-behavior:auto!important}
  .a2-card{transition:none}
}
