/* Author Profile — shared template for the six Black Dunes Press pen names */
.ap-hero{padding-top:clamp(148px,20vh,206px);padding-bottom:clamp(48px,7vh,84px);text-align:center}
.ap-hero .crumb{margin-bottom:24px;display:flex;justify-content:center}
.ap-photo{width:clamp(148px,15vw,204px);height:clamp(148px,15vw,204px);border-radius:50%;overflow:hidden;margin:0 auto clamp(26px,4vh,38px);border:1px solid var(--line);box-shadow:0 30px 60px -28px rgba(0,0,0,.75)}
.ap-photo img{width:100%;height:100%;object-fit:cover;display:block}
.ap-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--ink-2)}
.ap-initials span{font-family:"Newsreader",serif;font-weight:400;font-size:clamp(36px,4.4vw,52px);color:var(--gold);letter-spacing:.02em}
.ap-hero .kicker{display:block;margin-bottom:16px}
.ap-hero h1{font-size:clamp(38px,6.2vw,80px);margin-bottom:.16em}
.ap-hero .role{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin-bottom:22px}
.ap-hero .hook{font-family:"Newsreader",serif;font-style:italic;font-size:clamp(18px,2vw,25px);color:var(--sand);max-width:46ch;margin:0 auto;line-height:1.35}

.ap-bio .shead{justify-content:center;text-align:center;flex-direction:column;align-items:center;gap:6px}
.ap-bio-prose{max-width:64ch;margin-inline:auto}
.ap-bio-prose p{color:var(--sand);font-size:clamp(16px,1.15vw,18px);line-height:1.85;font-weight:300}
.ap-bio-prose p+p{margin-top:1.25em}

.ap-books .shead{flex-direction:column;align-items:flex-start;gap:4px}
.ap-group+.ap-group{margin-top:clamp(34px,5vh,56px);padding-top:clamp(34px,5vh,56px);border-top:1px solid var(--line-2)}
.ap-group h3{font-family:"Newsreader",serif;font-weight:400;font-size:clamp(19px,2vw,24px);letter-spacing:-.01em;margin-bottom:18px;color:var(--bone)}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:20px}
.ap-card{border:1px solid var(--line);border-radius:var(--r);padding:20px 20px 22px;display:flex;flex-direction:column;gap:9px;transition:border-color .3s var(--ease)}
.ap-card:hover{border-color:var(--sand)}
.ap-card .cov{width:96px;aspect-ratio:2/3;border-radius:2px;overflow:hidden;margin-bottom:4px;background:var(--ink-2)}
.ap-card .cov img{width:100%;height:100%;object-fit:cover;display:block}
.ap-card .ph{width:96px;aspect-ratio:2/3;border-radius:2px;margin-bottom:4px;background:linear-gradient(160deg,var(--ink-3),var(--ink-2));border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:8px;text-align:center}
.ap-card .ph span{font-family:"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.06em;color:var(--stone)}
.ap-card .st{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.ap-card .st.live{color:var(--ember)}
.ap-card .st.soon{color:var(--stone)}
.ap-card h4{font-family:"Newsreader",serif;font-weight:400;font-size:18px;line-height:1.22;letter-spacing:-.01em}
.ap-card .nt{color:var(--stone);font-size:13px;line-height:1.5}
.ap-card .go{margin-top:auto;padding-top:6px;font-size:13.5px}
.ap-more{margin-top:clamp(20px,3vh,30px);color:var(--stone);font-size:14.5px;max-width:60ch}
.ap-more a{color:var(--bone);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
.ap-series-cta{margin-top:clamp(30px,4.5vh,44px)}

.ap-flag{max-width:58ch;margin:26px auto 0;font-family:"IBM Plex Mono",monospace;font-size:11.5px;line-height:1.6;letter-spacing:.02em;color:var(--stone);border:1px solid var(--line);border-radius:var(--r);padding:12px 18px}

.ap-close{border-top:1px solid var(--line);margin-top:clamp(30px,5vh,56px);padding-top:clamp(40px,6vh,64px);text-align:center}
.ap-close p{font-family:"Newsreader",serif;font-style:italic;font-size:clamp(18px,2vw,23px);color:var(--sand);max-width:46ch;margin:0 auto clamp(22px,3vh,28px)}
.ap-close .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media(max-width:700px){
  .ap-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .ap-card .cov,.ap-card .ph{width:76px}
}
