/* The competition has faces. Public identities and real scores stay in the foreground. */
.participants-page { --arena-ink:#22231d; --arena-paper:#f0ede5; --arena-line:#c9bea7; --arena-gold:#b28c4a; --bg:#12130f; --ink:#f3efe3; --muted:#bcb5a5; --gold:#c8a76b; --gold-light:#e4c994; background:var(--bg); color:var(--ink); }
.participants-page [hidden] { display:none!important; }
.participants-page .site-main { overflow:clip; }
.participants-page .shell { width:calc(100% - 96px); max-width:1440px; margin-inline:auto; }
.participants-page :is(h1,h2,h3,h4,p) { margin:0; }
.participants-page :is(h1,h2,h3,h4) { font-family:var(--display); font-weight:600; line-height:1.05; letter-spacing:-.015em; }
.participants-page :is(a,button,input,select,summary):focus-visible { outline:2px solid #a67a32; outline-offset:4px; }
.participants-page .button { min-height:46px; gap:24px; padding-inline:23px; font-size:.69rem; letter-spacing:.035em; }
.participants-page :is(.button,button):active { transform:translateY(1px); }
.participants-page :is(#ranking,#categorias) { scroll-margin-top:94px; }
.participants-eyebrow { display:block; font-size:.63rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; line-height:1.6; color:var(--gold-light); }
.participants-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; font-size:.75rem; color:var(--gold-light); border-bottom:1px solid #e4c99455; }
.competition-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:72px; padding-block:35px 31px; }
.competition-kicker { display:flex; align-items:center; flex-wrap:wrap; gap:13px; }
.competition-edition { font-size:.56rem; text-transform:uppercase; letter-spacing:.08em; color:#a79d88; border-left:1px solid #bba27255; padding-left:13px; }
.competition-hero h1 { margin-top:14px; font-size:clamp(3.4rem,5.1vw,5rem); line-height:.96; text-transform:uppercase; font-weight:500; letter-spacing:-.025em; }
.competition-hero h1 > span { color:var(--gold-light); }
.competition-intro { color:#c7c0af; font-size:.83rem; line-height:1.7; margin-top:18px!important; }
.competition-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:22px; }
.competition-community { min-width:0; }
.competition-photo-mosaic { display:grid; grid-template-columns:1.05fr .8fr .8fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:8px; height:282px; }
.competition-portrait { display:block; position:relative; min-width:0; min-height:0; overflow:hidden; background:#2b2c24; }
.competition-portrait:first-child { grid-row:span 2; }
.competition-portrait::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#11120feb,transparent 60%); }
.competition-portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 35%; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.competition-portrait:hover img { transform:scale(1.04); }
.competition-portrait > span { position:absolute; z-index:1; left:12px; bottom:11px; right:12px; font-size:.61rem; line-height:1.35; color:#fff8e9; overflow-wrap:anywhere; }
.competition-portrait:first-child > span { font-size:.78rem; }
.competition-community-credit { display:flex; justify-content:space-between; gap:16px; margin-top:9px; color:#bab19a; font-size:.54rem; line-height:1.5; }
.competition-community-credit > span:last-child { color:#dcc28b; }
.competition-scoreboard { display:grid; grid-template-columns:2fr .8fr .75fr 1fr 1.2fr; align-items:center; gap:18px; border-top:1px solid #d0b67c44; padding-block:19px 23px; }
.competition-opening { display:flex; align-items:center; gap:19px; }
.competition-opening-date { display:flex; align-items:center; gap:7px; color:#e1c38c; font-family:var(--display); font-size:3.6rem; line-height:1; font-weight:500; }
.competition-opening-date > span { font-family:var(--body); font-size:.52rem; line-height:1.6; }
.competition-opening strong { display:block; font-size:.69rem; line-height:1.4; font-weight:500; }
.competition-opening small { display:block; color:#a99e89; font-size:.57rem; margin-top:5px; }
.competition-stat { display:flex; flex-direction:column; gap:4px; border-left:1px solid #d0b67c44; padding-left:23px; }
.competition-stat > strong { font-family:var(--display); font-weight:500; font-size:2.8rem; line-height:.95; color:#e1c38c; font-variant-numeric:tabular-nums; }
.competition-stat > span { font-size:.57rem; color:#c6bba3; }
.competition-connection { display:grid; grid-template-columns:auto auto; align-items:center; justify-content:end; gap:6px 8px; font-size:.61rem; color:#e0cfac; }
.competition-connection-dot { width:6px; height:6px; border-radius:50%; background:#c4a368; }
.competition-connection small { grid-column:2; color:#a99e89; font-size:.54rem; }
.competition-connection:has([data-state="error"]) .competition-connection-dot { background:#af6d51; }
.competition-ranking-section { background:var(--arena-paper); color:var(--arena-ink); padding-block:39px 34px; }
.competition-ranking-section .participants-eyebrow { color:#7b602f; }
.competition-ranking-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; padding-bottom:27px; margin-bottom:27px; border-bottom:1px solid #bba88377; }
.competition-ranking-heading h2 { margin-top:5px; font-size:clamp(3.1rem,4.6vw,4.5rem); font-weight:500; text-transform:uppercase; line-height:.97; }
.competition-ranking-heading h2 > span { color:var(--arena-gold); }
.competition-ranking-state { display:flex; align-items:center; justify-content:end; gap:24px; }
.competition-ranking-state > span { padding:11px 14px; color:#70562c; background:#e5dcc8; font-size:.66rem; line-height:1.5; border-left:2px solid #ab8240; }
.competition-ranking-state > p { color:#7b715f; font-size:.68rem; line-height:1.7; }
.competition-arena { display:grid; grid-template-columns:222px minmax(0,1fr); align-items:start; gap:30px; }
.competition-categories { position:sticky; top:110px; max-height:calc(100dvh - 125px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#af986b transparent; min-width:0; padding-right:23px; border-right:1px solid #c3b28f66; }
.competition-category-heading { margin-bottom:17px; }
.competition-category-heading h3 { font-size:1.42rem; }
.competition-category-heading > span { display:block; font-size:.62rem; color:#897c63; margin-top:6px; }
.competition-category-nav { display:flex; flex-direction:column; gap:3px; }
.competition-category { display:grid; grid-template-columns:19px minmax(0,1fr) auto; align-items:center; gap:9px; padding:11px 9px; min-height:44px; color:#645b49; border-left:2px solid transparent; transition:background .2s,color .2s; }
.competition-category > .material-symbols-rounded { font-size:19px; color:#8e7850; }
.competition-category strong { font-family:var(--body); font-size:.77rem; line-height:1.5; font-weight:500; }
.competition-category-count { font-size:.67rem; color:#8b7b5b; font-variant-numeric:tabular-nums; }
.competition-category:hover { background:#e8e0d0; color:#2b271d; }
.competition-category[aria-current] { color:#f8efd9; background:#28291f; border-left-color:#c9a367; }
.competition-category[aria-current] :is(.material-symbols-rounded,.competition-category-count) { color:#e0c288; }
.competition-category[aria-current] strong { font-weight:600; }
.competition-category-note { margin-top:23px; padding:21px 10px 0; border-top:1px solid #c1af8b77; }
.competition-category-note > .material-symbols-rounded { color:#95743e; font-size:24px; }
.competition-category-note p { color:#7c705a; font-size:.67rem; line-height:1.8; margin-top:7px; }
.competition-category-note a { display:flex; justify-content:space-between; color:#5c4725; font-size:.66rem; padding-block:13px; }
.competition-mainboard { min-width:0; }
.competition-list-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; margin-bottom:18px; }
.competition-list-heading h3 { font-size:1.9rem; line-height:1.15; }
.competition-list-heading p { color:#85765b; font-size:.63rem; line-height:1.7; margin-top:7px; }
.competition-list-heading p > strong { font-weight:600; color:#50442f; }
.competition-list-heading p > span[aria-hidden] { margin-inline:8px; color:#b7a47f; }
.competition-register-link { display:flex; gap:20px; align-items:center; padding-block:6px; font-size:.68rem; color:#74572a; border-bottom:1px solid #a68a5555; }
.participants-filters { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:end; margin-bottom:17px; }
.participants-filters label { display:block; font-size:.62rem; color:#766b56; margin-bottom:6px; }
.participants-filters :is(input,select) { width:100%; min-width:0; min-height:44px; border:1px solid #c3b493; border-radius:0; background:#f9f6ef; color:#302d23; font-family:var(--body); font-size:.73rem; padding:11px 12px; }
.participants-search { position:relative; }
.participants-search > span { position:absolute; left:12px; top:12px; color:#8b754b; font-size:20px; }
.participants-search input { padding-left:40px; }
.participants-search input::placeholder { color:#95866a; opacity:1; }
.participants-filters .button { background:#292a20; color:#f5e9cd; border-color:#292a20; }
.participants-clear { display:flex; align-items:center; min-height:44px; color:#7c6844; font-size:.65rem; text-decoration:underline; text-underline-offset:4px; padding:7px; }
.participants-category-select { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.participants-category-select:focus-within { position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; grid-column:1/-1; }
.competition-registration-note { display:flex; align-items:start; gap:9px; font-size:.65rem; line-height:1.65; color:#817458; margin-bottom:20px!important; }
.competition-registration-note > .material-symbols-rounded { font-size:17px; flex-shrink:0; margin-top:1px; color:#9a7f4d; }
.contender-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 17px; }
.contender-card { min-width:0; display:flex; flex-direction:column; background:#faf7ee; border:1px solid #cec0a255; box-shadow:0 7px 18px -15px #6f542a66; transition:border-color .2s; }
.contender-card:hover { border-color:#a78a5366; }
.contender-identity { display:block; color:inherit; }
.contender-visual { display:block; position:relative; overflow:hidden; isolation:isolate; }
.contender-image { display:grid; place-items:center; width:100%; aspect-ratio:4/4.7; overflow:hidden; background:#d9d0ba; color:#a08a5d; font-family:var(--display); font-size:6.5rem; font-weight:400; }
.contender-image > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 35%; transition:transform .55s cubic-bezier(.22,1,.36,1); }
.contender-card:hover .contender-image > img { transform:scale(1.035); }
.contender-visual::after { content:""; position:absolute; inset:40% 0 0; z-index:0; background:linear-gradient(0deg,#181a12d9,transparent); pointer-events:none; }
.contender-card[data-has-photo="false"] .contender-image { background:linear-gradient(145deg,#ded5bd,#c9bd9e); }
.contender-card[data-has-photo="false"] .contender-visual::after { background:linear-gradient(0deg,#756744bd,transparent); }
.contender-category { position:absolute; z-index:1; left:14px; bottom:14px; right:14px; color:#fff4d9; font-size:.75rem; font-weight:500; line-height:1.5; text-shadow:0 1px 5px #17170e66; }
.contender-position { position:absolute; top:12px; left:12px; z-index:1; display:flex; align-items:center; gap:8px; padding:9px 12px; background:#e8cb8d; color:#302719; }
.contender-position strong { font-family:var(--display); font-size:2.3rem; font-weight:600; line-height:.9; font-variant-numeric:tabular-nums; }
.contender-position small { max-width:8ch; font-size:.49rem; line-height:1.4; text-transform:uppercase; letter-spacing:.04em; }
.contender-photo-note { position:absolute; z-index:1; top:14px; left:14px; right:14px; color:#756544; font-size:.53rem; letter-spacing:.025em; }
.contender-card:has(.contender-position:not([hidden])) .contender-photo-note { left:auto; right:14px; top:16px; max-width:calc(100% - 150px); text-align:right; }
.contender-copy { padding:15px 16px 0; }
.contender-status { display:block; color:#8a7650; font-size:.52rem; letter-spacing:.06em; text-transform:uppercase; line-height:1.5; margin-bottom:6px; }
.contender-status::before { content:""; display:inline-block; width:4px; height:4px; border-radius:50%; background:#b29252; margin-right:6px; vertical-align:middle; }
.contender-name { font-size:1.6rem; line-height:1.05!important; font-weight:500!important; color:#303025; overflow-wrap:anywhere; min-height:2.1em; }
.contender-score { display:flex; align-items:center; justify-content:space-between; gap:9px; margin-top:auto; padding:17px 16px 12px; }
.contender-votes { display:flex; align-items:center; gap:9px; min-width:0; }
.contender-votes strong { color:#746039; font-family:var(--display); font-size:2.4rem; line-height:1; font-weight:500; font-variant-numeric:tabular-nums; }
.contender-votes small { font-size:.62rem; line-height:1.5; color:#968462; }
.contender-movement { font-size:.67rem; color:#a39273; font-variant-numeric:tabular-nums; }
.participants-page [data-movement="up"] { color:#4d7044; }
.participants-page [data-movement="down"] { color:#9b5e3f; }
.contender-action { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-inline:16px; min-height:42px; border-top:1px solid #d1c3a577; color:#6b542c; font-size:.72rem; }
.contender-action:hover { color:#1e2216; }
.contender-action > span { font-size:1rem; }
.competition-leaders-section { background:#23251c; color:#f4e9d4; padding:23px; margin-bottom:23px; }
.competition-leaders-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:18px; }
.competition-leaders-heading .participants-eyebrow { color:#c5a668; font-size:.55rem; }
.competition-leaders-heading h3 { font-size:1.8rem; margin-top:6px; }
.competition-leaders-heading > span { font-size:.55rem; color:#c1b18f; }
.competition-leaders { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.competition-hub[data-current-category=""] .competition-leaders { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:min(250px,75%); overflow-x:auto; padding-bottom:12px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#b69c65 #35362a; }
.competition-leader { position:relative; min-width:0; background:#303225; color:#f3e7cd; scroll-snap-align:start; }
.competition-leader-photo { display:grid; place-items:center; aspect-ratio:1.15; overflow:hidden; background:#56583f; color:#a9a17d; font-size:5rem; font-family:var(--display); }
.competition-leader-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.competition-leader-rank { display:flex; align-items:center; gap:7px; position:absolute; left:11px; top:11px; padding:8px 10px; background:#e3c487; color:#332a18; }
.competition-leader-rank > span { font-family:var(--display); font-size:2.2rem; font-weight:600; line-height:1; }
.competition-leader-rank small { max-width:8ch; font-size:.43rem; line-height:1.4; }
.competition-leader-copy { padding:16px 16px 0; }
.competition-leader-copy > span { display:block; font-size:.57rem; color:#d1b67d; line-height:1.5; }
.competition-leader-copy h4 { font-size:1.7rem; color:#f5ead6; margin-top:7px; overflow-wrap:anywhere; }
.competition-leader-score { display:flex; align-items:center; gap:7px; padding-block:17px; }
.competition-leader-votes { font-family:var(--display); font-size:2.6rem; font-weight:500; color:#e3c588; line-height:1; }
.competition-leader-score > small { color:#bfb18e; font-size:.53rem; }
.competition-leader-change { margin-left:auto; font-size:.65rem; }
.competition-leader-action { display:flex; align-items:center; justify-content:space-between; min-height:42px; border-top:1px solid #c6ac753f; color:#ddc38b; font-size:.65rem; }
.participants-empty { display:flex; align-items:start; gap:28px; padding:36px; border:1px solid #c0ab7e; background:#e6dec9; }
.competition-empty-mark { display:block; color:#ae8b4c; font-size:4rem; line-height:1; }
.participants-empty h3 { font-size:2.4rem; max-width:24ch; margin-top:8px; }
.participants-empty p { color:#7c6a48; font-size:.75rem; line-height:1.8; margin-top:13px; }
.participants-empty .button { margin-top:22px; background:#2b2c20; border-color:#2b2c20; color:#f1e4c5; }
.competition-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:27px; padding-top:22px; border-top:1px solid #bba98666; font-size:.64rem; color:#857455; }
.competition-pagination > a { display:flex; justify-content:center; align-items:center; gap:14px; min-height:43px; padding:10px 16px; color:#66502a; border:1px solid #bda77b88; background:#f7f2e6; }
.competition-pagination > a:hover { background:#e6d7b8; }
.competition-pagination > a[data-ranking-page-direction="previous"] { margin-right:auto; }
.competition-pagination > a[data-ranking-page-direction="next"] { margin-left:auto; }
.participants-refresh { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:21px; }
.participants-refresh p { font-size:.61rem; color:#89795c; line-height:1.7; }
.participants-refresh [data-ranking-updated] { display:block; font-size:.55rem; color:#9a8b71; margin-top:4px; font-variant-numeric:tabular-nums; }
.participants-refresh button { display:flex; align-items:center; gap:8px; min-height:42px; flex-shrink:0; padding:10px 13px; border:1px solid #bfa77b88; color:#796035; background:transparent; font-size:.61rem; cursor:pointer; }
.participants-refresh button > span { font-size:18px; }
.competition-hub[aria-busy="true"] .participants-refresh button { opacity:.6; }
.competition-hub[data-load-state="error"] .participants-refresh p { color:#984c30; }
.participants-noscript { font-size:.7rem; line-height:1.7; color:#786747; margin-top:14px!important; }
.competition-transparency { display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:35px; border-top:1px solid #bba88666; margin-top:39px; padding-top:26px; }
.competition-transparency > div { display:flex; align-items:start; gap:12px; }
.competition-transparency > div > span { font-size:25px; color:#9d7b3d; }
.competition-transparency h3 { font-size:1.6rem; }
.participants-method summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; min-height:30px; font-size:.69rem; color:#695532; cursor:pointer; }
.participants-method summary::-webkit-details-marker { display:none; }
.participants-method summary > span { font-size:18px; }
.participants-method[open] summary > span { transform:rotate(45deg); }
.participants-method p { font-size:.68rem; line-height:1.8; color:#837154; padding-top:13px; }
.competition-invitation { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:46px; }
.competition-invitation h2 { font-size:2.7rem; margin-top:10px; }
.competition-invitation p { font-size:.74rem; line-height:1.7; color:#afa58d; margin-top:12px; }
.competition-invitation > a { flex-shrink:0; }
@media(min-width:1600px) { .competition-hero { padding-block:42px; } .competition-photo-mosaic { height:310px; } }
@media(max-width:1250px) { .participants-page .shell { width:calc(100% - 64px); } .competition-hero { gap:36px; } .competition-arena { grid-template-columns:205px minmax(0,1fr); gap:23px; } .competition-categories { padding-right:16px; } .contender-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .competition-ranking-state > p { display:none; } .competition-scoreboard { grid-template-columns:2fr .75fr .65fr 1fr; } .competition-connection { display:none; } }
@media(max-width:1000px) { .competition-hero h1 { font-size:3.7rem; } .competition-edition { display:none; } .competition-photo-mosaic { height:268px; } .competition-hero-actions { gap:16px; } .competition-hero-actions .button { padding-inline:16px; font-size:.62rem; gap:14px; } .participants-text-link { font-size:.67rem; gap:12px; } .contender-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; } .competition-arena { grid-template-columns:195px minmax(0,1fr); } .competition-leaders { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:76%; overflow-x:auto; padding-bottom:12px; } .competition-leaders-heading h3 { font-size:1.55rem; } .competition-leaders-heading > span { display:none; } .competition-stat { padding-left:17px; } .competition-transparency { grid-template-columns:1fr 1fr; gap:22px; } .competition-transparency > div { grid-column:1/-1; } }
@media(max-width:760px) { .participants-page .shell { width:calc(100% - 40px); } .competition-hero { gap:24px; grid-template-columns:1fr 45%; padding-block:28px; } .competition-hero h1 { font-size:3.05rem; } .competition-intro { font-size:.74rem; margin-top:14px!important; } .competition-intro br { display:none; } .competition-hero-actions { margin-top:16px; gap:8px; } .competition-hero-actions .participants-text-link { display:none; } .competition-photo-mosaic { height:230px; grid-template-columns:1.15fr 1fr; gap:5px; } .competition-portrait:nth-child(n+4) { display:none; } .competition-portrait > span { font-size:.52rem; left:8px; right:8px; bottom:8px; } .competition-portrait:first-child > span { font-size:.65rem; } .competition-community-credit { font-size:.49rem; } .competition-community-credit > span:last-child { display:none; } .competition-arena { grid-template-columns:minmax(0,1fr); gap:22px; } .competition-categories { position:static; max-height:none; overflow:visible; border:0; padding:0; } .competition-category-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; } .competition-category-heading h3 { font-size:1.3rem; } .competition-category-heading > span { font-size:.58rem; margin:0; } .competition-category-nav { display:flex; flex-direction:row; overflow-x:auto; gap:7px; padding-bottom:10px; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#a78d58 #e0d6bf; } .competition-category { flex:0 0 175px; min-height:60px; padding:10px; background:#e5dfd0; border-left:2px solid transparent; scroll-snap-align:start; } .competition-category strong { font-size:.76rem; } .competition-category-note { display:none; } .competition-ranking-section { padding-top:28px; } .competition-ranking-heading { padding-bottom:20px; margin-bottom:20px; } .competition-ranking-heading h2 { font-size:3.3rem; } .competition-ranking-state > span { max-width:27ch; font-size:.59rem; padding:9px 11px; } .competition-scoreboard { gap:14px; padding-block:17px; } .competition-opening { gap:11px; } .competition-opening-date { font-size:2.9rem; } .competition-opening strong { font-size:.6rem; } .competition-opening small { font-size:.51rem; } .competition-stat > strong { font-size:2.3rem; } .competition-stat > span { font-size:.51rem; } .competition-stat { padding-left:12px; } .competition-invitation h2 { font-size:2.2rem; } .competition-invitation .button { padding-inline:17px; } }
@media(max-width:600px) { .participants-page .shell { width:calc(100% - 36px); } .participants-page :is(#ranking,#categorias) { scroll-margin-top:84px; } .competition-hero { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:18px; padding-block:25px 22px; } .competition-kicker .participants-eyebrow { font-size:.55rem; } .competition-hero h1 { font-size:2.8rem; line-height:.98; margin-top:12px; } .competition-intro { max-width:33ch; font-size:.76rem; line-height:1.65; margin-top:13px!important; } .competition-hero-actions { margin-top:17px; } .competition-hero-actions .button { min-height:44px; padding-inline:18px; font-size:.64rem; } .competition-hero-actions .participants-text-link { display:none; } .competition-photo-mosaic { height:250px; grid-template-columns:minmax(0,1fr); gap:0; } .competition-portrait:nth-child(n+2) { display:none; } .competition-portrait > span { font-size:.5rem; } .competition-portrait:first-child > span { font-size:.7rem; } .competition-community-credit { margin-top:7px; font-size:.49rem; } .competition-community-credit > span:last-child { display:none; } .competition-scoreboard { grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px 10px; padding-block:16px 20px; } .competition-opening { grid-column:1/-1; gap:15px; padding-bottom:14px; border-bottom:1px solid #cab17e33; } .competition-opening-date { font-size:2.7rem; } .competition-opening-date > span { font-size:.5rem; } .competition-opening strong { font-size:.68rem; } .competition-opening small { font-size:.55rem; margin-top:3px; } .competition-stat { border-left:0; padding:0; gap:4px; } .competition-stat + .competition-stat { border-left:1px solid #d0b67c44; padding-left:17px; } .competition-stat > strong { font-size:2.35rem; } .competition-stat > span { font-size:.55rem; } .competition-ranking-heading { align-items:center; gap:12px; } .competition-ranking-heading .participants-eyebrow { font-size:.53rem; letter-spacing:.09em; } .competition-ranking-heading h2 { font-size:3.1rem; } .competition-ranking-state > span { font-size:.56rem; max-width:21ch; padding:9px; } .competition-list-heading { margin-bottom:14px; gap:10px; } .competition-list-heading h3 { font-size:1.9rem; } .competition-list-heading p { font-size:.6rem; } .competition-list-heading p > span[aria-hidden] { margin-inline:5px; } .competition-register-link { font-size:.62rem; gap:10px; } .participants-filters { grid-template-columns:minmax(0,1fr) auto; gap:11px; margin-bottom:14px; } .participants-search-field { min-width:0; } .participants-filters label { font-size:.61rem; } .participants-filters :is(input,select) { font-size:16px; min-height:46px; } .participants-filters .button { min-height:46px; padding-inline:14px; font-size:.6rem; gap:8px; } .participants-clear { justify-content:end; font-size:.62rem; grid-column:1/-1; min-height:25px; padding:0; } .competition-hub[data-query=""] .participants-clear { display:none; } .participants-category-select { display:none; } .participants-filters:has(.participants-category-select:focus-within) .participants-category-select { display:block; } .competition-registration-note { font-size:.61rem; margin-bottom:18px!important; } .contender-grid { grid-template-columns:minmax(0,1fr); gap:22px; } .contender-image { aspect-ratio:1.12; font-size:7.5rem; } .contender-category { bottom:18px; left:20px; right:20px; font-size:.76rem; } .contender-copy { padding:18px 20px 0; } .contender-status { font-size:.58rem; margin-bottom:8px; } .contender-name { font-size:2.1rem; min-height:0; } .contender-score { padding:18px 20px 14px; } .contender-votes strong { font-size:2.85rem; } .contender-votes small { font-size:.61rem; } .contender-movement { font-size:.76rem; } .contender-action { margin-inline:20px; min-height:46px; font-size:.7rem; } .contender-position { left:16px; top:16px; padding:11px 14px; } .contender-position strong { font-size:2.7rem; } .contender-position small { font-size:.52rem; } .contender-photo-note { left:20px; top:20px; font-size:.6rem; } .competition-pagination { display:grid; grid-template-columns:1fr 1fr; gap:14px; font-size:.62rem; } .competition-pagination > span { grid-column:1/-1; grid-row:1; text-align:center; } .competition-pagination > a[data-ranking-page-direction="previous"] { margin:0; grid-column:1; } .competition-pagination > a[data-ranking-page-direction="next"] { margin:0; grid-column:2; } .participants-refresh { align-items:start; gap:12px; } .participants-refresh p { font-size:.58rem; } .participants-refresh button { padding:8px; font-size:.57rem; } .participants-refresh button > span { display:none; } .competition-transparency { grid-template-columns:minmax(0,1fr); gap:17px; margin-top:30px; padding-top:23px; } .competition-transparency h3 { font-size:1.5rem; } .participants-method summary { font-size:.7rem; min-height:40px; } .participants-method p { font-size:.71rem; } .competition-invitation { flex-direction:column; align-items:start; gap:23px; padding-block:35px; } .competition-invitation h2 { font-size:2.5rem; } .competition-invitation p { font-size:.73rem; } .competition-invitation > a { width:100%; justify-content:space-between; } .participants-empty { gap:16px; padding:25px 20px; } .competition-empty-mark { font-size:2.5rem; } .participants-empty h3 { font-size:2rem; } .participants-empty p { font-size:.71rem; } .competition-leaders-section { padding:18px; } .competition-leaders-heading h3 { font-size:1.8rem; } }
@media(max-width:360px) { .competition-hero { gap:12px; } .competition-hero h1 { font-size:2.3rem; } .competition-intro { font-size:.71rem; } .competition-hero-actions .button { padding-inline:12px; gap:8px; font-size:.59rem; } .competition-photo-mosaic { height:230px; } }
@media(prefers-reduced-motion:reduce) { .participants-page *, .participants-page *::before, .participants-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Editorial depth: quiet frames separate photographs, controls and live data. */
.competition-community {
  padding:10px 10px 12px;
  border:1px solid #d5bd8a42;
  background:#202019;
  box-shadow:0 18px 38px -22px #000b, inset 0 1px 0 #fff7e711;
}
.competition-photo-mosaic { gap:6px; }
.competition-community-credit { padding-inline:2px; }
.competition-scoreboard { box-shadow:0 1px 0 #080907; }
.competition-ranking-section { border-top:1px solid #fff9e8; box-shadow:inset 0 14px 22px -24px #46392288; }
.competition-ranking-heading { border-bottom-color:#bba88388; }
.competition-ranking-state > span { border:1px solid #c4b18b66; border-left:2px solid #ab8240; box-shadow:0 4px 10px -8px #76562b66; }
.competition-category[aria-current] { box-shadow:0 5px 11px -7px #49392299; }
.participants-filters { padding:15px; background:#e8e0d2; border:1px solid #c9b99a66; box-shadow:inset 0 1px 0 #fffaf0cc; }
.participants-filters :is(input,select) { box-shadow:0 2px 3px #6b502506; }
.contender-card { border-color:#c8b99b99; box-shadow:0 2px 3px #5b422509,0 12px 24px -16px #5741244d; }
.contender-card:hover { border-color:#a78a53bb; }
.contender-visual { margin:5px 5px 0; }
.contender-copy { padding-top:18px; }
.contender-action { border-top-color:#cbb99699; }
.competition-leaders-section { border:1px solid #8f79554d; box-shadow:0 12px 26px -17px #30271970,inset 0 1px 0 #d8c29819; }
.competition-leader { border:1px solid #af97783b; box-shadow:0 6px 13px -10px #080805a6; }
.competition-pagination > a { box-shadow:0 3px 5px -3px #634b2733; }
.participants-empty { box-shadow:inset 0 0 0 5px #f7f0df66; }
@media(max-width:760px) {
  .competition-community { padding:6px 6px 9px; }
  .competition-category-nav { padding-bottom:13px; }
  .participants-filters { padding:12px; }
}
@media(max-width:600px) {
  .competition-community-credit { font-size:.47rem; }
  .participants-filters { padding:11px; gap:10px; }
  .participants-filters .button { padding-inline:11px; }
  .contender-visual { margin:6px 6px 0; }
}

/* Photographic composition: community portraits carry the opening and the final invitation. */
.competition-hero--photographic { padding-block:54px 48px; gap:64px; }
.competition-hero--photographic h1 { font-size:clamp(3.6rem,5.6vw,5.8rem); }
.competition-hero--photographic .competition-community { padding:0; border:0; background:none; box-shadow:none; }
.competition-hero--photographic .competition-photo-mosaic { height:350px; gap:10px; }
.competition-hero--photographic .competition-portrait { border:1px solid #ead7af55; box-shadow:0 20px 24px -20px #000b; }
.competition-hero--photographic .competition-portrait:first-child { margin-block:18px 0; }
.competition-hero--photographic .competition-portrait:nth-child(2),
.competition-hero--photographic .competition-portrait:nth-child(4) { transform:translateY(-12px); }
.competition-hero--photographic .competition-community-credit { margin-top:17px; }
.competition-transparency { padding:32px; background:#dfd4bf; border:1px solid #c0ac8655; margin-block:42px 10px; }
.competition-transparency > div { border-left:2px solid #9a7740; padding-left:16px; }
.participants-empty { position:relative; isolation:isolate; min-height:300px; padding:42px; color:#f6efdf; border:0; background:#20201b; box-shadow:none; overflow:hidden; }
.participants-empty::before { content:""; position:absolute; z-index:-2; inset:0; background:url("../img/voter-creators-backdrop-v1.d10e0bbfbc45.jpg") 80% center / cover no-repeat; }
.participants-empty::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#191914f2 0%,#191914db 48%,#19191455 100%); }
.participants-empty > div { max-width:450px; }
.participants-empty .participants-eyebrow { color:#e3c68c; }
.participants-empty p { color:#d1c7b4; }
.participants-empty .button { background:#e2c995; color:#2f281b; border-color:#e2c995; }
.competition-closing { background:#e5dccb; color:#2d2921; overflow:hidden; border-top:1px solid #f4ebdb; }
.competition-closing .competition-invitation { display:grid; grid-template-columns:1fr 1.1fr; gap:70px; min-height:535px; padding-block:75px; }
.competition-closing-copy { position:relative; z-index:2; }
.competition-closing .participants-eyebrow { color:#816331; }
.competition-closing .competition-closing-copy h2 { font-size:clamp(3.8rem,5.3vw,5.6rem); line-height:.98; margin-top:24px; font-weight:500; }
.competition-closing-copy h2 em { color:#90703c; font-family:var(--serif); font-weight:500; }
.competition-closing .competition-closing-copy p { color:#71634d; max-width:40ch; font-size:.9rem; line-height:1.8; margin-top:26px; }
.competition-closing-copy .button { background:#28251e; border-color:#28251e; color:#f2e4c6; margin-top:28px; }
.competition-closing-community { position:relative; min-width:0; }
.competition-closing-portraits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:start; min-height:370px; }
.competition-closing-portrait { display:block; padding:6px 6px 0; background:#faf6ed; border:1px solid #b6a27f99; box-shadow:0 25px 30px -23px #46341e99; }
.competition-closing-portrait:nth-child(1) { transform:rotate(-7deg); margin-top:38px; }
.competition-closing-portrait:nth-child(2) { transform:rotate(3deg); margin-top:0; z-index:1; }
.competition-closing-portrait:nth-child(3) { transform:rotate(8deg); margin-top:72px; }
.competition-closing-portrait img { display:block; width:100%; aspect-ratio:4/5; height:auto; object-fit:cover; object-position:center 35%; }
.competition-closing-portrait > span { display:block; padding:14px 9px; font-family:var(--display); font-size:1.35rem; line-height:1.15; color:#393126; overflow-wrap:anywhere; }
.competition-closing-community > p { color:#796748; font-size:.61rem; letter-spacing:.08em; text-transform:uppercase; text-align:right; padding:16px 0 0; border-top:1px solid #a28a6044; }
.competition-closing-community > p > span { padding-left:22px; }
.competition-closing-scene { overflow:hidden; height:350px; }
.competition-closing-scene img { width:100%; height:100%; object-fit:cover; object-position:right center; }
@media(max-width:1100px) {
  .competition-closing .competition-invitation { gap:35px; }
  .competition-closing-portraits { min-height:310px; gap:10px; }
  .competition-closing-portrait > span { font-size:1.12rem; }
}
@media(max-width:760px) {
  .competition-hero--photographic { padding-block:32px; gap:25px; }
  .competition-hero--photographic h1 { font-size:3.5rem; }
  .competition-hero--photographic .competition-photo-mosaic { height:300px; }
  .competition-closing .competition-invitation { grid-template-columns:1fr; gap:42px; padding-block:50px; }
  .competition-closing-community { width:min(540px,100%); margin-inline:auto; }
  .competition-closing-portraits { min-height:330px; }
  .competition-closing .competition-closing-copy h2 { font-size:4.5rem; }
  .competition-transparency { padding:25px; }
}
@media(max-width:600px) {
  .competition-hero--photographic h1 { font-size:2.8rem; }
  .competition-hero--photographic .competition-photo-mosaic { height:270px; }
  .competition-hero--photographic .competition-portrait:first-child { margin-top:0; }
  .competition-hero--photographic .competition-community-credit { font-size:.5rem; line-height:1.6; margin-top:9px; }
  .competition-closing .competition-closing-copy h2 { font-size:3.6rem; }
  .competition-closing .competition-closing-copy p { font-size:.85rem; }
  .competition-closing-portraits { min-height:250px; gap:7px; }
  .competition-closing-portrait { padding:4px 4px 0; }
  .competition-closing-portrait:nth-child(1) { margin-top:25px; }
  .competition-closing-portrait:nth-child(3) { margin-top:48px; }
  .competition-closing-portrait > span { padding:10px 5px; font-size:1.02rem; }
  .competition-closing-community > p { font-size:.52rem; text-align:left; line-height:1.7; }
  .competition-transparency { padding:22px 18px; }
  .participants-empty { padding:28px 23px; }
}
@media(max-width:360px) {
  .competition-hero--photographic h1 { font-size:2.3rem; }
  .competition-hero--photographic .competition-photo-mosaic { height:240px; }
  .competition-closing .competition-closing-copy h2 { font-size:3.1rem; }
  .competition-closing-portraits { min-height:230px; }
  .competition-closing-portrait > span { font-size:.9rem; }
}

/* Compact ranking cards: names and vote totals lead; source portraits stay small. */
.participants-page .contender-grid {
  grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
  gap:16px;
}
.participants-page .contender-identity {
  position:relative;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  gap:7px 15px;
  align-items:start;
  padding:16px 16px 14px;
}
.participants-page .contender-visual { display:contents; margin:0; }
.participants-page .contender-visual::after { display:none; }
.participants-page .contender-image {
  grid-column:1;
  grid-row:1 / 3;
  width:112px;
  height:112px;
  aspect-ratio:1;
  font-size:3.5rem;
  border:1px solid #c1af8e66;
}
.participants-page .contender-image > img { object-position:center; transition:none; }
.participants-page .contender-card:hover .contender-image > img { transform:none; }
.participants-page .contender-copy { grid-column:2; grid-row:1; min-width:0; padding:0; }
.participants-page .contender-status { font-size:.625rem; letter-spacing:.035em; margin:0 0 7px; }
.participants-page .contender-name { min-height:0; margin:0; font-size:1.5rem; line-height:1.12!important; }
.participants-page .contender-category {
  position:static;
  grid-column:2;
  grid-row:2;
  color:#7a6240;
  font-size:.8125rem;
  line-height:1.55;
  text-shadow:none;
  align-self:start;
}
.participants-page .contender-position {
  position:absolute;
  inset:21px auto auto 21px;
  gap:0;
  padding:6px 8px;
  box-shadow:0 1px 6px #30271933;
}
.participants-page .contender-position strong { font-size:1.6rem; }
.participants-page .contender-position small { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.participants-page .contender-photo-note,
.participants-page .contender-card:has(.contender-position:not([hidden])) .contender-photo-note {
  position:static;
  grid-column:1;
  grid-row:1 / 3;
  align-self:end;
  z-index:1;
  max-width:none;
  margin:0 5px 7px;
  color:#756544;
  text-align:center;
  font-size:.5rem;
  line-height:1.35;
}
.participants-page .contender-score { padding:0 16px 12px; gap:14px; }
.participants-page .contender-votes { gap:9px; }
.participants-page .contender-votes strong { font-size:2.2rem; }
.participants-page .contender-votes small { font-size:.6875rem; color:#82704f; }
.participants-page .contender-movement { font-size:.7rem; }
.participants-page .contender-action { margin-inline:16px; min-height:44px; font-size:.72rem; }
@media(max-width:600px) {
  .participants-page .contender-grid { gap:13px; }
  .participants-page .contender-identity { grid-template-columns:104px minmax(0,1fr); padding:14px; gap:7px 14px; }
  .participants-page .contender-image { width:104px; height:104px; }
  .participants-page .contender-position { top:19px; left:19px; }
  .participants-page .contender-status { font-size:.625rem; }
  .participants-page .contender-name { font-size:1.65rem; }
  .participants-page .contender-category { font-size:.8125rem; }
  .participants-page .contender-score { padding:0 14px 11px; }
  .participants-page .contender-action { margin-inline:14px; }
}
@media(max-width:360px) {
  .participants-page .contender-identity { grid-template-columns:96px minmax(0,1fr); gap:7px 12px; padding:12px; }
  .participants-page .contender-image { width:96px; height:96px; }
  .participants-page .contender-name { font-size:1.5rem; }
  .participants-page .contender-category { font-size:.75rem; }
  .participants-page .contender-position { top:17px; left:17px; }
  .participants-page .contender-score { padding-inline:12px; }
  .participants-page .contender-action { margin-inline:12px; }
}
