.gallery-main{padding-block:clamp(2.5rem,6vw,5rem);min-height:65vh}.gallery-heading{margin-bottom:2.7rem;max-width:850px}.gallery-heading h1{font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.045em;margin:.7rem 0 1.2rem}.gallery-heading p:last-child{max-width:40rem;color:var(--muted)}.gallery-nav{display:flex;gap:.5rem 1.3rem;flex-wrap:wrap;align-items:center}.gallery-nav a{padding:.6rem 0;font-size:.9rem}.heading-split{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:2rem}.heading-split .button{flex-shrink:0}.gallery-empty{border-block:1px solid var(--line);padding-block:3rem;max-width:800px}.gallery-empty h2{font-size:clamp(1.8rem,4vw,2.7rem)}.gallery-empty p{max-width:38rem;margin:1.3rem 0}.album-grid,.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.album-link{display:block;text-decoration:none}.album-link>img{width:100%;aspect-ratio:4/3;object-fit:cover}.album-copy{padding:1rem 0 1.6rem;border-bottom:1px solid var(--line)}.album-copy h2{font-size:1.8rem;margin:.5rem 0 1rem;overflow-wrap:anywhere}.album-copy>span:first-child{font-size:.85rem;color:var(--muted)}.photo-grid figure{min-width:0}.photo-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.photo-grid a{display:block}.upload-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}.gallery-form{display:grid;gap:.8rem;min-width:0}.gallery-form label:not(.check){font-weight:600;margin-top:.65rem}.gallery-form input:not([type=checkbox]),.gallery-form select,.gallery-form textarea{width:100%;min-width:0;min-height:48px;border:1px solid #89998c;border-radius:3px;background:#fff;padding:.7rem .85rem;font:inherit;color:var(--ink)}.gallery-form input[type=file]{padding:1rem;background:var(--sage);border:1px dashed var(--forest);cursor:pointer}.gallery-form input[type=file]::file-selector-button{font:inherit;border:1px solid var(--forest);background:var(--paper);color:var(--forest);padding:.5rem;margin-right:.7rem;cursor:pointer}.gallery-form .button{justify-self:start;border:1px solid var(--forest);cursor:pointer;margin-top:.5rem}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-pair>div{display:grid;align-content:start;gap:.8rem;min-width:0}.field-help{font-size:.86rem;line-height:1.6;color:var(--muted)}.check{display:flex;gap:.8rem;align-items:flex-start;margin-top:.75rem;cursor:pointer;font-size:.93rem}.check input{width:22px;height:22px;flex-shrink:0;accent-color:var(--forest);margin:.1rem 0}.upload-note{padding:2rem;background:var(--sage);border-top:3px solid var(--forest)}.upload-note h2{font-size:2.4rem;margin:.75rem 0 1.2rem}.upload-note .text-link{display:inline-block;margin-top:1.5rem}.notice{padding:1rem 1.2rem;border:1px solid var(--forest);background:var(--sage);margin-bottom:2rem;overflow-wrap:anywhere}.notice.error{background:#fff3e8;border-color:#8d3d18;color:#67290e}.gallery-privacy{border-top:1px solid var(--line);margin-top:4rem;padding-top:2rem;max-width:900px;font-size:.9rem}.gallery-privacy h2{font-size:2rem;margin-bottom:1.5rem}.upload-previews{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.upload-previews img{aspect-ratio:1;object-fit:cover;width:100%}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.auth-panel{max-width:520px}.auth-panel h2{font-size:2rem;margin:1.4rem 0}.auth-panel .gallery-form{margin-block:1.5rem}.auth-panel .text-link{display:inline-flex;min-height:44px;align-items:center;margin-right:1.2rem}.auth-divider{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2rem}.quiet-button{border:1px solid var(--forest);background:transparent;color:var(--forest);padding:.6rem 1rem;min-height:44px;cursor:pointer;border-radius:3px;font:inherit}.quiet-button:hover{background:var(--sage)}.logout-form{margin-bottom:2rem}.admin-detail{padding-top:2rem}.rename-form{max-width:650px;margin:1rem 0 2rem}.status-label{font-size:.85rem;color:var(--muted);font-weight:600}.admin-photos{margin-top:2rem}.admin-photos figcaption{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding:.8rem 0;border-bottom:1px solid var(--line)}.removed-photo img{opacity:.45}.moderation-actions{margin-top:3rem;padding:2rem;border:1px solid var(--line)}.secondary-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.admin-list>a{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.8rem 0;border-top:1px solid var(--line);text-decoration:none}.admin-list h2{font-size:2rem;margin:.5rem 0;overflow-wrap:anywhere}.profile-details{margin-top:1.5rem;padding:1rem;border:1px solid var(--line)}summary{cursor:pointer;min-height:44px;padding:.4rem 0}.private-profile{margin-top:1rem}.private-profile dl{display:grid;grid-template-columns:1fr 2fr;gap:.5rem 1rem}.private-profile dt{font-weight:600}.private-profile dd{margin:0;overflow-wrap:anywhere}.avatar{width:100px;height:100px;object-fit:cover;border-radius:50%;margin-bottom:1rem}.profile-form{max-width:780px}.profile-form fieldset{border:0;padding:0;margin:1rem 0}.profile-form legend{font-family:Georgia,serif;font-size:1.7rem;margin-bottom:1rem}input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9b650e;outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.google-placeholder{display:block;min-height:44px;margin-block:1rem}.site-footer{padding-bottom:2rem}
@media(max-width:950px){.album-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-layout{grid-template-columns:1fr}.upload-note{max-width:650px}.heading-split{display:block}.heading-split .button{margin-top:1.5rem}.header-inner{padding-block:1rem}.gallery-nav{width:100%}}
@media(max-width:580px){.album-grid,.photo-grid{grid-template-columns:1fr;gap:1.5rem}.form-pair{grid-template-columns:1fr}.gallery-nav{gap:.3rem 1rem}.gallery-nav a{font-size:.85rem}.gallery-main{padding-top:2rem}.gallery-heading{margin-bottom:2rem}.gallery-form .button{width:100%;justify-content:center}.upload-note,.moderation-actions{padding:1.3rem}.upload-previews{grid-template-columns:repeat(3,minmax(0,1fr))}.private-profile dl{grid-template-columns:1fr}.private-profile dd{margin-bottom:.7rem}.admin-list>a{display:block}.admin-list>a>span{display:block;margin-top:1rem}}
.privacy-content{max-width:850px}.privacy-content h2{font-size:2rem;margin:2.5rem 0 1rem}.consent-group{border:0;border-top:1px solid var(--line);padding:1rem 0;margin:1rem 0}.consent-group legend{font-weight:600;padding-right:1rem}.profile-form+.logout-form{margin-top:2rem}

.google-access{padding:1.5rem;background:var(--sage);border:1px solid #a4b4a4;margin-bottom:1.5rem}.google-access-button,.google-access-button:disabled{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;min-height:60px;padding:1rem;background:#fff;color:#202124;border:1px solid #707579;border-radius:4px;font-size:1.15rem;font-weight:600;opacity:1;cursor:not-allowed}.google-letter{font-family:Arial,sans-serif;font-size:1.6rem;font-weight:700;color:#4285f4}.google-access .field-help{margin-top:1rem}.auth-alternative{text-align:center;color:var(--muted);margin-bottom:1.5rem}#google-signin{min-height:48px;width:100%}@media(max-width:580px){.google-access{padding:1rem}.google-access-button,.google-access-button:disabled{font-size:1.05rem}}

#google-signin svg,#google-signin img{width:20px!important;height:20px!important;max-width:20px!important;max-height:20px!important;flex:0 0 20px}#google-signin .nsm7Bb-HzV7m-LgbsSe-Bz112c{width:20px;height:20px;flex:0 0 20px}

.profile-heading{margin-bottom:1.5rem}.profile-heading h1{font-size:clamp(2rem,4vw,3rem);margin:.4rem 0 .7rem}.profile-heading p:last-child{font-size:.94rem;max-width:48rem}.profile-form{max-width:900px;gap:.65rem}.profile-form fieldset{margin:.35rem 0 .7rem}.profile-form legend{font-size:1.35rem;margin-bottom:.6rem}.profile-form .profile-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem 1rem}.profile-form .profile-fields>div{gap:.25rem}.profile-form label:not(.check){font-size:.86rem;margin-top:.3rem}.profile-form input:not([type=checkbox]){min-height:44px;padding:.45rem .65rem;font-size:.95rem}.profile-form .field-help{font-size:.8rem;line-height:1.5}.profile-form .profile-photo-section{padding:1rem;background:var(--sage);border:1px solid var(--line);margin-bottom:1rem}.profile-photo-layout{display:flex;gap:1rem;align-items:flex-start}.profile-photo-preview{width:88px;height:88px;flex:0 0 88px;border-radius:50%;border:1px solid #89998c;background:var(--paper);display:flex;align-items:center;justify-content:center;text-align:center;font-size:.8rem;color:var(--muted)}.profile-photo-preview img{width:88px;height:88px;border-radius:50%;object-fit:cover}.profile-photo-preview [hidden]{display:none}.profile-photo-controls{min-width:0;flex:1}.profile-form .profile-photo-controls input[type=file]{padding:.5rem;background:var(--paper);margin:.35rem 0}.profile-photo-controls p+p{margin-top:.4rem}.profile-form #account-email{background:#eeeee8}.profile-form .check{font-size:.85rem;margin-top:.2rem}.profile-form[aria-busy=true]{cursor:progress}@media(max-width:580px){.profile-form .profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem .7rem}.profile-heading h1{font-size:2rem}.profile-photo-layout{gap:.75rem}.profile-photo-preview,.profile-photo-preview img{width:64px;height:64px}.profile-photo-preview{flex-basis:64px}.profile-form .profile-photo-section{padding:.8rem}.profile-form input:not([type=checkbox]){font-size:16px}.profile-form .profile-photo-controls input[type=file]{font-size:.8rem}.profile-form .profile-photo-controls input[type=file]::file-selector-button{font-size:.8rem;margin-right:.35rem;padding:.4rem}.profile-form .profile-fields>div{min-width:0}}

.profile-form fieldset{min-inline-size:0;max-width:100%}.profile-form .profile-fields>div{min-width:0;display:flex;flex-direction:column;justify-content:flex-end}.profile-form input:not([type=checkbox]){box-sizing:border-box;min-width:0;min-inline-size:0;width:100%;max-width:100%}.profile-form input[type=date]{appearance:none;-webkit-appearance:none;display:block;min-inline-size:0}.profile-form input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}@media(max-width:580px){.profile-form .profile-fields>div:has(#dob),.profile-form .profile-fields>div:has(#birthplace){grid-column:1 / -1}.profile-form .profile-fields label{line-height:1.4;overflow-wrap:anywhere}}

.profile-form .profile-photo-section{min-width:0;max-width:100%;box-sizing:border-box}.profile-photo-section h2{font-family:Georgia,serif;font-size:1.35rem;line-height:1.3;margin:0 0 1rem;overflow-wrap:anywhere}.profile-photo-preview{margin-top:2.2rem}.profile-photo-controls p,.profile-photo-controls label{overflow-wrap:anywhere;max-width:100%}@media(max-width:580px){.profile-photo-preview{margin-top:2.1rem}.profile-photo-section h2{font-size:1.25rem}.profile-photo-controls input[type=file]{width:100%;min-width:0;max-width:100%;box-sizing:border-box}}

.upload-progress{border:1px solid var(--line);background:var(--sage);padding:1rem}.upload-progress[hidden],.upload-spinner[hidden],#upload-error[hidden]{display:none}.upload-progress progress{display:block;width:100%;height:18px;accent-color:var(--forest)}.upload-spinner{display:inline-block;width:20px;height:20px;flex:0 0 20px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:upload-spin .8s linear infinite}#send-gallery{gap:.65rem}#send-gallery:disabled{opacity:1;cursor:progress}@keyframes upload-spin{to{transform:rotate(360deg)}}

.upload-preview-item{position:relative;min-width:0}.upload-preview-item img{display:block}.remove-selected-photo{position:absolute;top:.3rem;right:.3rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #fff;border-radius:50%;background:#263e34;color:#fff;font:28px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 1px 4px #0005}.remove-selected-photo:hover{background:#14251e}.remove-selected-photo:focus-visible{outline:3px solid #9b650e;outline-offset:2px}.gallery-form[aria-busy=true] .remove-selected-photo{display:none}

.upload-preview-item .remove-selected-photo{position:static;width:100%;height:auto;min-height:44px;margin-top:.3rem;gap:.4rem;border:1px solid #263e34;border-radius:3px;background:#fff;color:#263e34;font:600 .85rem/1.2 Arial,sans-serif;box-shadow:none;touch-action:manipulation;-webkit-appearance:none;appearance:none}.remove-selected-photo span:first-child{font-size:26px;line-height:1}.upload-preview-item .remove-selected-photo:hover,.upload-preview-item .remove-selected-photo:active{background:#e0e7dc}.gallery-form[aria-busy=true] .remove-selected-photo{display:none}

#resume-upload[hidden]{display:none}
.album-link>img,.photo-grid img,.upload-previews img{object-fit:contain;object-position:center;background:var(--sage,#e9ede4)}
.deletion-preview{margin-block:1.5rem}
.deletion-preview img{width:100%;max-height:50vh;object-fit:contain;background:var(--sage,#e9ede4)}
