/* PORTFOLIO family — batch 3 variants. Tokens only; reduced-motion fallbacks required. */

/* ============================ tab_showcase ============================ */
.apb-rx-pftab{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:var(--apb-rx-surface,#fff)}
.apb-rx-pftab-wrap{max-width:1120px;margin:0 auto}
.apb-rx-pftab-radio{position:absolute;opacity:0;pointer-events:none}
.apb-rx-pftab-tabs{display:inline-flex;gap:4px;padding:5px;border-radius:var(--apb-rx-radius-pill,999px);
  background:var(--apb-rx-soft,#f4f5f7);border:1px solid var(--apb-rx-line,#e7e8ec);margin:var(--apb-space-5,20px) 0}
.apb-rx-pftab-tab{padding:9px 20px;border-radius:var(--apb-rx-radius-pill,999px);font-size:13.5px;font-weight:650;
  color:var(--apb-rx-muted,#6b7280);cursor:pointer;transition:all var(--apb-rx-t-fast,.16s)}
.apb-rx-pftab-tab:hover{color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pftab-radio:nth-of-type(1):checked ~ .apb-rx-pftab-wrap .apb-rx-pftab-tabs .apb-rx-pftab-tab:nth-of-type(1),
.apb-rx-pftab-radio:nth-of-type(2):checked ~ .apb-rx-pftab-wrap .apb-rx-pftab-tabs .apb-rx-pftab-tab:nth-of-type(2),
.apb-rx-pftab-radio:nth-of-type(3):checked ~ .apb-rx-pftab-wrap .apb-rx-pftab-tabs .apb-rx-pftab-tab:nth-of-type(3){
  background:var(--apb-rx-surface,#fff);color:var(--apb-rx-ink,#0b0d12);box-shadow:var(--apb-rx-shadow-sm,var(--apb-rx-shadow-1))}
.apb-rx-pftab-radio:focus-visible ~ .apb-rx-pftab-wrap .apb-rx-pftab-tabs{outline:2px solid var(--apb-rx-ring);outline-offset:2px}
.apb-rx-pftab-panel{display:none;grid-template-columns:1.35fr .65fr;gap:clamp(18px,3vw,32px);align-items:stretch;
  animation:apbPftabIn calc(.35s / var(--apb-rx-dur,1)) ease}
.apb-rx-pftab-radio:nth-of-type(1):checked ~ .apb-rx-pftab-wrap .apb-rx-pftab-panels .apb-rx-pftab-panel:nth-of-type(1),
.apb-rx-pftab-radio:nth-of-type(2):checked ~ .apb-rx-pftab-wrap .apb-rx-pftab-panels .apb-rx-pftab-panel:nth-of-type(2),
.apb-rx-pftab-radio:nth-of-type(3):checked ~ .apb-rx-pftab-wrap .apb-rx-pftab-panels .apb-rx-pftab-panel:nth-of-type(3){display:grid}
@keyframes apbPftabIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.apb-rx-pftab-media{border-radius:var(--apb-rx-radius);overflow:hidden;box-shadow:var(--apb-rx-shadow-md,var(--apb-rx-shadow-2));display:block}
.apb-rx-pftab-media img,.apb-rx-pftab-ph{width:100%;height:100%;min-height:340px;object-fit:cover;display:block}
.apb-rx-pftab-ph{background:linear-gradient(135deg,var(--apb-rx-soft,#f4f5f7),var(--apb-rx-line,#e7e8ec))}
.apb-rx-pftab-side{display:flex;flex-direction:column;gap:var(--apb-space-3,14px);padding:clamp(18px,2.5vw,26px);
  border:1px solid var(--apb-rx-line,#e7e8ec);border-radius:var(--apb-rx-radius);background:var(--apb-rx-soft,#f4f5f7)}
.apb-rx-pftab-side em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-pftab-side b{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:clamp(20px,2.4vw,26px);
  letter-spacing:-.015em;color:var(--apb-rx-ink,#0b0d12);line-height:1.15}
.apb-rx-pftab-side p{margin:0;font-size:13.5px;line-height:1.6;color:var(--apb-rx-muted,#6b7280)}
.apb-rx-pftab-facts{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--apb-rx-line,#e7e8ec);padding-top:var(--apb-space-3,14px);font-size:12.5px}
.apb-rx-pftab-facts div{display:flex;justify-content:space-between;gap:12px}
.apb-rx-pftab-facts span{color:var(--apb-rx-muted,#6b7280)}
.apb-rx-pftab-facts strong{color:var(--apb-rx-ink,#0b0d12);font-weight:650}
.apb-rx-pftab-go{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;
  border-radius:var(--apb-rx-radius);background:var(--apb-rx-brand);color:var(--apb-rx-accent-contrast,#fff);font-size:13.5px;font-weight:700;text-decoration:none;
  box-shadow:0 12px 30px -10px var(--apb-rx-glow)}
@media(max-width:820px){.apb-rx-pftab-panel{grid-template-columns:1fr}.apb-rx-pftab-media img,.apb-rx-pftab-ph{min-height:220px}}
@media(prefers-reduced-motion:reduce){.apb-rx-pftab-panel{animation:none}}

/* ============================ stack_deck ============================ */
.apb-rx-pfstack{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:var(--apb-rx-soft,#f4f5f7)}
.apb-rx-pfstack-wrap{max-width:960px;margin:0 auto}
.apb-rx-pfstack-deck{display:flex;flex-direction:column}
.apb-rx-pfstack-card{position:sticky;top:calc(70px + (var(--idx, 0) * 22px));display:grid;grid-template-columns:1fr 1fr;
  min-height:min(430px,62vh);border-radius:var(--apb-rx-radius);overflow:hidden;background:var(--apb-rx-surface,#fff);
  border:1px solid var(--apb-rx-line,#e7e8ec);box-shadow:0 -12px 40px -18px rgba(11,13,18,.25);margin-bottom:var(--apb-space-6,26px)}
.apb-rx-pfstack-card img,.apb-rx-pfstack-ph{width:100%;height:100%;object-fit:cover;display:block}
.apb-rx-pfstack-ph{background:linear-gradient(135deg,var(--apb-rx-line,#e7e8ec),var(--apb-rx-soft,#f4f5f7))}
.apb-rx-pfstack-body{padding:clamp(22px,3.5vw,40px);display:flex;flex-direction:column;gap:12px;justify-content:center;position:relative}
.apb-rx-pfstack-body em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-pfstack-body b{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:clamp(22px,2.8vw,32px);
  letter-spacing:-.02em;color:var(--apb-rx-ink,#0b0d12);line-height:1.12}
.apb-rx-pfstack-body p{margin:0;color:var(--apb-rx-muted,#6b7280);font-size:14px;line-height:1.6}
.apb-rx-pfstack-meta{display:flex;gap:18px;font-size:12px;color:var(--apb-rx-fg-subtle,#a1a1aa);border-top:1px solid var(--apb-rx-line,#e7e8ec);padding-top:var(--apb-space-3,14px)}
.apb-rx-pfstack-go{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--apb-rx-ink,#0b0d12);text-decoration:none}
.apb-rx-pfstack-num{position:absolute;top:16px;right:18px;font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:14px;color:var(--apb-rx-fg-subtle,#a1a1aa)}
@media(max-width:760px){.apb-rx-pfstack-card{grid-template-columns:1fr;position:relative;top:auto}.apb-rx-pfstack-card img,.apb-rx-pfstack-ph{max-height:200px}}
@media(prefers-reduced-motion:reduce){.apb-rx-pfstack-card{position:relative;top:auto}}

/* ============================ magazine_cover ============================ */
.apb-rx-pfmag{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:var(--apb-rx-surface,#fff)}
.apb-rx-pfmag-wrap{max-width:1080px;margin:0 auto}
.apb-rx-pfmag-mast{display:flex;align-items:baseline;gap:18px;border-bottom:3px solid var(--apb-rx-ink,#0b0d12);padding-bottom:12px;margin-bottom:var(--apb-space-5,22px)}
.apb-rx-pfmag-mast b{font-family:var(--apb-rx-font-display,inherit);font-weight:900;font-size:clamp(28px,4vw,44px);letter-spacing:-.03em;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pfmag-mast span{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--apb-rx-muted,#6b7280)}
.apb-rx-pfmag-mast i{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:700;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-pfmag-grid{display:grid;grid-template-columns:1.5fr .9fr;gap:22px}
.apb-rx-pfmag-cover{position:relative;border-radius:calc(var(--apb-rx-radius) * .5);overflow:hidden;display:block;text-decoration:none;min-height:460px}
.apb-rx-pfmag-cover img,.apb-rx-pfmag-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--apb-rx-t-slow,.55s)}
.apb-rx-pfmag-ph{background:linear-gradient(135deg,var(--apb-rx-soft,#f4f5f7),var(--apb-rx-line,#e7e8ec))}
.apb-rx-pfmag-cover:hover img,.apb-rx-pfmag-cover:focus-within img{transform:scale(1.02)}
.apb-rx-pfmag-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,18,.25),transparent 35%,transparent 55%,rgba(11,13,18,.75))}
.apb-rx-pfmag-kick{position:absolute;top:16px;left:18px;z-index:1;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--apb-rx-accent-contrast,#fff);background:var(--apb-rx-brand);padding:6px 13px}
.apb-rx-pfmag-lines{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;color:#fff}
.apb-rx-pfmag-lines b{display:block;font-family:var(--apb-rx-font-display,inherit);font-weight:900;font-size:clamp(28px,4.4vw,52px);letter-spacing:-.025em;line-height:1.02;max-width:16ch}
.apb-rx-pfmag-lines span{display:inline-block;margin-top:10px;font-size:13px;color:rgba(255,255,255,.85)}
.apb-rx-pfmag-index{display:flex;flex-direction:column}
.apb-rx-pfmag-ih{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--apb-rx-muted,#6b7280);
  border-bottom:1px solid var(--apb-rx-ink,#0b0d12);padding-bottom:10px;margin-bottom:4px}
.apb-rx-pfmag-story{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px dotted var(--apb-rx-line,#e7e8ec);text-decoration:none}
.apb-rx-pfmag-story img{width:64px;height:64px;object-fit:cover;border-radius:calc(var(--apb-rx-radius) * .4)}
.apb-rx-pfmag-story b{display:block;font-size:15px;font-weight:750;letter-spacing:-.01em;color:var(--apb-rx-ink,#0b0d12);transition:color var(--apb-rx-t-fast,.16s)}
.apb-rx-pfmag-story:hover b{color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-pfmag-story span{font-size:12px;color:var(--apb-rx-muted,#6b7280)}
.apb-rx-pfmag-story i{font-style:normal;font-size:11px;font-weight:800;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
@media(max-width:820px){.apb-rx-pfmag-grid{grid-template-columns:1fr}.apb-rx-pfmag-cover{min-height:340px}}
@media(prefers-reduced-motion:reduce){.apb-rx-pfmag-cover img{transition:none}}

/* ============================ live_tiles (dark) ============================ */
.apb-rx-pflive{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pflive-wrap{max-width:1160px;margin:0 auto}
.apb-rx-pflive .apb-rx-eyebrow{color:color-mix(in srgb,var(--apb-rx-brand) 55%,#fff)}
.apb-rx-pflive .apb-rx-pf-head h2{color:#fff}
.apb-rx-pflive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:var(--apb-space-5,20px)}
.apb-rx-pflive-tile{position:relative;border-radius:var(--apb-rx-radius);overflow:hidden;text-decoration:none;aspect-ratio:4/3;background:#15161c}
.apb-rx-pflive-tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);filter:saturate(.85) brightness(.92)}
.apb-rx-pflive-tile:hover img,.apb-rx-pflive-tile:focus-within img{animation:apbPfliveKb calc(7s / var(--apb-rx-dur,1)) ease-in-out infinite alternate;filter:saturate(1.05) brightness(1)}
@keyframes apbPfliveKb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.14) translate(-2.5%,-2%)}}
.apb-rx-pflive-rec{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;letter-spacing:.12em;
  color:#fff;background:rgba(11,13,18,.55);backdrop-filter:blur(6px);border-radius:var(--apb-rx-radius-pill,999px);padding:5px 11px;opacity:0;transition:opacity var(--apb-rx-t-fast,.16s)}
.apb-rx-pflive-rec i{width:7px;height:7px;border-radius:50%;background:var(--apb-rx-brand);animation:apbPfliveBlink 1.2s steps(2) infinite}
@keyframes apbPfliveBlink{50%{opacity:.25}}
.apb-rx-pflive-tile:hover .apb-rx-pflive-rec,.apb-rx-pflive-tile:focus-within .apb-rx-pflive-rec{opacity:1}
.apb-rx-pflive-drawer{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;display:flex;align-items:center;gap:12px;
  background:linear-gradient(transparent,rgba(11,13,18,.85));transform:translateY(100%);transition:transform var(--apb-rx-t,.28s)}
.apb-rx-pflive-tile:hover .apb-rx-pflive-drawer,.apb-rx-pflive-tile:focus-within .apb-rx-pflive-drawer{transform:none}
.apb-rx-pflive-drawer b{color:#fff;font-size:15px;font-weight:750;letter-spacing:-.01em}
.apb-rx-pflive-drawer span{color:rgba(255,255,255,.7);font-size:12px}
.apb-rx-pflive-drawer svg{margin-left:auto;width:16px;height:16px;color:#fff;flex:none}
@media(max-width:820px){.apb-rx-pflive-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.apb-rx-pflive-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
  .apb-rx-pflive-tile:hover img{animation:none}
  .apb-rx-pflive-rec i{animation:none}
  .apb-rx-pflive-drawer{transform:none}
  .apb-rx-pflive-rec{opacity:1}
}

/* ============================ timeline ============================ */
.apb-rx-pftl{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:var(--apb-rx-surface,#fff)}
.apb-rx-pftl-wrap{max-width:960px;margin:0 auto}
.apb-rx-pftl-line{position:relative;display:flex;flex-direction:column;gap:clamp(26px,4vh,40px);padding:10px 0 14px;margin-top:var(--apb-space-5,20px)}
.apb-rx-pftl-line::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);
  background:linear-gradient(180deg,var(--apb-rx-brand),color-mix(in srgb,var(--apb-rx-brand) 20%,var(--apb-rx-line,#e7e8ec)))}
.apb-rx-pftl-line::after{content:"";position:absolute;left:50%;top:-2px;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:var(--apb-rx-brand)}
.apb-rx-pftl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.apb-rx-pftl-year{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;font-family:var(--apb-rx-font-display,inherit);font-weight:800;
  font-size:13px;color:var(--apb-rx-accent-contrast,#fff);background:var(--apb-rx-brand);border:4px solid var(--apb-rx-surface,#fff);border-radius:var(--apb-rx-radius-pill,999px);
  padding:6px 14px;box-shadow:var(--apb-rx-shadow-sm,var(--apb-rx-shadow-1))}
.apb-rx-pftl-card{position:relative;display:block;text-decoration:none;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line,#e7e8ec);
  border-radius:var(--apb-rx-radius);box-shadow:var(--apb-rx-shadow-sm,var(--apb-rx-shadow-1));transition:transform var(--apb-rx-t-fast,.16s),box-shadow var(--apb-rx-t,.28s);max-width:92%}
.apb-rx-pftl-card:hover{transform:translateY(-4px);box-shadow:var(--apb-rx-shadow-lg,var(--apb-rx-shadow-3))}
.apb-rx-pftl-item:nth-child(odd) .apb-rx-pftl-card{grid-column:1;justify-self:end;margin-right:clamp(22px,4vw,44px)}
.apb-rx-pftl-item:nth-child(even) .apb-rx-pftl-card{grid-column:2;justify-self:start;margin-left:clamp(22px,4vw,44px)}
.apb-rx-pftl-card::before{content:"";position:absolute;top:50%;width:clamp(22px,4vw,44px);height:2px;background:color-mix(in srgb,var(--apb-rx-brand) 45%,var(--apb-rx-line,#e7e8ec))}
.apb-rx-pftl-card::after{content:"";position:absolute;top:50%;width:8px;height:8px;margin-top:-3px;border-radius:50%;background:var(--apb-rx-brand)}
.apb-rx-pftl-item:nth-child(odd) .apb-rx-pftl-card::before{left:100%}
.apb-rx-pftl-item:nth-child(odd) .apb-rx-pftl-card::after{left:calc(100% - 3px)}
.apb-rx-pftl-item:nth-child(even) .apb-rx-pftl-card::before{right:100%}
.apb-rx-pftl-item:nth-child(even) .apb-rx-pftl-card::after{right:calc(100% - 3px)}
.apb-rx-pftl-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:var(--apb-rx-radius) var(--apb-rx-radius) 0 0}
.apb-rx-pftl-body{display:block;padding:14px 16px 16px}
.apb-rx-pftl-body b{display:block;font-size:15.5px;font-weight:750;letter-spacing:-.01em;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pftl-body span{font-size:12.5px;color:var(--apb-rx-muted,#6b7280)}
@media(max-width:720px){
  .apb-rx-pftl-line::before,.apb-rx-pftl-line::after{left:14px}
  .apb-rx-pftl-item{grid-template-columns:1fr;padding-left:44px}
  .apb-rx-pftl-item .apb-rx-pftl-card,.apb-rx-pftl-item:nth-child(even) .apb-rx-pftl-card{grid-column:1;justify-self:stretch;max-width:none;margin:0}
  .apb-rx-pftl-year{left:14px;transform:translate(-50%,-50%)}
  .apb-rx-pftl-item .apb-rx-pftl-card::before,.apb-rx-pftl-item:nth-child(even) .apb-rx-pftl-card::before{left:-30px;right:auto;width:30px}
  .apb-rx-pftl-item .apb-rx-pftl-card::after,.apb-rx-pftl-item:nth-child(even) .apb-rx-pftl-card::after{left:-6px;right:auto}
}
@media(prefers-reduced-motion:reduce){.apb-rx-pftl-card{transition:none}}

/* ============================ logo_reveal ============================ */
.apb-rx-pfwall{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:var(--apb-rx-surface,#fff)}
.apb-rx-pfwall-wrap{max-width:1080px;margin:0 auto}
.apb-rx-pfwall-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:var(--apb-space-5,20px)}
.apb-rx-pfwall-cell{position:relative;aspect-ratio:16/10;border-radius:calc(var(--apb-rx-radius) * .8);overflow:hidden;text-decoration:none;
  border:1px solid var(--apb-rx-line,#e7e8ec);perspective:600px}
.apb-rx-pfwall-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--apb-rx-soft,#f4f5f7);
  transition:opacity var(--apb-rx-t,.28s),transform var(--apb-rx-t,.28s)}
.apb-rx-pfwall-face b{font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:clamp(15px,1.8vw,20px);letter-spacing:-.01em;color:var(--apb-rx-muted,#6b7280)}
.apb-rx-pfwall-shot{position:absolute;inset:0;opacity:0;transform:scale(1.06);transition:opacity var(--apb-rx-t,.28s),transform var(--apb-rx-t,.28s)}
.apb-rx-pfwall-shot img{width:100%;height:100%;object-fit:cover;display:block}
.apb-rx-pfwall-shot span{position:absolute;left:10px;bottom:9px;font-size:11px;font-weight:700;color:#fff;background:rgba(11,13,18,.55);border-radius:var(--apb-rx-radius-pill,999px);padding:4px 10px}
.apb-rx-pfwall-cell--shot:hover .apb-rx-pfwall-face,.apb-rx-pfwall-cell--shot:focus-within .apb-rx-pfwall-face{opacity:0;transform:scale(.96)}
.apb-rx-pfwall-cell--shot:hover .apb-rx-pfwall-shot,.apb-rx-pfwall-cell--shot:focus-within .apb-rx-pfwall-shot{opacity:1;transform:scale(1)}
.apb-rx-pfwall-note{margin-top:clamp(22px,3.5vh,32px);text-align:center;font-size:13px;color:var(--apb-rx-muted,#6b7280)}
@media(max-width:820px){.apb-rx-pfwall-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){.apb-rx-pfwall-face,.apb-rx-pfwall-shot{transition:none}}

/* ============================ broadsheet ============================ */
.apb-rx-pfnews{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:color-mix(in srgb,var(--apb-rx-ink,#0b0d12) 3%,var(--apb-rx-surface,#fff))}
.apb-rx-pfnews-paper{max-width:1040px;margin:0 auto;background:var(--apb-rx-surface,#fff);border:1px solid var(--apb-rx-line,#e7e8ec);
  box-shadow:var(--apb-rx-shadow-md,var(--apb-rx-shadow-2));padding:clamp(22px,4vw,44px)}
.apb-rx-pfnews-mast{text-align:center;border-bottom:3px double var(--apb-rx-ink,#0b0d12);padding-bottom:14px;margin-bottom:6px}
.apb-rx-pfnews-mast b{font-family:var(--apb-rx-font-display,inherit);font-weight:900;font-size:clamp(30px,5vw,54px);letter-spacing:-.02em;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pfnews-dateline{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--apb-rx-muted,#6b7280);border-bottom:1px solid var(--apb-rx-ink,#0b0d12);padding:8px 0;margin-bottom:20px}
.apb-rx-pfnews-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:0}
.apb-rx-pfnews-lead{padding-right:24px;border-right:1px solid var(--apb-rx-line,#e7e8ec)}
.apb-rx-pfnews-lead img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:14px;filter:saturate(.85)}
.apb-rx-pfnews-lead h3{margin:0 0 10px;font-family:var(--apb-rx-font-display,inherit);font-weight:850;font-size:clamp(22px,3vw,34px);letter-spacing:-.02em;line-height:1.12;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pfnews-lead p{margin:0 0 12px;font-size:13.5px;line-height:1.7;color:color-mix(in srgb,var(--apb-rx-ink,#0b0d12) 78%,transparent);
  column-count:2;column-gap:22px;column-rule:1px solid var(--apb-rx-line,#e7e8ec)}
.apb-rx-pfnews-lead p::first-letter{float:left;font-family:var(--apb-rx-font-display,inherit);font-weight:900;font-size:44px;line-height:.85;
  padding:4px 8px 0 0;color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-pfnews-more{display:inline-flex;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--apb-rx-accent-text,var(--apb-rx-brand));text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.apb-rx-pfnews-side{padding-left:24px;display:flex;flex-direction:column}
.apb-rx-pfnews-story{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--apb-rx-line,#e7e8ec);text-decoration:none;display:block}
.apb-rx-pfnews-story img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;margin-bottom:9px;filter:saturate(.85)}
.apb-rx-pfnews-story b{display:block;font-family:var(--apb-rx-font-display,inherit);font-weight:800;font-size:16px;letter-spacing:-.01em;line-height:1.2;color:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pfnews-story:hover b{text-decoration:underline;text-underline-offset:3px}
.apb-rx-pfnews-story span{font-size:11.5px;color:var(--apb-rx-muted,#6b7280)}
.apb-rx-pfnews-class{margin-top:auto}
.apb-rx-pfnews-class h4{margin:0 0 8px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--apb-rx-muted,#6b7280)}
.apb-rx-pfnews-class a{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--apb-rx-ink,#0b0d12);text-decoration:none;
  padding:5px 0;border-bottom:1px dotted var(--apb-rx-line,#e7e8ec)}
.apb-rx-pfnews-class a:hover{color:var(--apb-rx-accent-text,var(--apb-rx-brand))}
.apb-rx-pfnews-class i{font-style:normal;color:var(--apb-rx-fg-subtle,#a1a1aa)}
@media(max-width:760px){
  .apb-rx-pfnews-grid{grid-template-columns:1fr}
  .apb-rx-pfnews-lead{padding-right:0;border-right:0;border-bottom:1px solid var(--apb-rx-line,#e7e8ec);padding-bottom:18px;margin-bottom:18px}
  .apb-rx-pfnews-side{padding-left:0}
  .apb-rx-pfnews-lead p{column-count:1}
}

/* ============================ terminal (dark) ============================ */
.apb-rx-pfterm{padding:clamp(56px,10vh,110px) var(--apb-space-6,24px);background:var(--apb-rx-ink,#0b0d12)}
.apb-rx-pfterm-wrap{max-width:880px;margin:0 auto}
.apb-rx-pfterm .apb-rx-eyebrow{color:color-mix(in srgb,var(--apb-rx-brand) 55%,#fff)}
.apb-rx-pfterm .apb-rx-pf-head h2{color:#fff}
.apb-rx-pfterm-win{margin-top:var(--apb-space-5,20px);border-radius:var(--apb-rx-radius);overflow:hidden;background:#101116;
  border:1px solid color-mix(in srgb,var(--apb-rx-brand) 25%,#26262b);box-shadow:0 30px 70px -20px rgba(0,0,0,.6)}
.apb-rx-pfterm-bar{display:flex;align-items:center;gap:7px;padding:12px 14px;background:#17181e;border-bottom:1px solid #26262b}
.apb-rx-pfterm-bar i{width:11px;height:11px;border-radius:50%;background:#303038}
.apb-rx-pfterm-bar span{margin-left:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:#8b8b94}
.apb-rx-pfterm-body{padding:20px 22px 24px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;line-height:1.75;color:#c9cad3}
.apb-rx-pfterm-body .ps{color:color-mix(in srgb,var(--apb-rx-brand) 65%,#fff);font-weight:700}
.apb-rx-pfterm-body .cmd{color:#fff}
.apb-rx-pfterm-row{display:flex;gap:14px;padding:3px 0;text-decoration:none;color:#c9cad3;border-radius:6px}
.apb-rx-pfterm-row:hover{background:rgba(255,255,255,.05)}
.apb-rx-pfterm-row .perm{color:#5b5c66;flex:none}
.apb-rx-pfterm-row .name{color:color-mix(in srgb,var(--apb-rx-brand) 60%,#fff);font-weight:700;min-width:170px}
.apb-rx-pfterm-row .desc{color:#9a9ba5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.apb-rx-pfterm-row .lang{margin-left:auto;flex:none;font-size:11px;padding:2px 9px;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--apb-rx-brand) 40%,#26262b);color:color-mix(in srgb,var(--apb-rx-brand) 65%,#fff)}
.apb-rx-pfterm-log{margin:14px 0 0;padding-top:14px;border-top:1px dashed #26262b}
.apb-rx-pfterm-log div{display:flex;gap:12px}
.apb-rx-pfterm-log .sha{color:#d3a04e;flex:none}
.apb-rx-pfterm-log .msg{color:#9a9ba5}
.apb-rx-pfterm-prompt{display:flex;align-items:center;gap:8px;margin-top:16px}
.apb-rx-pfterm-cursor{display:inline-block;width:9px;height:18px;background:color-mix(in srgb,var(--apb-rx-brand) 70%,#fff);animation:apbPftermBlink 1.1s steps(2) infinite}
@keyframes apbPftermBlink{50%{opacity:0}}
.apb-rx-pfterm-foot{margin-top:clamp(22px,3.5vh,32px);text-align:center}
.apb-rx-pfterm-foot a{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--apb-rx-radius);
  color:#fff;border:1px solid rgba(255,255,255,.3);font-size:14px;font-weight:700;text-decoration:none;font-family:var(--apb-rx-font,inherit)}
.apb-rx-pfterm-foot a:hover{border-color:#fff}
@media(max-width:640px){.apb-rx-pfterm-row .desc{display:none}}
@media(prefers-reduced-motion:reduce){.apb-rx-pfterm-cursor{animation:none}}
