:root{--green:#218f26;--green-dark:#1b751f;--green-soft:#eef6ee;--text:#2f3430;--muted:#5d665e;--bg:#f6f7f5;--line:#dfe5df}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--bg)}
a{color:var(--green-dark)}
a:hover,a:focus{color:var(--green)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}
.site-header{background:var(--green);color:#fff}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;padding-top:1rem;padding-bottom:1rem}
.brand{color:#fff;text-decoration:none;font-weight:600;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}
.brand:hover,.brand:focus{color:#fff}
.brand span{font-weight:400}
.tagline{margin:0;font-size:.95rem;opacity:.9}
main{padding:2.5rem 0 3rem}
.notice{background:#fff;border:1px solid var(--line);border-top:6px solid var(--green);border-radius:6px;padding:2rem 1.5rem;text-align:center;margin-bottom:2.5rem}
.notice h1{font-size:clamp(1.5rem,4.5vw,2.1rem);line-height:1.25;margin:0 0 1.25rem;letter-spacing:.02em;color:var(--green-dark)}
.notice p{margin:.5rem auto;max-width:38rem}
.notice .sign{margin-top:1.25rem;font-style:italic}
.intro{display:grid;grid-template-columns:minmax(0,15rem) 1fr;gap:2rem;align-items:center;margin-bottom:2.5rem}
.intro img{border-radius:6px;border:1px solid var(--line)}
.intro h2{margin-top:0;color:var(--green-dark);font-size:1.4rem}
.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none}
.gallery img{border-radius:6px;border:1px solid var(--line);aspect-ratio:800/536;object-fit:cover;width:100%}
h2.section{color:var(--green-dark);font-size:1.25rem;margin:0 0 1rem}
.legal{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.5rem 1.5rem 2rem;max-width:50rem}
.legal h1{color:var(--green-dark);margin-top:0;font-size:1.8rem}
.legal h2{color:var(--green-dark);font-size:1.15rem;margin:1.75rem 0 .5rem}
.legal address{font-style:normal}
.check{background:#fff3cd;color:#664d03;border:1px dashed #c69500;border-radius:3px;padding:0 .3em;font-weight:600}
.site-footer{background:#e9ede9;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}
.site-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-top:1.25rem;padding-bottom:1.25rem}
.site-footer nav a{margin-right:1.25rem}
@media (max-width:40rem){
 body{font-size:1rem}
 .intro{grid-template-columns:1fr;text-align:center}
 .intro img{max-width:13rem;margin:0 auto}
 .gallery{grid-template-columns:1fr}
 .notice{padding:1.5rem 1rem}
 .legal{padding:1.25rem 1rem 1.5rem}
}
@media print{.site-header,.site-footer{background:none;color:#000}.brand{color:#000}}
.site-footer .copy{margin:0}
