*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{background:var(--outer);color:var(--fg);font-family:Figtree,'Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.mono{font-family:'Space Mono',ui-monospace,monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* phone first: everything on one screen */
.page{max-width:580px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:20px 16px;background:var(--bg);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:'head' 'hl' 'rest';gap:16px}
.head{grid-area:head;display:flex;flex-direction:column;gap:8px}
.highlight{grid-area:hl}
.rest{grid-area:rest;display:flex;flex-direction:column;gap:16px;min-width:0}

.bar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pill{margin:0;padding:10px 16px;padding-right:calc(16px - .32em);border-radius:999px;background:var(--fg);color:var(--bg);font-weight:800;font-size:13px;line-height:1;letter-spacing:.32em;white-space:nowrap}
.bio{margin:0;font-size:12px;line-height:1.4}
.socials{display:flex}
.socials a{width:40px;height:44px;display:flex;align-items:center;justify-content:center}
.socials svg{width:20px;height:20px;fill:currentColor}

/* highlight: cover thumbnail beside title + action */
.highlight{display:grid;grid-template-columns:112px minmax(0,1fr);border-radius:16px;overflow:hidden;background:var(--fg);color:var(--bg);text-decoration:none}
.highlight img{width:112px;height:112px;display:block;object-fit:cover}
.highlight .cap{padding:12px 14px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px}
.highlight .title{font-weight:700;font-size:16px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.highlight .sub{display:block;margin-top:4px;font-size:12px}
.action{flex-shrink:0;padding:9px 14px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-weight:800;font-size:12px;line-height:1;letter-spacing:.12em;text-transform:uppercase}
.poster{width:112px;height:112px;padding:10px;display:flex;flex-direction:column;justify-content:flex-end;background-color:var(--accent);background-image:radial-gradient(rgba(0,0,0,.16) 1px,transparent 1.5px);background-size:6px 6px;color:var(--bg)}
.poster .pill{display:none}
.poster .headline{font-weight:800;font-size:15px;line-height:1;text-transform:uppercase;overflow-wrap:anywhere}
.poster .when{display:none}

.links{display:flex;flex-direction:column;gap:10px}
.card{position:relative;min-height:56px;display:flex;align-items:center;justify-content:center;padding:6px 56px;border-radius:14px;background:var(--card-bg,var(--fg));color:var(--card-fg,var(--bg));text-decoration:none;font-weight:700;font-size:15px;text-align:center}
.card img{position:absolute;left:8px;top:8px;width:40px;height:40px;border-radius:8px;object-fit:cover}

.listen{margin-top:auto}
.cluster{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.cluster a{width:42px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--fg);color:var(--bg)}
.cluster svg{width:21px;height:21px;fill:currentColor}

.signup{display:flex;flex-direction:column;gap:6px}
.signup p{margin:0;font-size:12px;text-align:center}
.signup p:empty{display:none}
.signup .row{display:flex;gap:6px}
.signup input[type=email]{flex:1;min-width:0;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--fg);background:transparent;color:var(--fg);font:600 14px Figtree,sans-serif}
.signup input::placeholder{color:var(--fg);opacity:.7}
.signup button{min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--fg);color:var(--bg);font:800 11px Figtree,sans-serif;letter-spacing:.16em;cursor:pointer}
.signup .hp{position:absolute;left:-9999px}

.foot{display:flex;justify-content:center;gap:14px;font-size:11px;opacity:.8}
.foot button{all:unset;cursor:pointer;text-decoration:underline}

@media (max-width:360px){
  .page{padding:16px 12px}
  .highlight{grid-template-columns:96px minmax(0,1fr)}
  .highlight img,.poster{width:96px;height:96px}
  .cluster a{width:38px;height:38px}
  .socials a{width:34px}
}

/* tablet: same stack, a bit roomier */
@media (min-width:600px){
  .page{padding:32px 24px;gap:20px}
  .highlight{grid-template-columns:160px minmax(0,1fr)}
  .highlight img,.poster{width:160px;height:160px}
  .poster .headline{font-size:20px}
  .cluster a{width:48px;height:48px}
  .cluster svg{width:24px;height:24px}
}

/* desktop: full cover on the left, everything else on the right */
@media (min-width:900px){
  body{background:var(--bg);display:flex;align-items:center;min-height:100vh}
  .page{width:100%;min-height:0;max-width:1080px;padding:56px 40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:'hl head' 'hl rest';column-gap:56px;row-gap:20px}
  .highlight{display:flex;flex-direction:column;position:sticky;top:56px;align-self:start}
  .highlight img{width:100%;height:auto;aspect-ratio:1/1}
  .highlight .cap{flex-direction:row;align-items:center;justify-content:space-between;padding:16px 18px}
  .poster{width:100%;height:auto;aspect-ratio:1/1;padding:24px;justify-content:space-between}
  .poster .pill{display:block;align-self:flex-start;background:var(--bg);color:var(--accent);font-size:12px}
  .poster .headline{font-size:56px;line-height:.95;text-wrap:balance}
  .poster .when{display:block;margin-top:14px;font-size:14px;font-weight:700}
  .card{min-height:60px}
}

.consent{position:fixed;left:12px;right:12px;bottom:16px;max-width:540px;margin:0 auto;padding:14px 16px;border-radius:18px;background:var(--fg);color:var(--bg);display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.consent[hidden]{display:none}
.consent p{margin:0;font-size:12px;line-height:1.5}
.consent .row{display:flex;gap:8px}
.consent button{flex:1;min-height:44px;border-radius:999px;font:800 12px Figtree,sans-serif;letter-spacing:.24em;cursor:pointer}
.consent .yes{border:0;background:var(--bg);color:var(--fg)}
.consent .no{border:1.5px solid var(--bg);background:transparent;color:var(--bg)}

a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
