/* Photo Contest: year bar, 1st place feature, 2nd/3rd podium, "Through your lens" entries band. */
.pc3{--forest:#1E2B20;--deep:#22382A;--green:#4F6B3F;--light:#B9D3A8;--ink:#23261F;--muted:#5D6158;--line:#DCD9CE;--sage:#E7E9DE;background:#fff;color:var(--ink);font:15px/1.55 Figtree,Arial,sans-serif}
.pc3 *,.pc3 *::before,.pc3 *::after{box-sizing:border-box}
.pc3 a{color:inherit;text-decoration:none}
.pc3 img{display:block;max-width:100%}
.pc3 button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.pc3 h1,.pc3 h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.05;margin:0;border:0;color:inherit;text-transform:none;letter-spacing:0}
.pc3 .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pc3-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.pc3-k{margin:0 0 14px;font:700 12px Figtree,sans-serif;letter-spacing:.26em;text-transform:uppercase}
/* Year bar */
.pc3-bar{background:#F7F5EE;border-bottom:1px solid var(--line)}
.pc3-bar .pc3-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;flex-wrap:wrap}
.pc3-crumb{margin:0;font:600 12.5px Figtree,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.pc3-crumb span{margin:0 8px;color:var(--muted)}
.pc3-bar__r{display:flex;align-items:center;gap:22px;font:16px 'Cormorant Garamond',Georgia,serif}
.pc3-bar__r a{padding-left:22px;border-left:1px solid var(--line)}
.pc3-bar__r a span{color:var(--green)}
.pc3-bar__r a:hover{color:var(--green)}
.pc3-years{position:relative}
.pc3-years select{appearance:none;border:0;background:transparent;font:16px 'Cormorant Garamond',Georgia,serif;padding:6px 24px 6px 4px;cursor:pointer;color:var(--ink)}
.pc3-years::after{content:"";position:absolute;right:6px;top:50%;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
/* 1st place */
.pc3-first{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);min-height:440px;background:var(--forest)}
.pc3-first__img{position:relative;min-height:320px;overflow:hidden}
.pc3-first__img button,.pc3-first__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc3-first__img img{transition:transform .6s}.pc3-first__img button:hover img{transform:scale(1.03)}
.pc3-first__tx{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:40px max(24px,calc((100vw - 1180px) / 2 + 24px)) 40px 48px;color:#fff;background:radial-gradient(circle at 80% 0,rgba(90,125,85,.4),transparent 60%)}
.pc3-first__tx--only{grid-column:1/-1;align-items:center;text-align:center}
.pc3-first .pc3-k{color:var(--light)}
.pc3-first h1{font-size:clamp(40px,4.6vw,64px);color:#fff;margin-top:18px}
.pc3-by{margin:8px 0 0;font-size:14px;color:var(--muted)}
.pc3-first .pc3-by{color:rgba(255,255,255,.78)}
.pc3-tag{margin:14px 0 24px;font:22px/1.3 'Cormorant Garamond',Georgia,serif;color:rgba(255,255,255,.9)}
.pc3 .pc3-btn{display:inline-flex;gap:12px;align-items:center;border:1px solid #fff;padding:12px 24px;font:19px 'Cormorant Garamond',Georgia,serif;color:#fff;transition:background .2s,color .2s}
.pc3 .pc3-btn:hover{background:#fff;color:var(--forest)}
/* Place badge */
.pc3-badge{display:inline-flex;align-items:baseline;gap:14px;background:#F4F1E6;color:var(--forest);padding:6px 26px 8px 22px}
.pc3-badge b{display:inline-flex;align-items:flex-start;font:600 50px/1 'Cormorant Garamond',Georgia,serif;font-variant-numeric:lining-nums}
.pc3-badge sup{position:static;display:inline-block;font-size:.5em;line-height:1;margin:.12em 0 0 2px;vertical-align:baseline}
.pc3-badge span{font:700 19px Figtree,sans-serif;letter-spacing:.08em;text-transform:uppercase}
/* 2nd and 3rd */
.pc3-podium{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:28px;padding-bottom:28px}
.pc3-pod{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:start;padding-right:24px}
.pc3-pod+.pc3-pod{padding:0 0 0 24px;border-left:1px solid var(--line)}
.pc3-pod__img{display:block;overflow:hidden;aspect-ratio:4/3;background:#EEEBE2}
.pc3-pod__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pc3-pod__img:hover img{transform:scale(1.04)}
.pc3-pod__img.is-empty{display:grid;place-items:center;font-size:13px;color:var(--muted)}
.pc3-pod .pc3-badge{background:var(--sage);padding:4px 18px 6px 14px}
.pc3-pod .pc3-badge b{font-size:40px}.pc3-pod .pc3-badge span{font-size:15px}
.pc3-pod h2{font-size:clamp(24px,2.2vw,30px);margin-top:12px}
.pc3 .pc3-link{display:inline-flex;gap:8px;margin-top:12px;font:17px 'Cormorant Garamond',Georgia,serif;border-bottom:1.5px solid var(--green);padding-bottom:1px}
.pc3-link span{color:var(--green)}
/* Entries band */
.pc3-lens{background:var(--forest);color:#fff;padding:36px 0 40px;scroll-margin-top:60px}
.pc3-lens__in{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;align-items:start}
.pc3-lens__side{position:sticky;top:90px}
.pc3-lens h2{font-size:clamp(40px,4vw,54px);color:#fff}
.pc3-rule{display:block;width:48px;height:2px;background:var(--light);margin:24px 0}
.pc3-lens__side p{margin:0 0 16px;font:19px 'Cormorant Garamond',Georgia,serif}
.pc3-search{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.7);padding:0 12px;height:40px}
.pc3-search input{border:0;outline:0;background:none;width:100%;color:#fff;font:italic 14px Figtree,sans-serif}
.pc3-search input::placeholder{color:rgba(255,255,255,.7)}
.pc3-back{font:18px 'Cormorant Garamond',Georgia,serif;border-bottom:1.5px solid var(--light)}
.pc3-back span{color:var(--light)}
.pc3-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 14px}
.pc3-e{display:flex;flex-direction:column;color:#fff}
.pc3-e.is-big{grid-column:span 3}
.pc3-e__img{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#2c3a2e}
.pc3-e .pc3-e__img{aspect-ratio:auto;height:170px}.pc3-e.is-big .pc3-e__img,.pc3-e.is-top .pc3-e__img{height:250px}
.pc3-e__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.pc3-e:hover .pc3-e__img img{transform:scale(1.04)}
.pc3-e__t{display:block;margin-top:8px;font:17px 'Cormorant Garamond',Georgia,serif}
.pc3-e__t>span{color:var(--light)}
.pc3-e__t small{display:block;font:12.5px Figtree,sans-serif;color:rgba(255,255,255,.65);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc3-tagchip{position:absolute;left:8px;top:8px;background:#F4F1E6;color:var(--forest);font:700 11px Figtree,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px}
.pc3-none{color:rgba(255,255,255,.8)}
.pc3-more{text-align:center;margin-top:24px}
.pc3-more button{display:inline-flex;gap:12px;border:1px solid #fff!important;padding:12px 38px!important;font:19px 'Cormorant Garamond',Georgia,serif;color:#fff!important}
.pc3-more button:hover{background:#fff!important;color:var(--forest)!important}
.pc3-more button span:last-child{color:var(--light)}
/* Photo viewer */
.pc3 .lb{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(10,14,11,.92);padding:20px}
.pc3 .lb.open{display:flex}
.pc3 .lb figure{margin:0;max-width:min(1100px,86vw);color:#fff;text-align:center}
.pc3 .lb img{max-height:80vh;margin:0 auto;object-fit:contain}
.pc3 .lb figcaption{margin-top:10px}.pc3 .lb figcaption b{display:block;font:500 22px 'Cormorant Garamond',Georgia,serif}.pc3 .lb figcaption span{font-size:13px;color:rgba(255,255,255,.75)}
.pc3 .lb .nav-b,.pc3 .lb .x{position:absolute;color:#fff;font-size:40px;line-height:1;width:52px;height:52px;text-align:center}
.pc3 .lb .nav-b{top:50%;transform:translateY(-50%)}.pc3 .lb #prev{left:10px}.pc3 .lb #next{right:10px}.pc3 .lb .x{top:10px;right:10px}
@media (max-width:980px){.pc3-first{grid-template-columns:1fr}.pc3-first__img{aspect-ratio:16/10;min-height:0;width:100%}.pc3-first__tx{padding:30px 24px}.pc3-podium{grid-template-columns:1fr;gap:24px}.pc3-pod,.pc3-pod+.pc3-pod{padding:0;border:0}.pc3-lens__in{grid-template-columns:1fr}.pc3-lens__side{position:static}.pc3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pc3-e.is-big,.pc3-e+.pc3-e.is-big{grid-column:span 2}}
@media (max-width:600px){.pc3-wrap{padding:0 16px}.pc3-pod{grid-template-columns:1fr}.pc3-bar__r{gap:14px}.pc3-bar__r a{padding-left:14px}.pc3-badge b{font-size:40px}.pc3-badge span{font-size:15px}}
.pc3 h1,.pc3 h2,.pc3-first h1{overflow-wrap:anywhere}
.pc3-grid>*{min-width:0}.pc3-lens__in>*{min-width:0}.pc3-first>*{min-width:0}

/* Justified entries: every photo keeps its own shape (no cropping); each row fills the width at one height. */
.pc3 .pc3-grid{display:flex;flex-wrap:wrap;gap:18px 12px}

.pc3 .pc3-e,.pc3 .pc3-e.is-big,.pc3 .pc3-e.is-top{--r:1.4;flex:var(--r) 1 calc(var(--r) * 210px);grid-column:auto;min-width:0}
.pc3 .pc3-e .pc3-e__img,.pc3 .pc3-e.is-big .pc3-e__img,.pc3 .pc3-e.is-top .pc3-e__img{height:auto;aspect-ratio:var(--r)}
.pc3 .pc3-e .pc3-e__img img{height:100%;object-fit:contain}
@media (max-width:980px){.pc3 .pc3-e,.pc3 .pc3-e.is-big,.pc3 .pc3-e.is-top{flex-basis:calc(var(--r) * 140px)}}.pc3 .pc3-grid.is-laid .pc3-e{flex:none}
.pc3 .pc3-e__t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
