/* ═══════════════════════════════════════════════════════════════
   APPLY — page-specific styles, split out of talents.css

   talents.css was 123KB and render-blocking on every page that loads
   it, but roughly three quarters of it only ever applied to
   /talents/apply.html. The roster page was paying for a form it does
   not have. This file is loaded by apply.html alone, after
   talents.css, so the cascade order is unchanged.

   Generated by splitting on selector prefix — .ap- .apw- .apl- .apa-
   .apr and the apply-only ids. A rule with any shared selector in it
   stays in talents.css.
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:820px){.ap-shoot-glow{display:none}}


/* ═══ SUBMISSIONS HERO v2 — split editorial + portfolio-cover mock ═══ */
.ap-hero2{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:center}
.ap-hero2-txt .tal-kicker{margin-bottom:20px}
.ap-hero2-txt .pf-name{font-size:clamp(2.6rem,6.4vw,5rem);margin:0}
.ap-hero2-sub{max-width:34ch;font-size:1.08rem;line-height:1.68;color:var(--mag-ink-2);margin:24px 0 0}
.ap-hero2-sub b{color:var(--mag-ink);font-weight:600}
.ap-hero2-chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:26px 0 0;padding:0}
.ap-hero2-chips li{font-family:var(--mag-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mag-ink-2);
  border:1px solid var(--mag-line-2);border-radius:20px;padding:7px 14px}
.ap-hero2-chips li::before{content:"✓";color:var(--mag-accent);margin-right:7px}
.ap-hero2-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:30px}
.ap-hero2-cta{display:inline-flex;align-items:center;font-family:var(--mag-mono);font-size:13px;letter-spacing:.06em;
  color:#0a0810;background:var(--mag-accent);border-radius:28px;padding:14px 26px;transition:.2s;white-space:nowrap}
.ap-hero2-cta:hover{filter:brightness(1.08);transform:translateY(-2px)}
.ap-hero2-note{font-family:var(--mag-mono);font-size:11px;letter-spacing:.05em;color:var(--mag-soft)}
/* the "this is what you get" cover mock */
.ap-hero2-mock{position:relative;justify-self:center;width:min(330px,78vw);aspect-ratio:3/4;animation:apFloat 7s ease-in-out infinite}
.ap-mock-card{position:absolute;inset:0;border-radius:14px;border:1px solid var(--mag-line-2);background:var(--mag-paper-2);overflow:hidden}
.ap-mock-back{transform:rotate(-6deg) translate(-16%,4%);padding:20px 18px;background:#100e15}
.ap-mock-lbl{font-family:var(--mag-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--mag-accent)}
.ap-mock-stats{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin:16px 0 18px}
.ap-mock-stats span{font-family:var(--mag-mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--mag-soft);display:flex;flex-direction:column;gap:3px;border-bottom:1px solid var(--mag-line);padding-bottom:6px}
.ap-mock-stats b{font-family:var(--mag-display);font-size:15px;color:var(--mag-ink);letter-spacing:0}
.ap-mock-rows{display:flex;flex-direction:column;gap:9px}
.ap-mock-rows i{height:1px;background:var(--mag-line);display:block}
.ap-mock-rows i:nth-child(2){width:80%}.ap-mock-rows i:nth-child(3){width:62%}
.ap-mock-front{z-index:2;display:flex;flex-direction:column;padding:16px 16px 18px;box-shadow:0 30px 60px -24px rgba(0,0,0,.7)}
.ap-mock-top{display:flex;justify-content:space-between;align-items:baseline}
.ap-mock-top b{font-family:var(--mag-display);font-size:15px;color:var(--mag-ink)}
.ap-mock-top span{font-family:var(--mag-mono);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--mag-soft)}
.ap-mock-photo{flex:1;margin:12px 0;border-radius:4px;position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 70% 10%,rgba(255,140,59,.22),transparent 55%),linear-gradient(155deg,#2c2532,#141019 70%)}
.ap-mock-wm{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-20deg);white-space:nowrap;
  font-family:var(--mag-display);font-weight:700;font-size:15px;letter-spacing:.04em;color:#fff;opacity:.1}
.ap-mock-disc{font-family:var(--mag-mono);font-size:8.5px;font-weight:600;letter-spacing:.14em;color:var(--mag-accent)}
.ap-mock-name{font-family:var(--mag-display);font-weight:600;font-size:28px;line-height:1;color:var(--mag-ink);margin:5px 0 6px}
.ap-mock-ed{font-family:var(--mag-mono);font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:var(--mag-soft)}
@keyframes apFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(prefers-reduced-motion:reduce){.ap-hero2-mock{animation:none}}
@media(max-width:820px){
  .ap-hero2{grid-template-columns:1fr;gap:40px}
  .ap-hero2-mock{order:-1;margin:0 auto;width:min(270px,66vw)}
  .ap-hero2-sub{max-width:none}}

/* interactive "how it works" — a timeline that walks itself; hover/tap to steer */
.ap-flow-intro{font-family:var(--mag-display);font-size:clamp(1.3rem,2.6vw,1.7rem);color:var(--mag-ink-2);max-width:30ch;margin:0 0 30px;line-height:1.35}
.ap-flow{position:relative;max-width:720px;display:flex;flex-direction:column;gap:4px}
.ap-flow::before{content:"";position:absolute;left:27px;top:36px;bottom:36px;width:2px;background:var(--mag-line);z-index:0}
.ap-flow-step{position:relative;z-index:1;display:grid;grid-template-columns:56px 1fr;gap:20px;align-items:start;
  background:none;border:0;text-align:left;width:100%;padding:14px 12px;cursor:pointer;border-radius:12px;transition:background .25s}
.ap-flow-step:hover{background:rgba(244,237,226,.03)}
.ap-flow-node{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;
  font-family:var(--mag-display);font-style:italic;font-weight:500;font-size:23px;color:var(--mag-soft);
  border:1.5px solid var(--mag-line-2);background:var(--mag-paper);transition:.35s cubic-bezier(.2,.8,.2,1)}
.ap-flow-title{display:block;font-family:var(--mag-display);font-weight:500;font-size:clamp(1.25rem,2.3vw,1.5rem);
  color:var(--mag-soft);transition:color .3s;padding-top:11px}
.ap-flow-detail{display:block;font-size:15px;line-height:1.62;color:var(--mag-soft);margin-top:10px;max-width:50ch}
/* enhanced by JS → accordion: only the open step shows its line, its node lights up */
.ap-flow.is-enhanced .ap-flow-detail{max-height:0;opacity:0;margin-top:0;overflow:hidden;
  transition:max-height .45s cubic-bezier(.2,.8,.2,1),opacity .3s,margin-top .3s}
.ap-flow.is-enhanced .ap-flow-step.is-open .ap-flow-detail{max-height:150px;opacity:1;margin-top:12px}
.ap-flow.is-enhanced .ap-flow-step.is-open .ap-flow-title{color:var(--mag-ink)}
.ap-flow.is-enhanced .ap-flow-step.is-open .ap-flow-node{color:#0a0810;background:var(--mag-accent);border-color:var(--mag-accent);
  box-shadow:0 0 0 6px rgba(255,140,59,.13);transform:scale(1.04)}
/* ── live portfolio panel: form left, sticky preview right (fills the empty space) ── */
.ap-layout{display:grid;grid-template-columns:1fr}
.ap-live-sticky{position:sticky;top:92px}
.ap-live-lbl{font-family:var(--mag-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mag-soft);margin:0 0 14px}
.ap-live-lbl b{color:var(--mag-accent);font-weight:500}
.ap-live-frame{border:1px solid var(--mag-line-2);border-radius:16px;padding:20px;
  background:linear-gradient(180deg,rgba(244,237,226,.035),transparent);box-shadow:0 30px 64px -32px rgba(0,0,0,.65)}
.ap-live .ap-preview{position:static}
.ap-live-meta{font-family:var(--mag-mono);font-size:11.5px;letter-spacing:.03em;color:var(--mag-ink-2);margin:16px 2px 0;text-align:center;line-height:1.5}
.ap-live-hint{font-size:11.5px;line-height:1.5;color:var(--mag-soft);margin:9px 4px 0;text-align:center}@media(min-width:901px){
  .ap-form{max-width:720px;margin:0 auto}}

/* ── full-width DESIGN STUDIO: preview + controls (left) | template gallery (right) ── */
.ap-studio{margin-top:46px;padding-top:38px;border-top:1px solid var(--mag-line)}
.ap-studio-grid{display:grid;grid-template-columns:1fr;gap:26px;margin-top:22px}
.ap-studio-side-inner{display:flex;flex-direction:column;gap:18px}
.ap-studio .ap-preview{position:static}
.ap-studio-preview{padding:16px}
.ap-pick-lbl{margin-top:0}
.ap-studio .ap-tpls{grid-template-columns:repeat(2,1fr)}@media(min-width:901px){
  .ap-studio-grid{grid-template-columns:372px minmax(0,1fr);gap:clamp(30px,3.5vw,54px)}
  .ap-studio-side-inner{position:sticky;top:88px}
  .ap-studio .ap-tpls{grid-template-columns:repeat(auto-fill,minmax(178px,1fr))}}
@media(max-width:900px){
  .ap-flow-step{grid-template-columns:48px 1fr;gap:16px;padding:12px 6px}
  .ap-flow-node{width:46px;height:46px;font-size:20px}
  .ap-flow::before{left:23px}}


/* ═══════════════════════════════════════════════════════════════
   REGISTRATION  —  /talents/apply.html
   ═══════════════════════════════════════════════════════════════ */
.ap-form{gap:0}
.ap-block{padding:30px 0;border-top:1px solid var(--mag-line)}
.ap-block:first-child{border-top:0;padding-top:4px}
.ap-step{font-family:var(--mag-display);font-weight:500;font-size:21px;color:var(--mag-ink);margin:0 0 6px}
.ap-step .ap-opt{font-family:var(--mag-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mag-soft);margin-left:10px;vertical-align:middle}
.ap-hint{font-size:14px;color:var(--mag-soft);margin:0 0 18px;line-height:1.6;max-width:56ch}

.ap-drop{border:1.5px dashed var(--mag-line-2);border-radius:12px;padding:34px 20px;text-align:center;cursor:pointer;
  transition:border-color .25s,background .25s;background:rgba(244,237,226,.015)}
.ap-drop:hover,.ap-drop:focus-visible,.ap-drop.drag{border-color:var(--mag-accent);background:rgba(255,140,59,.06);outline:none}
.ap-drop-in{display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none}
.ap-drop-ic{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:24px;color:var(--mag-accent);border:1px solid rgba(255,140,59,.4);margin-bottom:8px}
.ap-drop-in b{font-family:var(--mag-display);font-weight:500;font-size:19px;color:var(--mag-ink)}
.ap-drop-in small{font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mag-soft)}

.ap-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-top:16px}
.ap-thumb{position:relative;aspect-ratio:3/4;border-radius:9px;overflow:hidden;border:1px solid var(--mag-line);background:#16131c}
.ap-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ap-thumb .ap-rm{position:absolute;top:5px;right:5px;width:25px;height:25px;border-radius:50%;border:0;z-index:3;
  background:rgba(7,6,10,.72);color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ap-thumb .ap-rm:hover{background:var(--mag-accent);color:#0a0810}
.ap-thumb-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--mag-accent);transform-origin:left;transform:scaleX(0);transition:transform .2s}
/* reorder + cover picker */
.ap-thumb{cursor:grab}
.ap-thumb.dragging{opacity:.4}
.ap-cover-badge{position:absolute;top:6px;left:6px;z-index:2;font-family:var(--mag-mono);font-size:8px;letter-spacing:.14em;
  background:var(--mag-accent);color:#0a0810;padding:3px 7px;border-radius:3px;font-weight:600}
/* signature-line AI button */
.ap-tagrow{display:flex;gap:8px;align-items:stretch}
.ap-tagrow input{flex:1;min-width:0}
.ap-tag-ai{flex:0 0 auto;white-space:nowrap;cursor:pointer;background:none;color:var(--mag-accent);
  border:1px solid rgba(255,140,59,.42);border-radius:999px;padding:0 14px;
  font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;transition:background .18s,border-color .18s}
.ap-tag-ai:hover{background:rgba(255,140,59,.1);border-color:var(--mag-accent)}
.ap-tag-ai[disabled]{opacity:.6;cursor:default}
/* AI auto-sort "detecting" state */
.ap-detbadge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;white-space:nowrap;
  background:rgba(10,8,16,.82);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--mag-accent);
  font-family:var(--mag-mono);font-size:10px;font-weight:600;letter-spacing:.08em;padding:5px 11px;border-radius:999px;
  animation:apDetPulse 1.1s ease-in-out infinite}
@keyframes apDetPulse{0%,100%{opacity:.62}50%{opacity:1}}
.ap-detecting .ap-thumb-cat{opacity:.5}
.ap-sec-row>span em{font-style:normal;color:var(--mag-soft);opacity:.75;text-transform:none;letter-spacing:.02em}
.ap-thumb .ap-mkcover{position:absolute;bottom:6px;left:6px;z-index:2;font-family:var(--mag-mono);font-size:8.5px;letter-spacing:.06em;
  text-transform:uppercase;background:rgba(7,6,10,.74);color:var(--mag-ink);border:1px solid var(--mag-line-2);border-radius:20px;
  padding:5px 10px;cursor:pointer;opacity:0;transition:opacity .2s;width:auto;height:auto}
.ap-thumb:hover .ap-mkcover,.ap-thumb:focus-within .ap-mkcover{opacity:1}
/* touch devices never hover — show it, and keep it clear of the centred Adjust pill */
@media(hover:none){.ap-thumb .ap-mkcover{opacity:1}}

/* portfolio builder — controls + live preview */
.ap-build-grid{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start;margin:8px 0 24px}
.ap-controls{display:flex;flex-direction:column;gap:24px}
.ap-ctl>span{display:block;font-family:var(--mag-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mag-soft);margin-bottom:11px}
.ap-swatches,.ap-fonts,.ap-accents{display:flex;flex-wrap:wrap;gap:9px}
.ap-sw{width:42px;height:42px;border-radius:8px;border:1px solid var(--mag-line-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;padding:0}
.ap-sw i{width:15px;height:15px;border-radius:50%;display:block}
.ap-sw.on{outline:2px solid var(--mag-accent);outline-offset:2px}
.ap-fontchip{width:42px;height:42px;border-radius:8px;border:1px solid var(--mag-line-2);background:none;color:var(--mag-ink);font-size:16px;cursor:pointer;transition:.2s}
.ap-fontchip:hover{border-color:var(--mag-accent)}
.ap-fontchip.on{background:var(--mag-accent);color:#0a0810;border-color:var(--mag-accent)}
.ap-dot{width:30px;height:30px;border-radius:50%;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);transition:.2s;padding:0}
.ap-dot.on{outline:2px solid var(--mag-ink);outline-offset:2px}
.ap-preview{position:sticky;top:96px}
.ap-cover{aspect-ratio:3/4;border-radius:6px;overflow:hidden;padding:16px;display:flex;flex-direction:column;box-shadow:0 22px 54px rgba(0,0,0,.45)}
.ap-cv-top{display:flex;justify-content:space-between;align-items:baseline}
.ap-cv-top b{font-weight:700;font-size:15px;letter-spacing:.02em}
.ap-cv-top i{font-style:normal;font-size:7px;letter-spacing:.16em}
.ap-cv-img{position:relative;flex:1;margin:12px 0;overflow:hidden;border-radius:2px}
.ap-cv-img img{width:100%;height:100%;object-fit:cover;display:block}
.ap-cv-empty{display:flex;align-items:center;justify-content:center;border:1px dashed;font-size:11px;opacity:.55;letter-spacing:.06em}
.ap-cv-wm{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform:rotate(-20deg);
  font-size:15px;font-weight:700;letter-spacing:.1em;color:#fff;opacity:.16;pointer-events:none;white-space:nowrap}
.ap-cv-disc{font-size:7.5px;font-weight:700;letter-spacing:.12em}
.ap-cv-name{font-size:22px;font-weight:700;line-height:1;margin:5px 0 4px}
.ap-cv-ed{font-size:6.5px;letter-spacing:.14em}
.ap-cv-tag{font-size:8px;letter-spacing:.05em;margin-top:3px;font-style:italic}
.ap-full{display:block;margin-top:16px}
.ap-mini{display:block;margin-top:7px;font-size:12px;line-height:1.4;color:var(--mag-soft);opacity:.85}@media(max-width:760px){
  .ap-build-grid{grid-template-columns:1fr}
  .ap-preview{position:static;max-width:270px;margin:2px auto 0}
  .ap-controls{flex-direction:row;flex-wrap:wrap;gap:20px 28px}}

.ap-pdfname{margin-top:14px;font-family:var(--mag-mono);font-size:12.5px;letter-spacing:.02em;color:var(--mag-ink);display:flex;align-items:center;gap:12px}
.ap-pdfname[hidden]{display:none}
.ap-pdfname button{background:none;border:0;color:var(--mag-soft);cursor:pointer;font-size:18px;line-height:1}
.ap-pdfname button:hover{color:var(--mag-accent)}

/* AI writer */
.ap-ai-btn{font-family:var(--mag-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(255,140,59,.1);color:var(--mag-accent);border:1px solid rgba(255,140,59,.4);border-radius:30px;
  padding:10px 18px;cursor:pointer;margin-bottom:16px;transition:.25s}
.ap-ai-btn:hover{background:var(--mag-accent);color:#0a0810;border-color:var(--mag-accent)}
.ap-statspaste{border:1px solid var(--mag-line-2);border-radius:14px;padding:16px;margin-bottom:18px;background:rgba(244,237,226,.02)}
.ap-statspaste[hidden]{display:none}
.ap-statspaste textarea#apStatsRaw{width:100%;border:1px solid var(--mag-line-2);border-radius:9px;padding:12px;background:#0f0d14;color:var(--mag-ink);font-family:var(--mag-sans);font-size:14px;line-height:1.5;resize:vertical;min-height:64px}
.ap-statspaste textarea#apStatsRaw:focus{outline:none;border-color:var(--mag-accent)}
.ap-statspaste textarea#apStatsRaw::placeholder{color:rgba(244,237,226,.34)}
.ap-statspaste-row{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}
.ap-statspaste-go{font-family:var(--mag-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#0a0810;background:var(--mag-accent);border:1px solid var(--mag-accent);border-radius:22px;padding:10px 18px;cursor:pointer;transition:.2s}
.ap-statspaste-go:hover{filter:brightness(1.08);transform:translateY(-1px)}
.ap-ai{border:1px solid var(--mag-line-2);border-radius:14px;padding:24px;margin-bottom:18px;background:rgba(244,237,226,.02)}
.ap-ai[hidden]{display:none}
.ap-ai-row{margin-bottom:18px}
.ap-ai-row>span{display:block;font-family:var(--mag-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mag-soft);margin-bottom:10px}
.ap-chips{display:flex;flex-wrap:wrap;gap:8px}
.ap-chips button{font-family:var(--mag-sans);font-size:13px;color:var(--mag-ink);background:none;
  border:1px solid var(--mag-line-2);border-radius:30px;padding:8px 15px;cursor:pointer;transition:.2s}
.ap-chips button:hover{border-color:var(--mag-accent);color:var(--mag-accent)}
.ap-chips button.on{background:var(--mag-accent);border-color:var(--mag-accent);color:#0a0810}
.ap-ai-proud{margin-bottom:20px}
.ap-ai-go{margin-top:2px}
#apAbout{min-height:128px}

.ap-tail{max-width:640px;margin:0 auto;text-align:center;padding-top:8px}
.ap-tail>*{margin-left:auto;margin-right:auto}
.ap-tail-lead{font-size:15px;line-height:1.6;color:var(--mag-ink-2);max-width:44ch;margin:0 auto}
.ap-tail-lead b{color:var(--mag-ink);font-weight:600}
.ap-submit{display:block;width:fit-content;min-width:min(320px,100%);margin:22px auto 6px;padding:18px 44px;font-size:12px;letter-spacing:.16em}
.ap-tail .tal-form-note{margin-top:16px}
.ap-tail .ap-wa{margin-top:26px}

/* studio → hint that the download lives at the very bottom */
.ap-dl-hint{font-size:13px;line-height:1.55;color:var(--mag-soft);margin:4px 0 0;padding-top:14px;border-top:1px solid var(--mag-line)}
.ap-dl-hint b{color:var(--mag-ink-2);font-weight:600}

/* ③ DOWNLOAD — the parting gift, last */
.ap-download{max-width:640px;margin:52px auto 0;text-align:center;padding:34px 24px 6px;border-top:1px solid var(--mag-line)}
.ap-dl-kick{font-family:var(--mag-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mag-accent);margin:0 0 8px}
.ap-dl-h{font-family:var(--mag-display);font-weight:500;font-size:24px;color:var(--mag-ink);margin:0 0 8px}
.ap-dl-say{font-size:13.5px;line-height:1.6;color:var(--mag-soft);max-width:46ch;margin:0 auto 20px}
.ap-dl-say b{color:var(--mag-ink)}
.ap-dl-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ap-download .ap-dl,.ap-dl-wa{display:inline-flex;align-items:center;justify-content:center;width:auto}
.ap-dl-wa{gap:8px}
.ap-download .ap-dl[disabled]{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}
.ap-dl-hintline{font-size:12px;color:var(--mag-soft);margin:16px auto 0;max-width:42ch;line-height:1.5}
.ap-dl-hintline.on{color:var(--mag-accent)}

/* ══ POSTER STUDIO ══ */
.ap-posters{margin:44px 0 8px;padding-top:30px;border-top:1px solid var(--mag-line)}
.ap-posters[hidden]{display:none}
.ap-poster-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:34px;align-items:start;margin-top:20px}
.ap-poster-controls{min-width:0}
.ap-poster-controls .ap-pick-lbl{font-family:var(--mag-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mag-soft);margin:0 0 10px}
.ap-poster-controls .ap-pick-lbl:not(:first-child){margin-top:22px}
.ap-poster-tpls{display:flex;flex-direction:column;gap:20px}
.ap-pt-group{display:flex;flex-direction:column;gap:11px}
.ap-pt-cat{display:flex;align-items:center;gap:9px;margin:0;font-family:var(--mag-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mag-accent)}
.ap-pt-cat::before{content:"";width:15px;height:2px;background:var(--mag-accent);flex:0 0 auto}
.ap-pt-cat span{font-weight:400;letter-spacing:.01em;text-transform:none;color:var(--mag-soft);font-size:10px}
.ap-pt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}
.ap-pt{display:flex;flex-direction:column;gap:6px;padding:0;background:none;border:0;cursor:pointer}
.ap-pt-cv{width:100%;aspect-ratio:4/5;border-radius:8px;border:1.5px solid var(--mag-line);background:#0a0810;display:block}
.ap-pt.on .ap-pt-cv{border-color:var(--mag-accent);box-shadow:0 0 0 2px rgba(255,140,59,.28)}
.ap-pt span{font-family:var(--mag-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--mag-soft);text-align:center}
.ap-pt.on span{color:var(--mag-ink)}
.ap-poster-photos{display:flex;gap:8px;flex-wrap:wrap}
.ap-pph{width:52px;aspect-ratio:4/5;border-radius:6px;overflow:hidden;border:1.5px solid var(--mag-line);background:none;padding:0;cursor:pointer}
.ap-pph img{width:100%;height:100%;object-fit:cover;display:block}
.ap-pph.on{border-color:var(--mag-accent);box-shadow:0 0 0 2px rgba(255,140,59,.28)}
.ap-segs{display:flex;gap:8px;flex-wrap:wrap}
.ap-seg{font-family:var(--mag-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mag-soft);background:none;border:1px solid var(--mag-line-2);border-radius:999px;padding:9px 16px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.ap-seg:hover{border-color:var(--mag-accent);color:var(--mag-accent)}
.ap-seg.on{background:var(--mag-accent);border-color:var(--mag-accent);color:#0a0810}
.ap-poster-stage{position:sticky;top:88px}
.ap-poster-preview{border-radius:12px;overflow:hidden;background:#0a0810;border:1px solid var(--mag-line)}
.ap-poster-preview canvas{width:100%;height:auto;display:block}
.ap-poster-actions{display:flex;gap:10px;margin-top:14px}
.ap-poster-actions .btn{flex:1 1 auto;justify-content:center}@media(max-width:820px){.ap-poster-wrap{grid-template-columns:1fr}.ap-poster-stage{position:static;max-width:360px;margin:0 auto}}
@media(max-width:520px){.ap-dl-actions{flex-direction:column}.ap-dl-actions .ap-dl,.ap-dl-wa{width:100%}}


/* private "more about you" — sub-label for the preference chips */
.ap-sub-lbl{display:block;font-family:var(--mag-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mag-soft);margin-bottom:13px}
.ap-sub-lbl .ap-opt{margin-left:8px}
.ap-full .ap-chips{margin-bottom:2px}

/* age gate + guardian consent */
.ap-age{margin-top:18px}
.ap-agebtns{display:flex;gap:8px;flex-wrap:wrap}
.ap-agebtns button{font-family:var(--mag-sans);font-size:13px;color:var(--mag-ink);background:none;border:1px solid var(--mag-line-2);border-radius:999px;padding:9px 18px;cursor:pointer;transition:border-color .18s,color .18s,background .18s}
.ap-agebtns button:hover{border-color:var(--mag-accent);color:var(--mag-accent)}
.ap-agebtns button.on{background:var(--mag-accent);border-color:var(--mag-accent);color:#0a0810}
.ap-guardian{margin-top:16px;padding:16px 18px;border:1px solid rgba(255,140,59,.32);border-radius:12px;background:rgba(255,140,59,.05)}
.ap-guardian[hidden]{display:none}
.ap-guard-note{font-size:13px;line-height:1.55;color:var(--mag-ink-2);margin:0 0 14px}
.ap-consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-family:var(--mag-sans);font-size:13px;letter-spacing:0;text-transform:none;color:var(--mag-soft);line-height:1.45;cursor:pointer;margin-top:6px}
.ap-consent input{appearance:auto;-webkit-appearance:auto;width:18px;height:18px;flex:0 0 auto;margin:1px 0 0;padding:0;border:0;accent-color:var(--mag-accent);cursor:pointer}
.ap-consent b{color:var(--mag-accent);font-weight:600}
.ap-progress{font-family:var(--mag-mono);font-size:12px;letter-spacing:.05em;color:var(--mag-accent);margin:16px 0 0}
.ap-progress[hidden]{display:none}
.ap-wa{margin-top:28px;padding-top:22px;border-top:1px solid var(--mag-line);font-size:14px;color:var(--mag-soft)}
.ap-wa a{color:var(--mag-accent);border-bottom:1px solid rgba(255,140,59,.4);padding-bottom:1px}
.ap-wa a:hover{border-color:var(--mag-accent)}
#apOkWa[hidden]{display:none}@media(max-width:560px){
  .ap-block{padding:26px 0}
  .ap-thumbs{grid-template-columns:repeat(3,1fr)}
  .ap-ai{padding:18px}}


/* ── builder v2: stats, AI extras, crop editor ── */
.ap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 20px}
.ap-ai-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:2px}
.ap-ai-regen{font-family:var(--mag-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:none;
  border:1px solid var(--mag-line-2);color:var(--mag-soft);border-radius:30px;padding:9px 15px;cursor:pointer;transition:.2s}
.ap-ai-regen:hover{border-color:var(--mag-accent);color:var(--mag-accent)}
.ap-ai-regen[hidden]{display:none}
.ap-edit-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;pointer-events:none;
  font-family:var(--mag-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff;
  background:rgba(7,6,10,.66);padding:5px 11px;border-radius:20px;opacity:.92;transition:opacity .2s;white-space:nowrap}
.ap-thumb:hover .ap-edit-hint{opacity:1}
.ap-thumb img{cursor:pointer}
.ap-crop{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(7,6,10,.93)}
.ap-crop[hidden]{display:none}
.ap-crop-mode{flex:1;font-family:var(--mag-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mag-soft);
  background:none;border:1px solid var(--mag-line-2);border-radius:8px;padding:9px 6px;cursor:pointer;transition:.2s}
.ap-crop-mode:hover{border-color:var(--mag-accent);color:var(--mag-ink)}
.ap-crop-mode.on{background:var(--mag-accent);border-color:var(--mag-accent);color:#0a0810}
.ap-crop-frame:active{cursor:grabbing}
.ap-crop-frame img{position:absolute;top:0;left:0;max-width:none;user-select:none;-webkit-user-drag:none}
#apCropBlur{width:100%;height:100%;object-fit:cover;filter:blur(10px) brightness(.6);transform:scale(1.12);z-index:0;display:none}
#apCropImg{z-index:1}
.ap-crop-btns button:not(.btn){font-family:var(--mag-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  background:none;border:1px solid var(--mag-line-2);color:var(--mag-soft);border-radius:30px;padding:11px 15px;cursor:pointer;transition:.2s}
.ap-crop-btns button:not(.btn):hover{border-color:var(--mag-accent);color:var(--mag-accent)}@media(max-width:640px){.ap-stats{grid-template-columns:repeat(2,1fr)}}


/* ── category-wise uploads + thumbnail restructure ── */
.ap-cats-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:0 0 16px}
.ap-cats-row>span{font-family:var(--mag-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mag-soft)}
.ap-cats{display:flex;flex-wrap:wrap;gap:7px}
.ap-catchip{font-family:var(--mag-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mag-soft);
  background:none;border:1px solid var(--mag-line-2);border-radius:30px;padding:7px 13px;cursor:pointer;transition:.2s}
.ap-catchip:hover{color:var(--mag-ink)}
.ap-catchip.on{background:var(--mag-accent);border-color:var(--mag-accent);color:#0a0810}
/* ── cover / hero slot ── */
.ap-cover-slot{display:flex;gap:16px;align-items:center;margin:4px 0 22px;padding:14px 16px;border:1px solid var(--mag-line-2);border-radius:14px;background:linear-gradient(120deg,rgba(255,140,59,.07),transparent 70%)}
.ap-cover-pic{flex:0 0 auto;width:76px;aspect-ratio:4/5;border-radius:9px;overflow:hidden;background:#16131c;display:flex;align-items:center;justify-content:center;border:1px solid var(--mag-line-2)}
.ap-cover-pic.has{border-color:var(--mag-accent);box-shadow:0 0 0 2px rgba(255,140,59,.28)}
.ap-cover-pic img{width:100%;height:100%;object-fit:cover;display:block}
.ap-cover-star{color:var(--mag-accent);font-size:24px;opacity:.85}
.ap-cover-say b{display:block;font-family:var(--mag-display);font-size:16px;color:var(--mag-ink);margin-bottom:5px}
.ap-cover-say span{display:block;font-size:12.5px;line-height:1.52;color:var(--mag-soft)}
.ap-cover-say em{font-style:normal;color:var(--mag-ink-2)}
/* ── section tabs + tip ── */
.ap-sec-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:9px}
.ap-sec-row>span{font-family:var(--mag-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mag-soft)}
.ap-sec-tabs{display:flex;flex-wrap:wrap;gap:7px}
.ap-sec-tip{font-size:12.5px;line-height:1.5;color:var(--mag-soft);margin:0 0 14px;min-height:1.2em}
.ap-sec-tip b{color:var(--mag-ink-2);font-weight:600}
/* ── casting-ready strength meter ── */
.ap-strength{margin:18px 0 2px}
.ap-strength[hidden]{display:none}
.ap-str-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.ap-str-head b{font-family:var(--mag-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mag-ink)}
.ap-str-head span{font-size:11.5px;color:var(--mag-soft)}
.ap-str-bar{height:5px;border-radius:3px;background:var(--mag-line);overflow:hidden}
.ap-str-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--mag-accent),#ffc9a3);transition:width .45s ease}
.ap-str-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.ap-str-chip{font-family:var(--mag-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--mag-soft);border:1px solid var(--mag-line);border-radius:14px;padding:4px 10px}
.ap-str-chip.on{color:var(--mag-accent);border-color:rgba(255,140,59,.4);background:rgba(255,140,59,.06)}

/* ══ BOOK A SHOOT — the conversion moment ══ */
.ap-shoot{position:relative;margin:56px 0 8px;padding:38px clamp(20px,4vw,46px);
  border:1px solid rgba(255,140,59,.32);border-radius:22px;overflow:hidden;
  background:
    radial-gradient(120% 90% at 100% 0%,rgba(255,140,59,.14),transparent 55%),
    linear-gradient(180deg,#100c14,#0a0810)}
.ap-shoot-glow{position:absolute;top:-40%;right:-10%;width:60%;height:120%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,140,59,.14),transparent 66%)}
.ap-shoot-grid{position:relative;display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:clamp(26px,4vw,52px);align-items:center}
/* left: before/after contrast frames */
.ap-shoot-visual{display:flex;align-items:center;justify-content:center;gap:14px}
.ap-sv-frame{position:relative;margin:0;aspect-ratio:4/5;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:12px}
.ap-sv-phone{flex:0 0 40%;background:linear-gradient(155deg,#34303a,#1c1a22);filter:grayscale(.7) contrast(.92) brightness(.82);opacity:.9;border:1px solid var(--mag-line)}
.ap-sv-phone::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 45% at 50% 34%,rgba(255,255,255,.06),transparent 70%)}
.ap-sv-pro{flex:0 0 56%;background:#16131c center/cover no-repeat;background-image:url('/assets/studio-cover.svg');
  border:1.5px solid var(--mag-accent);box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 0 4px rgba(255,140,59,.14)}
.ap-sv-tag{position:relative;font-family:var(--mag-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-weight:600}
.ap-sv-note{position:relative;font-size:10.5px;line-height:1.3;color:rgba(255,255,255,.72);margin-top:3px}
.ap-sv-pro .ap-sv-note{color:rgba(255,233,207,.92)}
.ap-sv-wm{position:absolute;top:9px;left:0;right:0;text-align:center;font-family:var(--mag-display);font-size:11px;letter-spacing:.28em;color:rgba(255,255,255,.5)}
.ap-sv-arrow{flex:0 0 auto;font-size:20px;color:var(--mag-accent);opacity:.85}
/* right: the pitch */
.ap-shoot-kick{font-family:var(--mag-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mag-accent);margin:0 0 10px}
.ap-shoot-h{font-family:var(--mag-display);font-weight:600;font-size:clamp(26px,3.4vw,38px);line-height:1.08;color:var(--mag-ink);margin:0 0 14px}
.ap-shoot-h em{font-style:italic;color:var(--mag-accent)}
.ap-shoot-lead{font-size:15px;line-height:1.62;color:var(--mag-ink-2);margin:0 0 18px;max-width:56ch}
.ap-shoot-lead b{color:var(--mag-ink);font-weight:600}
.ap-shoot-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px}
.ap-shoot-list li{position:relative;padding-left:26px;font-size:14px;line-height:1.5;color:var(--mag-ink-2)}
.ap-shoot-list li::before{content:"✦";position:absolute;left:0;top:0;color:var(--mag-accent);font-size:13px}
.ap-shoot-scarce{font-size:13.5px;line-height:1.6;color:var(--mag-soft);font-style:italic;margin:0 0 22px;max-width:54ch}
.ap-shoot-cta{display:inline-flex;align-items:center;gap:8px;font-family:var(--mag-mono);font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
  color:#0a0810;background:linear-gradient(135deg,#ffb271,var(--mag-accent));border-radius:999px;padding:16px 38px;text-decoration:none;
  box-shadow:0 12px 30px rgba(255,140,59,.32);transition:transform .18s ease,box-shadow .18s ease}
.ap-shoot-cta:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(255,140,59,.44)}
.ap-shoot-fine{font-family:var(--mag-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mag-soft);margin:12px 0 0}
.ap-shoot-soft{font-size:12.5px;color:var(--mag-soft);margin:16px 0 0;padding-top:14px;border-top:1px solid var(--mag-line)}@media(max-width:720px){
  .ap-shoot{padding:30px 20px}
  .ap-shoot-grid{grid-template-columns:1fr;gap:26px}
  .ap-shoot-visual{max-width:300px;margin:0 auto}
  .ap-shoot-cta{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.ap-shoot-cta{transition:none}}


/* ══ videos: link + upload ══ */
.ap-vid-link{display:flex;gap:8px;margin:0 0 12px}
.ap-vid-link input{flex:1 1 auto;min-width:0;font-size:14px;color:var(--mag-ink);background:rgba(244,237,226,.04);border:1px solid var(--mag-line-2);border-radius:9px;padding:12px 14px}
.ap-vid-link input::placeholder{color:var(--mag-soft)}
.ap-vid-link input:focus{outline:none;border-color:var(--mag-accent)}
.ap-vid-link input.ap-vu-bad{border-color:#e5533d;animation:apShake .32s}
@keyframes apShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ap-vid-link button{flex:0 0 auto;font-family:var(--mag-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:#0a0810;background:var(--mag-accent);border:0;border-radius:9px;padding:0 18px;cursor:pointer;transition:filter .15s ease}
.ap-vid-link button:hover{filter:brightness(1.08)}
.ap-vid-or{display:flex;align-items:center;gap:12px;margin:0 0 12px;color:var(--mag-soft);font-family:var(--mag-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.ap-vid-or::before,.ap-vid-or::after{content:"";flex:1;height:1px;background:var(--mag-line)}
.ap-vids{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.ap-vid{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--mag-line-2);border-radius:10px;background:rgba(244,237,226,.03)}
.ap-vid.is-link{border-style:dashed}
.ap-vid-ic{flex:0 0 auto;font-size:12px;color:var(--mag-accent)}
.ap-vid-nm{flex:1 1 auto;min-width:0;font-size:13px;color:var(--mag-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ap-vid-sz{flex:0 0 auto;font-family:var(--mag-mono);font-size:10px;color:var(--mag-soft);white-space:nowrap}
.ap-vid-sz.big{color:var(--mag-accent)}
.ap-vid-rm{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:1px solid var(--mag-line-2);background:none;color:var(--mag-soft);cursor:pointer;font-size:15px;line-height:1;padding:0}
.ap-vid-rm:hover{color:var(--mag-ink);border-color:var(--mag-soft)}

.ap-thumb{display:flex;flex-direction:column;gap:6px;aspect-ratio:auto;overflow:visible;border:0;background:none;border-radius:0}
.ap-thumb-media{position:relative;aspect-ratio:4/5;border-radius:9px;overflow:hidden;border:1px solid var(--mag-line);background:#16131c;cursor:grab}
.ap-thumb-media:active{cursor:grabbing}
.ap-thumb-cat{width:100%;font-family:var(--mag-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--mag-ink);background:rgba(244,237,226,.04);border:1px solid var(--mag-line-2);border-radius:6px;padding:6px 8px;
  color-scheme:dark;cursor:pointer}
.ap-thumb-cat:focus{outline:none;border-color:var(--mag-accent)}
.ap-thumb-cat option{background:var(--mag-paper-2);color:var(--mag-ink)}

/* ── template selector + preview variants ── */
/* ── template chooser: visual "pick a design" cards ── */
.ap-pick{margin:2px 0 24px}
.ap-pick-lbl{font-family:var(--mag-mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mag-ink);margin:0 0 14px}
.ap-pick-lbl span{color:var(--mag-soft);text-transform:none;letter-spacing:.01em;font-weight:400}
.ap-tpls{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ap-tpl{display:flex;flex-direction:column;gap:9px;text-align:left;color:var(--mag-soft);container-type:inline-size;
  background:rgba(244,237,226,.02);border:1px solid var(--mag-line-2);border-radius:12px;padding:10px;cursor:pointer;transition:.22s}
.ap-tpl:hover{color:var(--mag-ink);border-color:rgba(255,140,59,.5);transform:translateY(-2px)}
.ap-tpl.on{border-color:var(--mag-accent);background:rgba(255,140,59,.07);box-shadow:inset 0 0 0 1px var(--mag-accent)}
.ap-tpl b{font-family:var(--mag-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--mag-ink)}
.ap-tpl.on b{color:var(--mag-accent)}
.ap-tpl i{font-style:normal;font-size:10px;letter-spacing:.01em;opacity:.72;line-height:1.32}
/* caption under the mini-cover */
.ap-tpl-cap{display:flex;flex-direction:column;gap:2px}@media(max-width:760px){ .ap-tpls{grid-template-columns:repeat(2,1fr);gap:10px}}

.ap-looks{display:flex;flex-wrap:wrap;gap:8px}
.ap-look{font-family:var(--mag-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mag-soft);
  background:none;border:1px solid var(--mag-line-2);border-radius:20px;padding:7px 14px;cursor:pointer;transition:.2s}
.ap-look:hover{color:var(--mag-ink);border-color:var(--mag-accent)}
.ap-look.on{background:var(--mag-accent);border-color:var(--mag-accent);color:#0a0810}
.ap-surprise{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;font-family:var(--mag-mono);font-size:12px;
  letter-spacing:.05em;color:var(--mag-ink);background:linear-gradient(120deg,rgba(255,140,59,.16),rgba(255,140,59,.04));
  border:1px solid var(--mag-accent);border-radius:24px;padding:11px 20px;cursor:pointer;transition:.2s}
.ap-surprise:hover{background:var(--mag-accent);color:#0a0810;transform:translateY(-1px)}
.ap-surprise:active{transform:translateY(0)}
.ap-cv-bleed{padding:0;position:relative;overflow:hidden}
.ap-cv-full{position:absolute;inset:0}
.ap-cv-full img{width:100%;height:100%;object-fit:cover;display:block}
.ap-cv-overlay{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(transparent,rgba(8,6,12,.78) 55%)}
.ap-cv-min{align-items:center;text-align:center}
.ap-cv-minimg{width:70%;aspect-ratio:4/5;flex:0 0 auto;margin:14px auto 10px;position:relative;overflow:hidden;border-radius:2px}
.ap-cv-minimg img{width:100%;height:100%;object-fit:cover;display:block}
.ap-cv-min .ap-cv-name{margin-top:6px}

/* studio: control sub-labels */
.ap-ctl>span em{font-style:normal;display:block;font-size:9px;letter-spacing:.04em;text-transform:none;color:var(--mag-soft);opacity:.8;margin-top:2px}

/* "say it clearly" polish row */
.ap-polish-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.ap-polish-row .ap-mini{margin:0}

/* crop editor: rotate + tone adjustments */
  border-radius:999px;padding:7px 14px;font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}

/* stats paste: visible result feedback */
.ap-statsmsg{font-family:var(--mag-mono);font-size:11.5px;letter-spacing:.03em;font-weight:600}
.ap-statsmsg.ok{color:#7bd88f}
.ap-statsmsg.warn{color:#ffa07a}
@keyframes apFilled{
  0%{background:rgba(255,140,59,.22);border-color:var(--mag-accent)}
  100%{background:transparent;border-color:transparent}
}
.ap-stats label.ap-just-filled{animation:apFilled 2.2s ease-out;border-radius:8px;border:1px solid transparent;
  margin:-4px -8px;padding:4px 8px}
.ap-stats label.ap-just-filled input{color:var(--mag-ink)}@media(prefers-reduced-motion:reduce){.ap-stats label.ap-just-filled{animation:none}}


/* ══ photo editor — compact, never taller than the screen, Save always reachable ══ */
.ap-crop-box{display:flex;flex-direction:column;gap:10px;width:min(400px,100%);max-height:94dvh;
  background:var(--mag-paper-2);border:1px solid var(--mag-line-2);border-radius:16px;padding:16px 16px 14px}
.ap-crop-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto}
.ap-crop-title{font-family:var(--mag-display);font-size:19px;color:var(--mag-ink);margin:0}
.ap-crop-x{background:none;border:0;color:var(--mag-soft);font-size:17px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:6px}
.ap-crop-x:hover{color:var(--mag-ink);background:rgba(255,255,255,.06)}
/* toolbar: framing segmented control + rotate */
.ap-crop-tools{display:flex;align-items:stretch;gap:8px;flex:0 0 auto}
.ap-crop-seg{display:flex;flex:1;gap:4px;padding:3px;border:1px solid var(--mag-line);border-radius:999px}
.ap-crop-mode{flex:1;cursor:pointer;background:none;border:0;border-radius:999px;padding:7px 6px;
  font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--mag-soft)}
.ap-crop-mode:hover{color:var(--mag-ink)}
.ap-crop-mode.on{background:var(--mag-accent);color:#0a0810;font-weight:600}
.ap-crop-rot{flex:0 0 auto;width:40px;cursor:pointer;background:none;color:var(--mag-ink);
  border:1px solid var(--mag-line);border-radius:999px;font-size:16px;line-height:1}
.ap-crop-rot:hover{border-color:var(--mag-accent);color:var(--mag-accent)}
.ap-crop-rot:active{transform:rotate(90deg);transition:transform .18s}
/* the frame takes whatever height is left */
/* stays locked to 4:5 (the portfolio frame) while shrinking to fit the screen */
.ap-crop-frame{position:relative;flex:0 0 auto;height:min(50dvh,400px);width:auto;aspect-ratio:4/5;max-width:100%;
  align-self:center;overflow:hidden;border-radius:8px;background:#000;cursor:grab;touch-action:none}
.ap-crop-note{font-family:var(--mag-sans);font-size:11px;line-height:1.35;color:var(--mag-soft);margin:0;flex:0 0 auto}
/* sliders: one consistent row each, with a live value */
.ap-crop-sliders{display:flex;flex-direction:column;gap:7px;flex:0 0 auto}
.ap-crop-sliders label{display:grid;grid-template-columns:74px 1fr 38px;align-items:center;gap:10px;
  font-family:var(--mag-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mag-soft)}
.ap-crop-sliders input[type=range]{width:100%;accent-color:var(--mag-accent);margin:0}
.ap-crop-sliders output{font-size:10px;text-align:right;color:var(--mag-ink);font-variant-numeric:tabular-nums}
.ap-crop-btns{display:flex;gap:10px;align-items:center;flex:0 0 auto;padding-top:2px}
.ap-crop-btns button:not(.btn){font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase}
.ap-crop-btns .btn{margin-left:auto;padding:11px 20px}@media(max-width:420px){
  .ap-crop{padding:10px}
  .ap-crop-sliders label{grid-template-columns:64px 1fr 34px;gap:8px}}


/* WhatsApp drop: live progress / result */
.ap-dl-wamsg{margin:12px 0 0;font-family:var(--mag-mono);font-size:12px;letter-spacing:.02em;color:var(--mag-accent);line-height:1.5}
.ap-dl-wamsg a{color:var(--mag-accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ── About: bio style picker + the field itself ── */
#apAbout{width:100%;min-height:120px;resize:vertical}
.ap-bio-lbl{margin:18px 0 10px;font-family:var(--mag-mono);font-size:10px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mag-ink)}
.ap-bio-lbl span{color:var(--mag-soft);font-weight:400;letter-spacing:.02em;text-transform:none}
.ap-bio-styles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:14px}
.ap-bio-styles button{display:flex;flex-direction:column;gap:3px;text-align:left;cursor:pointer;
  background:rgba(244,237,226,.03);border:1px solid var(--mag-line);border-radius:11px;padding:11px 13px;transition:border-color .18s,background .18s}
.ap-bio-styles button:hover{border-color:var(--mag-accent);background:rgba(255,140,59,.06)}
.ap-bio-styles button.on{border-color:var(--mag-accent);background:rgba(255,140,59,.1)}
.ap-bio-styles b{font-family:var(--mag-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mag-ink)}
.ap-bio-styles i{font-style:normal;font-family:var(--mag-sans);font-size:11.5px;color:var(--mag-soft);line-height:1.35}
.ap-bio-styles button.busy{opacity:.6;cursor:default}

/* ── edit link banner ── */
.ap-editbar{margin:0 0 22px;padding:14px 18px;border-radius:12px;border:1px solid var(--mag-line-2);
  background:rgba(244,237,226,.04);font-family:var(--mag-sans);font-size:13.5px;line-height:1.55;color:var(--mag-soft)}
.ap-editbar b{color:var(--mag-ink)}
.ap-editbar.ok{border-color:rgba(123,216,143,.4);background:rgba(123,216,143,.07)}
.ap-editbar.warn{border-color:rgba(255,160,122,.45);background:rgba(255,160,122,.07);color:#ffc7ad}
.ap-editbar-link{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.ap-editbar-link input{flex:1;min-width:200px;background:rgba(10,8,16,.6);border:1px solid var(--mag-line);
  border-radius:8px;padding:9px 11px;color:var(--mag-ink);font-family:var(--mag-mono);font-size:11.5px}
.ap-editbar-copy{cursor:pointer;background:var(--mag-accent);border:0;border-radius:8px;padding:9px 15px;color:#0a0810;
  font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}

/* ═══════════════════════════════════════════════════════════════
   APPLY WIZARD — one thing at a time
   Layered on top of the existing apply markup by talent-apply-flow.js.
   Everything here is scoped under .apw-on, which only exists once the
   script has run, so the no-JS page keeps every block open.
   ═══════════════════════════════════════════════════════════════ */
/* the "Start" link jumps to #talForm; without this the first line lands
   underneath the sticky progress bar that is the form's own first child */
.apw-on{scroll-margin-top:calc(var(--apw-top, 64px) + 6px)}
.apw-panel{display:none}
.apw-on .apw-panel.is-on{display:block;animation:apwIn .32s cubic-bezier(.2,.7,.2,1)}@media(prefers-reduced-motion:reduce){.apw-on .apw-panel.is-on{animation:none}}


/* progress header — sticky, because the reassurance has to stay on screen */
.apw-bar{position:sticky;top:var(--apw-top,64px);z-index:30;margin:0 0 30px;padding:16px 0 14px;
  background:var(--mag-paper);box-shadow:0 10px 18px -10px var(--mag-paper);
  border-bottom:1px solid var(--mag-line)}
/* The nav animates its height, so the measured offset is always a frame or two
   behind and a sliver of scrolling text can show between nav and bar. Rather
   than chase the measurement, carry the bar's own background up past it — any
   gap is then filled with page colour whatever the nav is doing. */
.apw-bar::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:26px;
  background:var(--mag-paper);pointer-events:none}
.apw-bar-top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:11px}
.apw-count{font-family:var(--mag-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--mag-soft)}
.apw-count b{font-family:var(--mag-display);font-size:17px;font-weight:600;color:var(--mag-accent);
  letter-spacing:0;margin:0 2px}
.apw-left{font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mag-accent)}
.apw-track{height:2px;background:var(--mag-line);overflow:hidden}
.apw-fill{display:block;height:100%;background:var(--mag-accent);width:8%;
  transition:width .42s cubic-bezier(.2,.7,.2,1)}

/* the rail: every step named and reachable, so the end is visible from step one */
.apw-dots{display:flex;gap:6px;margin-top:12px;overflow-x:auto;scrollbar-width:none;
  }
.apw-dots::-webkit-scrollbar{display:none}
.apw-dot{flex:0 0 auto;cursor:pointer;background:none;border:0;padding:5px 0 0;
  font-family:var(--mag-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(244,237,226,.34);border-top:2px solid var(--mag-line);margin-right:4px;
  transition:color .25s,border-color .25s;white-space:nowrap}
.apw-dot span{padding:0 9px 0 0}
.apw-dot.is-done{color:var(--mag-soft);border-top-color:var(--mag-line-2)}
.apw-dot.is-on{color:var(--mag-ink);border-top-color:var(--mag-accent)}
.apw-dot:hover{color:var(--mag-ink)}
.apw-dot:focus-visible{outline:2px solid var(--mag-accent);outline-offset:2px}

.apw-lead{font-size:15px;line-height:1.6;color:var(--mag-soft);margin:0 0 22px;max-width:60ch}

/* step nav */
.apw-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;
  margin-top:34px;padding-top:22px;border-top:1px solid var(--mag-line);flex-wrap:wrap}
.apw-fwd{display:flex;gap:10px;align-items:center;margin-left:auto}
.apw-back,.apw-skip{cursor:pointer;background:none;border:0;padding:12px 4px;
  font-family:var(--mag-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mag-soft);transition:color .2s}
.apw-back:hover,.apw-skip:hover{color:var(--mag-ink)}
.apw-next{cursor:pointer;background:var(--mag-accent);border:0;border-radius:2px;padding:14px 26px;
  color:#0a0810;font-family:var(--mag-mono);font-size:11px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;transition:background .2s}
.apw-next:hover{background:#ffc9a3}
.apw-back:focus-visible,.apw-skip:focus-visible,.apw-next:focus-visible{
  outline:2px solid var(--mag-accent);outline-offset:3px}

/* the step heading is the panel's own title now — the wizard supplies the number */
.apw-on .ap-block{margin-bottom:0}@media(max-width:760px){
  .apw-bar{padding:13px 0 11px}
  .apw-dots{margin-top:10px}
  .apw-nav{margin-top:26px}
  .apw-next{flex:1;text-align:center;padding:15px 18px}
  .apw-fwd{width:100%}}


/* ═══════════════════════════════════════════════════════════════
   APPLY — the photography-led rebuild
   The page sells a modelling career and showed no modelling. Type on
   black, section after section, is why it read as a document rather
   than an invitation. The work does the arguing now; the copy just
   points at it.
   ═══════════════════════════════════════════════════════════════ */

/* ── hero ────────────────────────────────────────────────────
   Drawn, not photographed. A lit, empty frame asks the reader to put
   herself in it; a stranger's face answers the question for her. It
   also means no likeness is used to recruit that was never given for
   recruiting. ─────────────────────────────────────────────────── */
.ap-hero3{position:relative;padding:clamp(108px,10vw,138px) 0 clamp(44px,5vw,70px);overflow:hidden;
  background:
    radial-gradient(120% 90% at 84% 6%,rgba(255,140,59,.15),transparent 56%),
    radial-gradient(70% 60% at 6% 98%,rgba(255,140,59,.05),transparent 62%),
    var(--mag-paper)}
.ap-hero3-grain{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(244,237,226,.05) 1px,transparent 1px);
  background-size:3px 3px}
.ap-hero3-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(30px,5vw,74px);align-items:center}

.ap-hero3-h{font-family:var(--mag-display);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(44px,7.2vw,92px);line-height:.96;letter-spacing:-.035em;
  color:var(--mag-ink);margin:20px 0 24px;text-wrap:balance}
.ap-hero3-h em{font-style:italic;color:var(--mag-accent);display:inline-block}
.ap-hero3-sub{font-size:clamp(15.5px,1.5vw,17.5px);line-height:1.72;color:var(--mag-ink-2);
  margin:0 0 30px;max-width:52ch}
.ap-hero3-sub b{color:var(--mag-ink);font-weight:600}

.ap-hero3-cta-row{display:flex;align-items:center;gap:16px 34px;flex-wrap:wrap;margin-bottom:30px}
.ap-hero3-cta{display:inline-block;background:var(--mag-accent);color:#0a0810;border-radius:2px;
  padding:17px 32px;font-family:var(--mag-mono);font-size:11.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;transition:background .22s,transform .22s;
  box-shadow:0 14px 34px -16px rgba(255,140,59,.8)}
.ap-hero3-cta:hover{background:#ffc9a3;transform:translateY(-1px)}
.ap-hero3-alt{font-family:var(--mag-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mag-soft);border-bottom:1px solid var(--mag-line-2);padding-bottom:3px;transition:color .2s}
.ap-hero3-alt:hover{color:var(--mag-accent);border-color:var(--mag-accent)}
.ap-hero3-chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px 10px;margin:0;padding:0}
.ap-hero3-chips li{font-family:var(--mag-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mag-ink-2);border:1px solid var(--mag-line);border-radius:100px;padding:7px 13px}

/* the artefact — a comp card and two loose plates behind it */
.ap-hero3-art{position:relative;min-height:clamp(400px,46vw,560px);
  display:flex;align-items:center;justify-content:center}
.ap-h3-plate{position:absolute;border:1px solid var(--mag-line-2);border-radius:2px;
  background:linear-gradient(150deg,rgba(244,237,226,.07),rgba(244,237,226,.015) 55%),var(--mag-panel)}
.ap-h3-plate-b{width:34%;aspect-ratio:2/3;top:3%;left:1%;transform:rotate(-6deg);opacity:.62}
.ap-h3-plate-c{width:29%;aspect-ratio:2/3;bottom:5%;right:2%;transform:rotate(5deg);opacity:.45}
.ap-h3-num{position:absolute;top:9px;left:10px;font-family:var(--mag-mono);font-size:8.5px;
  letter-spacing:.2em;color:var(--mag-soft)}

.ap-h3-card{position:relative;z-index:3;width:min(320px,74%);
  background:linear-gradient(168deg,#15121c,#0d0b12);
  border:1px solid var(--mag-line-2);border-radius:3px;padding:20px 20px 18px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.98),0 0 0 1px rgba(255,140,59,.07)}
.ap-h3-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:14px}
.ap-h3-card-top b{font-family:var(--mag-display);font-size:19px;font-weight:600;color:var(--mag-ink)}
.ap-h3-card-top span{font-family:var(--mag-mono);font-size:8px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mag-soft)}

/* the empty frame, lit like a backdrop */
.ap-h3-frame{position:relative;aspect-ratio:4/5;border-radius:2px;overflow:hidden;
  background:
    radial-gradient(75% 58% at 50% 30%,rgba(255,190,140,.16),transparent 68%),
    radial-gradient(110% 80% at 50% 118%,rgba(255,140,59,.08),transparent 60%),
    linear-gradient(180deg,#241d28,#100d15);
  border:1px solid var(--mag-line);
  display:flex;align-items:center;justify-content:center}
.ap-h3-wm{font-family:var(--mag-display);font-size:15px;letter-spacing:.16em;
  color:rgba(244,237,226,.13);transform:rotate(-24deg);white-space:nowrap;font-weight:600}
.ap-h3-here{position:absolute;bottom:11px;left:0;right:0;text-align:center;
  font-family:var(--mag-mono);font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,140,59,.72)}
.ap-h3-crop{position:absolute;width:11px;height:11px;border:0 solid rgba(244,237,226,.42)}
.ap-h3-crop-tl{top:7px;left:7px;border-top-width:1px;border-left-width:1px}
.ap-h3-crop-tr{top:7px;right:7px;border-top-width:1px;border-right-width:1px}
.ap-h3-crop-bl{bottom:7px;left:7px;border-bottom-width:1px;border-left-width:1px}
.ap-h3-crop-br{bottom:7px;right:7px;border-bottom-width:1px;border-right-width:1px}

.ap-h3-card-disc{font-family:var(--mag-mono);font-size:8px;letter-spacing:.18em;color:var(--mag-accent);
  text-transform:uppercase;margin:14px 0 5px}
.ap-h3-card-name{font-family:var(--mag-display);font-size:30px;font-weight:600;color:var(--mag-ink);
  line-height:1.02;letter-spacing:-.015em}
.ap-h3-card-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0 12px;
  padding-top:12px;border-top:1px solid var(--mag-line)}
.ap-h3-card-meta span{display:flex;flex-direction:column;gap:3px;
  font-family:var(--mag-mono);font-size:7px;letter-spacing:.12em;color:var(--mag-soft)}
.ap-h3-card-meta b{font-family:var(--mag-display);font-size:14px;color:var(--mag-ink-2);letter-spacing:0}
.ap-h3-card-ed{font-family:var(--mag-mono);font-size:7px;letter-spacing:.16em;color:var(--mag-soft);
  text-transform:uppercase}

/* ── the six books ── */
.ap-books{padding:clamp(52px,6vw,84px) 0;border-top:1px solid var(--mag-line);
  border-bottom:1px solid var(--mag-line);background:var(--mag-paper-2)}
.ap-books-head{max-width:62ch;margin-bottom:38px}
.ap-books-h{font-family:var(--mag-display);font-weight:500;font-size:clamp(28px,4vw,46px);
  line-height:1.08;letter-spacing:-.025em;color:var(--mag-ink);margin:16px 0 14px}
.ap-books-h em{font-style:italic;color:var(--mag-accent)}
.ap-books-say{font-size:15.5px;line-height:1.7;color:var(--mag-ink-2);margin:0}
.ap-books-row{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.ap-book{border:1px solid var(--mag-line);border-radius:3px;padding:13px 13px 15px;
  background:var(--mag-panel);transition:border-color .28s,transform .28s}
.ap-book:hover{border-color:var(--bk);transform:translateY(-3px)}
.ap-book-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ap-book-top span{font-family:var(--mag-mono);font-size:8.5px;letter-spacing:.16em;color:var(--mag-soft)}
.ap-book-top i{width:13px;height:2px;background:var(--bk);display:block;border-radius:2px}
.ap-book-plate{aspect-ratio:3/4;border-radius:2px;margin-bottom:11px;border:1px solid var(--mag-line);
  background:
    linear-gradient(160deg,color-mix(in srgb,var(--bk) 26%,transparent),transparent 62%),
    linear-gradient(180deg,#1d1826,#100d15)}
.ap-book-plate-2{background:
    linear-gradient(160deg,color-mix(in srgb,var(--bk) 26%,transparent),transparent 62%),
    repeating-linear-gradient(180deg,#1d1826 0 46%,#0e0b13 46% 50%,#1d1826 50% 96%)}
.ap-book-plate-3{background:
    linear-gradient(200deg,color-mix(in srgb,var(--bk) 30%,transparent),transparent 58%),
    linear-gradient(90deg,#1d1826 0 62%,#0e0b13 62%)}
.ap-book-plate-4{background:linear-gradient(180deg,#191420,#0e0b13)}
.ap-book-plate-5{background:
    radial-gradient(58% 44% at 50% 42%,color-mix(in srgb,var(--bk) 34%,transparent),transparent 70%),
    linear-gradient(180deg,#1b1623,#0e0b13)}
.ap-book-plate-6{background:
    radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--bk) 26%,transparent),transparent 66%),
    linear-gradient(180deg,#1e1a27,#12101a)}
.ap-book b{display:block;font-family:var(--mag-display);font-size:16px;font-weight:600;
  color:var(--mag-ink);margin-bottom:3px}
.ap-book small{display:block;font-size:11.5px;line-height:1.45;color:var(--mag-soft)}
.ap-books-fine{margin:26px 0 0;font-size:14px;color:var(--mag-soft);
  border-left:2px solid var(--mag-accent);padding-left:15px}@media(max-width:1040px){.ap-books-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
  .ap-hero3-in{grid-template-columns:1fr;gap:38px}
  .ap-hero3-art{min-height:min(104vw,470px);max-width:460px;margin-inline:auto;width:100%}
  .ap-hero3-h{font-size:clamp(40px,11vw,62px)}}
@media(max-width:560px){
  .ap-hero3-cta{width:100%;text-align:center}
  .ap-hero3-cta-row{gap:16px}
  .ap-h3-card{width:min(280px,84%);padding:16px 16px 15px}
  .ap-h3-card-name{font-size:25px}
  .ap-books-row{grid-template-columns:repeat(2,1fr)}}

.apl-head{padding:18px 20px 14px;border-bottom:1px solid var(--mag-line)}
.apl-kick{font-family:var(--mag-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--mag-accent);margin:0 0 7px}
.apl-say{margin:0;font-size:14px;line-height:1.6;color:var(--mag-ink-2)}
.apl-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;padding:20px}

.apl-card{background:linear-gradient(168deg,#181320,#0e0b13);border:1px solid var(--mag-line-2);
  border-radius:3px;padding:15px 15px 14px;box-shadow:0 30px 64px -28px rgba(0,0,0,.95)}
.apl-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}
.apl-card-top b{font-family:var(--mag-display);font-size:16px;font-weight:600;color:var(--mag-ink)}
.apl-card-top span{font-family:var(--mag-mono);font-size:7.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mag-soft)}
.apl-card-disc{font-family:var(--mag-mono);font-size:8px;letter-spacing:.18em;color:var(--mag-accent);
  text-transform:uppercase;margin:13px 0 4px}
.apl-card-name{font-family:var(--mag-display);font-size:25px;font-weight:600;color:var(--mag-ink);
  line-height:1.04;letter-spacing:-.015em}
.apl-card-name.is-placeholder{color:var(--mag-soft)}
.apl-card-ed{font-family:var(--mag-mono);font-size:7px;letter-spacing:.16em;color:var(--mag-soft);
  text-transform:uppercase;margin-top:9px}

/* the wipe: same photograph, twice, one graded */
.apl-wipe{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px;
  background:var(--mag-panel);cursor:ew-resize;touch-action:none;user-select:none}
.apl-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.apl-clip{position:absolute;inset:0;width:50%;overflow:hidden}
.apl-clip .apl-img{width:auto;min-width:100%}
.apl-clip{border-right:1px solid rgba(244,237,226,.85)}
.apl-tag{position:absolute;bottom:9px;font-family:var(--mag-mono);font-size:8px;letter-spacing:.18em;
  text-transform:uppercase;padding:4px 8px;border-radius:2px;background:rgba(10,8,14,.72);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}
.apl-tag-l{left:9px;color:var(--mag-soft)}
.apl-tag-r{right:9px;color:var(--mag-accent)}
.apl-handle{position:absolute;top:0;bottom:0;left:50%;width:34px;margin-left:-17px;cursor:ew-resize;
  display:flex;align-items:center;justify-content:center;background:none;border:0}
.apl-handle i{width:26px;height:26px;border-radius:50%;background:var(--mag-ink);
  box-shadow:0 3px 14px rgba(0,0,0,.6);position:relative;display:block}
.apl-handle i::before,.apl-handle i::after{content:"";position:absolute;top:50%;width:0;height:0;
  border-top:4px solid transparent;border-bottom:4px solid transparent;margin-top:-4px}
.apl-handle i::before{left:5px;border-right:5px solid #0a0810}
.apl-handle i::after{right:5px;border-left:5px solid #0a0810}
.apl-handle:focus-visible i{outline:2px solid var(--mag-accent);outline-offset:3px}

.apl-side{display:flex;flex-direction:column;align-self:start}
.apl-lbl{font-family:var(--mag-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mag-soft);margin:0 0 11px}
.apl-looks{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.apl-look{cursor:pointer;background:transparent;border:1px solid var(--mag-line-2);border-radius:100px;
  padding:8px 14px;color:var(--mag-ink-2);font-family:var(--mag-mono);font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;transition:all .2s}
.apl-look:hover{color:var(--mag-ink);border-color:var(--mag-soft)}
.apl-look.is-on{background:var(--mag-accent);border-color:var(--mag-accent);color:#0a0810;font-weight:600}
.apl-look:focus-visible{outline:2px solid var(--mag-accent);outline-offset:2px}
.apl-note{margin:0;font-size:13.5px;line-height:1.62;color:var(--mag-soft)}
.apl-fine{margin:11px 0 0;font-family:var(--mag-mono);font-size:9.5px;letter-spacing:.06em;
  line-height:1.6;color:rgba(244,237,226,.42)}

/* story export — the card as something she can actually post. Every applicant
   who shares one is a YKS-branded card in front of an audience of models. */
.apl-share{margin-top:18px;padding-top:16px;border-top:1px solid var(--mag-line)}
.apl-story{cursor:pointer;width:100%;background:transparent;border:1px solid var(--mag-accent);
  border-radius:2px;padding:14px 18px;color:var(--mag-accent);font-family:var(--mag-mono);
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  transition:background .2s,color .2s}
.apl-story:hover{background:var(--mag-accent);color:#0a0810}
.apl-story[disabled]{opacity:.6;cursor:default}
.apl-story:focus-visible{outline:2px solid var(--mag-accent);outline-offset:3px}
.apl-stage{min-width:0}@media(max-width:820px){
  .apl-body{grid-template-columns:1fr;gap:18px;padding:16px}
  .apl-card{max-width:340px;margin-inline:auto;width:100%}}

.apa-lead{margin:0 0 14px;font-size:13.5px;line-height:1.6;color:var(--mag-soft);max-width:62ch}
.apa-group{margin-bottom:14px}
.apa-lbl{font-family:var(--mag-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mag-soft);margin:0 0 9px}
.apa-no .apa-lbl{color:rgba(255,140,59,.72)}
.apa-chips{display:flex;flex-wrap:wrap;gap:7px}
.apa-chip{cursor:pointer;background:transparent;border:1px solid var(--mag-line);border-radius:100px;
  padding:9px 14px;color:var(--mag-ink-2);font-family:var(--mag-sans);font-size:13px;
  line-height:1;transition:all .18s;text-align:left}
.apa-chip:hover{border-color:var(--mag-soft);color:var(--mag-ink)}
.apa-chip.is-on{background:rgba(255,140,59,.14);border-color:var(--mag-accent);color:var(--mag-ink)}
.apa-no .apa-chip.is-on{background:rgba(244,237,226,.09);border-color:var(--mag-line-2);
  color:var(--mag-soft);text-decoration:line-through;text-decoration-color:rgba(255,140,59,.6)}
.apa-chip:focus-visible{outline:2px solid var(--mag-accent);outline-offset:2px}

.apa-tools{display:flex;align-items:center;gap:16px;margin-top:12px}
.apa-mic,.apa-clear{cursor:pointer;background:none;border:0;padding:6px 0;
  font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--mag-soft);transition:color .2s;display:inline-flex;align-items:center;gap:8px}
.apa-mic:hover,.apa-clear:hover{color:var(--mag-ink)}
.apa-mic-dot{width:7px;height:7px;border-radius:50%;background:var(--mag-soft);display:block}
.apa-mic.is-live{color:var(--mag-accent)}
.apa-mic.is-live .apa-mic-dot{background:var(--mag-accent);animation:apaPulse 1.1s ease-in-out infinite}
@keyframes apaPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.35)}}
.apa-mic:focus-visible,.apa-clear:focus-visible{outline:2px solid var(--mag-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.apa-mic.is-live .apa-mic-dot{animation:none}}


/* book strength — a casting desk reading her book back to her, not a score */
.apl-strength{margin-top:18px;padding-top:16px;border-top:1px solid var(--mag-line)}
.apl-meter{height:3px;background:var(--mag-line);border-radius:3px;overflow:hidden;margin-bottom:10px}
.apl-meter span{display:block;height:100%;width:5%;border-radius:3px;background:var(--mag-soft);
  transition:width .45s cubic-bezier(.2,.7,.2,1),background .45s}
.apl-meter span.is-mid{background:var(--mag-accent)}
.apl-meter span.is-good{background:#5fc08a}
.apl-verdict{margin:0;font-size:13px;line-height:1.55;color:var(--mag-ink-2);min-height:1.2em}

/* the turn — a comp card has two sides, and the reverse is the one a client
   actually gets sent, so showing it is the privacy promise made visible */
.apl-stage{min-width:0;perspective:1400px}
.apl-flip{position:relative;transform-style:preserve-3d;
  transition:transform .68s cubic-bezier(.4,.05,.2,1)}
.apl-flip.is-back{transform:rotateY(180deg)}
.apl-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.apl-back{position:absolute;inset:0;transform:rotateY(180deg);display:flex;flex-direction:column}
.apl-code{font-family:var(--mag-mono);font-size:11px!important;letter-spacing:.22em;
  color:var(--mag-accent)!important}
.apl-back-lbl{font-family:var(--mag-mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--mag-soft);margin:2px 0 12px;padding-top:12px;border-top:1px solid var(--mag-line)}
.apl-stats{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;margin:0 0 16px;align-content:start}
.apl-stats dt{font-family:var(--mag-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mag-soft);align-self:baseline}
.apl-stats dd{margin:0;font-family:var(--mag-display);font-size:16px;line-height:1.1;
  color:rgba(244,237,226,.3);text-align:right}
.apl-stats dd.is-set{color:var(--mag-ink)}
.apl-back-note{margin:auto 0 12px;font-size:12px;line-height:1.55;color:var(--mag-soft)}
.apl-flipbtn{cursor:pointer;width:100%;margin-top:12px;background:none;border:1px solid var(--mag-line);
  border-radius:2px;padding:11px 14px;color:var(--mag-soft);font-family:var(--mag-mono);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;transition:all .2s}
.apl-flipbtn:hover{color:var(--mag-ink);border-color:var(--mag-line-2)}
.apl-flipbtn:focus-visible{outline:2px solid var(--mag-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){.apl-flip{transition:none}}


/* ═══════════════════════════════════════════════════════════════
   APPLY — ambient studio light
   A flat black ground is what made this page feel heavy rather than
   deep. Two large, slow softboxes drifting behind the content give
   it somewhere to sit. Nothing here is interactive, nothing shifts
   layout, and it stops entirely for reduced-motion.
   ═══════════════════════════════════════════════════════════════ */
.ap-hero3::before,.ap-hero3::after{content:"";position:absolute;pointer-events:none;
  border-radius:50%;filter:blur(72px);opacity:.5;z-index:0}
.ap-hero3::before{width:58vw;height:58vw;max-width:760px;max-height:760px;top:-16%;right:-8%;
  background:radial-gradient(circle,rgba(255,140,59,.34),rgba(255,140,59,0) 66%);
  animation:aplLightA 26s ease-in-out infinite alternate}
.ap-hero3::after{width:46vw;height:46vw;max-width:600px;max-height:600px;bottom:-22%;left:-12%;
  background:radial-gradient(circle,rgba(150,120,255,.16),rgba(150,120,255,0) 68%);
  animation:aplLightB 34s ease-in-out infinite alternate}
.ap-hero3 > .wrap,.ap-hero3-grain{position:relative;z-index:1}
@keyframes aplLightA{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-5%,5%,0) scale(1.1)}
  100%{transform:translate3d(4%,-4%,0) scale(.96)}}
@keyframes aplLightB{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(9%,-7%,0) scale(1.14)}}

/* the same light, quieter, under the books row so the section has depth too */
.ap-books{position:relative;overflow:hidden}
.ap-books::before{content:"";position:absolute;pointer-events:none;width:50vw;height:50vw;
  max-width:620px;max-height:620px;top:-30%;left:8%;border-radius:50%;filter:blur(80px);opacity:.42;
  background:radial-gradient(circle,rgba(255,140,59,.2),rgba(255,140,59,0) 68%);
  animation:aplLightB 40s ease-in-out infinite alternate}
.ap-books > .wrap{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){
  .ap-hero3::before,.ap-hero3::after,.ap-books::before{animation:none}}


/* ── darkroom reveal (talent-apply-reveal.js) ──
   dark and soft, then contrast, then resolved — the way a print comes up */
.apr{opacity:0;transform:translateY(18px);filter:blur(7px) contrast(.72) brightness(.7);
  transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1),filter 1.05s ease;
  transition-delay:var(--apr-d,0ms);will-change:opacity,transform,filter}
.apr.is-lit{opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){.apr{opacity:1;transform:none;filter:none;transition:none}}

/* ── which board is open ──
   A roster is made of boards and saying which one is taking submissions is
   how every agency does it. Stated plainly it also spares the wrong applicant
   three minutes, which is the actual goal — the inbox is shared with real
   client briefs. */
.ap-boards{border-top:1px solid var(--mag-line);background:var(--mag-paper-2)}
.ap-board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.ap-board{background:var(--mag-panel);border:1px solid var(--mag-line);border-radius:3px;
  padding:24px 22px;box-shadow:var(--card-shadow)}
.ap-board.is-open{border-color:rgba(255,148,72,.45);
  background:linear-gradient(168deg,rgba(255,148,72,.09),rgba(255,148,72,.02))}
.ap-board-state{display:inline-block;font-family:var(--mag-mono);font-size:9.5px;letter-spacing:.2em;
  text-transform:uppercase;padding:5px 10px;border-radius:100px;margin-bottom:14px;
  background:rgba(99,199,147,.16);color:var(--mag-good,#63C793)}
.ap-board-state.is-shut{background:rgba(246,241,233,.07);color:var(--mag-soft)}
.ap-board b{display:block;font-family:var(--mag-display);font-size:23px;font-weight:600;
  color:var(--mag-ink);margin-bottom:9px}
.ap-board p{margin:0;font-size:14px;line-height:1.65;color:var(--mag-ink-2)}
@media(max-width:820px){.ap-board-grid{grid-template-columns:1fr}}

/* ── follow ──
   The Instagram links on these pages were two lines of JSON-LD, a footnote and
   a footer entry on line 982 — invisible. This gives the channel a real block
   and, more to the point, a real reason: briefs go out there first. */
.ap-follow{border-top:1px solid var(--mag-line)}
.ap-follow-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,4vw,52px);align-items:center}
.ap-follow-copy h2{font-family:var(--mag-display);font-weight:500;font-size:clamp(26px,3.4vw,40px);
  line-height:1.12;letter-spacing:-.02em;color:var(--mag-ink);margin:16px 0 16px}
.ap-follow-copy p{font-size:15.5px;line-height:1.72;color:var(--mag-ink-2);margin:0 0 14px;max-width:56ch}
.ap-follow-fine{font-size:14px!important;color:var(--mag-soft)!important;
  border-left:2px solid var(--mag-accent);padding-left:15px}
.ap-follow-card{display:flex;flex-direction:column;gap:18px;padding:28px 26px;border-radius:4px;
  border:1px solid rgba(255,148,72,.4);background:linear-gradient(168deg,rgba(255,148,72,.10),rgba(255,148,72,.02));
  box-shadow:var(--card-shadow);transition:border-color .25s,transform .25s}
.ap-follow-card:hover{border-color:var(--mag-accent);transform:translateY(-2px)}
.ap-follow-at{font-family:var(--mag-display);font-size:clamp(22px,2.6vw,30px);font-weight:600;color:var(--mag-ink)}
.ap-follow-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.ap-follow-stats b{font-family:var(--mag-display);font-size:26px;font-weight:600;color:var(--mag-accent);line-height:1}
.ap-follow-stats i{font-style:normal;font-family:var(--mag-mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mag-soft);line-height:1.5}
.ap-follow-go{font-family:var(--mag-mono);font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#0a0810;background:var(--mag-accent);border-radius:2px;
  padding:14px 20px;text-align:center}
@media(max-width:880px){.ap-follow-in{grid-template-columns:1fr}}

/* the follow confirmation, beside the send button */
.ap-followcheck{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:14px 16px;
  border-radius:3px;border:1px solid rgba(255,148,72,.34);background:rgba(255,148,72,.06);
  cursor:pointer;font-size:14px;line-height:1.6;color:var(--mag-ink-2);text-align:left}
.ap-followcheck input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--mag-accent);cursor:pointer}
.ap-followcheck b{color:var(--mag-ink);font-weight:600}
.ap-followcheck:hover{border-color:var(--mag-accent)}
.ap-followcheck:focus-within{outline:2px solid var(--mag-accent);outline-offset:2px}

/* ── FOLLOW GATE — following unlocks the application ─────────────────── */
.ap-gate{margin:28px 0 0;padding:22px 24px;border-radius:4px;
  border:1px solid rgba(255,148,72,.34);background:rgba(255,148,72,.05)}
.ap-gate-steps{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:12px}
.ap-gate-step{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.6;
  color:var(--mag-soft);transition:color .25s;max-width:60ch}
.ap-gate-step b{color:var(--mag-ink);font-weight:600}
.ap-gate-step.is-active{color:var(--mag-ink-2)}
.ap-gate-step.is-done{color:var(--mag-soft)}
.ap-gate-step.is-done .ap-gate-n{background:var(--mag-accent);color:#0a0810;border-color:var(--mag-accent)}
.ap-gate-n{flex:none;width:26px;height:26px;border-radius:50%;border:1px solid rgba(255,148,72,.5);
  display:flex;align-items:center;justify-content:center;font-family:var(--mag-mono);font-size:12px;
  font-weight:700;color:var(--mag-accent);background:transparent;transition:.25s}
.ap-gate-step.is-active .ap-gate-n{border-color:var(--mag-accent)}
.ap-gate-step.is-done .ap-gate-n::before{content:"✓"}
.ap-gate-step.is-done .ap-gate-n{font-size:0}
.ap-gate-step.is-done .ap-gate-n::before{font-size:13px}
.ap-gate-confirm{display:flex;align-items:flex-start;gap:12px;margin:16px 0 0;padding:14px 16px;
  border-radius:3px;border:1px solid rgba(255,148,72,.34);background:rgba(255,148,72,.06);
  cursor:pointer;font-size:14.5px;line-height:1.6;color:var(--mag-ink-2);text-align:left;
  opacity:.45;pointer-events:none;transition:opacity .25s,border-color .25s}
.ap-gate.is-open .ap-gate-confirm{opacity:1;pointer-events:auto}
.ap-gate-confirm input{flex:none;width:20px;height:20px;margin-top:1px;accent-color:var(--mag-accent);cursor:pointer}
.ap-gate-confirm b{color:var(--mag-ink);font-weight:600}
.ap-gate-confirm:hover{border-color:var(--mag-accent)}
.ap-gate-locked{margin:14px 0 0;font-size:13px;color:var(--mag-soft);font-family:var(--mag-mono);letter-spacing:.02em}
.ap-gate.is-cleared{border-color:rgba(120,200,120,.34);background:rgba(120,200,120,.05)}
.ap-gate.is-cleared .ap-gate-locked{color:#8fd08f}
.ap-follow-nudge{animation:apFollowNudge .5s ease}
@keyframes apFollowNudge{0%,100%{transform:translateY(-2px)}25%{transform:translateX(-6px) translateY(-2px)}75%{transform:translateX(6px) translateY(-2px)}}

/* the form stays visible but inert until the gate clears */
#apFormSec[data-follow-locked]{position:relative}
#apFormSec[data-follow-locked] .tal-apply{filter:grayscale(.5) opacity(.5);pointer-events:none;user-select:none}
#apFormSec[data-follow-locked]::before{content:"🔒  Follow @yks_photoworks above to unlock your application";
  position:absolute;left:50%;top:34px;transform:translateX(-50%);z-index:3;
  font-family:var(--mag-mono);font-size:12.5px;letter-spacing:.05em;color:#0a0810;
  background:var(--mag-accent);padding:12px 20px;border-radius:3px;text-align:center;
  max-width:calc(100% - 40px);box-shadow:0 8px 30px rgba(0,0,0,.35)}

/* ── gender gate (women-only open board) ─────────────────────────
   The first gate. Its lock mirrors the follow lock; placed AFTER it so
   that when both attributes are present the gender message wins. */
.ap-ggate-sec{padding-top:0}
.ap-ggate{margin:6px 0 0;padding:24px 26px;border-radius:6px;
  border:1px solid rgba(255,148,72,.34);background:rgba(255,148,72,.05)}
.ap-ggate[data-state="woman"]{border-color:rgba(120,200,120,.42);background:rgba(120,200,120,.06)}
.ap-ggate[data-state="other"]{border-color:rgba(201,86,76,.42);background:rgba(201,86,76,.07)}
.ap-ggate-h{margin:.15em 0 .35em}
.ap-ggate-lede{color:var(--mag-ink-2);line-height:1.65;max-width:62ch}
.ap-ggate-choice{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 0}
.ap-ggate-btn{appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;font-weight:600;
  padding:13px 22px;border-radius:4px;border:1px solid var(--mag-accent);
  background:var(--mag-accent);color:#0a0810;transition:filter .15s,outline-color .15s}
.ap-ggate-btn.ap-ggate-no{background:transparent;color:var(--mag-ink);border-color:rgba(255,255,255,.28)}
.ap-ggate-btn:hover{filter:brightness(1.06)}
.ap-ggate-btn.is-on{outline:2px solid var(--mag-accent);outline-offset:2px}
.ap-ggate-msg{margin:16px 0 0;font-size:14px;line-height:1.65}
.ap-ggate-msg.is-ok{color:#8fd08f}
.ap-ggate-msg.is-shut{color:var(--mag-ink-2)}
.ap-ggate-msg a{color:var(--mag-accent)}
.ap-ggate-bump{animation:apGgateBump .6s ease}
@keyframes apGgateBump{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}

#apFormSec[data-gender-locked]{position:relative}
#apFormSec[data-gender-locked] .tal-apply{filter:grayscale(.5) opacity(.5);pointer-events:none;user-select:none}
#apFormSec[data-gender-locked]::before{content:"👗  This volume is casting women — choose above to open the application";
  position:absolute;left:50%;top:34px;transform:translateX(-50%);z-index:4;
  font-family:var(--mag-mono);font-size:12.5px;letter-spacing:.05em;color:#0a0810;
  background:var(--mag-accent);padding:12px 20px;border-radius:3px;text-align:center;
  max-width:calc(100% - 40px);box-shadow:0 8px 30px rgba(0,0,0,.35)}

/* the photo requirement, said at the moment it blocks */
.apw-warn{margin:14px 0 0;padding:13px 16px;border-radius:3px;
  border:1px solid rgba(201,86,76,.45);background:rgba(201,86,76,.1);
  font-size:14px;line-height:1.6;color:var(--mag-ink)}

/* ── the bar ──
   Reuses the board cards so this adds almost no new surface. The section
   states a standard rather than a fee: established talent reads it as a
   professional board, and people after a free PDF read it and move on. */
.ap-bar{border-top:1px solid var(--mag-line)}
.ap-bar-h{font-family:var(--mag-display);font-weight:500;font-size:clamp(26px,3.4vw,40px);
  line-height:1.12;letter-spacing:-.02em;color:var(--mag-ink);margin:16px 0 16px}
.ap-bar-intro{font-size:15.5px;line-height:1.72;color:var(--mag-ink-2);margin:0 0 30px;max-width:62ch}
.ap-bar-note{margin:30px 0 0;font-size:14.5px;line-height:1.75;color:var(--mag-soft);
  max-width:68ch;border-left:2px solid var(--mag-accent);padding-left:16px}

/* ── taste ──
   Same chips as everywhere else on the form, in labelled rows. The "rather
   not" row is deliberately a different colour: it is the one row I most want
   answered, and it should not read like another list of things to want. */
.ap-taste{margin-top:26px;padding-top:24px;border-top:1px solid var(--mag-line)}
.ap-taste-row-lbl{margin:20px 0 10px;font-family:var(--mag-mono);font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mag-soft)}
.ap-taste-row-lbl:first-of-type{margin-top:14px}
.ap-taste-no-lbl{color:var(--mag-accent)}
.ap-taste-chips.is-no button.on{border-color:rgba(255,148,72,.6);
  background:rgba(255,148,72,.14);color:var(--mag-ink)}

/* ── elsewhere ──
   Shown only when someone picks a country outside the two the board was
   built around. The note under it is not decoration: it is the thing they
   would otherwise find out after applying. */
.ap-elsewhere[hidden]{display:none}
.ap-world-note{margin:12px 0 0;font-size:14px;line-height:1.7;color:var(--mag-ink-2);
  max-width:64ch;border-left:2px solid var(--mag-accent);padding-left:15px}
.ap-world-note[hidden]{display:none}

/* ── your kit + profile strength ──
   The kit is deliberately long. The meter is what makes a long thing get
   filled: it names what is missing and says what the free book costs. */
.ap-kit{margin-top:26px;padding-top:24px;border-top:1px solid var(--mag-line)}
.ap-kit-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0 4px}
.ap-kit-credits{margin-top:18px}
.ap-kit-notice{margin:18px 0 0;font-size:13.5px;line-height:1.72;color:var(--mag-soft);
  max-width:70ch;border-left:2px solid var(--mag-line-2);padding-left:15px}

.ap-str{margin:16px 0 22px;padding:20px 20px 18px;border-radius:4px;
  border:1px solid var(--mag-line);background:var(--mag-panel)}
.ap-str.is-strong{border-color:rgba(255,148,72,.42)}
.ap-str.is-full{border-color:rgba(99,199,147,.45)}
.ap-str-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ap-str-lbl{font-family:var(--mag-mono);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mag-soft)}
.ap-str-pct{font-family:var(--mag-display);font-size:26px;font-weight:600;color:var(--mag-ink)}
.ap-str-track{height:4px;border-radius:100px;background:rgba(246,241,233,.09);margin:12px 0 14px;overflow:hidden}
.ap-str-fill{display:block;height:100%;width:0;border-radius:100px;background:var(--mag-accent);
  transition:width .35s ease,background .35s ease}
.ap-str.is-full .ap-str-fill{background:var(--mag-good,#63C793)}
.ap-str-say{margin:0 0 6px;font-size:15px;line-height:1.6;color:var(--mag-ink)}
.ap-str-next{margin:0 0 14px;font-size:13.5px;line-height:1.65;color:var(--mag-soft)}
.ap-str-deal{margin:0;padding-top:13px;border-top:1px solid var(--mag-line);
  font-size:13.5px;line-height:1.75;color:var(--mag-ink-2);max-width:70ch}
@media(prefers-reduced-motion:reduce){.ap-str-fill{transition:none}}
@media(max-width:620px){.ap-kit-sizes{grid-template-columns:repeat(2,1fr)}}

/* the quiet way to ask who the call is for — a link, not a billboard */
.ap-board-ask{margin:12px 0 0}
.ap-board-ask a{font-family:var(--mag-mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mag-accent);text-decoration:none;
  border-bottom:1px solid rgba(255,148,72,.35);padding-bottom:2px}
.ap-board-ask a:hover{border-bottom-color:var(--mag-accent)}

/* what you get — same cards as the bar, one lit because it is the trust line */
.ap-get{border-top:1px solid var(--mag-line);background:var(--mag-paper-2)}

/* ── real-work proof (apply page) — answers "is this real/safe?" ─── */
.ap-proof-lede{color:var(--mag-ink-2);max-width:60ch;line-height:1.65;margin:0 0 22px}
.ap-proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.ap-proof-tile{position:relative;display:block;border-radius:6px;overflow:hidden;aspect-ratio:3/4;background:#15121a}
.ap-proof-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.ap-proof-tile:hover img{transform:scale(1.05)}
.ap-proof-tile span{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 11px;display:flex;flex-direction:column;gap:2px;background:linear-gradient(to top,rgba(7,6,10,.92),transparent);color:#fff}
.ap-proof-tile b{font-size:13.5px;font-weight:600}
.ap-proof-tile i{font-size:11px;color:rgba(255,255,255,.72);font-style:normal;letter-spacing:.02em}
.ap-proof-note{margin:18px 0 0;font-size:13px;color:var(--mag-soft)}
@media(max-width:560px){.ap-proof-grid{grid-template-columns:repeat(2,1fr)}}

/* ── worked-example callouts on the apply steps ─── */
.ap-eg{margin:10px 0 0;padding:11px 14px;border-left:2px solid var(--mag-accent);
  background:rgba(255,148,72,.05);border-radius:0 4px 4px 0;
  font-size:13.5px;line-height:1.65;color:var(--mag-ink-2)}
.ap-eg b{color:var(--mag-ink)}
.ap-eg-ok,.ap-eg-no{display:block;margin-top:5px;font-size:13px}
.ap-eg-ok{color:#8fd08f}
.ap-eg-no{color:#e0a3a3}
