/* Page layout for the holding page. Tokens only: colour, type, spacing and radius all come from signal.css. */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.hp-main{flex:1;width:100%;padding:var(--space-6) var(--space-3) var(--space-20)}
.hp-photo{margin:0;aspect-ratio:1;border:1px solid var(--rule);border-radius:var(--radius-0);background:var(--panel);overflow:hidden}
.hp-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.hp-name{margin:var(--space-6) 0 var(--space-4);font:var(--type-display);letter-spacing:var(--type-display-tracking);text-transform:uppercase}
.hp-line{margin:0;font:var(--type-body);color:var(--ink-muted);max-width:32em;text-wrap:balance}
.hp-listen{margin-top:var(--space-6)}
.hp-listen h2{margin:0 0 var(--space-4);font:var(--type-title);text-transform:uppercase}
.hp-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}
.hp-cards .sg-card__media{aspect-ratio:16/9}
.hp-cards .sg-card__media img,.hp-cards .sg-card:hover .sg-card__media img{filter:none}
.sg-card:hover .sg-card__title,.sg-card:focus-visible .sg-card__title{text-decoration:underline;text-underline-offset:4px}
.hp-actions{list-style:none;margin:calc(var(--space-6) * 2) 0 0;padding:var(--space-6) 0 0;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:var(--space-3)}
.hp-footer{padding:var(--space-4) var(--space-3);border-top:1px solid var(--rule);font:var(--type-caption);color:var(--ink-subtle)}
.hp-footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (min-width:900px){
  .hp-main{max-width:1280px;margin:0 auto;align-content:center;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:calc(var(--space-6) * 2);align-items:start;padding:calc(var(--space-6) * 2) var(--space-6) var(--space-20)}
  .hp-photo{grid-column:1/6;position:sticky;top:calc(var(--space-6) * 2)}
  .hp-text{grid-column:6/13}
  .hp-name{margin-top:0}
  .hp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
  .hp-actions{margin-top:var(--space-6)}
  .hp-footer{padding:var(--space-4) var(--space-6)}
}
@media print{
  .hp-main{padding-bottom:var(--space-6)}
  .hp-photo{max-width:40%}
  .hp-listen{break-inside:avoid}
  .hp-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}
}
