@font-face{font-family:"Nunito";src:url(/fonts/nunito-latin.woff2) format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
:root{--leaf:#2F6B3A;--sage:#DCE8D5;--cream:#FAF7F0;--wood:#B5562F;--ink:#22301f;--muted:#5b6a58;--r:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 "Nunito",ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--leaf)}
h1,h2,h3{font-family:"Nunito",ui-rounded,system-ui,sans-serif;line-height:1.15;color:var(--leaf);margin:0 0 .5em}
h1{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:900;letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:99;border-radius:8px}
.site-h{position:sticky;top:0;z-index:10;background:rgba(250,247,240,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e7e2d6}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:12px}
.mark{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:900;font-size:1.3rem;color:var(--leaf)}
nav a{margin-left:18px;text-decoration:none;font-weight:700;color:var(--ink)}nav a:hover{color:var(--wood)}
.hero{background:linear-gradient(180deg,var(--sage),var(--cream));padding:48px 0 56px}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.lede{font-size:1.2rem;color:var(--muted);max-width:34em}
.hero-img{border-radius:22px;box-shadow:0 18px 40px rgba(47,107,58,.18);max-height:520px;width:100%;object-fit:cover}
.btn{display:inline-block;background:var(--leaf);color:#fff;text-decoration:none;font-weight:800;padding:12px 22px;border-radius:999px}
.btn:hover{background:var(--wood)}
.about{padding:56px 0}
.about p{font-size:1.08rem}
.gallery{padding:24px 0 64px}
.intro{color:var(--muted);max-width:44em}
.year-h{font-size:1.4rem;margin:36px 0 14px;display:flex;align-items:center;gap:14px;color:var(--wood)}
.year-h::after{content:"";flex:1;height:2px;background:var(--sage);border-radius:2px}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.tile{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 2px 10px rgba(34,48,31,.07);display:flex;flex-direction:column}
.thumb{all:unset;cursor:zoom-in;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--sage)}
.thumb:focus-visible{outline:3px solid var(--wood);outline-offset:-3px}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.thumb:hover img{transform:scale(1.04)}
.cap{margin:10px 12px 0;font-size:.95rem;white-space:pre-line}
.cap:empty{display:none}
.when{margin:6px 12px 12px;font-size:.8rem;color:var(--muted)}
.site-f{border-top:1px solid #e7e2d6;padding:28px 0;color:var(--muted);text-align:center;font-size:.95rem}
/* lightbox */
.lb{position:fixed;inset:0;z-index:50;background:#141c12;display:flex;align-items:center;justify-content:center;padding:16px}
.lb[hidden]{display:none}
.lb-fig{margin:0;max-width:min(1600px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}
.lb-fig img{max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);width:auto;max-width:100%;border-radius:10px;touch-action:pan-y pinch-zoom;user-select:none}
.lb-fig figcaption{color:#eef3ea;max-width:760px;text-align:center;width:100%}
.lb-cap{margin:0;white-space:pre-line}.lb-cap:empty{display:none}
.lb-meta{margin:2px 0 0;font-size:.85rem;color:#b9c6b3}
.lb-btn{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1;width:52px;height:52px;border-radius:50%;cursor:pointer}
.lb-btn:hover,.lb-btn:focus-visible{background:var(--wood);outline:none}
.lb-close{top:14px;right:14px}
.lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.lb-next{right:14px;top:50%;transform:translateY(-50%)}
body.lb-open{overflow:hidden}
/* editing (only shown to the site owner) */
.editbar{background:#fff7ec;border:1px solid #efd6bf;border-radius:var(--r);padding:12px 16px;margin:12px 0 4px;font-size:.95rem}
.editbar input[type=password]{font:inherit;padding:6px 10px;border:1px solid #d9cbb8;border-radius:8px;width:min(320px,100%)}
.editbar button,.ed button{font:inherit;font-weight:800;border:0;border-radius:999px;padding:6px 14px;background:var(--leaf);color:#fff;cursor:pointer}
.editbar button.ghost,.ed button.ghost{background:transparent;color:var(--leaf);border:1px solid var(--leaf)}
.ed{margin:8px 12px 0;display:flex;flex-direction:column;gap:6px}
.ed textarea{font:inherit;font-size:.95rem;min-height:84px;padding:8px;border:1px solid #d9cbb8;border-radius:8px;resize:vertical;width:100%}
.ed .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ed .st{font-size:.8rem;color:var(--muted)}
#lb-edit .ed{margin:8px 0 0}#lb-edit>button{font:inherit;font-weight:800;border:1px solid #cfe0c8;border-radius:999px;padding:6px 14px;background:transparent;color:#eef3ea;cursor:pointer;margin-top:6px}#lb-edit>button:hover{background:var(--wood);border-color:var(--wood)}#lb-edit textarea{background:#fbfaf6}
#lb-edit .st{color:#b9c6b3}
@media (max-width:760px){
 .hero{padding:28px 0 36px}.hero-in{grid-template-columns:1fr;gap:22px}.hero-img{max-height:360px}
 nav a{margin-left:12px;font-size:.95rem}.grid{grid-template-columns:repeat(2,1fr);gap:10px}
 .cap{font-size:.88rem;margin:8px 8px 0}.when{margin:4px 8px 10px}
 .lb{padding:8px}.lb-btn{width:44px;height:44px;font-size:1.6rem}.lb-prev,.lb-next{top:auto;bottom:14px;transform:none}
 .lb-fig img{max-height:calc(100dvh - 210px)}
}
@media (max-width:380px){nav a:nth-child(3){display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.thumb img{transition:none}}
