/* Character cases and selectable contact portraits. */
.contact-author-picker { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 26px; }
.contact-author-picker button { border:1px solid var(--line); background:transparent; color:var(--paper); padding:12px 22px; cursor:pointer; font:inherit; font-size:12px; }
.contact-author-picker button[aria-pressed="true"] { color:var(--ink); background:var(--ivory); border-color:var(--ivory); }
.contact-author-picker button:focus-visible { outline:2px solid var(--amber); outline-offset:4px; }
.contact-layout .contact-portrait { min-height:0; height:calc(100svh - 74px); background:#17110c; }
.contact-layout .contact-portrait > img { object-fit:contain!important; object-position:center!important; }
.contact-portrait::after { background:linear-gradient(180deg,transparent 70%,rgba(11,9,7,.75)); }
.character-hero { display:grid; grid-template-columns:1.1fr .9fr; min-height:calc(100svh - 74px); margin-top:74px; background:var(--espresso); }
.character-hero-copy { align-self:center; padding:clamp(40px,6vw,100px); }
.character-hero h1 { font-family:var(--serif); font-size:clamp(48px,5.8vw,92px); font-weight:400; text-transform:uppercase; line-height:.95; margin:24px 0 30px; overflow-wrap:anywhere; }
.character-hero-copy p { max-width:50ch; color:var(--muted); font-size:clamp(14px,1.25vw,18px); line-height:1.8; }
.character-hero-copy .text-link { margin-top:28px; }
.series-instagram { display:block; margin-top:24px; color:var(--muted); font-size:12px; }
.character-hero-art { margin:0; padding:30px; display:flex; align-items:center; justify-content:center; background:#0c0907; }
.character-hero-art img { width:100%; height:min(78svh,800px); object-fit:contain!important; }
.character-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.character-metric { padding:32px 26px; border-right:1px solid var(--line); }
.character-metric:last-child { border-right:0; }
.character-metric strong { display:block; font-family:var(--serif); color:var(--amber); font-size:clamp(44px,5vw,76px); font-weight:400; line-height:1.1; }
.character-metric span { display:block; margin-top:12px; font-size:11px; color:var(--muted); line-height:1.7; }
.character-metric-note,.series-source p { max-width:90ch; color:var(--muted); font-size:12px; line-height:1.8; }
.series-source { margin-top:24px; border:1px solid var(--line); padding:18px 24px; }
.series-source summary { cursor:pointer; color:var(--paper); font-size:12px; }
.series-publication { display:grid; grid-template-columns:minmax(0,1fr) auto 20px; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid var(--line); font-size:12px; }
.series-publication strong { font-weight:400; color:var(--amber); }
.series-publication b { font-weight:400; }
.character-films-grid { display:grid; gap:40px; }
.character-film { display:grid; grid-template-columns:1.3fr .7fr; background:#17110c; border:1px solid var(--line); }
.character-film-player { display:flex; align-items:center; justify-content:center; background:#080706; }
.character-film video { width:100%; height:auto; max-height:80svh; object-fit:contain; aspect-ratio:16/9; }
.character-film.is-portrait { grid-template-columns:.85fr 1.15fr; }
.character-film.is-portrait video { aspect-ratio:9/16; max-height:760px; }
.character-film-copy { align-self:center; padding:clamp(24px,3vw,48px); }
.character-film-copy h2 { font-family:var(--serif); font-size:clamp(32px,3vw,52px); font-weight:400; line-height:1.05; }
.character-film-copy p,.character-poster p { font-size:13px; line-height:1.8; color:var(--muted); }
.character-film-copy small { display:block; margin-top:22px; font-size:11px; line-height:1.7; color:var(--muted); }
.character-poster-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 28px; }
.character-poster figure { margin:0 0 22px; aspect-ratio:9/16; background:#080706; cursor:zoom-in; }
.character-poster img { object-fit:contain!important; }
.character-poster h3 { font-family:var(--serif); font-size:32px; font-weight:400; margin:14px 0; }
.character-poster .text-link { font-size:11px; }
.character-offer { background:var(--ivory); color:var(--ink); }
.character-offer h2 { font-family:var(--serif); font-size:clamp(46px,6vw,90px); font-weight:400; text-transform:uppercase; line-height:.95; }
.character-offer p { max-width:66ch; font-size:15px; line-height:1.8; }
.creative-character-series .portfolio-grid { padding:0; margin-top:42px; }
.creative-character-series .work-card { grid-column:span 6; min-height:580px; }
.creative-character-series .work-card > img { object-fit:contain; background:#0b0907; }
@media(max-width:1100px) { .contact-layout { grid-template-columns:minmax(0,1fr)!important; } .contact-layout .contact-portrait { position:relative; top:auto; height:min(90vw,680px); } }
@media(max-width:980px) { .character-hero { grid-template-columns:1fr; } .character-hero-art { padding:24px; } .character-hero-art img { height:min(90svh,720px); } .character-film,.character-film.is-portrait { grid-template-columns:1fr; } .character-poster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .character-film.is-portrait video { max-height:70svh; } }
@media(max-width:680px) { .contact-layout .contact-portrait { height:min(110vw,540px); } .character-hero-copy { padding:44px 24px; } .character-hero h1 { font-size:46px; } .character-metrics { grid-template-columns:1fr; } .character-metric { padding:24px 0; border-right:0; border-bottom:1px solid var(--line); } .character-metric:last-child { border-bottom:0; } .character-poster-grid { grid-template-columns:1fr; gap:36px; } .series-publication { grid-template-columns:minmax(0,1fr) 20px; } .series-publication strong { grid-column:1; font-size:11px; } .series-publication b { grid-column:2; grid-row:1/3; } .creative-character-series .work-card { grid-column:1/-1; min-height:560px; } .character-film-copy { padding:24px; } }
