@font-face{font-family:'Schnyder Cond';src:url('/fonts/Schnyder_Cond_M_Light.ttf') format('truetype');font-style:normal;font-weight:300;font-display:swap}
:root{font-family:Manrope,Arial,sans-serif;background:#004a43;color:#fffdf8}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #bca77a;outline-offset:4px}.shell{max-width:1160px;margin:auto;padding-inline:clamp(22px,5vw,78px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;border-bottom:1px solid #bca77a66}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none}.brand img{width:48px;height:48px;flex:none}.back{font-size:14px;color:#bca77a;text-underline-offset:4px}.page-head{padding-top:60px;padding-bottom:38px}.kicker{color:#bca77a;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700}h1{font-family:'Schnyder Cond',Georgia,serif;font-weight:300;font-size:clamp(3.8rem,8vw,6rem);line-height:1.05;margin:18px 0 20px}.intro{font-size:18px;line-height:1.65;max-width:650px;margin:0}.collection{background:#f8f5ee;color:#231f20;border-block:1px solid #bca77a;border-radius:28px;padding-block:50px 65px;margin-bottom:40px}.photos{display:grid;gap:48px}.photos figure{margin:0}.photo-button{display:block;width:100%;padding:0;background:#eee9dc;border:1px solid #bca77a;cursor:zoom-in}.photo-button img{display:block;width:100%;max-height:650px;object-fit:contain}.photos figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px;font-size:16px;line-height:1.6}.photos figcaption span{color:#786540}.photos figcaption a{margin-left:auto;color:#004a43;font-size:14px;text-underline-offset:4px}.empty{max-width:700px;padding-block:30px}.quote-mark{display:block;color:#bca77a;font-size:90px;line-height:1}.empty p{font-size:20px;line-height:1.7;margin:15px 0}.footer{border-top:1px solid #bca77a66;padding-block:30px;font-size:14px}.footer .shell{display:flex;justify-content:space-between;gap:20px}.footer a{color:#bca77a;text-underline-offset:4px}dialog{border:1px solid #bca77a;background:#004a43;color:#fffdf8;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);width:1100px;padding:18px}dialog::backdrop{background:#001c19e6}.dialog-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.dialog-top p{font-size:16px;line-height:1.5;margin:0}.close{background:#bca77a;color:#231f20;border:0;padding:12px 18px;min-height:44px;cursor:pointer}dialog img{display:block;width:100%;max-height:75dvh;object-fit:contain}@media(max-width:760px){.nav{min-height:82px}.brand{font-size:13px}.brand img{width:44px;height:44px}.back{font-size:13px}.page-head{padding-top:44px}.collection{border-radius:18px;padding-block:30px 40px}.photos{gap:32px}.photos figcaption a{margin-left:0;width:100%}.footer .shell{display:block}.footer a{display:inline-block;margin-top:14px}.dialog-top{align-items:flex-start}}

/* Three captioned photographs per row on desktop, one on phones. */
.photos{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px;align-items:start}
.photos figure{min-width:0}
.photos .photo-button{border-radius:10px;overflow:hidden}
.photos .photo-button img{width:100%;aspect-ratio:4/3;max-height:none;object-fit:contain}
.photos figcaption{display:block;margin-top:12px;font-size:15px;line-height:1.6}
.photos figcaption span{display:block;margin-top:2px;font-size:13px}
@media(max-width:760px){.photos{grid-template-columns:1fr;gap:32px}.photos .photo-button img{aspect-ratio:auto;max-height:650px}.photos figcaption{font-size:16px}}

/* Preserve photograph proportions at responsive gallery widths. */
.photos .photo-button img{height:auto}

/* Keep the close control at the edge of the enlarged photograph. */
#photo-dialog .dialog-top{justify-content:space-between}
