:root{--bg:#faf7f0;--bg2:#f3eee3;--ink:#3b3631;--muted:#8a8178;--accent:#b89b72;--line:#e6dfd2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans Thai","Sarabun","Leelawadee UI","Thonburi",system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.85;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:720px;margin:0 auto;padding-left:22px;padding-right:22px}
section{padding:64px 0}
h1,h2{font-weight:400;letter-spacing:.02em;line-height:1.3}
h2{font-size:1.45rem;margin:0 0 20px}
.inf{color:var(--accent);margin-right:.35em}
.muted{color:var(--muted);font-size:.93rem}
em{font-style:normal;color:var(--accent)}
/* hero */
.hero{display:flex;flex-direction:column}
.hero-text{padding:56px 22px 32px;text-align:center}
.kanji{font-size:1rem;letter-spacing:.6em;color:var(--accent);margin:0 0 6px;padding-left:.6em}
.hero h1{font-size:clamp(2.4rem,9vw,4.2rem);margin:0;font-weight:300}
.plus{color:var(--accent)}
.lead{font-size:1.25rem;margin:8px 0 4px}
.sub{color:var(--muted);margin:0}
.hero-img img{width:100%;aspect-ratio:5/4;object-fit:cover}
/* memory */
.memory{background:var(--bg2)}
.pair{display:grid;gap:14px;max-width:1100px;margin:24px auto 0;padding:0 14px}
figure{margin:0}
.pair img{border-radius:6px;width:100%;aspect-ratio:4/3;object-fit:cover}
/* gallery */
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gallery a{display:block;overflow:hidden;border-radius:6px;background:var(--line)}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s ease}
.gallery a:hover img{transform:scale(1.04)}
/* brownie */
.brownie{display:grid;gap:22px;align-items:center}
.brownie img{border-radius:6px}
.brownie h2{margin-bottom:6px}
.en{color:var(--muted);font-size:1rem;margin-left:.4em}
/* learning */
.learning{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.soon{display:inline-block;margin-top:8px;padding:6px 16px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:.92rem}
/* closing */
.closing{text-align:center;padding:64px 22px 24px}
.closing img{max-width:360px;width:80%;margin:0 auto;border-radius:180px 180px 6px 6px}
.closing-text{color:var(--accent);letter-spacing:.3em;margin-top:18px}
footer{text-align:center;padding:24px 22px 56px}
footer p{margin:4px 0}
footer a{text-decoration:none;border-bottom:1px solid var(--line)}
footer a:hover{border-color:var(--accent)}
.inf-big{font-size:2rem;color:var(--accent);line-height:1}
/* lightbox */
dialog{border:0;padding:0;background:transparent;max-width:94vw;max-height:94vh}
dialog::backdrop{background:rgba(30,26,22,.86)}
dialog img{max-width:94vw;max-height:90vh;width:auto;border-radius:4px}
.lb-close{position:fixed;top:12px;right:16px;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer;line-height:1}
@media (min-width:900px){
  body{font-size:18px}
  .hero{flex-direction:row;align-items:center;min-height:88vh}
  .hero-text{flex:1;text-align:left;padding:0 6vw}
  .hero-img{flex:1;align-self:stretch}
  .hero-img img{height:100%;aspect-ratio:auto}
  .pair{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:repeat(4,1fr)}
  .brownie{grid-template-columns:1fr 1fr;max-width:900px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.wide{max-width:900px;margin:28px auto 0;padding:0 14px;text-align:center}
.wide img{border-radius:6px;width:100%}
.wide figcaption{color:var(--muted);font-size:.93rem;margin-top:12px}
