:root{--paper:#101512;--ink:#edf1ee;--muted:#a4aea8;--line:#343c37;--accent:#f07852;--surface:#171d19;--max:1500px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.private-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:1rem max(1rem,calc((100vw - var(--max))/2));border-bottom:1px solid var(--line);background:rgba(16,21,18,.92);backdrop-filter:blur(14px)}.wordmark{font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:-.045em}.wordmark span,.eyebrow{color:var(--accent)}.private-actions{display:flex;gap:.6rem}button{padding:.65rem 1rem;border:1px solid var(--line);color:var(--ink);background:var(--surface);cursor:pointer}button:hover{border-color:var(--accent)}main{width:min(calc(100% - 2rem),var(--max));margin:auto}.login-panel{width:min(100%,620px);margin:12vh auto;padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--line);background:var(--surface)}.eyebrow{margin:0 0 1rem;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1,h2{margin:0;font-family:"Manrope",sans-serif;line-height:1;letter-spacing:-.05em}.login-panel h1,.gallery-heading h1{font-size:clamp(3rem,7vw,6.5rem)}.login-panel>p:not(.eyebrow),.gallery-heading>p:last-child{color:var(--muted)}form{margin-top:2rem}label{display:block;margin-bottom:.45rem;font-size:.78rem;font-weight:700}form>div{display:flex}input{min-width:0;flex:1;padding:.8rem;border:1px solid var(--line);color:var(--ink);background:var(--paper);outline:none}input:focus{border-color:var(--accent)}form button{border-color:var(--accent);background:var(--accent);color:#fff}.form-status{min-height:1.5rem;color:var(--accent);font-size:.82rem}.private-gallery{padding:6rem 0}.gallery-heading{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:3rem}.gallery-heading .eyebrow{grid-column:1/-1}.gallery-heading>p:last-child{margin:0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:5px}.admin-grid figure{margin:0;min-width:0;background:#080a09}.admin-grid img{display:block;width:100%;height:220px;object-fit:contain;-webkit-user-drag:none;user-select:none}.admin-slideshow{max-width:1200px;margin:auto}.admin-slide-frame{height:min(72svh,820px);background:#080a09}.admin-slide-frame img{width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity .32s ease;-webkit-user-drag:none;user-select:none}.admin-slideshow.is-changing .admin-slide-frame img{opacity:0}.admin-slide-caption{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1rem 0}.admin-slide-caption h2{font-size:1.35rem}.admin-slide-caption p{margin:.35rem 0 0;color:var(--muted)}.admin-slide-caption span{color:var(--muted);font-size:.75rem}.slide-controls{display:flex;justify-content:space-between}.slideshow-open{overflow:hidden}.admin-slideshow.is-fullscreen{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:1fr;width:100%;max-width:none;height:100svh;margin:0;padding:0;background:#050706}.admin-slideshow.is-fullscreen .admin-slide-frame{width:100%;height:100%;min-height:0;background:transparent}.admin-slideshow.is-fullscreen .admin-slide-caption,.admin-slideshow.is-fullscreen .slide-controls{display:none}.exit-slideshow{position:absolute;top:1rem;left:50%;z-index:4;width:2.8rem;height:2.8rem;padding:0;transform:translate(-50%,-160%);border-color:rgba(255,255,255,.4);border-radius:50%;color:#fff;background:rgba(5,7,6,.86);font-size:1.65rem;line-height:1;opacity:0;transition:transform .25s ease,opacity .25s ease}.admin-slideshow.show-exit .exit-slideshow,.exit-slideshow:focus-visible{transform:translate(-50%,0);opacity:1}.admin-slideshow:fullscreen{width:100%;height:100%;background:#050706}@media(max-width:620px){.private-actions{gap:.3rem}.private-actions button{padding:.5rem .6rem;font-size:.75rem}.gallery-heading{grid-template-columns:1fr}.gallery-heading>p:last-child{margin-top:1rem}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.admin-grid img{height:140px}.admin-slide-frame{height:62svh}}
