/* Personal profiles: readable without scripts or motion. Existing art is kept. */
.character-dossier-astra{--profile-colour:#ffd2c8}
.character-dossier-cleo{--profile-colour:#baf4db}
.character-dossier-juno{--profile-colour:#daeefa}
.character-dossier-marin{--profile-colour:#bfe8eb}
.character-dossier-pip{--profile-colour:#e7ddfb}
.character-dossier,.character-beginnings{color:var(--ink);overflow-wrap:anywhere}
.character-dossier{padding:76px 0 70px;background:var(--profile-colour);border-top:1px solid var(--ink)}
.character-dossier-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:36px}
.character-dossier-heading .eyebrow,.character-origin-heading .eyebrow{margin-bottom:16px}
.character-dossier-heading h2,.character-origin-heading h2{font-size:clamp(3rem,5.8vw,6rem);line-height:.98;margin:0;max-width:900px}
.character-dossier-heading>p{max-width:350px;font-size:1.05rem;line-height:1.65;margin:0 0 4px}
.character-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink);border-left:1px solid var(--ink);margin:0 0 36px;background:var(--paper)}
.character-fact{padding:24px 26px 28px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-width:0}
.character-fact dt{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.character-fact dd{font-family:Barlow,Impact,'Arial Narrow',sans-serif;font-size:1.85rem;line-height:1.12;margin:0;max-width:22ch}
.character-personal-notes{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:28px;align-items:stretch}
.character-personal-notes article,.character-saying{min-width:0}
.character-personal-notes h3{font-size:2.3rem;line-height:1.05;margin:0 0 15px}
.character-personal-notes p{font-size:1rem;line-height:1.7;max-width:48ch}
.character-personal-notes p:last-child{margin-bottom:0}
.character-note-label{display:block;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:15px}
.character-day-off{padding:26px 28px;background:var(--paper);border:1px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.character-little-things{padding:27px 6px 0}
.character-saying{margin:0;padding:28px 24px;display:flex;flex-direction:column;justify-content:center;border:2px solid var(--ink);border-radius:55% 45% 48% 42% / 30% 40% 30% 40%;background:var(--ink);color:var(--paper);text-align:center}
.character-saying p{font-family:Barlow,Impact,'Arial Narrow',sans-serif;font-size:2.4rem;line-height:1.03;letter-spacing:-.01em;margin:0 0 18px;text-transform:uppercase}
.character-saying footer{font-size:.875rem;font-weight:700}
.character-beginnings{background:var(--paper);padding:76px 0 84px}
.character-origin-heading{max-width:1000px;margin-bottom:34px}
.character-origin-heading>p{font-size:1.1rem;margin:24px 0 0}
.character-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;margin:0;counter-reset:none;border-top:2px solid var(--ink)}
.character-step{min-width:0;padding:24px 25px 0 0}
.character-step+.character-step{padding-left:25px;border-left:1px solid #17191d40}
.character-step-number{display:flex;align-items:center;justify-content:center;font-family:Barlow,Impact,sans-serif;font-size:1.6rem;line-height:1;width:52px;height:52px;background:var(--profile-colour);border:1px solid var(--ink);border-radius:50%;margin:0 0 24px}
.character-step-stage{display:block;font-size:.6875rem;line-height:1.5;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px}
.character-step h3{font-size:2.1rem;line-height:1.06;margin:0 0 16px}
.character-step p{font-size:.9375rem;line-height:1.75;margin:0}
.character-story-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #17191d40;margin-top:34px;padding-top:28px}
.character-story-footer p{max-width:540px;margin:0;font-size:1rem;line-height:1.7}
.character-story-footer .button{flex-shrink:0}
@media(max-width:1000px){
  .character-personal-notes{grid-template-columns:1fr 1fr;gap:26px}
  .character-saying{grid-column:1/-1;border-radius:16px;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;text-align:left}
  .character-saying p{margin:0;max-width:none}
  .character-saying footer{white-space:nowrap}
  .character-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .character-step:nth-child(3){border-left:0;padding-left:0}
  .character-step:nth-child(n+3){border-top:1px solid #17191d40}
}
@media(max-width:700px){
  .character-dossier,.character-beginnings{padding:46px 0}
  .character-dossier-heading{grid-template-columns:1fr;gap:20px;margin-bottom:26px}
  .character-dossier-heading h2,.character-origin-heading h2{font-size:3.4rem}
  .character-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}
  .character-fact{padding:19px 18px 22px}
  .character-fact dd{font-size:1.6rem}
  .character-personal-notes{grid-template-columns:1fr;gap:28px}
  .character-little-things{padding:4px 0 0}
  .character-day-off{padding:24px}
  .character-saying{grid-column:auto;display:block;text-align:left;padding:26px}
  .character-saying p{font-size:2.5rem;margin-bottom:14px}
  .character-story-footer{align-items:flex-start;flex-direction:column;gap:20px}
  .character-story-footer .button{max-width:100%;flex-shrink:1}
}
@media(max-width:480px){
  .character-dossier-heading h2,.character-origin-heading h2{font-size:2.85rem}
  .character-fact{padding:18px 13px 20px}
  .character-fact dd{font-size:1.5rem}
  .character-steps{grid-template-columns:1fr;gap:0}
  .character-step,.character-step+.character-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:15px;border-left:0;padding:24px 0}
  .character-step+.character-step{border-top:1px solid #17191d40}
  .character-step-number{width:42px;height:42px;font-size:1.35rem;margin:0}
  .character-step h3{font-size:2rem}
  .character-story-footer{margin-top:0}
}
/* Honour the site's existing enlarged-text mode without clipping fact cards. */
.large-type .character-dossier-heading,.large-type .character-personal-notes,.large-type .character-facts,.large-type .character-steps{grid-template-columns:1fr}
.large-type .character-step,.large-type .character-step+.character-step{border-left:0;padding:24px 0;border-top:1px solid #17191d40}
.large-type .character-saying{grid-column:auto;display:block;border-radius:16px;text-align:left}
.large-type .character-saying p{margin-bottom:16px}
.large-type .character-story-footer{display:block}
.large-type .character-story-footer .button{margin-top:20px;max-width:100%}
@media print{
  .character-dossier,.character-beginnings{background:white!important;color:black!important;padding:24px 0;border:0}
  .character-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .character-day-off,.character-saying{box-shadow:none;border-radius:0;background:white;color:black}
  .character-personal-notes{grid-template-columns:1fr 1fr}
  .character-saying{grid-column:1/-1}
  .character-dossier-heading h2,.character-origin-heading h2{font-size:2.5rem}
  .character-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .character-step,.character-step+.character-step{border:0;padding:0;break-inside:avoid}
  .character-personal-notes article,.character-fact,.character-saying{break-inside:avoid}
  .character-story-footer .button{border:0;padding:0}
}
