@font-face{font-family:AlbumDisplay;src:url('assets/CormorantGaramond-latin.woff2')}@font-face{font-family:AlbumBody;src:url('assets/LibreBaskerville-latin.woff2')}
*{box-sizing:border-box}body{font:15px/1.6 AlbumBody,Georgia,serif}[hidden]{display:none!important}.hero h1,.album-intro h2{font-family:AlbumDisplay,Georgia,serif}.hero-copy .signature,.album-footer span{font-family:AlbumDisplay,serif}.hero{height:155svh}.hero-shade{background:linear-gradient(90deg,#0d1a12df,#0d1a1222)}.hero h1{font-size:clamp(3.5rem,8vw,6rem)}.hero-copy{width:min(490px,70vw)}.hero-copy p{font-size:14px}.hero-copy .signature{font-size:28px}.hero-image img{object-position:54% 42%}.sample-banner{font:12px/1.5 system-ui,sans-serif;padding:12px 20px;background:#f0f3ef;color:#263026;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.sample-banner a{color:inherit}.group-link{position:absolute;top:20px;max-width:calc(100% - 32px)}.album{max-width:1800px;margin:auto}.album-intro{gap:20px}.album-intro p{max-width:50ch}.filter-top{padding-right:0}.people-search{width:350px}.suggestions{font-family:system-ui,sans-serif;max-height:230px}.suggestions button{min-height:60px}.suggestions button>span:nth-child(2){text-align:left;flex:1}.suggestions small{display:block;font:11px/1.4 system-ui;color:#54614f}.suggestions .person-initial{margin:0}.demo-photo{position:relative;min-width:0}.photo-link{width:100%;height:100%;border:0;background:#e9eee7;padding:0;display:block;position:relative;overflow:hidden}.photo-link img{width:100%;height:100%;object-fit:cover;display:block}.photo-link:focus-visible{outline-offset:-5px}.photo-caption{position:absolute;bottom:12px;left:12px;color:#fff;background:#142014dd;border-radius:3px;font:12px system-ui;padding:5px 9px}.tile-love{position:absolute;right:10px;bottom:10px;min-width:52px;min-height:44px;background:#fff;color:#233323;border:0;border-radius:22px;font:18px system-ui}.tile-love[aria-pressed=true]{color:#8d2b42;background:#ffe9ee}#photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#photo-grid .demo-photo{aspect-ratio:1.4}#photo-grid .demo-photo:nth-child(5n+1){grid-column:span 2;aspect-ratio:2.8}.demo-action{font:13px system-ui;min-height:44px;border:1px solid #788775;border-radius:8px;padding:8px 14px;background:#fff;color:#263026}.demo-action:hover{background:#e7eee3}.filter-toolbar{top:0}.filter-top{flex-wrap:wrap;gap:14px}.filter-top .results-count{margin-left:auto}.moments button{font-family:system-ui}.viewer-stage{position:relative;overflow:hidden;background:#f2f4f0;touch-action:pan-y}.viewer-stage img{height:100%;width:100%;object-fit:contain;transition:transform 180ms ease-out}.viewer-header{font:14px system-ui;gap:10px}.viewer-header>span{min-width:0}.viewer-footer{font-family:system-ui}.viewer-description{max-width:75ch;margin:8px auto!important}#name-labels{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}#name-labels button{border:1px solid #8c9a86;border-radius:20px;background:#eff5eb}#viewer-notice{font:12px system-ui}.upload-dialog{border:0;padding:28px;border-radius:12px;width:min(480px,calc(100% - 24px));max-height:90dvh;overflow:auto;color:#263026;background:white;font-family:system-ui}.upload-dialog::backdrop{background:#122012b3}.upload-dialog h2{font:34px AlbumDisplay,serif;margin:0 0 10px}.upload-dialog label{display:grid;gap:8px;margin:20px 0;font-size:14px}.upload-dialog input,.upload-dialog select{width:100%;max-width:100%;font:16px system-ui;min-height:44px}.upload-dialog p{font-size:14px}.upload-actions{display:flex;gap:8px;flex-wrap:wrap}.upload-actions button{flex:1}.upload-actions button[type=submit]{background:#263c27;color:white}.upload-dialog [role=alert]{color:#992c28}.album-footer{font:14px system-ui}.album-footer span{font-size:30px}.album-footer-links{display:flex;gap:20px}.album-footer-links a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#notice{font:13px system-ui}.album-intro p,.signature-date{font-family:system-ui}
@media(max-width:700px){.hero-copy{width:calc(100% - 40px);left:20px;bottom:9svh}.hero-copy p{font-size:13px;line-height:1.6}.hero h1{left:20px;font-size:3.7rem;bottom:12svh}.hero-copy .signature{margin:12px 0;font-size:25px}.gallery-cta{font:12px system-ui}.album-intro h2{font-size:2.6rem}.filter-top{display:flex}.people-search{width:100%;min-width:0}.filter-top .results-count{margin:0 auto 0 0}.album-intro{padding-top:30px}#photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#photo-grid .demo-photo:nth-child(5n+1){grid-column:span 2;aspect-ratio:1.7}.tile-love{right:5px;bottom:5px}.photo-caption{left:5px;bottom:56px;font-size:11px}.viewer-header{padding:8px;font-size:12px}.viewer-header small{display:block;margin:4px 0 0}.viewer-actions{gap:2px}.viewer-footer{padding:8px;min-height:0}.viewer-description{font-size:11px!important}.viewer-actions button,.viewer-actions a{font-size:11px;padding:0 8px}.viewer-stage img{object-fit:contain}.group-link{font:12px system-ui}.sample-banner{font-size:11px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.hero-copy{pointer-events:auto!important}.hero h1{transform:translateY(calc(-1 * var(--copy-rise,270px)))}#viewer-image{transition:none}}
