:root{--ground:#F2F4EE;--panel:#fff;--ink:#1E241E;--ink-2:#4C564C;--ink-3:#78827A;
  --line:#D4DACB;--green:#2E7D4F;--green-soft:#E1EBDF;--gold:#A8791F;--gold-soft:#F3E9D2}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:"Seravek","Avenir Next","Segoe UI",system-ui,sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3{font-family:"Superclarendon","Rockwell","Roboto Slab",Georgia,serif;line-height:1.15}
a{color:var(--green)}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.2rem}

nav.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  max-width:1080px;margin:0 auto;padding:1rem 1.2rem;font-weight:600}
nav.top .brand{font-family:"Superclarendon","Rockwell",Georgia,serif;text-decoration:none;font-size:1.1rem}
nav.top a{text-decoration:none;margin-left:1rem;color:var(--ink-2)}
nav.top a.on,nav.top a:hover{color:var(--green)}

header.slim{text-align:center;padding:2rem 1.2rem 1.5rem;
  background:linear-gradient(180deg,#E7EDE2 0%,var(--ground) 100%)}
header.slim h1{font-size:clamp(2rem,6vw,3rem);margin:.2rem 0 .4rem}
.tag{color:var(--ink-2);max-width:36em;margin:0 auto}

.filters{margin:1.4rem 0 .2rem;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.f{font:inherit;font-weight:600;font-size:.92rem;cursor:pointer;border:1px solid var(--line);
  background:var(--panel);color:var(--ink-2);padding:.45rem 1rem;border-radius:99px}
.f.on{background:var(--green);border-color:var(--green);color:#fff}

.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.7rem;margin:1.6rem 0 3rem}
.m{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:.6rem .4rem .5rem;text-align:center;transition:transform .12s ease,box-shadow .12s ease}
.m:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(30,36,30,.13)}
.m img{width:100%;height:auto;max-height:104px;object-fit:contain;display:block}
.m figcaption{font-size:.78rem;color:var(--ink-3);margin-top:.4rem;line-height:1.3}

.how{max-width:40em;margin:0 auto 3rem;color:var(--ink-2)}
.how h2{color:var(--ink);font-size:1.5rem}
.how .more{font-weight:600}

.posts{max-width:44em;margin:1.5rem auto 3rem;padding:0;list-style:none}
.posts li{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:1.1rem 1.3rem;margin-bottom:.9rem}
.posts h2{margin:.1rem 0 .3rem;font-size:1.2rem}
.posts h2 a{text-decoration:none}
.posts .when{font-size:.8rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.posts p{margin:.3rem 0 0;color:var(--ink-2);font-size:.97rem}

article.post{max-width:38em;margin:1.5rem auto 3rem}
article.post .when{font-size:.8rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
article.post h1{font-size:clamp(1.6rem,5vw,2.3rem);margin:.3rem 0 1rem}
article.post p{color:var(--ink-2)}
article.post img{width:100%;border-radius:10px;border:1px solid var(--line);margin:1.4rem 0}
article.post blockquote{border-left:4px solid var(--gold);background:var(--gold-soft);
  margin:1.6rem 0;padding:.9rem 1.2rem;border-radius:0 10px 10px 0;color:var(--ink)}
article.post code{background:#eef1ea;padding:.1rem .35rem;border-radius:5px;font-size:.9em}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem;margin:1.4rem 0}
.strip img{margin:0;background:var(--panel)}

footer.site{border-top:1px solid var(--line);margin-top:2rem;padding:1.6rem 1.2rem 2.5rem;
  font-size:.85rem;color:var(--ink-3);text-align:center}

/* ---- home ---- */
.hero{position:relative;max-width:1080px;margin:0 auto;padding:.5rem 1.2rem 0}
.hero-shot{width:100%;border-radius:16px;border:1px solid var(--line);display:block;
  box-shadow:0 14px 44px rgba(30,36,30,.18)}
.hero-copy{text-align:center;padding:1.6rem 1.2rem .4rem}
.hero-copy h1{font-size:clamp(2.3rem,7vw,3.6rem);margin:0 0 .5rem;letter-spacing:.01em}
.hero-copy .tag{font-size:clamp(1.02rem,2.6vw,1.2rem)}
.nos{display:flex;gap:.5rem .9rem;justify-content:center;flex-wrap:wrap;margin:1.1rem 0 0;
  padding:0;list-style:none;font-weight:700;font-size:.92rem;color:var(--green)}
.nos li{background:var(--green-soft);border-radius:99px;padding:.3rem .85rem}
.nos li::before{content:"✕ ";color:var(--gold)}
.cta{display:inline-block;margin-top:1.4rem;background:var(--green);color:#fff;padding:.85rem 1.7rem;
  border-radius:11px;text-decoration:none;font-weight:700;box-shadow:0 3px 14px rgba(46,125,79,.34)}
.cta small{display:block;font-weight:400;font-size:.76rem;opacity:.88}
.cta.gold{background:var(--gold);box-shadow:0 3px 14px rgba(168,121,31,.34)}
.pull{border-left:4px solid var(--gold);background:var(--gold-soft);margin:2.6rem auto;
  padding:1.1rem 1.4rem;border-radius:0 12px 12px 0;max-width:36em;
  font-family:"Superclarendon","Rockwell",Georgia,serif;font-size:1.3rem}
.pull footer{font-family:inherit;font-size:.82rem;color:var(--ink-3);margin-top:.4rem;
  font-family:"Seravek",system-ui,sans-serif}
.screens{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem;margin:2rem 0}
.screens img{width:100%;border-radius:12px;border:1px solid var(--line);display:block}
.screens figure{margin:0}
.screens figcaption{font-size:.82rem;color:var(--ink-3);margin-top:.4rem;text-align:center}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:.9rem;margin:2rem 0}
.cards .card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem}
.cards h3{margin:0 0 .35rem;font-size:1.02rem;color:var(--green)}
.cards p{margin:0;font-size:.94rem;color:var(--ink-2)}
.fair{background:var(--green-soft);border-radius:16px;padding:1.5rem 1.6rem;margin:2.4rem 0}
.fair h2{margin:0 0 .8rem;font-size:1.4rem}
.fair ul{columns:2;gap:2rem;padding-left:1.1rem;margin:0}
.fair li{margin-bottom:.5rem;font-size:.95rem;break-inside:avoid;color:var(--ink-2)}
@media(max-width:620px){.fair ul{columns:1}}
.mid{max-width:38em;margin:0 auto;color:var(--ink-2)}
.center{text-align:center}
