@font-face{font-family:Jost;src:url(jost.woff2) format('woff2');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#e9e8df;color:#23231f;font-family:Jost,Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-underline-offset:5px}header{min-height:112px;padding:12px max(5vw,24px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid #deddd4}.brand img{display:block;object-fit:contain}nav{display:flex;gap:28px;flex-wrap:wrap}header nav{font-size:14px;letter-spacing:.025em;color:#173d49}header nav a{text-decoration:none}header nav a:hover{text-decoration:underline}main{max-width:1320px;margin:auto;padding:65px 40px 80px}.welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center;min-height:76vh}.welcome-copy{max-width:570px}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:bold;margin:0 0 22px}h1,h2{font-family:Jost,Arial,sans-serif;font-weight:400;letter-spacing:-.025em;line-height:1.06}h1{font-size:clamp(46px,5.3vw,76px);margin:0 0 32px}h2{font-size:35px;margin:0 0 30px}.subtitle{font-size:26px;margin:0}.event{color:#64655e;margin-top:2px}.rule{width:64px;height:2px;background:#ad9143;margin:30px 0}.muted,.small{color:#66675e}.small{font-size:14px;margin-top:25px}.login{padding:42px;background:#fcfcfa;border:1px solid #d5d4c9}.login .eyebrow{font-size:10px}label{display:block;font-size:15px;margin:0 0 18px}input{display:block;width:100%;padding:12px;border:1px solid #aaa99f;background:transparent;border-radius:0;font:inherit;color:inherit;margin-top:6px}.names{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consent{display:flex;gap:12px;font-size:12px;color:#55574f;margin:24px 0}.consent input{width:17px;height:17px;flex-shrink:0;margin:4px 0}.button,button{display:inline-block;background:#24241f;color:#fff;padding:15px 25px;text-decoration:none;border:1px solid #24241f;font:inherit;font-size:15px;cursor:pointer}.login .button{width:100%;text-align:left}.button:hover,button:hover{background:#173d49}.text-button{background:none;color:inherit;border:0;padding:5px 0;text-decoration:underline}.text-button:hover{background:none;color:#9c7628}.error{background:#fff0ec;color:#8c3224;padding:12px;font-size:15px}.notice{padding:16px;border-left:2px solid #ad9143}.intro{padding:0 0 45px}.intro-bottom{display:flex;justify-content:space-between;gap:25px;align-items:end}.intro-bottom p{margin:5px 0}.gallery-heading{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #bdbcaf;padding:22px 0;font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.photo{text-decoration:none;min-width:0}.photo-image{position:relative;background:#deddd4;overflow:hidden;aspect-ratio:3/2}.photo img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s}.photo:hover img{transform:scale(1.025)}.download{position:absolute;bottom:10px;right:10px;background:#fcfcfa;padding:4px 10px;font-size:12px}.caption{padding-top:10px;display:flex;justify-content:space-between;gap:8px;font-size:12px}.caption span:first-child{overflow-wrap:anywhere}.caption span:last-child{white-space:nowrap;color:#66675e}.pagination{justify-content:center;margin:45px 0}.empty{padding:50px 0}.narrow{max-width:850px;min-height:70vh}.narrow h1{font-size:56px}footer{border-top:1px solid #cdccc0;padding:35px max(5vw,24px);display:flex;justify-content:space-between;gap:30px;font-size:14px;background:#fcfcfa}footer strong{font-weight:400;font-size:17px}footer div:last-child{text-align:right}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b59845;outline-offset:4px}@media(max-width:850px){.welcome{gap:40px;grid-template-columns:1fr 1fr;padding:45px 24px}.login{padding:25px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){header{padding:12px 20px;align-items:center;gap:10px}.brand img{width:95px;height:60px}header nav{gap:10px;font-size:11px}main{padding:35px 20px 55px}.welcome{grid-template-columns:1fr;gap:30px;padding:40px 20px}.welcome-copy h1{font-size:54px}.login{padding:25px}.intro-bottom{display:block}.intro-bottom form{margin-top:20px}.grid{gap:24px 12px}.caption{display:block;font-size:11px}.caption span{display:block}.gallery-heading{font-size:12px}.download{font-size:10px;padding:3px 7px}.names{grid-template-columns:1fr;gap:0}footer{display:block}footer div:last-child{text-align:left;margin-top:20px}}@media(prefers-reduced-motion:reduce){.photo img{transition:none}}
