:root{--bg:#fff;--fg:#111;--mut:#666;--acc:#d9822b;--line:#e4e4e4;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0e0e0e;--fg:#f2f2f2;--mut:#999;--line:#2a2a2a}}
:root[data-theme="dark"]{--bg:#0e0e0e;--fg:#f2f2f2;--mut:#999;--line:#2a2a2a}
html{scroll-behavior:smooth;scroll-padding-top:calc(56px + env(safe-area-inset-top,0px))}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.7 Archivo,Helvetica,Arial,sans-serif}
h1,h2,h3{font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;margin:0}
nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);display:flex;gap:22px;padding:14px 22px;overflow-x:auto;white-space:nowrap;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
nav a{color:var(--fg);text-decoration:none}nav a:hover{color:var(--acc)}
.hero{position:relative;min-height:86vh;display:flex;align-items:flex-end;padding:32px 22px;background:#222 center/cover no-repeat}
.hero h1{font-size:clamp(48px,13vw,150px);color:var(--acc)}
.hero p{margin:.6em 0 0;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(13px,2.4vw,20px);text-shadow:0 1px 8px #0008}
section{max-width:1200px;margin:0 auto;padding:84px 22px}
h2{font-size:clamp(30px,6vw,56px);margin-bottom:34px}
.quote{font-size:clamp(24px,4.6vw,46px);font-weight:800;text-transform:uppercase;line-height:1.15;max-width:760px}
.quote span{color:var(--acc)}
.narrow{max-width:700px}
.narrow p{margin:0 0 1.2em}
.sign{color:var(--mut);font-weight:500}
.gal{columns:2;column-gap:10px}
@media(min-width:760px){.gal{columns:3}}@media(min-width:1100px){.gal{columns:4}}
.gal button{display:block;width:100%;padding:0;margin:0 0 10px;border:0;background:none;cursor:zoom-in;break-inside:avoid;position:relative}
.gal img{display:block;width:100%;height:auto}
.gal .cap{position:absolute;inset:auto 0 0 0;padding:22px 10px 8px;color:#fff;font-size:12px;text-align:left;background:linear-gradient(transparent,#000a);opacity:0;transition:opacity .2s}
.gal button:hover .cap,.gal button:focus-visible .cap{opacity:1}
.crit{border-top:1px solid var(--line);padding:30px 0;display:grid;gap:10px}
@media(min-width:760px){.crit{grid-template-columns:280px 1fr;gap:40px}}
.crit h3{font-size:16px}.crit small{display:block;color:var(--mut);font-weight:500;text-transform:none;margin-top:6px;letter-spacing:0;line-height:1.4}
.crit blockquote{margin:0;font-size:19px}
.poems{display:grid;gap:70px 40px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.poem{font-style:italic;text-align:center;line-height:1.9}
.poem h3{font-style:normal;font-size:15px;margin-bottom:16px;color:var(--acc)}
.poem p{margin:0 0 1.2em}
.lab{color:var(--mut);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:-18px 0 40px}
.tl{list-style:none;padding:0;margin:0}
.tl li{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.tl b{color:var(--acc)}
footer{border-top:1px solid var(--line);padding:46px 22px;text-align:center;color:var(--mut);font-size:14px}
#lb{position:fixed;inset:0;z-index:20;background:#000e;display:none;flex-direction:column;align-items:center;justify-content:center;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
#lb.on{display:flex}
#lb img{max-width:94vw;max-height:80vh;object-fit:contain}
#lb p{color:#eee;font-size:14px;margin:14px 20px 0;text-align:center}
#lb button{position:absolute;background:none;border:0;color:#fff;font-size:38px;cursor:pointer;padding:16px;line-height:1}
#lb .x{top:calc(8px + env(safe-area-inset-top,0px));right:8px}#lb .p{left:2px;top:45%}#lb .n{right:2px;top:45%}

section h1{font-size:clamp(30px,6vw,56px);margin-bottom:34px}
nav .brand{color:var(--acc);margin-right:10px}
nav a.on{color:var(--acc)}
.page{min-height:70vh}
.intro{font-size:20px;line-height:1.6;border-bottom:1px solid var(--line);padding-bottom:1.2em;margin-bottom:2em}
.crit h3 small{font-weight:500}
.crit .txt p{margin:0 0 1em}
.poems{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}

.contact{font-size:clamp(22px,4vw,34px);font-weight:800;text-transform:uppercase;line-height:1.2}
.mail{font-size:clamp(18px,3.4vw,26px);font-weight:700;color:var(--acc);text-decoration:none;border-bottom:2px solid var(--acc)}
