/* Artio competitions: Polar Bear Contest + Bear Contest */
.artio-contest-home{background:linear-gradient(180deg,#eef4fb 0%,#fff 100%)}
.contest-home-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.contest-home-top .display{font-size:clamp(2.4rem,4.8vw,4.2rem);line-height:.97;margin:10px 0 0;color:var(--navy)}
.contest-home-top p{max-width:475px;color:var(--muted);margin:0}
.contest-next-highlight{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:21px 24px;background:#001a42;color:#fff;border:1px solid #37669c;border-radius:20px;margin-bottom:22px;text-decoration:none}
.contest-next-highlight:hover{background:#0b2b56}
.contest-next-highlight .contest-next-kicker{display:block;font-weight:900;font-size:.74rem;letter-spacing:.1em;color:#bcdafa;text-transform:uppercase}
.contest-next-highlight strong{font-size:clamp(1.4rem,2.5vw,2rem);font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.02em;display:block}
.contest-next-highlight .contest-next-action{font-size:.86rem;font-weight:800;padding:9px 12px;border-radius:100px;background:#eff7ff;color:#082a53}
.contest-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contest-home-card{padding:30px;border-radius:30px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;border:1px solid rgba(0,26,66,.12)}
.contest-home-card--polar{color:#001a42;background:linear-gradient(135deg,#fff 0%,#d6e9fd 100%)}
.contest-home-card--bear{color:#24160f;background:linear-gradient(135deg,#fff4e9,#ecd5bc)}
.contest-home-card .contest-eyebrow,.contest-card .contest-eyebrow{font-size:.72rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.contest-home-card h3{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(2.15rem,4vw,3.35rem);line-height:.95;margin:14px 0}
.contest-home-card p{max-width:560px;line-height:1.55}
.contest-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 22px}
.contest-chip{display:inline-block;padding:7px 11px;border-radius:100px;border:1px solid rgba(0,26,66,.18);font-size:.72rem;font-weight:900}
.contest-home-card .contest-home-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}
.contest-home-card .btn{border-color:#001a42}
.contest-home-card .contest-mini-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:.81rem;font-weight:800}
.contest-home-card .contest-mini-links a{text-decoration:underline;text-underline-offset:3px}
.contest-hero .hub-nav{margin-top:22px}
.contest-coming{border:1px solid #bed7f2;background:linear-gradient(120deg,#eef7ff,#d6e9fd);border-radius:30px;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:24px;align-items:center}
.contest-coming-tag{display:inline-block;padding:8px 13px;border-radius:100px;background:#001a42;color:#fff;font-size:.75rem;font-weight:900;letter-spacing:.06em}
.contest-coming h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(2.3rem,5vw,4rem);line-height:.94;color:#001a42;margin:16px 0}
.contest-coming p{color:#3d526c;max-width:590px;margin:0 0 16px}
.contest-coming-date{background:#fff;border:1px solid #c4d8ef;border-radius:23px;padding:24px;text-align:center;color:#001a42}
.contest-coming-date span{display:block;color:#42628d;font-weight:900;font-size:.73rem;letter-spacing:.09em;text-transform:uppercase}
.contest-coming-date strong{display:block;margin:8px 0;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(1.6rem,3vw,2.3rem)}
.contest-coming-date small{font-size:.8rem;color:#466489}
.contest-showcase{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contest-card{border-radius:30px;padding:clamp(23px,3vw,36px);border:1px solid rgba(0,26,66,.1);display:flex;flex-direction:column;gap:14px}
.contest-card--polar{background:linear-gradient(140deg,#f5faff,#d3e8fa);color:#001a42}
.contest-card--bear{background:linear-gradient(140deg,#fffaf5,#f0d9c2);color:#352318}
.contest-card h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-size:clamp(2.6rem,4vw,3.8rem);line-height:.95;margin:0}
.contest-card-lead{font-size:1.06rem;font-weight:750;margin:0;line-height:1.5}
.contest-card-points{display:grid;gap:10px;margin:5px 0}
.contest-card-point{padding:14px 16px;border:1px solid rgba(0,26,66,.1);border-radius:15px;background:rgba(255,255,255,.63)}
.contest-card-point b{display:block;font-size:.93rem;margin-bottom:4px}
.contest-card-point span{color:#4e5c6c;font-size:.83rem;line-height:1.45}
.contest-card-note{color:#526170;font-size:.78rem;margin:0}
.contest-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:10px}
.contest-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contest-history{background:white;border:1px solid var(--line);border-radius:25px;padding:26px}
.contest-history h3{margin:0 0 6px;font-size:1.45rem;color:var(--navy)}
.contest-history-intro{margin:0 0 20px;color:var(--muted);font-size:.89rem}
.contest-history-list{display:grid;gap:10px}
.contest-history-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 15px;border-radius:14px;background:#f3f6fb;text-decoration:none;border:1px solid #e3eaf3;color:#001a42}
.contest-history-entry:hover{border-color:#83abd3;background:#eaf3ff}
.contest-history-entry span{font-size:.81rem;color:#54667b}
.contest-history-entry strong{font-weight:900}
.contest-history-entry div{display:grid;gap:3px}
.contest-history-entry .contest-history-arrow{font-size:.94rem;color:#1f5f9d;font-weight:900;white-space:nowrap}
.contest-history-entry--static{background:#fff;border-style:dashed}
.contest-footer-note{margin:18px 0 0;color:var(--muted);font-size:.86rem}
@media(max-width:850px){
  .contest-home-grid,.contest-showcase,.contest-history-grid{grid-template-columns:1fr}
  .contest-coming{grid-template-columns:1fr}
}
@media(max-width:640px){
  .contest-home-card,.contest-card{padding:23px}
  .contest-next-highlight{align-items:flex-start}
  .contest-history{padding:20px}
  .contest-history-entry{align-items:flex-start}
}

/* Edition emblems: graphic placeholders underneath optional original artwork.
   Upload real logos to assets/images/editions/ to replace each year mark. */
.contest-brandmark{width:100%;display:flex;justify-content:center;align-items:center;margin:4px 0 18px}
.contest-brandmark img{display:block;max-width:100%;max-height:190px;object-fit:contain;filter:drop-shadow(0 13px 20px rgba(0,26,66,.16))}
.contest-card .contest-brandmark{margin:-4px 0 7px}
.contest-home-card .contest-brandmark{min-height:130px}
.contest-card .contest-brandmark{min-height:138px}
.contest-logo-frame{position:relative;min-height:100px;width:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:24px;color:#002b58;background:linear-gradient(145deg,#edf8ff,#c2ddf6);border:1px solid rgba(0,36,83,.15);box-shadow:0 14px 25px rgba(4,50,90,.09);overflow:hidden}
.contest-logo-frame--bear{color:#492c16;background:linear-gradient(135deg,#fff1db,#d6ae88);border-color:#cfaa8d}
.contest-logo-frame--polar{color:#002b58;background:linear-gradient(145deg,#edf8ff,#b8d9f6)}
.contest-logo-frame .contest-logo-type{font-size:.67rem;font-weight:950;letter-spacing:.11em;text-align:center;line-height:1.1}
.contest-logo-frame .contest-logo-year{font-size:2.4rem;line-height:1;font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;letter-spacing:.03em}
.contest-logo-frame .contest-logo-original{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:5px;border-radius:20px;background:#fff;opacity:0}
.contest-logo-frame.has-edition-logo .contest-logo-original{opacity:1}
.contest-archive-row{min-height:114px;display:flex;align-items:center;gap:14px}
.contest-archive-row .contest-logo-frame{flex:0 0 88px;min-height:88px;width:88px;border-radius:17px}
.contest-archive-row .contest-logo-frame .contest-logo-year{font-size:1.9rem}
.contest-archive-row .contest-logo-frame .contest-logo-type{font-size:.58rem}
.contest-archive-row .contest-history-entry{flex:1;min-width:0;height:100%}
.contest-archive-row .contest-history-entry--static{flex:1}
.contest-history-entry--static{cursor:default}
.contest-edition-logo-list{display:grid;gap:10px}
@media(max-width:640px){
  .contest-archive-row .contest-logo-frame{width:70px;min-height:78px;flex-basis:70px}
  .contest-archive-row{gap:9px}
  .contest-archive-row .contest-history-entry{padding:12px 10px}
  .contest-archive-row .contest-history-arrow{font-size:.8rem}
}

/* Align editions by calendar year across both competitions (desktop). */
@media (min-width:851px) {
  @supports (grid-template-rows: subgrid) {
    .contest-history-grid {
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      grid-template-rows:auto repeat(4,minmax(116px,auto));
      align-items:stretch;
      column-gap:22px;
      row-gap:0;
    }
    .contest-history {
      display:grid;
      grid-template-rows:subgrid;
      grid-row:1 / span 5;
      align-items:stretch;
      min-width:0;
    }
    .contest-history:nth-child(1){grid-column:1}
    .contest-history:nth-child(2){grid-column:2}
    .contest-history-heading{grid-row:1;padding-bottom:12px}
    .contest-history-heading .contest-history-intro{margin-bottom:0}
    .contest-history-list{display:contents}
    .contest-history-list > .contest-archive-row{min-width:0;min-height:0;padding:5px 0}
    .contest-history-list > .contest-archive-row:nth-child(1){grid-row:2}
    .contest-history-list > .contest-archive-row:nth-child(2){grid-row:3}
    .contest-history-list > .contest-archive-row:nth-child(3){grid-row:4}
    .contest-history-list > .contest-archive-row:nth-child(4){grid-row:5}
    .contest-history-entry{height:100%;min-height:104px}
  }
}
/* Actual PNGs are transparent: remove the placeholder plaque when artwork loads. */
.contest-logo-frame.has-edition-logo{background:transparent;border-color:transparent;box-shadow:none}
.contest-logo-frame .contest-logo-original{background:transparent;object-fit:contain}
.contest-logo-frame.has-edition-logo .contest-logo-type,
.contest-logo-frame.has-edition-logo .contest-logo-year{opacity:0}
.contest-home-card .contest-logo-frame{width:162px;min-height:152px}
.contest-card .contest-logo-frame{width:165px;min-height:152px}
.contest-coming-date .contest-logo-frame{width:155px;min-height:140px}
.contest-archive-row .contest-logo-frame.has-edition-logo .contest-logo-original{padding:1px}
