:root{color-scheme:dark;--bg:#080808;--ink:#eceae4;--muted:#878780;--line:#ffffff24;--accent:#c9d0aa;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,main:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{border:0;background:none} .gallery-page{height:100dvh;overflow:hidden}.masthead{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 3vw}.wordmark{font-size:30px;letter-spacing:-2px;font-weight:800}.wordmark span{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:4px}.edition,.quiet,.eyebrow,.gallery-footer,.video-toggle{font:10px/1.5 'Courier New',monospace;letter-spacing:2px}.edition{color:var(--muted)}.quiet{padding:12px 0}.gallery{position:relative;display:flex;height:calc(100dvh - 160px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;gap:0}.gallery::-webkit-scrollbar{display:none}.slide{flex:0 0 auto;position:relative;overflow:hidden}.media-slide{width:auto;height:100%;background:#080808}.media-slide img,.media-slide video{height:100%;width:auto;max-width:none;object-fit:contain;display:block;opacity:.4;transition:opacity 1s}.media-slide.visible img,.media-slide.visible video{opacity:1;transform:scale(1)}.text-slide{width:100vw;padding:6vw 12vw;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(ellipse at center,#161713 0%,#080808 70%)}.text-slide .eyebrow{color:var(--muted);position:absolute;top:8%}.statement{white-space:pre-wrap;font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,3.3vw,58px);line-height:1.22;letter-spacing:-1.3px;max-width:1000px;opacity:0;transform:translateY(20px);transition:opacity 1.2s,transform 1.2s}.visible .statement{opacity:1;transform:translateY(0)}.star{position:absolute;bottom:7%;font-size:30px}.caption{position:absolute;bottom:25px;left:25px;right:25px;font:14px Georgia,serif;text-shadow:0 1px 8px #000;white-space:pre-wrap}.video-toggle{position:absolute;z-index:2;right:18px;top:18px;background:#0008;padding:10px}.gallery-footer{height:70px;padding:0 3vw;display:flex;align-items:center;gap:28px}.progress{width:100px;height:1px;background:#ffffff30}.progress span{display:block;height:1px;background:var(--ink);transition:width .4s}.scroll-hint{margin-left:auto;color:var(--muted)}.gallery-footer nav{display:flex;gap:12px}.gallery-footer button{font-size:23px;padding:10px}dialog{background:#11120f;color:var(--ink);border:1px solid var(--line);padding:70px;max-width:650px;width:90vw}dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}dialog h1{font:clamp(34px,5vw,60px)/1.1 Georgia,serif;font-weight:normal;letter-spacing:-2px}dialog p{line-height:1.7;color:#bebfb4}.close{position:absolute;right:20px;top:14px;font-size:30px}.signature{display:block;margin-top:45px;font-weight:bold}#notice{position:fixed;bottom:80px;left:5vw;max-width:90vw;background:#25271e;padding:0 20px;line-height:3}.admin-body{background:#10110f}.admin-header{padding:25px 5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px}.admin-header .wordmark{margin-right:auto}.admin-header a:last-of-type{font-size:12px}.admin-main{max-width:1100px;margin:65px auto;padding:0 24px}.admin-main h1{font:48px Georgia,serif;letter-spacing:-2px;margin:10px 0 16px}.muted{color:var(--muted);font-size:14px;line-height:1.6}.login-box{max-width:400px;margin:100px auto}.field{display:block;margin:20px 0;font-size:12px}.field input,.field textarea{display:block;width:100%;margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:0;background:#181a16;color:var(--ink)}textarea{min-height:110px;resize:vertical}.primary{background:var(--accent);color:#15170f;padding:14px 22px;font-size:12px;font-weight:bold}.secondary{border:1px solid var(--line);padding:12px 18px;font-size:12px}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:35px 0}.upload-label{display:inline-block;cursor:pointer}.upload-label input{display:none}.item-list{display:grid;gap:12px}.item-card{border:1px solid var(--line);padding:18px;display:grid;grid-template-columns:100px 1fr auto;gap:20px;align-items:center;background:#151612}.item-card.dragging{opacity:.4}.thumb{width:100px;height:100px;object-fit:cover;background:#24261f}.text-thumb{display:grid;place-items:center;font:40px Georgia,serif}.item-info{min-width:0}.item-info p{white-space:pre-wrap;overflow-wrap:anywhere;font:18px Georgia,serif;margin:10px 0}.item-info small{font:10px monospace;color:var(--muted);letter-spacing:1px}.item-actions{display:flex;gap:5px;flex-wrap:wrap;max-width:170px;justify-content:flex-end}.item-actions button{padding:10px;border:1px solid var(--line);font-size:12px}.danger{color:#f5aaa0}.status{min-height:22px;font-size:13px;color:var(--accent)}.admin-bottom{margin-top:60px;padding:25px 0;border-top:1px solid var(--line)}[hidden]{display:none!important}button:disabled{opacity:.4;cursor:wait}@media(max-width:650px){.masthead{height:72px;padding:0 20px}.edition{display:none}.gallery{height:calc(100dvh - 136px)}.media-slide{width:auto}.text-slide{width:100vw;padding:45px 28px}.statement{font-size:34px}.gallery-footer{height:64px;padding:0 20px;gap:14px}.scroll-hint{font-size:8px;letter-spacing:0}.progress{width:35px}dialog{padding:45px 25px}.admin-main{margin-top:35px}.admin-main h1{font-size:38px}.item-card{grid-template-columns:65px 1fr;gap:12px;padding:12px}.thumb{width:65px;height:80px}.item-actions{grid-column:1/-1;max-width:none;justify-content:flex-start}.admin-header{gap:15px}.admin-header .wordmark{font-size:25px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.statement{transform:none}.media-slide img,.media-slide video{transform:none}}
.statement{max-height:65%;overflow-y:auto;scrollbar-width:thin;touch-action:pan-y}.text-slide .statement:focus-visible{outline:1px solid var(--accent)}

/* Continuous, full-height editorial strip; navigation floats above the media. */
.gallery-page .gallery{height:100dvh;gap:0}
.gallery-page .masthead{position:fixed;inset:0 0 auto;z-index:10;pointer-events:none;mix-blend-mode:difference}
.gallery-page .masthead a,.gallery-page .masthead button{pointer-events:auto}
.gallery-page .gallery-footer{position:fixed;inset:auto 0 0;z-index:10;pointer-events:none;mix-blend-mode:difference}
.gallery-page .gallery-footer nav{pointer-events:auto}
.gallery-page .video-toggle{top:100px}
.gallery-page .caption{bottom:85px}
.gallery-page .text-slide{padding-top:110px;padding-bottom:100px}
.gallery-page .text-slide .eyebrow{top:110px}
.gallery-page .text-slide .star{bottom:85px}
@media(max-width:650px){.gallery-page .video-toggle{top:82px}.gallery-page .caption{bottom:78px}.gallery-page .text-slide{padding-top:100px;padding-bottom:90px}.gallery-page .text-slide .eyebrow{top:95px}.gallery-page .text-slide .star{bottom:78px}}
/* Only the opening message keeps the large editorial treatment. */
.gallery-page .text-slide:not(:first-child){background:#000;padding:100px clamp(28px,10vw,180px)}
.gallery-page .text-slide:not(:first-child) .eyebrow,
.gallery-page .text-slide:not(:first-child) .star{display:none}
.gallery-page .text-slide:not(:first-child) .statement{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,1.35vw,26px);font-weight:400;line-height:1.4;letter-spacing:-.35px;width:100%;max-width:850px;margin:0;text-align:center;overflow-wrap:anywhere}
@media(max-width:650px){.gallery-page .text-slide:not(:first-child){padding:90px 28px}.gallery-page .text-slide:not(:first-child) .statement{font-size:18px;line-height:1.5;letter-spacing:-.15px}}
.video-slide{width:calc(100dvh * 9 / 16);min-width:120px}
.media-slide.video-slide video{width:100%;height:100%;object-fit:contain}
.video-error{position:absolute;inset:35% 20px auto;padding:18px;background:#151515;color:#eee;font-size:14px;line-height:1.6;text-align:center}
/* Guestbook */
.masthead .edition{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}
.header-links{display:flex;align-items:center;gap:28px;pointer-events:auto}
#guestbook{width:min(760px,94vw);max-width:760px;max-height:88dvh;overflow-y:auto;padding:60px;scrollbar-width:thin}
#guestbook h1{margin:20px 0 16px;font-size:clamp(38px,5vw,60px)}
#guestbook .guestbook-intro{font:18px/1.5 Georgia,serif;margin-bottom:30px}
#guestbook .guestbook-policy{font:12px/1.7 Arial,sans-serif;color:var(--muted)}
#guestbook .status{font:13px/1.6 Arial,sans-serif;color:var(--accent);margin:20px 0}
.guestbook-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.guestbook-messages{border-top:1px solid var(--line);padding-top:28px;margin-top:35px}
.guestbook-entry{padding:25px 0;border-bottom:1px solid var(--line)}
#guestbook .guestbook-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font:21px/1.55 Georgia,serif;color:var(--ink);margin:0 0 18px}
.guestbook-author{font:11px/1.5 'Courier New',monospace;letter-spacing:1px;overflow-wrap:anywhere}
.guestbook-entry time{display:block;color:var(--muted);font-size:10px;margin-top:7px}
#guestbookMore,#guestbookRetry{margin-top:25px}
@media(max-width:900px){.masthead .edition{display:none}.header-links{gap:18px}}
@media(max-width:650px){.header-links{gap:12px}.header-links .quiet{font-size:8px;letter-spacing:1px}#guestbook{padding:48px 24px 28px;max-height:90dvh}.gallery-page .masthead{padding:0 18px}.gallery-page .wordmark{font-size:26px}}
/* Standalone guestbook: approved messages first, form on demand. */
.guestbook-page{min-height:100dvh;background:#080808}
.guestbook-page .masthead{position:relative;border-bottom:1px solid var(--line)}
.mural-main{max-width:1180px;margin:0 auto;padding:80px 40px 100px;min-height:calc(100dvh - 210px)}
.mural-intro{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:55px}
.mural-intro h1{font:clamp(45px,6vw,80px)/1.1 Georgia,serif;letter-spacing:-3px;font-weight:400;margin:22px 0}
.mural-intro>.primary{flex-shrink:0}
.mural-entries>h2{color:var(--muted);font-weight:400;padding-bottom:20px;border-bottom:1px solid var(--line)}
.guestbook-page #guestbookList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:60px}
.guestbook-page .guestbook-entry{padding:35px 0}
.guestbook-page .guestbook-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font:23px/1.6 Georgia,serif;margin:0 0 25px}
.mural-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:30px 3vw}
.mural-footer>.eyebrow{color:var(--muted);font-size:9px;text-align:right}
@media(max-width:650px){.mural-main{padding:45px 24px 65px}.mural-intro{display:block;padding-bottom:35px}.mural-intro>.primary{margin-top:20px}.mural-intro h1{letter-spacing:-2px}.guestbook-page #guestbookList{grid-template-columns:1fr}.guestbook-page .guestbook-entry p{font-size:21px}.guestbook-page .masthead{padding:0 18px}.guestbook-page .masthead .wordmark{font-size:26px}.guestbook-page .header-links .quiet{font-size:9px}}
