/* Anthrophonic artist profiles (anthrophonic-profiles.php). Mockup: vault Projects/Artist-Profile-Mockup.html.
   Hero = the AnthroSonus profile hero (anthrosonus bricks/musician-profile.php .asp-hero): full-width photo, scrim from
   the text side and from the bottom. Text side and crop come in as body classes (ap-ph-left/right, ap-ph-focus-*). */

/* ---- Hero (Bricks section .ap-phero, background = {featured_image}) ---- */
.ap .brxe-section.ap-phero{position:relative;overflow:hidden;isolation:isolate;min-height:min(74vh,720px);justify-content:flex-end;align-items:stretch;background-color:#2a2a2d;background-size:cover;background-repeat:no-repeat;background-position:center 30%}
.ap-ph-nophoto .ap .brxe-section.ap-phero,.ap-ph-nophoto .brxe-section.ap-phero{background-image:linear-gradient(160deg,#2a2a2d 0%,#0e0e10 70%)!important;min-height:min(46vh,440px)}
.ap-ph-focus-left .brxe-section.ap-phero{background-position:left 30%!important}
.ap-ph-focus-center .brxe-section.ap-phero{background-position:center 30%!important}
.ap-ph-focus-right .brxe-section.ap-phero{background-position:right 30%!important}
.brxe-section.ap-phero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(11,11,12,.85) 0%,rgba(11,11,12,.35) 60%,rgba(11,11,12,.1) 100%),linear-gradient(0deg,rgba(11,11,12,.9) 0%,rgba(11,11,12,0) 55%)}
.ap-ph-right .brxe-section.ap-phero::after{background:linear-gradient(270deg,rgba(11,11,12,.85) 0%,rgba(11,11,12,.35) 60%,rgba(11,11,12,.1) 100%),linear-gradient(0deg,rgba(11,11,12,.9) 0%,rgba(11,11,12,0) 55%)}
.ap .ap-phero-in{position:relative;width:100%;max-width:var(--max,1240px);margin-inline:auto;padding:clamp(6rem,14vw,10rem) var(--gut,1.5rem) clamp(2.5rem,7vw,5rem);display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}
.ap-ph-right .ap .ap-phero-in,.ap-ph-right .ap-phero-in{align-items:flex-end;text-align:right}
.ap .ap-phero .ap-phero-eb{margin:0;font-family:var(--mono);font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.ap .ap-phero .ap-phero-t{font-family:'Archivo Black',var(--grot);font-weight:400;text-transform:uppercase;font-size:clamp(2.6rem,8vw,6rem);line-height:.9;letter-spacing:-.02em;color:var(--paper);margin:0;max-width:14ch;text-wrap:balance}
.ap-phero-sub{display:flex;flex-direction:column;gap:.9rem;align-items:inherit}
.ap-phero-inst{margin:0;color:var(--paper);opacity:.85;font-size:1.0625rem}
.ap-phero-acts{display:flex;flex-wrap:wrap;gap:.5rem}
.ap-ph-right .ap-phero-acts,.ap-ph-right .ap-phero-links{justify-content:flex-end}
.ap .ap-phero-btn{display:inline-flex;align-items:center;gap:.45rem;font:500 .75rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.75rem .95rem;border:1px solid var(--paper);background:rgba(11,11,12,.35);color:var(--paper);text-decoration:none;cursor:pointer}
.ap .ap-phero-btn:hover,.ap .ap-phero-btn:focus-visible{background:var(--paper);color:var(--ink)}
.ap .ap-phero-btn.is-play{background:#E5341C;border-color:#E5341C;color:#fff}
.ap .ap-phero-btn.is-play:hover,.ap .ap-phero-btn.is-play:focus-visible{background:#fff;border-color:#fff;color:var(--ink)}
.ap-phero-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.875rem}
.ap .ap-phero-links a{color:var(--paper);opacity:.8;text-decoration:none;border-bottom:1px solid var(--rule-d)}
.ap .ap-phero-links a:hover{opacity:1;border-color:var(--paper)}
@media (max-width:767px){
  .ap .brxe-section.ap-phero{min-height:min(78vh,620px)}
  .ap-ph-right .ap-phero-in{align-items:flex-start!important;text-align:left!important}
  .ap-ph-right .brxe-section.ap-phero::after{background:linear-gradient(90deg,rgba(11,11,12,.85) 0%,rgba(11,11,12,.35) 60%,rgba(11,11,12,.1) 100%),linear-gradient(0deg,rgba(11,11,12,.9) 0%,rgba(11,11,12,0) 55%)}
  .ap-ph-right .ap-phero-acts,.ap-ph-right .ap-phero-links{justify-content:flex-start}
}

/* ---- Body ---- */
.aphp-pub{display:grid;gap:clamp(2.5rem,6vw,4rem);padding-block:clamp(2.5rem,6vw,4.5rem)}
.aphp-h{display:flex;justify-content:space-between;gap:1rem;font:500 .6875rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute-d);margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid var(--rule-d)}
.aphp-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem)}
.aphp-two.aphp-one{grid-template-columns:minmax(0,1fr)}
.aphp-main,.aphp-side{display:grid;gap:2.25rem;align-content:start}
.aphp-main .ap-prose{max-width:64ch}
.aphp-quotes{display:grid;gap:.75rem}
.aphp-q{margin:0;padding:1rem 1.15rem;background:var(--shell-2);border-left:3px solid var(--acc,#9146D8)}
.aphp-q p{margin:0 0 .5rem;font-size:1.125rem;line-height:1.4}
.aphp-q cite{font:500 .6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--mute-d)}
.aphp-q cite a{color:inherit}
.aphp-shows{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.aphp-shows li{display:grid;grid-template-columns:3.5rem 1fr auto;gap:.9rem;align-items:center;padding:.7rem .85rem;background:var(--shell-2);border:1px solid var(--rule-d-soft)}
.aphp-d{font:400 1.35rem/1 'Archivo Black',var(--grot);text-align:center}
.aphp-d small{display:block;margin-top:.2rem;font:500 .625rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute-d)}
.aphp-shows b{display:block;font-weight:700}
.aphp-v{display:block;font-size:.8125rem;color:var(--mute-d)}
.ap .aphp-tix{font:500 .6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--paper);color:var(--paper);padding:.45rem .6rem;text-decoration:none;white-space:nowrap}
.ap .aphp-tix:hover{background:var(--paper);color:var(--ink)}
.aphp-kit{display:grid;gap:.6rem}
.aphp-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.aphp-thumbs a{display:block;aspect-ratio:1;overflow:hidden;background:var(--shell-3)}
.aphp-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.aphp-kit p{margin:0;font-size:.8125rem;color:var(--mute-d)}
.aphp-rec{position:relative;display:flex}
.aphp-rec>.asp-rec{flex:1}
.aphp-recplay{position:absolute;top:calc(1rem + 8px);right:calc(1rem + 8px);width:44px;height:44px;border-radius:50%;border:1.5px solid #F4F3F1;background:rgba(11,11,12,.55);color:#F4F3F1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;padding:0 0 0 3px}
.aphp-recplay:hover,.aphp-recplay:focus-visible{background:#E5341C;border-color:#E5341C}
@media (max-width:900px){.aphp-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.aphp-grid.asp-recs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Members / Plays in */
.aphp-people{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.ap .aphp-people a{display:grid;grid-template-columns:3rem 1fr;gap:.8rem;align-items:center;padding:.5rem;background:var(--shell-2);border:1px solid var(--rule-d-soft);color:var(--paper);text-decoration:none}
.ap .aphp-people a:hover{border-color:var(--paper)}
.aphp-av{width:3rem;height:3rem;background:#2a2a2d center/cover no-repeat;display:block}
.aphp-people b{display:block;font-weight:700}

/* ---- Portal editor (paper ground, portal.css tokens) ---- */
.aphe{display:grid;gap:1.4rem}
.aphe-loading{color:var(--mute)}
.aphe-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem}
.aphe-top p{margin:0;color:var(--mute)}
.aphe-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--list);padding:.65rem .9rem;font-size:.875rem}
.aphe-bar.is-err{border-left-color:var(--warn)}
.aphe-bar .sp{margin-left:auto;display:flex;gap:.4rem}
.aphe-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.75rem}
.aphe fieldset{border:0;margin:0;padding:0;display:grid;gap:.85rem;align-content:start}
.aphe legend,.aphe .lg{font:500 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);padding-bottom:8px;border-bottom:1px solid var(--line);width:100%;margin:.6rem 0 .2rem}
.aphe label{display:grid;gap:.35rem;font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.aphe .hint{font:400 12px/1.4 Archivo,sans-serif;letter-spacing:0;text-transform:none;color:var(--mute)}
.aphe input,.aphe textarea,.aphe select{font:15px/1.5 Archivo,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:0;padding:.6rem .7rem;width:100%;letter-spacing:0;text-transform:none}
.aphe textarea{min-height:9rem;resize:vertical}
.aphe textarea#e-bio{min-height:16rem}
.aphe input:focus,.aphe textarea:focus,.aphe select:focus{outline:2px solid var(--ink);outline-offset:-1px}
.aphe .two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.aphe .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:.4rem;align-items:center}
.aphe .qrow{display:grid;gap:.4rem;padding:.7rem;background:var(--card);border:1px solid var(--line)}
.aphe .qrow .row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.4rem}
.aphe .x{border:1px solid var(--line);background:var(--card);color:var(--mute);width:2.2rem;height:2.4rem;cursor:pointer;font-size:1rem}
.aphe .x:hover{color:var(--warn);border-color:var(--warn)}
.aphe .add,.aphe .sm{justify-self:start;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:.5rem .7rem;cursor:pointer;text-decoration:none}
.aphe .add:hover,.aphe .sm:hover{background:var(--ink);color:var(--paper)}
.aphe .ph{display:grid;grid-template-columns:7.5rem 1fr;gap:.8rem;align-items:center;border:1px dashed var(--mute);background:var(--card);padding:.8rem}
.aphe .ph .pic{aspect-ratio:4/3;background:#1d1d20 center/cover no-repeat}
.aphe .ph p{margin:0 0 .4rem;font-size:13px;color:var(--mute)}
.aphe .ph b{color:var(--ink)}
.aphe .pps{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.6rem}
.aphe .pp{display:grid;gap:.35rem;background:var(--card);border:1px solid var(--line);padding:.45rem}
.aphe .pp .pic{aspect-ratio:1;background:#1d1d20 center/cover no-repeat}
.aphe .pp .tw{display:grid;grid-template-columns:1fr auto;gap:.3rem}
.aphe .pp input{padding:.35rem .5rem;font-size:13px}
.aphe .auto{background:var(--card);border:1px solid var(--line);padding:.75rem .9rem;font-size:14px}
.aphe .auto b{display:block}
.aphe .auto span{color:var(--mute);font-size:13px}
.aphe .save{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;background:var(--paper);padding:.8rem 0;border-top:1px solid var(--line)}
.aphe .go{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:0;padding:.85rem 1.2rem;cursor:pointer}
.aphe .go[disabled]{opacity:.5;cursor:default}
.aphe .save span{color:var(--mute);font-size:13px}
.aphe input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
@media (max-width:860px){.aphe-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.aphe .two,.aphe .row,.aphe .qrow .row2{grid-template-columns:minmax(0,1fr)}.aphe .ph{grid-template-columns:1fr}}
