/* V18: a dedicated, warm editorial identity for Ângulo. */
.angulo-editorial-page { --angulo-beige: #ded3bb; --angulo-red: #840414; --angulo-ink: #332922; background: var(--angulo-beige); color: var(--angulo-ink); }
.angulo-editorial-page .site-header { background: var(--angulo-beige); color: var(--angulo-red); mix-blend-mode: normal; position: relative; }
.angulo-editorial-page .scroll-progress { background: var(--angulo-red); }
.angulo-editorial-page .case-intro { background: var(--angulo-beige); }
.angulo-editorial-page .case-title, .angulo-editorial-page .case-intro__lead { color: var(--angulo-red); }
.angulo-editorial-page .case-intro__side p, .angulo-editorial-page .case-meta__row strong { color: var(--angulo-ink); }
.angulo-editorial-page .case-meta__row span { color: #705e4f; }
.angulo-editorial-page .case-intro__lead { max-width: 650px; margin-inline: auto; font-weight: 500; }
.angulo-editorial { overflow: clip; }
.angulo-editorial .angulo-photo { margin: 0; min-width: 0; }
.angulo-editorial .angulo-photo img { width: 100%; height: auto; max-height: none; object-fit: contain; display: block; }
.angulo-editorial .angulo-photo figcaption { margin: 14px 0 0; font-size: 11px; line-height: 1.6; color: var(--angulo-red); }
.angulo-editorial .angulo-wide { width: 100%; }
.angulo-editorial .angulo-inset { width: min(calc(100% - 64px), 1300px); margin: clamp(60px,9vw,140px) auto; }
.angulo-editorial .angulo-story { width: min(calc(100% - 48px), 680px); margin: clamp(68px,9vw,140px) auto; text-align: center; }
.angulo-editorial .angulo-index { display: block; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--angulo-red); margin-bottom: 22px; }
.angulo-editorial h2 { font-family: var(--text); font-size: clamp(23px,2.7vw,36px); font-weight: 500; line-height: 1.35; letter-spacing: -.025em; color: var(--angulo-red); margin: 0 0 24px; text-transform: none; }
.angulo-editorial p { font-size: 15px; line-height: 1.9; color: var(--angulo-ink); margin: 0; }
.angulo-identity { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; background: #e9e0cf; }
.angulo-logo { background: var(--angulo-red); display: grid; place-items: center; padding: clamp(28px,5vw,80px); }
.angulo-logo .angulo-photo { width: min(100%,500px); }
.angulo-identity-copy { align-self: center; padding: clamp(32px,6vw,100px); }
.angulo-palette { display: flex; margin-top: 36px; gap: 12px; }
.angulo-palette i { width: 26px; height: 26px; border-radius: 50%; background: var(--angulo-red); }
.angulo-palette i + i { background: var(--angulo-beige); border: 1px solid #b8a98c; }
.angulo-story-pair { display: grid; grid-template-columns: .75fr 1.25fr; width: min(calc(100% - 64px),1400px); gap: clamp(32px,6vw,96px); margin: 0 auto clamp(70px,10vw,150px); align-items: center; }
.angulo-editorial .angulo-story-pair .angulo-story { width: auto; margin: 0; text-align: left; }
.angulo-portraits { width: min(calc(100% - 64px),1100px); margin: 0 auto; display: grid; grid-template-columns: 1fr .78fr; gap: clamp(28px,7vw,110px); align-items: start; }
.angulo-portraits > figure:nth-child(2) { padding-top: clamp(40px,10vw,160px); }
.angulo-editorial .angulo-final-photo { width: min(calc(100% - 64px),1100px); }
.angulo-episode { background: var(--angulo-red); padding: clamp(50px,7vw,100px) max(24px,calc((100vw - 1300px)/2)); }
.angulo-episode-copy { text-align: center; margin-bottom: 40px; }
.angulo-episode h2, .angulo-episode p, .angulo-episode .angulo-index { color: var(--angulo-beige); }
.angulo-video { position: relative; aspect-ratio: 16/9; background: #1b0c0c; }
.angulo-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.angulo-episode .angulo-video-link { font-size: 12px; margin-top: 20px; text-align: center; }
.angulo-video-link a { text-decoration: underline; text-underline-offset: 4px; }
.angulo-editorial-page .next-project, .angulo-editorial-page .site-footer { background: var(--angulo-beige); color: var(--angulo-red); border-color: #84041430; }
.angulo-editorial-page .next-project .eyebrow { color: #705e4f; }
@media(max-width:760px) {
 .angulo-identity, .angulo-story-pair { grid-template-columns: 1fr; }
 .angulo-logo .angulo-photo { max-width: 330px; }
 .angulo-identity-copy { padding: 40px 24px 48px; }
 .angulo-editorial .angulo-inset, .angulo-editorial .angulo-final-photo, .angulo-story-pair, .angulo-portraits { width: calc(100% - 40px); }
 .angulo-editorial .angulo-story-pair .angulo-story { text-align: center; }
}
@media(max-width:520px) {
 .angulo-portraits { grid-template-columns: 1fr; gap: 36px; }
 .angulo-portraits > figure:nth-child(2) { padding: 0; width: 85%; margin-left: auto; }
}

/* A complete performance, with room to listen. */
.angulo-special { background: #211a17; padding: clamp(60px,9vw,130px) max(20px,calc((100vw - 1400px)/2)); }
.angulo-special-copy { width: min(100%,700px); margin: 0 auto 48px; text-align: center; }
.angulo-special .angulo-index { color: #cfad81; }
.angulo-special h2 { color: #e8ddc6; font-weight: 500; }
.angulo-special p { color: #d8ccb6; }
.angulo-special .angulo-special-credit { margin-top: 28px; font-size: 12px; letter-spacing: .06em; }
.angulo-special video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #050505; }
.angulo-special .angulo-special-note { text-align: center; font-size: 11px; margin-top: 18px; color: #bdaf98; }

/* V26 — duration, production and episode views. */
.angulo-numbers {background:var(--angulo-beige);color:var(--angulo-red);padding:0 24px clamp(48px,6vw,88px);}
.angulo-numbers dl {max-width:1080px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #84041430;border-bottom:1px solid #84041430;padding:28px 0;gap:24px;}
.angulo-numbers dl>div {display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;min-width:0;}
.angulo-numbers dt {order:2;font-size:11px;line-height:1.6;font-weight:400;color:var(--angulo-ink);}
.angulo-numbers dd {order:1;margin:0;font-family:var(--text);font-size:clamp(22px,2.5vw,32px);font-weight:500;line-height:1.25;letter-spacing:-.025em;}
@media(max-width:640px){.angulo-numbers dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px;}}

/* V27 — complete guest mural, two seasons and fifteen episodes. */
.angulo-numbers dl {grid-template-columns:repeat(3,minmax(0,1fr));}
.angulo-guests {padding:clamp(56px,8vw,110px) max(20px,calc((100% - 1320px)/2));background:#ded3bb;}
.angulo-guests-intro {max-width:620px;text-align:center;margin:0 auto 48px;}
.angulo-guests-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 20px;}
.angulo-guest {display:block;color:var(--angulo-red);text-decoration:none;min-width:0;}
.angulo-guest img {display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:filter .2s ease;}
.angulo-guest:hover img {filter:brightness(1.08);}
.angulo-guest:focus-visible {outline:2px solid var(--angulo-red);outline-offset:6px;}
.angulo-guest-caption {display:flex;align-items:baseline;gap:10px;padding-top:12px;}
.angulo-guest-caption h3 {font-family:var(--text);font-size:14px;line-height:1.5;font-weight:500;margin:0;letter-spacing:0;text-transform:none;}
.angulo-guest-caption span {font-size:10px;white-space:nowrap;}
.angulo-guest-caption span:last-child {margin-left:auto;}
@media(max-width:850px){.angulo-guests-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.angulo-guests-grid{grid-template-columns:1fr;gap:28px;}.angulo-numbers dl{gap:16px 8px;}.angulo-numbers dd{font-size:21px;}.angulo-numbers dt{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.angulo-guest img{transition:none;}}
