/* history pages: shared with assets/site.css tokens */
.kicker{font-weight:600;color:var(--orange-ink);margin-bottom:14px}
.kicker a{text-decoration:none}
.kicker a:hover{text-decoration:underline}
.page-title{font-size:clamp(3rem,9vw,7rem);line-height:.85;text-transform:lowercase;letter-spacing:-.025em}
.meta{font-weight:600;color:var(--brown-soft);font-size:.95rem}
.page-head{padding:clamp(40px,7vw,88px) 0 clamp(24px,4vw,40px)}
.page-head .lede{margin-top:24px}

/* history index */
.posts-sec{padding-top:0}
.posts{list-style:none;margin:0;padding:0;display:grid;gap:16px;max-width:920px}
.post{background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:clamp(120px,22vw,220px) 1fr;align-items:center}
.post-img{display:block;aspect-ratio:1;overflow:hidden;background:var(--sand);margin:12px;border-radius:16px}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.post:hover .post-img img{transform:scale(1.04)}
.post-body{padding:20px 28px 20px 12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.post h2{font-size:clamp(1.5rem,3vw,2.2rem);text-transform:lowercase}
.post h2 a{text-decoration:none}
.post h2 a:hover{color:var(--orange-ink)}
.post .ex{color:var(--brown-soft)}
.post .btn{margin-top:6px;padding:10px 18px;font-size:.92rem}
.post-lead{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
@media (max-width:560px){.post{grid-template-columns:110px 1fr}.post-img{margin:10px}.post-body{padding:14px 16px 14px 4px}.post .btn{display:none}.post .ex{font-size:.92rem}}
@media (prefers-reduced-motion:reduce){.post-img img{transition:none}.post:hover .post-img img{transform:none}}

/* post */
.post-hero{padding:clamp(32px,6vw,72px) 0 clamp(24px,4vw,40px)}
.post-hero-grid{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end}
.post-hero .meta{margin-top:20px}
.post-badge img{width:clamp(140px,18vw,220px);height:auto;border-radius:50%}
@media (max-width:700px){.post-hero-grid{grid-template-columns:1fr}.post-badge{order:-1}.post-badge img{width:120px}}
.post-sec{padding-top:0}
.prose{max-width:68ch;margin:clamp(40px,6vw,64px) auto}
.prose p+p{margin-top:1.1em}
.prose a{color:var(--orange-ink);font-weight:600}
.cta-line{max-width:68ch;margin:-24px auto 40px}
.sub-h{font-size:clamp(1.6rem,3vw,2.2rem);text-transform:lowercase;text-align:center;margin:clamp(40px,6vw,64px) 0 24px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:8px}
.stat-row div{background:var(--sand);border-radius:22px;padding:22px}
.stat-row b{display:block;font:800 clamp(2rem,4vw,2.8rem)/1 var(--head);color:var(--orange-ink)}
.stat-row span{font-size:.95rem;color:var(--brown-soft)}
@media (max-width:760px){.stat-row{grid-template-columns:repeat(2,1fr)}}

/* galleries */
.gallery{display:grid;gap:12px}
.gallery a.lb{display:block;border-radius:16px;overflow:hidden;background:var(--sand)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.gallery a.lb:hover img{transform:scale(1.03)}
@media (prefers-reduced-motion:reduce){.gallery img{transition:none}.gallery a.lb:hover img{transform:none}}
.g-hosts{grid-template-columns:repeat(4,1fr)}
.g-hosts a.lb{aspect-ratio:3/4}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-2 a.lb{aspect-ratio:3/2}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-4 a.lb{aspect-ratio:1}
.g-masonry{display:block;columns:3 260px;column-gap:12px}
.g-masonry a.lb{margin-bottom:12px;break-inside:avoid}
.g-masonry img{height:auto}
.g-press{grid-template-columns:repeat(4,1fr)}
.g-press figure{margin:0}
.g-press a.lb{aspect-ratio:1;background:var(--paper);border:1px solid var(--line)}
.g-press img{object-fit:contain;padding:8px}
.g-press figcaption{font-weight:600;font-size:.92rem;margin-top:8px;text-align:center;color:var(--brown-soft)}
@media (max-width:760px){.g-hosts,.g-4,.g-press{grid-template-columns:repeat(2,1fr)}.g-2{grid-template-columns:1fr}}

/* hall of fame */
.hof{background:var(--sand);color:var(--brown)}
.hof .lede{color:inherit;opacity:.8}
.hof-h{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;margin:56px 0 20px;padding-top:24px;border-top:2px dashed color-mix(in srgb,currentColor 35%,transparent)}
.hof .results-head + .hof-h{margin-top:0}
.hof-tier{font-weight:700;opacity:.75;margin:28px 0 12px;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.hof figure{margin:0}
.hof a.lb{display:block;border-radius:14px;overflow:hidden}
.hof img{width:100%;height:auto}
.hof figcaption{font-weight:600;margin-top:10px;font-size:.95rem}
.hof-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hof-podium figcaption{font:800 1.4rem/1.1 var(--head);color:var(--orange)}
.hof-grid{display:grid;gap:12px}
.g4{grid-template-columns:repeat(4,1fr)}
.g7{grid-template-columns:repeat(7,1fr)}
.g7 figcaption{display:none}
@media (max-width:900px){.g7{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.hof-podium{grid-template-columns:1fr 1fr}.hof-podium figure:first-child{grid-column:1/-1}.g4,.g7{grid-template-columns:repeat(2,1fr)}}
.costumes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pair a.lb{aspect-ratio:1}
.pair img{height:100%;object-fit:cover}
.costume figcaption b{color:var(--orange);display:block;font:800 1.2rem/1.1 var(--head)}
@media (max-width:900px){.costumes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.costumes{grid-template-columns:1fr}}
.ranks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.rank{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:24px}
.rank h3{font-size:1.6rem}
.rank .sub{opacity:.75;font-size:.95rem;margin:4px 0 16px}
.rank ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rank li{display:grid;grid-template-columns:24px 56px 1fr;gap:12px;align-items:center}
.rank .rk{font:800 1.3rem/1 var(--head);opacity:.6}
.rank li a.lb{border-radius:10px}
.rank li b{display:block;font:800 1.35rem/1 var(--head);color:var(--orange)}
.rank li small{font-weight:600;opacity:.85}
@media (max-width:900px){.ranks{grid-template-columns:1fr}}
.post-next .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* lightbox */
.lbx{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.lbx::backdrop{background:rgba(20,12,8,.92)}
.lbx-in{width:100%;height:100%;display:grid;place-items:center;padding:56px 64px}
.lbx img{max-width:100%;max-height:calc(100vh - 112px);width:auto;height:auto;border-radius:12px}
.lbx button{position:fixed;border:0;border-radius:999px;background:var(--paper);color:var(--brown);font:700 1.3rem/1 var(--head);width:48px;height:48px;cursor:pointer}
.lbx .x{top:16px;right:16px}
.lbx .pv{left:12px;top:50%;translate:0 -50%}
.lbx .nx{right:12px;top:50%;translate:0 -50%}
@media (max-width:600px){.lbx-in{padding:64px 8px}.lbx .pv,.lbx .nx{top:auto;bottom:16px;translate:none}}
.post-next{padding:clamp(40px,6vw,64px) 0}

/* single figures (other years) */
.fig-wide,.fig-mid,.fig-split{margin:clamp(32px,5vw,56px) auto}
.fig-wide{max-width:980px}
.fig-mid{max-width:720px}
.fig-wide a.lb,.fig-mid a.lb,.fig-split a.lb{display:block;border-radius:18px;overflow:hidden}
.fig-wide img,.fig-mid img,.fig-split img{width:100%;height:auto;max-height:80vh;object-fit:contain}
.fig-split{max-width:980px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,48px);align-items:center}
.fig-split figcaption{color:var(--brown-soft);font-size:1.05rem}
.fig-split figcaption p+p{margin-top:1em}
.fig-split figcaption a{color:var(--orange-ink);font-weight:600}
@media (max-width:760px){.fig-split{grid-template-columns:1fr}}
.g-m2{columns:2 240px}
.g6{grid-template-columns:repeat(6,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}
.g6 figcaption{display:none}
@media (max-width:900px){.g6{grid-template-columns:repeat(3,1fr)}.g5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.g6,.g5{grid-template-columns:repeat(2,1fr)}}
.ranks.r1{grid-template-columns:minmax(0,420px)}
.hof-solo{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:32px;align-items:center}
.hof-solo a.lb{display:block;border-radius:18px;overflow:hidden}
.hof-name{font:800 clamp(3rem,8vw,6rem)/.9 var(--head);color:var(--orange)}
@media (max-width:640px){.hof-solo{grid-template-columns:1fr}}
.stat-row:has(> div:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.stat-row:has(> div:nth-child(3):last-child){grid-template-columns:1fr 1fr}}

/* PDF-style accents */
.stat-row div:first-child{background:var(--orange);color:var(--on-orange)}
.stat-row div:first-child b,.stat-row div:first-child span{color:var(--on-orange)}
.hof-podium figcaption,.costume figcaption b,.rank li b,.hof-name{color:var(--orange-ink)}
.hof .lede{opacity:1;color:var(--brown-soft)}

/* tighter top spacing, orange outline on every history card */
.page-head{padding-top:clamp(12px,2vw,24px)}
.post-hero{padding-top:clamp(12px,2vw,24px)}
.post{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.page-head .lede{max-width:none}

/* story pages: tighter spacing, justified text */
.post-hero{padding-bottom:clamp(8px,1.5vw,16px)}
.post-sec .prose:first-child,.post-sec .stat-row+.prose{margin-top:clamp(16px,2.5vw,28px)}
.post-sec{padding-bottom:clamp(16px,3vw,32px)}
.post-sec .wrap>:last-child{margin-bottom:0}
.post-next{padding:clamp(16px,3vw,32px) 0 clamp(40px,6vw,64px)}
.prose p,.fig-split figcaption p{text-align:justify;-webkit-hyphens:auto;hyphens:auto}

/* herding strip (royal farm dog) */
.herd{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px);overflow:hidden}
.herd svg{display:block;width:100%;height:auto}
.herd .leg{transform-box:fill-box;transform-origin:50% 0}

/* compact story rows: text beside a small photo, alternating sides */
.compact .stat-row{margin-bottom:clamp(16px,2.5vw,28px)}
.srow{display:grid;grid-template-columns:minmax(0,1fr) clamp(200px,26vw,300px);gap:clamp(18px,3vw,36px);align-items:center;max-width:920px;margin:0 auto clamp(18px,2.5vw,28px)}
.srow .prose{margin:0;max-width:none}
.srow.flip{grid-template-columns:clamp(200px,26vw,300px) minmax(0,1fr)}
.srow.flip .sfig{order:-1}
.sfig{margin:0}
.sfig a.lb{display:block;border-radius:16px;overflow:hidden;background:var(--sand);aspect-ratio:4/3}
.sfig img{width:100%;height:100%;object-fit:cover}
@media (max-width:640px){.srow,.srow.flip{grid-template-columns:1fr}.srow.flip .sfig{order:0}.sfig a.lb{aspect-ratio:16/10}}
.compact+.hof .hof-solo{grid-template-columns:minmax(0,300px) 1fr}
.compact+.hof{padding:clamp(36px,5vw,56px) 0}
.compact+.hof .results-head{margin-bottom:20px}

/* 2020 race strip: sticky under the menu while reading */
.race{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);z-index:15;padding:0 0 4px}
.race-in{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.race svg{display:block;width:100%;height:auto;max-height:84px;background:rgba(251,243,230,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;box-shadow:0 6px 18px rgba(61,36,23,.06)}
.race .leg{transform-box:fill-box;transform-origin:50% 0}
@media (max-width:980px){.race{top:calc(env(safe-area-inset-top,0px) + 70px)}}
.rig .leg{transform-box:fill-box;transform-origin:50% 6%}

/* ===== pixel sprite strips (replace the SVG versions) ===== */
.spr{position:absolute;left:0;bottom:0;background-repeat:no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;will-change:transform,background-position}
.px-strip{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.px-strip .ptrack{position:relative;overflow:hidden}
.herd{--px:1.5;position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);z-index:15;padding-bottom:4px}
.herd .ptrack{height:72px;background:rgba(251,243,230,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px 18px 0 0;box-shadow:0 6px 18px rgba(61,36,23,.06)}
.race{--px:1.5;position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);z-index:15;padding-bottom:4px}
.race .ptrack{height:84px;background:rgba(251,243,230,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px 18px 0 0;box-shadow:0 6px 18px rgba(61,36,23,.06)}
.race .heart{transition:opacity .2s}
.race .win{position:absolute;right:56px;top:6px;font:800 1.25rem/1 var(--head);color:var(--orange-ink);opacity:0}
@media (max-width:980px){.race{top:calc(env(safe-area-inset-top,0px) + 70px)}}
@media (max-width:980px){.herd{top:calc(env(safe-area-inset-top,0px) + 70px)}}

.race .lane-back{bottom:18px;filter:saturate(.95)}
.race .spr[data-id="pem"]{z-index:2}

/* moving pixel grass under both strips */
.grass{position:absolute;left:0;right:0;bottom:0;height:calc(12px * var(--px));background:url(../images/sprites/grass.png) 0 0 repeat-x;image-rendering:pixelated;image-rendering:crisp-edges;z-index:4;pointer-events:none}
.ptrack .spr{bottom:calc(4px * var(--px))}
.race .lane-back{bottom:calc(4px * var(--px))}
.race .spr[data-id="flag"]{bottom:calc(5px * var(--px))}
.race .ptrack,.herd .ptrack{border-radius:18px 18px 6px 6px}
.race .person{z-index:1}
.race .spr[data-id="card"]{z-index:2}
.race .spr[data-id="pem"]{z-index:3}
/* three stat boxes stay on one line on phones */
@media (max-width:760px){
  .stat-row:has(> div:nth-child(3):last-child){grid-template-columns:repeat(3,1fr);gap:8px}
  .stat-row:has(> div:nth-child(3):last-child) div{padding:12px 10px;border-radius:16px}
  .stat-row:has(> div:nth-child(3):last-child) b{font-size:1.7rem}
  .stat-row:has(> div:nth-child(3):last-child) span{font-size:.78rem;line-height:1.3;display:block}
}
/* sitting corgi at the bottom of the history index, grass sits on the footer */
.posts-sec:has(+ .sitdog){padding-bottom:clamp(16px,3vw,32px)}
.sitdog{--px:2.5;padding:0}
.sit-stage{position:relative;height:calc(34px * var(--px));overflow:hidden}
.sit-stage .spr{position:absolute;left:50%;bottom:calc(5px * var(--px));transform:translateX(-50%);background-repeat:no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;z-index:2}
.sit-stage .grass{z-index:3}
@media (max-width:560px){.sitdog{--px:2}}
/* sticky strip docks under the nav and merges into one panel */
.race,.herd,.parade,.run9,.topview{top:var(--navb,84px)}
.nav-in,.px-strip .ptrack{transition:border-radius .18s ease,background-color .18s ease}
html.strip-docked .nav-in{border-radius:24px 24px 0 0;border-bottom-color:transparent;background:rgba(255,253,248,.94)}
html.strip-docked .px-strip .ptrack{border-radius:0 0 24px 24px;background:rgba(255,253,248,.94);border:1px solid rgba(228,211,186,.7);border-top:0;box-shadow:0 10px 24px rgba(61,36,23,.08)}
.herd .poop{z-index:5}
.herd .notice{z-index:6}
/* tidy hall of fame cards: equal squares, place above name */
.sfig[style*="--ar"] a.lb{aspect-ratio:var(--ar)}
.hcards{display:grid;gap:clamp(12px,2vw,20px)}
.hcards.c4{grid-template-columns:repeat(4,1fr);max-width:820px}
.hcards.c6{grid-template-columns:repeat(6,1fr)}
.hcards.c3{grid-template-columns:repeat(3,1fr)}
.hcard{margin:0}
.hcard a.lb{display:block;aspect-ratio:1;border-radius:16px;overflow:hidden;background:var(--sand)}
.hcard img{width:100%;height:100%;object-fit:cover}
.hcard figcaption{margin-top:10px;line-height:1.2}
.hcard figcaption b{display:block;font:800 1.15rem/1.1 var(--head);color:var(--orange-ink)}
.hcard figcaption span{font-weight:600}
@media (max-width:900px){.hcards.c6{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.hcards.c4,.hcards.c6{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.hof .hof-solo,.compact+.hof .hof-solo{grid-template-columns:128px 1fr;gap:16px}.hof-solo .hof-tier{margin:0 0 6px}.hof-solo .hof-name{font-size:clamp(2.4rem,11vw,3.2rem)}}
/* 2023 costume parade strip */
.parade{--px:1.5;position:sticky;top:var(--navb,84px);z-index:15;padding-bottom:4px}
.parade .ptrack{height:72px;background:rgba(251,243,230,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px 18px 0 0;box-shadow:0 6px 18px rgba(61,36,23,.06)}
.parade .ptrack .spr{bottom:calc(4px*var(--px))}
/* highlight videos, self hosted */
.vid-sec{padding:clamp(32px,5vw,56px) 0 0}
.vid-h{font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;max-width:920px;margin:0 auto 16px}
.vid-sec video{display:block;width:100%;max-width:920px;height:auto;aspect-ratio:16/9;margin:0 auto;border-radius:18px;background:#000;box-shadow:0 10px 30px rgba(61,36,23,.12)}
/* even photo grids: every row full, no empty corners */
.g-even{display:grid;grid-template-columns:repeat(var(--cols,4),1fr)}
.g-even a.lb{aspect-ratio:4/3}
@media (max-width:640px){.g-even{grid-template-columns:repeat(2,1fr)}}
.hcards.c5{grid-template-columns:repeat(5,1fr)}
@media (max-width:900px){.hcards.c5{grid-template-columns:repeat(6,1fr)}.hcards.c5 .hcard{grid-column:span 2}.hcards.c5 .hcard:nth-child(-n+2){grid-column:span 3}}   /* 2 on top, 3 below */
/* one hall of fame look for every year: champion feature, then equal card rows */
.hof-note{font-weight:600;opacity:.8;margin-top:8px}
.hcards{--cw:170px;gap:16px}
.hcards.sm{--cw:128px;gap:12px}
.hcards.n2{grid-template-columns:repeat(2,minmax(0,var(--cw)))}
.hcards.n3{grid-template-columns:repeat(3,minmax(0,var(--cw)))}
.hcards.n4{grid-template-columns:repeat(4,minmax(0,var(--cw)))}
.hcards.n5{grid-template-columns:repeat(5,minmax(0,var(--cw)))}
.hcards.n6{grid-template-columns:repeat(6,minmax(0,var(--cw)))}
.hcards.n7{grid-template-columns:repeat(7,minmax(0,var(--cw)))}
.hcards.sm figcaption span{font-size:.9rem}
@media (max-width:560px){
  .hcards.n2,.hcards.n4,.hcards.n6{grid-template-columns:repeat(2,1fr)}
  .hcards.sm.n6,.hcards.n3{grid-template-columns:repeat(3,1fr)}
  .hcards.n5{grid-template-columns:repeat(6,1fr)}.hcards.n5 .hcard{grid-column:span 2}.hcards.n5 .hcard:nth-child(-n+2){grid-column:span 3}
  .hcards.n7{grid-template-columns:repeat(12,1fr)}.hcards.n7 .hcard{grid-column:span 3}.hcards.n7 .hcard:nth-child(-n+3){grid-column:span 4}
}
.hof-solo a.lb{aspect-ratio:1}.hof-solo img{width:100%;height:100%;object-fit:cover}
@media (max-width:560px){.hof .hof-solo,.compact+.hof .hof-solo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:end}.hof-solo .hof-name{font-size:clamp(2.2rem,10vw,3rem)}}
/* 2024 Run 9 strip */
.run9{--px:1.5;position:sticky;top:var(--navb,84px);z-index:15;padding-bottom:4px}
.run9 .ptrack{height:84px;background:rgba(251,243,230,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px 18px 0 0;box-shadow:0 6px 18px rgba(61,36,23,.06)}
.run9 .ptrack .spr{bottom:calc(4px*var(--px))}
.run9 .bub,.run9 .heart{z-index:12;transition:opacity .2s}
@media (max-width:560px){.run9{--px:1.2}.run9 .ptrack{height:70px}}
/* vertical reel video, self hosted */
.reel-vid{max-width:200px;margin:clamp(12px,2vw,20px) auto}
.reel-vid video{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:14px;background:#000;box-shadow:0 10px 30px rgba(61,36,23,.12)}
.reel-vid figcaption{text-align:center;margin-top:10px;font-size:.95rem;opacity:.8}
/* 2025: reel sits beside the opening text on desktop */
.reel-row{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:clamp(20px,3vw,36px);align-items:center;max-width:920px;margin:clamp(20px,3vw,32px) auto}
.reel-row .prose{margin:0;max-width:none}
.reel-row .reel-vid{margin:0;max-width:none}
@media (max-width:700px){.reel-row{grid-template-columns:1fr}.reel-row .reel-vid{max-width:200px;margin:4px auto 0}}
.hcard figcaption small{display:block;font-weight:600;font-size:.85rem;opacity:.8;margin-top:2px}
/* 2025 top-view race */
.topview{position:sticky;top:var(--navb,84px);z-index:15;padding-bottom:4px}
.topview .ptrack{height:120px;border-radius:18px 18px 0 0;overflow:hidden;box-shadow:0 6px 18px rgba(61,36,23,.06);background:#4e8a3a}
.topview canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}
html.strip-docked .topview .ptrack{border-radius:0 0 24px 24px}
@media (max-width:560px){.topview .ptrack{height:96px}}
/* EXP overview under Hall of Fame photos in the viewer */
.lbx figure{margin:0;display:flex;flex-direction:column;align-items:center;max-width:100%}
.lbx-cap{margin-top:12px;max-width:min(560px,92vw);text-align:center;color:#fff8ec;line-height:1.4}
.lbx-cap b{display:block;font:800 .95rem/1.25 var(--head);color:#f6b48f}
.lbx-cap span{display:block;font-size:.8rem;opacity:.9;margin-top:2px}
.lbx-cap[hidden]{display:none}
.lbx figure:has(.lbx-cap:not([hidden])) img{max-height:calc(100vh - 200px)}
.album-line{text-align:center;margin:clamp(16px,3vw,28px) auto clamp(20px,3vw,32px)}
/* language picker in the menu */
.lang-pick{display:flex;align-items:center;gap:2px;margin-left:6px}
.lang-pick a{padding:5px 9px;border-radius:999px;font-weight:600;font-size:.88rem;text-decoration:none;opacity:.55;line-height:1}
.lang-pick a:hover{opacity:1}
.lang-pick a.on{background:var(--sand);opacity:1}
.nav .links .lang-pick a{padding:5px 9px;font:600 .88rem/1 var(--body)}
@media (max-width:560px){
  .nav-in{padding-left:16px!important;gap:8px}
  .nav .links{gap:2px;margin-right:0!important}
  .nav .links .lang-pick{margin-left:2px}
  .nav .links .lang-pick a{padding:5px 7px;font-size:.82rem}
}
@media (max-width:400px){.brand{font-size:1.08rem}.nav .links a{padding:8px 8px}}
@media (max-width:340px){.brand{font-size:.92rem}.nav .links a{padding:8px 5px}.nav .links .lang-pick a{padding:5px 5px}}
/* team page */
.team-sec{padding-top:0}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,32px)}
.member{margin:0}
.member img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:20px;background:var(--sand)}
.member h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:14px}
.member .role{font-weight:600;color:var(--orange-ink);margin-top:2px}
.mlinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.mlinks a{padding:6px 12px;border:1.5px solid var(--brown);border-radius:999px;font-weight:600;font-size:.9rem;text-decoration:none}
.mlinks a:hover{background:var(--sand)}
@media (max-width:760px){.team{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
/* social icons under the hero text on phones (the menu hides them there) */
.social-hero{display:none}
@media (max-width:1040px){.social-hero{display:flex;justify-content:center;gap:14px;list-style:none;padding:0;margin:18px 0 0}.social-hero svg{width:26px;height:26px}}
/* two menu items: on phones keep LT/EN in the bar, History and Team go to the burger */
@media (max-width:560px){
  .nav .links li:not(.lang-pick){display:none}
  .burger{display:block;margin-left:0}
}
/* home hero v7: mascot + wordmark in one row, tighter spacing, press strip in the first view */
.hero{padding-bottom:clamp(24px,3vw,40px)}
.press{padding-bottom:clamp(40px,6vw,72px)}
@media (max-width:820px){
  .hero{padding:12px 0 8px}
  .hero-grid{grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:10px;row-gap:0}
  .hero-grid > div:first-child{display:contents}
  .hero-grid .mascot{order:0;grid-column:1;grid-row:1;margin:0}
  .hero-grid .mascot img{width:clamp(104px,32vw,150px)}
  .hero-grid h1{grid-column:2;grid-row:1}
  .hero-grid .wordmark-svg{width:clamp(150px,44vw,210px);max-width:none;margin:0}
  .hero-grid .lede{grid-column:1 / -1;margin:14px auto 0;text-align:center;font-size:1.02rem}
  .hero-grid .social-hero{grid-column:1 / -1;margin:12px 0 0;justify-content:center}
  .press p{font-size:.92rem;margin-bottom:10px;padding:0 16px}
}
@media (min-width:821px){
  .hero{padding-top:28px}
  .hero-grid .mascot img{width:240px}
  .hero .lede{margin:20px auto 0}
  .press p{max-width:72ch;margin:0 auto 12px;padding:0 24px}
}
/* racer cards keep their 4:5 shape */
.deck img{display:block;width:100%;height:auto;aspect-ratio:440/553}
/* mobile hero: wordmark exactly as tall as the corgi */
@media (max-width:820px){
  .hero-grid .mascot img{width:auto;height:clamp(119px,36.6vw,171px)}
  .hero-grid .wordmark-svg{width:auto;height:clamp(115px,35.3vw,165px)}
}
@media (max-width:820px){.hero-grid .wordmark-svg{height:clamp(118px,36.1vw,169px)}.hero-grid{align-items:start}}
@media (max-width:820px){.hero-grid .wordmark-svg{margin-top:-5px}}
.deck{scroll-padding-inline:clamp(20px,4vw,40px)}
@media (max-width:820px){.hero-grid{align-items:center}.hero-grid .wordmark-svg{height:clamp(95px,28.9vw,135px);margin-top:0}}
@media (max-width:820px){.hero-grid .wordmark-svg{position:relative;top:-6px}}
@media (max-width:820px){
  .hero-grid{grid-template-columns:1fr auto auto 1fr;justify-content:stretch}
  .hero-grid .mascot{grid-column:2;width:max-content}
  .hero-grid h1{grid-column:3}
}
/* ---------- EXP leaderboard ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.exp-asof{font-size:.9rem;color:var(--brown-soft);margin-top:10px}
.exp-sec{padding:8px 0 clamp(48px,6vw,80px)}
.exp-sec{--s0:#E9D3AE;--s1:#F2B48A;--s2:#E8723A;--s3:#9C3F17;--s4:#5B3A2A;--sh:#D9A441}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:clamp(8px,2vw,20px);max-width:720px;margin:12px auto clamp(32px,5vw,56px)}
.pod{display:flex;flex-direction:column;align-items:center;min-width:0}
.pod-dog{--sc:3;width:calc(48px*var(--sc));height:calc(40px*var(--sc));background:var(--sheet) 0 0/auto 100% no-repeat;image-rendering:pixelated;
  background-position:calc(var(--f0)*-48px*var(--sc)) 0;animation:podidle 1.2s steps(1) infinite}
.p3 .pod-dog{transform:scaleX(-1)}
@keyframes podidle{50%{background-position:calc((var(--f0) + 1)*-48px*var(--sc)) 0}}
.pod-block{width:100%;background:var(--paper);border:2px solid var(--line);border-radius:14px 14px 4px 4px;text-align:center;padding:14px 8px 16px;display:flex;flex-direction:column;align-items:center;gap:2px}
.p1 .pod-block{min-height:170px;background:var(--orange);border-color:var(--orange);color:#fff}
.p2 .pod-block{min-height:130px}.p3 .pod-block{min-height:105px}
.pod-place{font:800 1.9rem/1 var(--head)}
.pod-block b{font:800 clamp(1.05rem,2.6vw,1.45rem)/1.1 var(--head);overflow-wrap:anywhere}
.pod-block small{font-size:.85rem;opacity:.8}
.pod-exp{margin-top:6px;font-weight:700;font-size:.95rem}
.exp-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.exp-search{flex:1 1 260px;max-width:420px}
.exp-search input{width:100%;font:500 1rem var(--body);padding:12px 18px;border:2px solid var(--line);border-radius:999px;background:var(--paper);color:var(--brown)}
.exp-search input:focus{outline:none;border-color:var(--orange)}
.exp-chips{display:flex;flex-wrap:wrap;gap:6px}
.exp-chips button{font:600 .9rem var(--body);padding:8px 14px;border-radius:999px;border:2px solid var(--line);background:transparent;color:var(--brown);cursor:pointer}
.exp-chips button.on{background:var(--brown);border-color:var(--brown);color:var(--cream)}
.exp-chips button span{opacity:.6;font-weight:500}
.exp-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.82rem;color:var(--brown-soft);margin-bottom:18px}
.exp-legend span{display:inline-flex;align-items:center;gap:6px}
.exp-legend i,.xr-dl dt i{width:10px;height:10px;border-radius:3px;display:inline-block}
.s0{background:var(--s0)}.s1{background:var(--s1)}.s2{background:var(--s2)}.s3{background:var(--s3)}.s4{background:var(--s4)}.sh{background:var(--sh)}
.xr-cols,.xr-head{display:grid;grid-template-columns:44px minmax(110px,1.1fr) 132px minmax(80px,2fr) 72px;gap:14px;align-items:center}
.xr-cols{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--brown-soft);padding:0 14px 6px}
.xr-cols span:last-child,.xr-exp{text-align:right}
.exp-list{list-style:none;margin:0;padding:0;border-top:2px solid var(--line)}
.xr{border-bottom:1px solid var(--line)}
.xr-hide{display:none}
.xr-head{width:100%;background:none;border:0;padding:12px 14px;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:10px}
.xr-head:hover,.xr.open .xr-head{background:var(--paper)}
.xr-rank{font:800 1.15rem/1 var(--head);color:var(--brown-soft)}
.xr-rank.hon{color:var(--sh)}
.xr:nth-child(-n+3) .xr-rank{color:var(--orange-ink)}
.xr-name{display:flex;flex-direction:column;min-width:0}
.xr-name b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xr-name small{font-size:.82rem;color:var(--brown-soft)}
.xr-years{display:flex;gap:4px}
.xr-years i{font:600 .72rem/1 var(--body);font-style:normal;width:28px;padding:5px 0;text-align:center;border-radius:6px;color:var(--line);border:1px dashed var(--line)}
.xr-years i.on{background:var(--sand);color:var(--brown);border:1px solid var(--sand)}
.xr-bar{height:14px;background:var(--sand);border-radius:999px;overflow:hidden}
.xr-bar>span{display:flex;height:100%;border-radius:999px;overflow:hidden}
.xr-bar i{display:block;height:100%}
.xr-exp{font:800 1.1rem/1 var(--head);font-variant-numeric:tabular-nums}
.xr-body{padding:4px 14px 18px calc(44px + 28px)}
.xr-dl{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 10px}
.xr-dl div{display:flex;gap:8px;align-items:baseline}
.xr-dl dt{font-size:.88rem;color:var(--brown-soft);display:flex;align-items:center;gap:6px}
.xr-dl dd{margin:0;font-weight:700}
.xr-ev{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px;font-size:.92rem}
.xr-ev b{display:inline-block;min-width:3.2em;color:var(--orange-ink)}
.xr-note,.xr-card{font-size:.86rem;color:var(--brown-soft);margin:6px 0 0}
.exp-empty{text-align:center;padding:28px 0;color:var(--brown-soft)}
.exp-more{text-align:center;margin-top:24px}
.exp-rules{background:var(--sand);padding:clamp(48px,6vw,80px) 0}
.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.rules-grid div{background:var(--paper);border-radius:14px;padding:18px}
.rules-grid h3{font:800 1.1rem/1.2 var(--head);margin:0 0 6px}
.rules-grid p{margin:0;font-size:.92rem}
.exp-fix{margin-top:24px;font-size:.95rem}
@media (max-width:900px){.rules-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .pod-dog{--sc:2}
  .p1 .pod-block{min-height:140px}.p2 .pod-block{min-height:110px}.p3 .pod-block{min-height:90px}
  .xr-cols{display:none}
  .xr-head{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"r n e" ". y y" ". b b";row-gap:8px;column-gap:10px;padding:12px 6px}
  .xr-rank{grid-area:r}.xr-name{grid-area:n}.xr-exp{grid-area:e}.xr-years{grid-area:y}.xr-bar{grid-area:b;height:10px}
  .xr-body{padding:0 6px 16px 46px}
  .rules-grid{grid-template-columns:1fr}
}
.corgis-btns{display:flex;flex-wrap:wrap;gap:10px}
.p1 .pod-block{padding-top:34px}.p2 .pod-block{padding-top:20px}.p3 .pod-block{padding-top:10px}
@media (max-width:640px){.xr-dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.xr-dl div{justify-content:space-between}}
@media (max-width:640px){.xr-dl{grid-template-columns:1fr;max-width:280px;gap:3px}}
/* logo strip: even gaps everywhere, including where the loop joins; starts mid-run */
.track ul{gap:56px;padding:0 28px}
@media (prefers-reduced-motion:no-preference){.track{animation-duration:148s;animation-delay:-48s}}
.track img[alt="Sky News"]{margin-left:-4px}
@media (min-width:981px) and (max-width:1120px){.nav .links{gap:12px}.nav .social-nav{gap:0}.nav .social-nav a{width:38px}}
/* podium sprites v2: own sheet per dog, any frame count */
.pod-dog{background-position:0 0;background-repeat:no-repeat;background-size:auto 100%;animation-name:podanim;animation-iteration-count:infinite}
@keyframes podanim{from{background-position:0 0}to{background-position:100% 0}}
.p1 .pod-dog{--sc:2.5}
@media (max-width:640px){.p1 .pod-dog{--sc:1.5}}
/* all three podium corgis the same size */
.p1 .pod-dog{--sc:3}
@media (max-width:640px){.p1 .pod-dog{--sc:2}}
.xr-static{cursor:default}.xr-static:hover{background:none}
@media (min-width:1100px){.rules-grid{grid-template-columns:repeat(5,1fr)}}
/* hero mascot: static, no arrive/hop */
.mascot img{animation:none!important}
/* history strips and sprites 25% smaller */
.herd,.race,.parade,.run9{--px:1.125}
.herd .ptrack,.parade .ptrack{height:54px}
.race .ptrack,.run9 .ptrack{height:63px}
.topview .ptrack{height:90px}
.sitdog{--px:1.875}
@media (max-width:560px){.run9{--px:.9}.run9 .ptrack{height:52px}.topview .ptrack{height:72px}.sitdog{--px:1.5}}
/* slimmer header */
.nav{padding:10px 0}
.nav-in{padding-top:6px!important;padding-bottom:6px!important}
/* strips another 20% smaller */
.herd,.race,.parade,.run9{--px:.9}
.herd .ptrack,.parade .ptrack{height:44px}
.race .ptrack,.run9 .ptrack{height:50px}
.topview .ptrack{height:72px}
@media (max-width:560px){.run9{--px:.72}.run9 .ptrack{height:42px}.topview .ptrack{height:58px}}
/* docked: nav and strip share one surface */
html.strip-docked .nav-in,html.strip-docked .px-strip .ptrack{background:rgba(255,253,248,.94);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
/* desktop: social icons sit close together */
.nav .social-nav{gap:2px;padding-left:8px}
/* burger: three stripes */
.burger::after{content:"";position:absolute;left:12px;right:12px;top:22px;height:2px;background:var(--brown);border-radius:2px;transition:opacity .2s ease}
.burger span:first-child{top:15px}.burger span:last-child{top:29px}
.menu-open .burger span:first-child,.menu-open .burger span:last-child{top:22px}
.menu-open .burger::after{opacity:0}
/* side-view strips: same glass as the header, docked or not */
.herd .ptrack,.race .ptrack,.parade .ptrack,.run9 .ptrack,
html.strip-docked .nav-in,html.strip-docked .herd .ptrack,html.strip-docked .race .ptrack,html.strip-docked .parade .ptrack,html.strip-docked .run9 .ptrack{background:rgba(255,253,248,.62);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
/* docked: one glass layer behind header and strip, so there is no seam */
.px-strip::before{content:"";position:absolute;z-index:-1;left:clamp(20px,4vw,40px);right:clamp(20px,4vw,40px);top:calc(-1 * var(--navh,64px));bottom:4px;border-radius:24px;background:rgba(255,253,248,.62);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);opacity:0;pointer-events:none}
html.strip-docked .px-strip::before{opacity:1}
html.strip-docked .nav-in,html.strip-docked .herd .ptrack,html.strip-docked .race .ptrack,html.strip-docked .parade .ptrack,html.strip-docked .run9 .ptrack{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.px-strip::before{left:var(--gl,clamp(20px,4vw,40px));right:var(--gr,clamp(20px,4vw,40px))}
/* bottom page nav: small arrows, "back" centred below */
.post-next .pn{display:flex;flex-direction:column;align-items:center;gap:6px}
.pn-row{display:flex;justify-content:space-between;width:120px}
.pn-arrow{display:grid;place-items:center;width:40px;height:40px;color:var(--brown)}
.pn-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
a.pn-arrow:hover{color:var(--orange-ink)}
.pn-back{font-size:.95rem;font-weight:500;color:var(--brown-soft);text-decoration:none}
.pn-back:hover{color:var(--orange-ink)}
/* mobile menu open: hide the sprite strip, header goes back to its own look */
body.menu-open .px-strip{visibility:hidden}
html.strip-docked body.menu-open .nav-in{border-radius:999px;border-bottom-color:rgba(228,211,186,.7);background:rgba(255,253,248,.62);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
/* leaderboard: corgi card or last photo inside an opened row */
.xr-body.has-pic{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:start}
.xr-pic{margin:0}
.xr-pic img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 6px 16px rgba(61,36,23,.12)}
.xr-pic figcaption{margin-top:6px;font-size:.8rem;color:var(--brown-soft);text-align:center}
@media (max-width:560px){.xr-body.has-pic{grid-template-columns:112px 1fr;gap:12px}}
.exp-howlink{margin:10px 0 0}
.exp-howlink a{color:var(--orange-ink);font-weight:600;text-decoration:none}
.exp-howlink a:hover{text-decoration:underline}
html{scroll-behavior:smooth}
#rules{scroll-margin-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (min-width:900px){.xr-body.has-pic{grid-template-columns:200px 1fr}}
/* opened row: hidden until clicked, card full width on top, results below */
.xr-body[hidden]{display:none!important}
.xr-body.has-pic,.xr-body.has-pic{display:block}
.xr-pic{margin:0 0 16px}
.xr-pic img{width:100%;max-width:440px;margin:0 auto}
@media (max-width:560px){.xr-pic img{max-width:none}}
/* 5-time medal, spins on its axis */
.xr-name b{display:inline-flex;align-items:center;gap:6px;overflow:visible}
.xr-medal{display:inline-block;flex:none;width:26px;height:36px;margin:-10px 0 -8px;background-repeat:no-repeat;background-size:312px 36px;image-rendering:pixelated;image-rendering:crisp-edges;animation:medalspin 1.4s steps(12) infinite}
@keyframes medalspin{to{background-position:-312px 0}}
@media (prefers-reduced-motion:reduce){.xr-medal{animation:none}}
.xr-pic{margin:4px 0 18px calc(-44px - 14px)}
@media (max-width:560px){.xr-pic{margin:0 0 16px -40px}}
/* leaderboard intro: smaller, justified */
.page-head .exp-lede{font-size:1.02rem;line-height:1.6;text-align:justify;-webkit-hyphens:auto;hyphens:auto}
/* phones: no medal */
/* medal shown on phones too */
/* leaderboard: podium sits right under the intro */
.page-head:has(.exp-lede){padding-bottom:4px}
.exp-sec{padding-top:0}
.exp-sec .podium{margin-top:0}
/* headings 20% smaller everywhere (hero wordmark excluded) */
h2{font-size:clamp(1.92rem,4.4vw,3.4rem)}
.page-title{font-size:clamp(2.4rem,7.2vw,5.6rem)}
.post h2,.member h2,.partners h2,.sub-h{font-size:clamp(1.28rem,2.4vw,1.76rem)}
.j1 h2{font-size:clamp(1.76rem,3.52vw,2.72rem)}
.hof-h{font-size:clamp(1.44rem,2.88vw,2.08rem)}
.contests summary h3{font-size:clamp(1.12rem,2.08vw,1.52rem)}
.rank h3{font-size:1.28rem}
/* 2026 hall of fame shows corgi cards: keep the whole card, 4:5 */
.hcard-card img,.hof-card26 img{aspect-ratio:4/5!important;height:auto!important;object-fit:contain!important;object-position:center}
.hcard-card a.lb,.hof-card26 a.lb{aspect-ratio:4/5!important;background:none}
/* 2026 strip: the plane over the Atlantic */
.flight{--px:.9;position:sticky;top:var(--navb,84px);z-index:15;padding-bottom:4px}
.flight .ptrack{height:50px;background:rgba(255,253,248,.62);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-radius:18px 18px 6px 6px;box-shadow:0 6px 18px rgba(61,36,23,.06)}
.flight .sea{background-image:url(../images/sprites/sea.png)}
.flight .spr{position:absolute;left:0;bottom:calc(3px*var(--px));background-repeat:no-repeat;image-rendering:pixelated;image-rendering:crisp-edges}
.flight .plane{bottom:calc(10px*var(--px));z-index:5}
html.strip-docked .flight .ptrack{border-radius:0 0 24px 24px;border:1px solid rgba(228,211,186,.7);border-top:0;box-shadow:0 10px 24px rgba(61,36,23,.08);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
@media (max-width:560px){.flight{--px:.72}.flight .ptrack{height:42px}}
.flight .isle-us,.flight .isle-lt{bottom:calc(8px*var(--px));z-index:3}
.flight .ptrack{height:58px}
@media (max-width:560px){.flight .ptrack{height:46px}}
.flight .gull{bottom:0;z-index:2}
.flight .dolphin{bottom:0;z-index:3}
/* home: tighter sections from the 2026 results down */
.results,#day,.corgis{padding:clamp(40px,6vw,72px) 0}
.results .results-head{margin-bottom:20px}
.results .place{padding:12px 0}
.results .facts{margin-top:24px}
.results .recap{margin-top:20px;gap:12px}
/* 2026 podium places open to show the corgi card */
.place-d{border-bottom:2px dashed color-mix(in srgb,currentColor 35%,transparent)}
.place-d>summary{list-style:none;cursor:pointer;border-bottom:0;grid-template-columns:clamp(64px,10vw,120px) 1fr auto auto}
.place-d>summary::-webkit-details-marker{display:none}
.pd-plus{font:800 1.4rem/1 var(--head);color:var(--orange-ink);width:36px;height:36px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;font-style:normal;transition:transform .2s}
.place-d[open] .pd-plus{transform:rotate(45deg)}
.place-body{display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:20px;align-items:center;padding:4px 0 18px clamp(64px,10vw,120px)}
.place-body img{width:100%;height:auto;border-radius:12px;box-shadow:0 6px 16px rgba(61,36,23,.12)}
.place-body p{font-size:1.02rem;line-height:1.6;opacity:.85;max-width:52ch}
@media (max-width:760px){.place-d>summary{grid-template-columns:56px 1fr auto}.place-body{grid-template-columns:1fr;padding-left:0}}
.hero-jump{margin:10px 0 0}
.hero-jump a{color:var(--orange-ink);font-weight:600;text-decoration:none}
.hero-jump a:hover{text-decoration:underline}
#day{scroll-margin-top:80px}
.hero-grid .hero-jump{grid-column:1 / -1}
@media (max-width:980px){.hero-jump{text-align:center;margin:8px 0 0}}
.results .recap{margin:20px 0 28px}
.results .recap-lb{margin:20px 0 0}
/* home: a pixel corgi sprints under the media strip every 15 s */
.home-run{position:relative;height:60px;overflow:hidden;margin-top:6px;pointer-events:none}
.hr-dog{position:absolute;left:0;bottom:0;width:72px;height:60px;background:url(../images/sprites/corgi-red-run.png) 0 0/432px 60px no-repeat;image-rendering:pixelated;image-rendering:crisp-edges;transform:translateX(-90px);animation:hrlegs .28s steps(6) infinite,hrrun 15s linear infinite}
@keyframes hrlegs{to{background-position:-432px 0}}
@keyframes hrrun{0%{transform:translateX(-90px)}11%{transform:translateX(calc(100vw + 20px))}100%{transform:translateX(calc(100vw + 20px))}}
@media (max-width:560px){.home-run{height:48px}.hr-dog{width:58px;height:48px;background-size:348px 48px}@keyframes hrlegs{to{background-position:-348px 0}}}
@media (prefers-reduced-motion:reduce){.home-run{display:none}}
/* the sprinting corgi takes no space: it runs in the logo band, behind the logos */
.press{position:relative;overflow-x:clip}
.press .marquee{position:relative;z-index:2}
.home-run{height:0;margin:0;overflow:visible}
.hr-dog{bottom:-6px;z-index:1}
.hero .lede a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;font-weight:600}
/* hero text: justified, links in the same orange as other text links, no underline */
.hero .lede{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.hero .lede a{color:var(--orange-ink);text-decoration:none;font-weight:600}
.hero .lede a:hover{text-decoration:underline}
/* compact bottom of story pages */
.post-next{padding:16px 0 24px}
.post-next .wrap{gap:8px}
.post-next .btn{padding:10px 18px;font-size:.95rem}
.hof{padding:36px 0}
.hof-h{margin:32px 0 14px;padding-top:16px}
.hof .results-head{margin-bottom:12px}
footer{padding-top:40px}
/* headings keep their own capitals (America, Atlantic, EXP, names); text is written lowercase where wanted */
h2,.page-title,.post h2,.sub-h{text-transform:none}
/* home: photo reel, scrolls by hand and loops (last photo runs into the first) */
.photo-reel{position:relative;padding:0}
.reel-track{display:flex;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
.reel-track::-webkit-scrollbar{display:none}
.reel-set{display:flex;gap:10px;padding-right:10px;flex:none}
.reel-set img{height:clamp(200px,28vw,360px);width:auto;flex:none;border-radius:16px;object-fit:cover;background:var(--sand)}
.reel-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,253,248,.92);color:var(--brown);font:800 1.6rem/1 var(--head);cursor:pointer;box-shadow:0 4px 14px rgba(61,36,23,.18)}
.reel-prev{left:12px}.reel-next{right:12px}
.reel-btn:hover{background:var(--orange);color:#fff}
@media (max-width:560px){.reel-btn{display:none}}
/* home: Woofsletter sign-up */
.woof{padding:clamp(40px,6vw,72px) 0}
.woof-in{max-width:680px;text-align:center}
.woof p{max-width:560px}
.woof h2{font-size:clamp(1.8rem,4vw,2.4rem);letter-spacing:.06em;text-transform:uppercase}
.woof p{margin:10px auto 0;opacity:.85;line-height:1.6}
.woof-form{display:flex;gap:10px;justify-content:center;margin:20px auto 0;flex-wrap:wrap}
.woof-form input{flex:1 1 240px;max-width:340px;padding:13px 18px;border:1px solid rgba(61,36,23,.18);border-radius:999px;background:var(--paper);font:inherit;color:var(--brown)}
.woof-form button{padding:13px 30px;border:0;border-radius:999px;background:var(--brown);color:var(--paper);font:700 .9rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.woof-form button:hover{background:var(--orange)}
.woof-msg{font-weight:600;color:var(--orange-ink)}
.woof-archive{display:inline-block;margin-top:16px;color:var(--orange-ink);font-weight:600;text-decoration:none}
.woof-archive:hover{text-decoration:underline}
#woofsletter{scroll-margin-top:80px}
/* woofsletter archive */
.wl-list .wrap{display:grid;gap:18px;max-width:900px}
.wl-card{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:center;background:#fff;border-radius:20px;padding:14px;color:inherit;text-decoration:none;box-shadow:0 1px 0 rgba(60,30,10,.06);transition:transform .15s}
.wl-card:hover{transform:translateY(-2px)}
.wl-pic{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--orange,#e8723a);display:grid;place-items:center}
.wl-pic img{width:100%;height:100%;object-fit:cover}
.wl-paw{font-size:3.2rem}
.wl-no{position:absolute;left:10px;top:10px;background:var(--brown);color:#fff;border-radius:99px;padding:2px 10px;font-family:var(--head);font-size:1rem}
.wl-txt h2{font-size:clamp(1.3rem,2.6vw,1.7rem)}
.wl-txt p{margin:8px 0 0}
.wl-date{font-size:.85rem;font-weight:600;color:var(--orange-ink);margin:0 0 6px!important}
.wl-more{display:inline-block;margin-top:10px;font-weight:700;color:var(--orange-ink)}
@media (max-width:560px){.wl-card{grid-template-columns:1fr}}
.issue-note{margin:10px 0 0;font-size:.9rem;opacity:.7}
.issue-mail{padding:0 0 8px}
.issue-mail>table{background:transparent!important}
.issue-mail img{max-width:100%;height:auto}
.issue-mail td[width="50%"] img{height:auto}
.wl-list{padding:0 0 clamp(8px,2vw,16px)}
.wl-list .wrap{max-width:none}
.wl-list+.woof{padding-top:clamp(24px,4vw,40px)}
@media (max-width:560px){
.issue-mail>table>tbody>tr>td{padding:0 0 16px!important}
.issue-mail td[style*="40px"]{padding-left:20px!important;padding-right:20px!important}
.issue-mail td[style*="28px"]{padding-left:18px!important;padding-right:18px!important}
}
.woof-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
/* compact 2026 block on home */
.results{padding:clamp(28px,4vw,44px) 0}
.results .results-head{margin-bottom:6px;gap:8px}
.results .results-head h2{font-size:clamp(1.6rem,3.6vw,2.4rem)}
.results .results-head .lede{max-width:none;font-size:1rem;margin:0}
.results .facts{margin-top:14px;gap:10px}
.results .facts div{padding:12px 16px;border-radius:16px;display:flex;align-items:baseline;gap:10px}
.results .facts b{font-size:1.7rem;flex:none}
.results .facts span{font-size:.88rem;line-height:1.3}
.results .lane{margin-top:16px}
.results .place-d>summary{padding:6px 0;gap:14px;grid-template-columns:56px 1fr auto auto}
.results .place b{font-size:clamp(2rem,4vw,2.6rem)}
.results .place .who{font-size:clamp(1.25rem,2.4vw,1.6rem)}
.results .place .from{margin-top:0;font-size:.92rem}
.results .place .flag{padding:3px 10px;font-size:.8rem}
.results .place-body{padding:2px 0 14px 70px;grid-template-columns:minmax(0,200px) 1fr}
.results .recap-lb{margin:14px 0 0}
@media (max-width:760px){.results .facts div{display:block;padding:10px 12px}.results .facts b{font-size:1.5rem}.results .place-d>summary{grid-template-columns:40px 1fr auto}.results .place-body{padding-left:0;grid-template-columns:1fr}.results .place-body img{max-width:260px}}
/* world corgi day */
.wcd-lede{max-width:68ch;margin:14px 0 22px}
.wcd-chips{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.wcd-chips li{border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;padding:4px 12px;font-size:.92rem;font-weight:600}
.wcd-chips li.more{border-style:dashed;opacity:.7}
.wcd-places{margin-top:-24px !important}
.wcd-credit{font-size:.85rem;opacity:.65;margin-top:12px;text-align:center}
.post-sec .prose:has(+ .gallery),.post-sec .prose:has(+ .wcd-places),.post-sec .prose:has(+ .fig-wide){margin-bottom:20px}
.gallery.g-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery.g-3 img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}.gallery.g-3 a.lb{display:block;border-radius:16px;overflow:hidden}@media (max-width:560px){.gallery.g-3{grid-template-columns:1fr 1fr}}
.results .results-head{margin-bottom:0}
.results .facts div{padding:14px 18px;align-items:center;gap:12px}
.results .facts b{font-size:2.1rem}
.results .facts span{font-size:1.05rem;line-height:1.3;font-weight:500;opacity:.95}
@media (max-width:760px){.results .facts div{padding:12px 14px}.results .facts b{font-size:1.8rem}.results .facts span{font-size:.98rem}}
.wcd-video{max-width:360px;margin:0 auto}
.wcd-video video{width:100%;height:auto;border-radius:18px;background:#000;display:block}
.wcd-home{padding:clamp(32px,5vw,56px) 0;background:var(--sand)}
.wcd-home-in{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(20px,4vw,48px);align-items:center}
.wcd-home h2{font-size:clamp(1.6rem,3.6vw,2.4rem);margin:4px 0 10px}
.wcd-home-txt p:not(.kicker){margin:0 0 18px;max-width:46ch}
.wcd-home-pic{display:block;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(61,36,23,.14)}
.wcd-home-pic img{width:100%;height:auto;display:block}
@media (max-width:760px){.wcd-home-in{grid-template-columns:1fr}}
.dd-podium{max-width:68ch;margin:0 auto;padding:0}.dd-podium .place{padding:8px 0;grid-template-columns:56px 1fr}.dd-podium .place b{font-size:2.2rem}.dd-podium .place .who{font-size:1.4rem}
/* privacy policy */
.policy ul{margin:.4rem 0 1.2rem;padding-left:1.2rem}
.policy li{margin:.45rem 0;line-height:1.55}
.policy h2.sub-h{text-align:left;margin-top:2.2rem}
.policy a{color:var(--orange,#E8723A)}
/* shop */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.shop-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--brown)}
.shop-ph{display:block;aspect-ratio:1/1;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.shop-ph img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.shop-card:hover .shop-ph img{transform:scale(1.04)}
.shop-t{font:700 1.02rem/1.25 var(--head)}
.shop-p{color:var(--orange-ink);font-weight:700}
.shop-note{margin-top:34px;text-align:center;color:var(--brown-soft)}
.shop-note a,.sp-info .kicker a{color:var(--orange-ink)}
.sp-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start}
.sp-main{aspect-ratio:1/1;background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.sp-main img{width:100%;height:100%;object-fit:contain}
.sp-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sp-th{width:64px;height:64px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);cursor:pointer}
.sp-th img{width:100%;height:100%;object-fit:cover}
.sp-title{font:800 clamp(1.7rem,3vw,2.4rem)/1.1 var(--head);margin:.2em 0 .3em}
.sp-price{font:800 1.6rem/1 var(--head);color:var(--orange-ink);margin:0 0 22px}
.sp-opt{margin:0 0 18px}
.sp-lab{display:block;font-weight:700;margin-bottom:8px}
.sp-cols{display:flex;flex-wrap:wrap;gap:8px}
.sp-col{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font:500 .9rem/1 var(--body);color:var(--brown);cursor:pointer}
.sp-col.on{border-color:var(--brown);background:var(--brown);color:var(--paper)}
#sp-size,#sp-ship{width:100%;max-width:320px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font:inherit;color:var(--brown)}
.sp-buy{border:0;cursor:pointer;margin-top:4px}
.sp-buy[disabled]{opacity:.6;cursor:wait}
.sp-msg{min-height:1.4em;margin:10px 0 0;color:var(--orange-ink)}
.sp-perks{list-style:none;padding:0;margin:14px 0 26px;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--brown-soft);font-size:.92rem}
.sp-perks li::before{content:"✓ ";color:var(--orange)}
.sp-desc{max-width:none}
.sp-desc ul{padding-left:1.1rem}
.sp-legal summary{cursor:pointer;font-weight:700;margin-top:10px}
.sp-legal p{font-size:.9rem;color:var(--brown-soft)}
@media (max-width:820px){.sp-wrap{grid-template-columns:1fr;gap:26px}}
.post-sec.sp{padding-top:clamp(28px,5vw,56px)}
#sp-size,#sp-ship{-webkit-appearance:none;appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%233D2417' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.sp-sizes{margin-top:18px}
.sp-sizes summary{cursor:pointer;font-weight:700}
.sp-tw{overflow-x:auto;margin:10px 0}
.sp-sizes table{border-collapse:collapse;font-size:.92rem;min-width:100%}
.sp-sizes th,.sp-sizes td{padding:7px 10px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}
.sp-sizes tr th:first-child{text-align:left}
.sp-sizes p{font-size:.88rem;color:var(--brown-soft);text-align:left}
/* desktop hero v8: same arrangement as mobile (corgi next to the wordmark, text full width below), sized to the screen height so the press strip shows in the first view */
@media (min-width:821px){
  .hero{padding:clamp(12px,3vh,32px) 0 clamp(12px,2.5vh,28px)}
  .hero-grid{grid-template-columns:1fr auto auto 1fr;column-gap:clamp(16px,2vw,28px);row-gap:0;align-items:center}
  .hero-grid > div:first-child{display:contents}
  .hero-grid .mascot{grid-column:2;grid-row:1;margin:0;order:0;width:max-content}
  .hero-grid .mascot img{width:auto;height:clamp(120px,24vh,230px)}
  .hero-grid h1{grid-column:3;grid-row:1}
  .hero-grid .wordmark-svg{width:auto;max-width:none;height:clamp(95px,19vh,182px);margin:0}
  .hero-grid .lede,.hero-grid .hero-jump,.hero-grid .social-hero,.hero-grid .hero-actions{grid-column:1 / -1}
  .hero .lede{max-width:62rem;margin:clamp(12px,2.2vh,24px) auto 0;font-size:clamp(1rem,1.15vw,1.15rem)}
}
@media (min-width:821px){.press p{max-width:none}}
.sp-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 14px 8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--brown);font-weight:600;font-size:.92rem;text-decoration:none}
.sp-back:hover{border-color:var(--brown)}
.sp-back span{color:var(--orange-ink);font-size:1.05rem;line-height:1}
.post-sec.sp .sp-title{margin-top:0}
/* 2027 date stamp on the wordmark corner */
.hero h1{position:relative}
.date-stamp{position:absolute;z-index:2;right:-30%;bottom:-20%;text-transform:none;width:clamp(84px,12.5vh,126px);aspect-ratio:1;color:#1f1410;transform:rotate(-14deg);opacity:.95;mix-blend-mode:multiply;transition:transform .2s ease}
.date-stamp svg{display:block;width:100%;height:100%;font-family:var(--head);fill:currentColor;overflow:visible}
.date-stamp:hover{transform:rotate(-8deg) scale(1.06)}
@media (max-width:820px){.date-stamp{width:clamp(58px,16vw,78px);right:-24%;bottom:-24%}}
/* Yorgi fact box opens the photo */
.facts .yorgi{position:relative;padding-right:76px}
.yorgi-pic{position:absolute;inset:0;border-radius:inherit}
.yorgi-pic img{position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(4deg);width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--cream);box-shadow:0 4px 12px rgba(61,36,23,.18);transition:transform .2s ease}
.yorgi-pic:hover img,.yorgi-pic:focus-visible img{transform:translateY(-50%) rotate(-4deg) scale(1.12)}
.facts .yorgi:hover{outline:2px solid var(--orange);outline-offset:-2px}
.results .facts .yorgi{padding-right:78px}
@media (max-width:760px){.results .facts .yorgi{padding-right:64px}.yorgi-pic img{width:46px;height:46px;right:10px}}
.g-even.g-tall a.lb{aspect-ratio:3/4}
@media (max-width:640px){.g-even.g-tall{grid-template-columns:repeat(3,1fr)}}
/* mobile: facts centred, Yorgi photo bigger and centred under the text */
@media (max-width:760px){
.results .facts div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.results .facts .yorgi{padding:12px 14px 96px}
.results .yorgi-pic img{right:auto;left:50%;top:auto;bottom:12px;width:76px;height:76px;transform:translateX(-50%) rotate(4deg)}
.results .yorgi-pic:hover img,.results .yorgi-pic:focus-visible img{transform:translateX(-50%) rotate(-4deg) scale(1.08)}
}
/* "7 contests" fact: photo bubbles of the two new contests */
.facts .newc,.results .facts .newc{position:relative;padding-right:104px}
.nc-pics{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex}
.nc-pic{display:block;flex:none;border-radius:50%;transition:transform .2s ease}
.nc-pic+.nc-pic{margin-left:-14px}
.nc-pic img{display:block;max-width:none;width:50px;height:50px;border-radius:50%;object-fit:cover;border:3px solid var(--cream);box-shadow:0 4px 12px rgba(61,36,23,.18)}
.nc-pic:first-child{transform:rotate(-5deg)}.nc-pic:last-child{transform:rotate(5deg)}
.nc-pic:hover,.nc-pic:focus-visible{transform:scale(1.12);position:relative;z-index:1}
@media (max-width:760px){
.results .facts .newc{padding:12px 14px 96px}
.results .nc-pics{top:auto;bottom:12px;right:auto;left:50%;transform:translateX(-50%)}
.results .nc-pic img{width:72px;height:72px}
}
/* mobile: the 2026 story and leaderboard buttons share one row */
@media (max-width:760px){.results .recap-lb{flex-wrap:nowrap;gap:8px}.results .recap-lb .btn{flex:1 1 0;min-width:0;justify-content:center;text-align:center;padding:13px 10px;font-size:.92rem;white-space:nowrap}}
@media (max-width:360px){.results .recap-lb .btn{font-size:.8rem;padding:12px 6px}}
/* mobile podium: card centred, story text justified */
@media (max-width:760px){.results .place-body{justify-items:center}.results .place-body img{margin:0 auto}.results .place-body p{text-align:justify;hyphens:auto;-webkit-hyphens:auto;max-width:none;width:100%}}
/* mobile: leaderboard and Instagram buttons share one row */
@media (max-width:760px){.corgis-btns{display:flex;flex-wrap:nowrap;gap:8px}.corgis-btns .btn{flex:1 1 auto;min-width:0;justify-content:center;text-align:center;padding:12px 12px;font-size:.92rem;line-height:1.2}.corgis-btns .btn-primary{flex:0 0 auto}}
@media (max-width:360px){.corgis-btns .btn{font-size:.8rem;padding:11px 9px}}
/* cards section: tighter spacing */
.corgis{padding:clamp(26px,4vw,48px) 0 clamp(14px,2vw,28px)}
.corgis-head{margin-bottom:clamp(16px,2.4vw,28px);gap:14px}
.corgis-head .lede{margin-top:10px!important}
.corgis .deck{padding-bottom:12px}
@media (max-width:760px){.corgis-head{margin-bottom:14px}}
.deck img{aspect-ratio:4/5}
/* buttons: chunky push buttons, like the talking buttons dogs press with a paw */
.btn{--base:var(--orange-ink);border:0;border-radius:20px;padding:15px 26px 14px;font-weight:800;letter-spacing:.01em;
  background-image:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%);
  box-shadow:0 5px 0 var(--base),0 9px 16px rgba(61,36,23,.16);transform:translateY(0);
  transition:transform .08s ease,box-shadow .08s ease,background-color .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 0 var(--base),0 11px 18px rgba(61,36,23,.18)}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--base),0 2px 4px rgba(61,36,23,.14)}
.btn-primary{background-color:var(--orange);color:#fff;--base:#B9501E}
.btn-ghost{background-color:var(--paper);color:var(--brown);--base:#D8C2A0}
.j1 .btn{background-color:var(--paper);color:var(--brown);--base:#D8C2A0}
@media (prefers-reduced-motion:reduce){.btn,.btn:hover,.btn:active{transition:none;transform:none}}
/* mobile button pairs: keep compact (after the base button rule) */
@media (max-width:760px){.results .recap-lb .btn{padding:13px 10px 12px;font-size:.92rem}.corgis-btns .btn{padding:12px 12px 11px;font-size:.92rem;font-weight:700}}
@media (max-width:360px){.results .recap-lb .btn{font-size:.8rem;padding:12px 6px}.corgis-btns .btn{font-size:.8rem;padding:11px 9px}}
/* photo reel: tap a photo to browse the reel full screen */
.reel-set img{cursor:zoom-in}
.reel-full{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:transparent;overflow:hidden}
.reel-full::backdrop{background:rgba(20,12,8,.94)}
.rf-track{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior:contain}
.rf-track::-webkit-scrollbar{display:none}
.rf-slide{flex:0 0 100%;height:100%;display:grid;place-items:center;scroll-snap-align:center;padding:56px 16px}
.rf-slide img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.rf-btn{position:fixed;border:0;border-radius:999px;background:var(--paper);color:var(--brown);font:700 1.6rem/1 var(--head);width:48px;height:48px;cursor:pointer;display:grid;place-items:center;z-index:2}
.rf-close{top:14px;right:14px}
.rf-prev,.rf-next{top:50%;transform:translateY(-50%)}
.rf-prev{left:14px}.rf-next{right:14px}
@media (max-width:640px){.rf-prev,.rf-next{display:none}.rf-slide{padding:64px 8px}}
html.rf-open{overflow:hidden}
/* full-screen reel: fit the visible screen on phones (iOS 100vh is taller than what you see) */
.reel-full{position:fixed;inset:0;top:0;left:0;height:100vh;height:100dvh;max-height:100dvh;width:100vw;width:100dvw}
.rf-track,.rf-slide{height:100%}
@media (max-width:640px){.rf-slide{padding:calc(64px + env(safe-area-inset-top,0px)) 8px calc(64px + env(safe-area-inset-bottom,0px))}.rf-close{top:calc(12px + env(safe-area-inset-top,0px))}}
/* all running text is justified (lines that are centred on purpose keep their own rule) */
p,.lede,li p,figcaption p,.prose li{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.sp-sizes p,.sp-sizes,.fig-split figcaption{text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.corgis-head .lede{font-size:1.0625rem;line-height:1.6}
/* expand buttons (+): chunky push buttons like the main buttons; open = pressed in, × */
.contests summary i,.pd-plus{position:relative;font-size:0!important;border:0!important;border-radius:50%;width:42px;height:42px;
  background:var(--sand);background-image:linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0) 60%);
  box-shadow:0 4px 0 #D8C2A0,0 7px 12px rgba(61,36,23,.14);transform:none!important;transition:transform .08s ease,box-shadow .08s ease,background-color .15s ease;flex:none}
.contests summary i::before,.pd-plus::before{content:"+";position:absolute;inset:0;display:grid;place-items:center;font:800 1.5rem/1 var(--head);color:var(--brown);transition:transform .2s ease}
.pd-plus::before{color:var(--orange-ink)}
.contests summary:hover i,.place-d>summary:hover .pd-plus{transform:translateY(-1px)!important;box-shadow:0 5px 0 #D8C2A0,0 9px 14px rgba(61,36,23,.16)}
.contests details[open] summary i,.place-d[open] .pd-plus{background-color:var(--orange);transform:translateY(3px)!important;box-shadow:0 1px 0 #B9501E,0 2px 4px rgba(61,36,23,.12)}
.contests details[open] summary i::before,.place-d[open] .pd-plus::before{color:#fff;transform:rotate(45deg)}
@media (prefers-reduced-motion:reduce){.contests summary i,.pd-plus,.contests summary i::before,.pd-plus::before{transition:none}}
#day .lede{font-size:1.0625rem;line-height:1.6}
/* hero social icons: sticky strip after the hero that docks under the menu (phones/tablets, see #social-dock) */
.social-strip{position:sticky;top:var(--navb,76px);z-index:19;max-width:var(--wrap);margin:6px auto 0;padding:0 clamp(20px,4vw,40px)}
@media (min-width:1041px){.social-strip{display:none}}
.social-strip .social-hero{position:relative;display:flex;justify-content:center;gap:14px;margin:0 var(--gr,0px) 0 var(--gl,0px);padding:0 0 4px;border:1px solid transparent;border-top:0;border-radius:0 0 24px 24px;transition:border-color .18s ease,box-shadow .18s ease,gap .18s ease}
.social-strip .social-hero::before{content:"";position:absolute;z-index:-1;left:-1px;right:-1px;top:calc(-1 * var(--navh,62px));bottom:0;border-radius:24px;background:rgba(255,253,248,.62);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);opacity:0;transition:opacity .18s ease;pointer-events:none}
.social-strip .social-hero svg{width:26px;height:26px;transition:transform .18s ease}
html.social-docked .social-strip .social-hero{border-color:rgba(228,211,186,.7);box-shadow:0 10px 24px rgba(61,36,23,.08);gap:20px}
html.social-docked .social-strip .social-hero::before{opacity:1}
html.social-docked .social-strip .social-hero svg{transform:scale(.7)}
html.social-docked .nav-in{border-radius:24px 24px 0 0;border-bottom-color:transparent;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
body.menu-open .social-strip{visibility:hidden}
html.social-docked body.menu-open .nav-in{border-radius:999px;border-bottom-color:rgba(228,211,186,.7);background:rgba(255,253,248,.62);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4)}
@media (prefers-reduced-motion:reduce){.social-strip .social-hero,.social-strip .social-hero::before,.social-strip .social-hero svg{transition:none}}
/* racer card strip: no scrollbar dot, no hover tilt, cards snap to the centre, tap opens the gallery */
.deck{scrollbar-width:none;-ms-overflow-style:none;scroll-padding-inline:0}
.deck::-webkit-scrollbar{display:none}
.deck figure{scroll-snap-align:center;cursor:zoom-in}
.deck figure:hover img{transform:none}
.deck-full .rf-slide img{border-radius:20px}
/* Woofsletter sign-up: same chunky push button as the rest of the site; input matches its shape */
.woof-form input{border-radius:20px}
.woof-form button{border:0;border-radius:20px;padding:15px 28px 14px;background-color:var(--orange);color:#fff;font:800 1rem/1 var(--body);letter-spacing:.01em;text-transform:none;
  background-image:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%);
  box-shadow:0 5px 0 #B9501E,0 9px 16px rgba(61,36,23,.16);transition:transform .08s ease,box-shadow .08s ease}
.woof-form button:hover{background-color:var(--orange);transform:translateY(-1px);box-shadow:0 6px 0 #B9501E,0 11px 18px rgba(61,36,23,.18)}
.woof-form button:active{transform:translateY(4px);box-shadow:0 1px 0 #B9501E,0 2px 4px rgba(61,36,23,.14)}
@media (prefers-reduced-motion:reduce){.woof-form button,.woof-form button:hover,.woof-form button:active{transition:none;transform:none}}
/* Costume Parade: Amigo's winning costumes as round photo bubbles */
.amigo-pics{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:14px 0 6px}
.amigo-pic{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--brown-soft);font-weight:700;font-size:.85rem}
.amigo-pic img{display:block;width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--cream);box-shadow:0 4px 12px rgba(61,36,23,.18);transition:transform .2s ease}
.amigo-pic:nth-child(odd) img{transform:rotate(-4deg)}.amigo-pic:nth-child(even) img{transform:rotate(4deg)}
.amigo-pic:hover img,.amigo-pic:focus-visible img{transform:scale(1.1)}
@media (max-width:420px){.amigo-pics{gap:10px}.amigo-pic img{width:64px;height:64px}}
.lbx.lbx-single .pv,.lbx.lbx-single .nx{display:none}
.g-even img[src*="2026pick/p01"]{object-position:50% 78%}
/* video bubble: play badge, opens a full-screen player (see #vid-pic) */
.vid-pic{position:relative}
.vid-pic i{position:absolute;left:50%;top:36px;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:rgba(255,253,248,.92);color:var(--orange-ink);font-style:normal;font-size:.8rem;display:grid;place-items:center;padding-left:2px;box-shadow:0 2px 8px rgba(61,36,23,.25);pointer-events:none}
@media (max-width:420px){.vid-pic i{top:32px}}
.vf-in{width:100%;height:100%;display:grid;place-items:center;padding:56px 16px}
.vf-in video{max-width:100%;max-height:100%;border-radius:14px;background:#000;box-shadow:0 20px 50px rgba(0,0,0,.4)}
/* photo bubbles sit right under their text */
.contests details p:has(+ .amigo-pics){padding-bottom:0;margin-bottom:0}
.contests .amigo-pics{margin:8px 0 0;padding-bottom:20px}
/* history page: Pembroke and Cardigan sitting side by side */
.sit-stage .spr.sit-a{left:calc(50% - 22px * var(--px))}
.sit-stage .spr.sit-b{left:calc(50% + 22px * var(--px))}
/* home page: the pair seen from behind sits a little higher so the wagging tails clear the grass */
.tails .sit-stage .spr{bottom:calc(5px * var(--px))}
.tails .sit-stage .spr.sit-a{left:calc(50% - 20px * var(--px))}
.tails .sit-stage .spr.sit-b{left:calc(50% + 20px * var(--px))}
.woof:has(+ .sitdog){padding-bottom:6px}
.sitdog.tails{margin-top:calc(-27px * var(--px));pointer-events:none;position:relative}
@media (min-width:561px){.sitdog.tails{margin-top:calc(-37px * var(--px))}}
/* footer easter egg: the dot of the i is a link */
.egg-i{position:relative;display:inline-block}
.egg{position:absolute;left:50%;top:-.09em;width:.24em;height:.24em;transform:translateX(-50%);border-radius:50%;opacity:1!important;cursor:pointer}
/* vertical highlights video (2026 aftermovie) */
.vid-tall .vid-h{text-align:center}
.vid-tall video{max-width:min(360px,100%);aspect-ratio:9/16}
/* compact stat boxes: tighter padding and line height, no justify gaps */
.stat-row span{display:block;line-height:1.35;margin-top:4px;text-align:left;hyphens:none}
@media (max-width:760px){.stat-row{gap:8px}.stat-row div{padding:12px 14px;border-radius:16px}.stat-row b{font-size:1.7rem}.stat-row span{font-size:.8rem;margin-top:2px}}
/* two reels side by side (2026: Ziggy and Mr. Corgington) */
.reel-pair{display:flex;justify-content:center;gap:clamp(14px,3vw,32px);margin:clamp(16px,3vw,28px) auto}
.reel-pair .reel-vid{margin:0;flex:0 1 210px;max-width:210px}
@media (max-width:460px){.reel-pair .reel-vid{flex-basis:46%}}
/* photo buttons under the story: side by side with a gap, one row on phones too */
.album-line{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
@media (max-width:760px){.album-line{flex-wrap:nowrap;gap:8px}.album-line .btn{flex:1 1 auto;min-width:0;justify-content:center;padding-left:14px;padding-right:14px}}
.yorgi-fig img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 10px 30px rgba(61,36,23,.12)}
/* stories with side media (2025, 2026): media floats to the right and the text wraps around it,
   one text width for the whole story on desktop */
@media (min-width:761px){
  .post-sec:has(.reel-row) .prose{max-width:920px}
  .post-sec .wrap-row{display:flow-root;max-width:920px;margin:clamp(40px,6vw,64px) auto}
  .post-sec .wrap-row>.reel-vid{float:right;width:210px;max-width:210px;margin:6px 0 16px 36px}
  .post-sec .wrap-row>.prose{margin:0;max-width:none}
}
@media (max-width:760px){
  .post-sec .wrap-row{display:flex;flex-direction:column}
  .post-sec .wrap-row>.reel-vid{order:2}
}
/* runs of paragraphs sharing side media: each video floats right, text wraps around and continues below */
@media (min-width:761px){
  .post-sec .wrap-run>.side-media{float:right;clear:right;width:170px;margin:4px 0 18px 32px}
  .post-sec .wrap-run>.side-media .reel-vid{margin:0;max-width:none}
  .post-sec .wrap-run>div:not(.side-media)>.prose{margin:0 0 1.1em;max-width:none}
}
@media (max-width:760px){
  .post-sec .wrap-run>.side-media .reel-vid,.post-sec .wrap-run>.side-media.reel-vid{max-width:200px;margin:8px auto 18px}
  .post-sec .wrap-run>div>.prose{margin:0 0 1em}
}
/* video bubbles inside a story (2026: Ziggy, Mr. Corgington) */
.post-sec .story-bubs{justify-content:flex-start;margin:0 0 1.1em;gap:22px}
.post-sec .wrap-run>div>.prose+.story-bubs{margin-top:-.2em}
@media (max-width:760px){.post-sec .story-bubs{justify-content:center}}
/* menu glass: keep it readable even where the browser skips the blur (iOS over the hall of fame cards) */
.nav-in{background:rgba(255,253,248,.92)}
.px-strip::before{background:rgba(255,253,248,.92)}
html.strip-docked .nav-in,html.social-docked .nav-in{background:transparent}
html.strip-docked body.menu-open .nav-in,html.social-docked body.menu-open .nav-in{background:rgba(255,253,248,.92)}
.post-sec .story-bubs{justify-content:center}
/* hall of fame: link to all results */
.hof-all{margin-top:14px}
/* long galleries as one swipeable row (2026 children's drawings) */
.gallery.g-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(130px,16vw,190px);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px;scrollbar-width:thin}
.gallery.g-scroll>*{scroll-snap-align:start}
.gallery.g-scroll img{aspect-ratio:3/4;object-fit:cover;width:100%;height:100%}
.gallery.g-even.g-scroll a,.gallery.g-even.g-scroll img{aspect-ratio:3/4;height:auto}
.results-head .lede:has(+ .hof-all){margin-bottom:0}
.results-head .hof-all{margin-top:10px}
@media (max-width:760px){.results-head .hof-all{margin-top:-4px}}
/* multi-row photo grids become swipe galleries; lightbox browses one gallery at a time */
.gallery.g-scroll.g-photos{grid-auto-columns:clamp(220px,30vw,320px)}
.gallery.g-even.g-scroll.g-photos a,.gallery.g-even.g-scroll.g-photos img{aspect-ratio:4/3}
@media (max-width:640px){.gallery.g-scroll.g-photos{grid-auto-columns:72vw}}
.reel-row:has(+ .gallery){margin-bottom:20px}
.gallery.g-press.g-scroll{grid-auto-columns:clamp(150px,20vw,230px)}
.gallery.g-press.g-scroll img{aspect-ratio:1;object-fit:contain}
@media (min-width:561px){.hof .hcards{justify-content:center}.hof .hcard figcaption,.hof .hof-tier:has(+ .hcards){text-align:center}}
@media (min-width:561px){.hof .hof-solo,.compact+.hof .hof-solo{grid-template-columns:300px auto;justify-content:center}}
/* World Corgi Day page tidy */
.wcd-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-top:8px}
.wcd-top figure{margin:0}
.wcd-hero a.lb{display:block;border-radius:18px;overflow:hidden;height:clamp(300px,34vw,430px)}
.wcd-hero img{width:100%;height:100%;object-fit:cover}
.wcd-top .wcd-video{max-width:none;margin:0}
.wcd-top .wcd-video video{height:clamp(300px,34vw,430px);width:auto;aspect-ratio:9/16;object-fit:cover}
.wcd-top .wcd-credit{margin-top:8px;line-height:1.35}
.wcd-top .wcd-credit b{font-weight:700}
.wcd-page .prose{max-width:920px}
.wcd-page .fig-wide{max-width:none;margin:20px 0}
.wcd-page .sub-h{margin:clamp(28px,4vw,44px) 0 16px}
@media (max-width:640px){.wcd-top{grid-template-columns:1fr}.wcd-hero a.lb{height:auto;aspect-ratio:3/2}.wcd-top .wcd-video{width:62vw;margin:4px auto 0}.wcd-top .wcd-video video{height:auto;width:100%}
 .wcd-page .gallery.g-3{grid-template-columns:repeat(3,1fr);gap:8px}.wcd-page .gallery.g-3 img{aspect-ratio:1}}
.wcd-page .gallery.g-2 a.lb{aspect-ratio:2/1}.wcd-page .gallery.g-2 img{width:100%;height:100%;object-fit:cover}
.gallery.g-scroll.wcd-moments{grid-auto-columns:clamp(180px,22vw,260px)}
@media (max-width:640px){.wcd-page .gallery.g-2{grid-template-columns:1fr 1fr;gap:8px}.wcd-page .gallery.g-2 a.lb{aspect-ratio:1}.gallery.g-scroll.wcd-moments{grid-auto-columns:56vw}
 .wcd-page .gallery.g-3 a.lb{aspect-ratio:1}}
.wcd-page .wcd-places{margin-top:-6px !important}
.gallery.g-scroll.wcd-moments{grid-auto-columns:clamp(160px,18vw,220px)}
@media (max-width:640px){.wcd-chips{gap:6px}.wcd-chips li{font-size:.8rem;padding:3px 10px}.gallery.g-scroll.wcd-moments{grid-auto-columns:46vw}}
.wcd-page .gallery+.prose{margin-top:20px}.wcd-page .gallery+.prose p:first-child{margin-top:0}
.globe .spr{z-index:5}.globe .g-ball{z-index:6}
.dash .d-mid{background:url(../images/sprites/dachs-mid.png) 0 0 repeat-x;image-rendering:pixelated;image-rendering:crisp-edges;z-index:5}
.dash .spr{z-index:5}
.dd-hero a.lb{height:clamp(240px,38vw,440px)}.dd-hero img{width:100%;height:100%!important;max-height:none!important;object-fit:cover!important;object-position:50% 30%}
.dd-solo a.lb{aspect-ratio:3/4!important}.dd-solo img{object-fit:cover}
.wcd-page .hcard-card img,.wcd-page .hcard-card a.lb{aspect-ratio:3/4!important}
.dd-also{text-align:center;margin-top:10px;opacity:.8}
.hcards.n1{grid-template-columns:minmax(0,var(--cw))}
@media (min-width:761px){.wcd-lede-c{margin-left:auto;margin-right:auto;text-align:center}}
.dd-badge img{border-radius:0;width:clamp(150px,17vw,220px)}
@media (max-width:700px){.dd-badge img{width:130px}}
.dd-hero-grid{align-items:center}
.dd-hero-grid .wcd-lede{margin-bottom:0}
@media (max-width:700px){.dd-hero-grid{text-align:center;justify-items:center}.dd-hero-grid .wcd-lede{text-align:center}}
.dd-hero-grid{margin-bottom:22px}
.wcd-chips li a{color:inherit;text-decoration:none}
.wcd-chips li:has(a):hover{border-color:var(--orange-ink,#c0561f);color:var(--orange-ink,#c0561f)}
@media (max-width:560px){#sp-size,#sp-ship{max-width:none;font-size:18px;padding:14px 18px;padding-right:44px}}
.sp-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.sp-pills .sp-col{padding:10px 16px;font-size:.95rem}
.sp-col.na{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.sp-msg{text-align:left!important;-webkit-hyphens:none;hyphens:none}
