
:root{--paper:#f3f1ec;--ink:#242622;--muted:#777971;--line:#d4d5cd;--accent:#cf4b29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{height:98px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:-.8px;font-size:24px;display:flex;align-items:center;gap:10px}.mark{background:var(--accent);color:white;width:30px;height:30px;text-align:center;font-weight:400}.brand-sub{font-size:11px;letter-spacing:0;font-weight:400;margin-left:20px;color:var(--muted)}.project-link{font-size:12px}.project-link span{margin-left:24px}.intro{padding:47px 5% 35px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.6px;display:flex;align-items:center;gap:15px}.eyebrow>span:not(.dot){color:#9b9d94}.dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:100%}.title-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:19px}h1{font-size:clamp(62px,8.7vw,150px);line-height:.98;letter-spacing:-.065em;margin:0;font-weight:500}h1 em{font-style:normal;font-weight:300}.title-dot{color:var(--accent)}.edition{display:flex;flex-direction:column;gap:10px;margin-bottom:6px;min-width:205px}.edition>span{font-size:9px;letter-spacing:2px;color:var(--muted)}.edition strong{font-size:24px;font-weight:400;letter-spacing:-1px}.edition small{font-size:11px;color:var(--muted)}.hero{height:min(60vw,660px);min-height:360px;position:relative;margin:0 2%;overflow:hidden;background:#b6bcb9}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111a1a9e,transparent 55%)}.hero-caption{position:absolute;left:3.2%;bottom:8%;z-index:1;color:white}.hero-caption>span{font-size:9px;letter-spacing:2px}.hero-caption p{font-size:clamp(24px,3.2vw,46px);letter-spacing:-1.4px;line-height:1.12;margin:14px 0 0}.hero-scroll{position:absolute;right:3.5%;bottom:8%;z-index:2;border:1px solid #ffffff80;border-radius:100%;width:47px;height:47px;display:grid;place-items:center;color:white;font-size:24px}.months{margin:0 5%;display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line);padding:30px 0;align-items:center}.months>a,.future{display:flex;align-items:center;gap:20px}.months small{display:block;color:var(--muted);font-size:9px;letter-spacing:1px;margin-bottom:9px}.months strong{font-size:17px;font-weight:400}.nav-arrow{font-size:22px}.months-index{justify-content:center;font-size:11px}.months-index>span:first-child{font-size:23px}.future{justify-content:flex-end;color:#96998e}.future small{color:#96998e}.report{padding:80px 5% 0;scroll-margin-top:25px}.report-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}h2{font-size:clamp(28px,3vw,44px);line-height:1.12;letter-spacing:-1.5px;font-weight:400;margin:20px 0 0}.report-heading>p{font-size:12px;line-height:1.8;color:#66695f;max-width:370px;margin-bottom:0}.report-heading>p span{font-size:11px}.gallery-toolbar{margin-top:38px;border-top:1px solid var(--line);padding-top:22px}.filters{display:flex;flex-wrap:wrap;gap:7px}.filters button{border:1px solid transparent;border-radius:25px;background:transparent;color:#64675f;padding:10px 13px;font-size:11px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.filters button:hover{border-color:#909486}.filters button span{opacity:.6;margin-left:7px}.gallery-toolbar>p{font-size:10px;color:var(--muted);margin:22px 0 16px;letter-spacing:.5px}.gallery{columns:3;column-gap:17px}.photo{width:100%;display:block;border:0;padding:0;margin:0 0 19px;text-align:left;background:transparent;break-inside:avoid;position:relative}.photo-image{display:block;overflow:hidden;position:relative;background:#d5d7cf}.photo img{width:100%;height:auto;display:block;transition:transform .55s}.photo:hover img{transform:scale(1.025)}.photo-plus{position:absolute;right:12px;bottom:12px;background:#f3f1eceb;border-radius:100%;width:30px;height:30px;display:grid;place-items:center;font-size:20px;opacity:0;transition:opacity .2s}.photo:hover .photo-plus,.photo:focus-visible .photo-plus{opacity:1}.photo-meta{display:flex;justify-content:space-between;padding:10px 0 1px;color:#7b7e73;font-size:9px;letter-spacing:.3px}.photo-meta b{font-weight:400;color:#40433b}.gallery-end{display:flex;align-items:center;gap:13px;padding:23px 0 65px}.gallery-end p{font-size:12px;color:var(--muted)}.gallery-end a{margin-left:auto;font-size:11px}.closing{margin:0 2%;padding:55px 3.2%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}.closing>span{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.closing h2{font-size:32px}.closing>a{position:absolute;right:3.2%;bottom:55px;border-bottom:1px solid var(--ink);padding:0 0 12px;font-size:12px}.closing>a span{margin-left:55px}footer{padding:38px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{font-size:10px;color:var(--muted);line-height:1.8}footer>a:last-child{font-size:11px}dialog{width:100%;height:100%;max-width:none;max-height:none;border:0;padding:0;background:#161815;color:#f0f0e9;position:fixed;inset:0}dialog::backdrop{background:#161815}.viewer-top{height:65px;padding:0 3%;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#b5b8ac}.viewer-top button,.step,.viewer-actions button{color:inherit;background:transparent;border:0}.viewer-top button{font-size:11px}.viewer-top button span{font-size:28px;vertical-align:middle;margin-left:18px}.viewer-stage{height:calc(100dvh - 160px);display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 2%}.viewer-stage img{max-width:calc(100% - 110px);max-height:100%;object-fit:contain}.step{width:40px;height:50px;font-size:25px;flex-shrink:0}.viewer-bottom{height:95px;display:flex;justify-content:space-between;align-items:center;padding:0 6%;gap:20px}.viewer-bottom strong{font-size:13px;font-weight:400}.viewer-bottom small{display:block;font-size:9px;color:#a4a99b;margin-top:8px}.viewer-actions{display:flex;align-items:center;gap:25px;font-size:10px}.viewer-actions button{font-size:10px;text-decoration:underline}.viewer-actions a{border:1px solid #666b5b;border-radius:3px;padding:12px}body.modal-open{overflow:hidden}[hidden]{display:none!important}@media(min-width:1600px){.gallery{columns:4}}@media(max-width:950px){.brand-sub{display:none}.edition{min-width:170px}.months{grid-template-columns:1fr 1fr}.months-index{grid-row:2;grid-column:1/-1;margin-top:25px}.report-heading{display:block}.report-heading>p{max-width:500px;margin-top:20px}.gallery{columns:2}.closing>a{position:static;display:inline-block;margin-top:30px}.closing h2{font-size:30px}}@media(max-width:560px){header{height:72px}.brand{font-size:20px}.project-link{font-size:10px}.project-link span{margin-left:5px}.intro{padding-top:30px}.eyebrow{font-size:8px;gap:9px;letter-spacing:1px}.title-row{display:block}h1{font-size:73px}.edition{margin-top:23px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.edition>span{grid-column:1/-1}.edition strong{font-size:19px}.edition small{align-self:center;text-align:right;font-size:10px}.hero{height:430px;margin:0}.hero>img{object-position:46% 50%}.hero-caption{left:5%;bottom:7%}.hero-caption p{font-size:31px}.months{padding:25px 0;gap:12px}.months strong{font-size:14px}.months small{font-size:7px;letter-spacing:.4px}.months>a,.future{gap:10px}.months-index{margin-top:13px}.report{padding-top:48px}h2{font-size:30px}.gallery{column-gap:10px}.photo-meta{font-size:8px;flex-wrap:wrap;gap:4px}.photo-plus{opacity:1;width:24px;height:24px;font-size:16px;right:7px;bottom:7px}.filters{gap:2px}.filters button{font-size:10px;padding:9px 10px}.gallery-end{padding-bottom:35px}.gallery-end p{max-width:145px;line-height:1.5}.gallery-end a{font-size:10px}.closing{padding:35px 3%}footer{flex-wrap:wrap}footer p{margin-left:auto}footer>a:last-child{width:100%}.viewer-stage{height:calc(100dvh - 195px);gap:2px;padding:0}.viewer-stage img{max-width:calc(100% - 64px)}.step{width:30px;font-size:20px}.viewer-bottom{height:130px;display:block;padding:18px 5%}.viewer-actions{margin-top:16px;justify-content:space-between;gap:10px}.viewer-actions a{padding:9px}.viewer-top{height:65px;padding:0 5%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* Keep the editorial sequence across columns, including mixed portrait/landscape views. */
.gallery{columns:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:8px;column-gap:17px}.photo{align-self:start;margin:0}.photo img{aspect-ratio:auto}@media(min-width:1600px){.gallery{columns:auto;grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:950px){.gallery{columns:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.gallery{column-gap:10px}}

.brand-logo{display:block;width:206px;height:auto;flex-shrink:0}footer .brand-logo{width:165px}@media(max-width:560px){header .brand-logo{width:166px}footer .brand-logo{width:145px}}

.download-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.download-panel strong{font-size:16px;font-weight:400}.download-panel p{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 0}.download-controls{text-align:right}#download-all{border:0;background:var(--ink);color:var(--paper);border-radius:3px;padding:15px 20px;font-size:12px}#download-all span{margin-left:22px}#download-all:hover{background:#41453b}#download-all:disabled{cursor:wait;opacity:.65}#cancel-download{border:0;background:transparent;text-decoration:underline;margin-left:10px;font-size:11px}#download-status:empty{display:none}.download-panel+.gallery-toolbar{margin-top:24px;border-top:0;padding-top:0}@media(max-width:560px){.download-panel{display:block}.download-controls{text-align:left;margin-top:18px}#download-all{width:100%;padding:15px 12px}#cancel-download{margin:12px 0 0}}
