/* Twelve characters and seven people; fixed SUNIVA palette. */
.characters{background:linear-gradient(180deg,#fcfaf5,#fff 62%);position:relative;overflow:hidden}
.characters .section-top,.people .section-top{align-items:flex-end}
.character-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 24px;margin:42px 0 48px}
.character-choice{min-width:0;text-align:center;padding:6px 5px 9px;border-radius:12px;font-size:13px;letter-spacing:.07em;color:#5c594e}
.character-portrait{display:block;aspect-ratio:1;width:min(100%,142px);margin:0 auto 12px;position:relative;border-radius:50%;padding:5px;border:1px solid transparent;transition:transform .2s,border-color .2s,background .2s}
.character-portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.character-choice:hover .character-portrait{transform:translateY(-4px)}
.character-choice.is-selected .character-portrait{border-color:#b69858;background:#faf3df;box-shadow:0 5px 22px #b79c4f18}
.character-choice.is-selected{color:#8c7039}
.character-detail{display:grid;grid-template-columns:41% minmax(0,1fr);gap:8%;align-items:center;background:#f8f5ed;padding:42px 7%;position:relative}
.character-stage{position:relative;isolation:isolate;max-width:280px;width:100%;margin:auto;aspect-ratio:1}
.character-stage>img{width:100%;height:100%;border-radius:50%;object-fit:cover;position:relative}
.character-halo{position:absolute;inset:-15px;border:1px solid #d9c9a5;border-radius:50%;z-index:-1}
.character-halo:after{content:"";position:absolute;inset:-11px;border:1px solid #e6dcca;border-radius:50%}
.character-story{min-width:0}
.character-story>.eyebrow{font-size:9px;color:#9e8954;letter-spacing:.16em}
.character-name{display:block;margin:13px 0 9px;font-size:12px;color:#857248;letter-spacing:.12em}
.character-story h3{font-family:var(--serif);font-size:30px;line-height:1.7;letter-spacing:.06em;margin-bottom:16px}
.character-story>p:not(.eyebrow){font-size:12px;line-height:2.1;color:#79766a;max-width:380px}
.character-story>.text-link{font-size:11px;gap:22px;margin-top:22px}
.character-note{margin-top:17px;color:#8c877b;font-size:10px;line-height:1.9}
.people{background:#fff;padding-top:88px}
.people-choices{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:38px 0 26px}
.person-choice{min-width:0;padding:15px 4px 12px;border:1px solid transparent;border-radius:10px;transition:background .2s,border-color .2s;text-align:center}
.person-color{width:38px;height:38px;border-radius:50%;display:block;margin:0 auto 12px;position:relative;box-shadow:0 0 0 4px #fff,0 0 0 5px #e9e3d7}
.person-color:after{content:"";position:absolute;width:13px;height:13px;border:1px solid #ffffffbf;border-radius:50%;inset:0;margin:auto}
.red{background:#c43849}.orange{background:#ed7d38}.yellow{background:#e1bd39}.green{background:#33916b}.aqua{background:#39adca}.blue{background:#3568bd}.purple{background:#9372b5}
.person-choice-color{display:block;font-size:10px;color:#898171;line-height:1.4;margin-bottom:6px}
.person-choice-name{display:block;font-size:11px;line-height:1.6;overflow-wrap:anywhere;color:#5d5a50}
.person-choice.is-selected{border-color:#d8c69d;background:#fbf8ef}
.person-choice:hover{background:#fbf8ef}
.person-detail{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:7%;align-items:center;padding:42px 5%;border:1px solid #e8e1d3;border-top:3px solid var(--person-color);background:linear-gradient(110deg,var(--person-tint),#fff 58%);min-height:365px}
.person-main{min-width:0}.person-heading{display:flex;gap:20px;align-items:center}
.person-avatar-placeholder{width:88px;height:88px;flex-shrink:0;border-radius:50%;border:1px solid #dcd3c2;outline:3px solid var(--person-tint);background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.person-avatar-placeholder>span{color:#bea56d;font-size:23px;line-height:1.2}.person-avatar-placeholder small{font-size:8px;color:#827b6d}
.person-avatar{width:88px;height:88px;flex-shrink:0;border-radius:50%;object-fit:cover;border:2px solid var(--person-color);padding:3px;background:#fff}
.person-color-image{padding:2px;border:2px solid #c43849;background:#fff}.person-color-image:after{display:none}.person-color-image img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.person-message.has-comment p{font-family:var(--sans);font-size:18px;line-height:2;letter-spacing:.02em;color:#5a564b}
@container site (max-width:1050px){.person-avatar{width:75px;height:75px}}
@container site (max-width:740px){.person-avatar{width:70px;height:70px}.person-message.has-comment p{font-size:16px;line-height:2}}
.person-name-wrap{min-width:0}.person-kicker{font-size:10px;color:#857a65;letter-spacing:.07em;margin-bottom:7px}.person-name-wrap h3{font-family:var(--serif);font-size:27px;line-height:1.4;overflow-wrap:anywhere}
.person-message{margin:24px 0 15px;padding-left:20px;border-left:2px solid #d9cba8}.person-message-label{display:block;font-size:10px;color:#958052;letter-spacing:.06em;margin-bottom:10px}
.person-message p{font-family:var(--serif);font-size:25px;line-height:1.7;letter-spacing:.04em;color:#6e6758}.person-message small{display:block;font-size:10px;color:#8a8478;margin-top:9px}
.person-comment-note{font-size:10px;color:#8a8478;line-height:2}.person-shirt{margin:0;min-width:0;text-align:center}.person-shirt img{width:100%;height:auto;mix-blend-mode:multiply}.person-shirt figcaption{font-family:var(--serif);font-size:14px;color:#8e7a4c;margin-top:6px}.shirt-detail-link{font-size:10px;color:#8b7d60;margin-top:15px;padding-bottom:4px;border-bottom:1px solid #d8cdb6}.shirt-detail-link span{margin-left:12px}
.person-purple-space{text-align:center;padding:35px 10px}.purple-light{font-size:62px;color:#ac90c6;display:block;line-height:1.3;margin-bottom:20px}.person-purple-space p{font-family:var(--serif);font-size:19px;color:#79638b}.person-purple-space>span:last-child{font-size:11px;color:#9a8ba5;margin-top:8px;display:block}
.people-footer{display:flex;gap:30px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:26px 0}.people-footer p{font-size:11px;line-height:2;color:#858174;max-width:490px}.people-footer .text-link{font-size:11px;white-space:nowrap;gap:20px}
.shirt-modal-image{width:100%;height:auto;margin:15px 0}.shirt-modal-caption{font-size:11px!important;color:#82755a!important;text-align:center}
@container site (max-width:1050px){.character-grid{gap:20px 14px}.character-story h3{font-size:26px}.character-detail{gap:8%;padding:40px 6%}.person-detail{gap:4%;padding:32px 4%}.person-name-wrap h3{font-size:24px}.person-heading{gap:14px}.person-avatar-placeholder{width:75px;height:75px}.person-message p{font-size:23px}}
@container site (max-width:740px){.characters{padding-top:60px;padding-bottom:55px}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 14px;margin:28px 0 32px}.character-choice{font-size:12px;padding:3px 0 4px;letter-spacing:.02em}.character-portrait{margin-bottom:8px;padding:3px}.character-detail{grid-template-columns:1fr;gap:30px;padding:32px 23px}.character-stage{max-width:180px}.character-halo{inset:-8px}.character-halo:after{inset:-7px}.character-story>.eyebrow{font-size:7px}.character-name{font-size:11px;margin:11px 0 8px}.character-story h3{font-size:25px;margin-bottom:14px}.character-story>p:not(.eyebrow){font-size:12px}.character-story>.text-link{font-size:10px;gap:12px;margin-top:20px}.character-note{font-size:9px}.people{padding-top:55px;padding-bottom:55px}.people-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 3px;margin:27px 0 24px}.person-choice{padding:13px 1px 10px}.person-color{width:30px;height:30px;margin-bottom:11px}.person-choice-color{font-size:9px;margin-bottom:4px}.person-choice-name{font-size:11px;letter-spacing:0}.person-detail{grid-template-columns:1fr;padding:26px 20px;gap:22px;min-height:0}.person-heading{gap:14px}.person-avatar-placeholder{width:70px;height:70px}.person-avatar-placeholder small{font-size:9px}.person-name-wrap h3{font-size:24px}.person-kicker{font-size:9px}.person-message{margin:22px 0 14px;padding-left:15px}.person-message p{font-size:23px}.person-message-label{font-size:9px}.person-comment-note,.person-message small{font-size:10px}.person-shirt{width:min(100%,270px);margin:auto}.person-shirt figcaption{font-size:13px}.person-purple-space{padding:6px 0 13px}.purple-light{font-size:42px;margin-bottom:12px}.person-purple-space p{font-size:17px}.people-footer{display:block;padding:24px 0}.people-footer p{font-size:11px}.people-footer .text-link{font-size:10px;margin-top:18px;gap:17px}}
@media(prefers-reduced-motion:reduce){.character-portrait,.person-choice{transition:none}.character-choice:hover .character-portrait{transform:none}}
