*{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#3e3a34;--soft:#7a7267;--accent:#b98a5e;--bg:#fdfbf7;--card:#ffffff;--line:#e9e2d6}
body{font-family:'Jost',Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-size:17px}
h1,h2,h3,.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header.site{border-bottom:1px solid var(--line);background:#fff;text-align:center;padding:26px 16px 0}
.logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;letter-spacing:3px;color:var(--ink)}
.logo small{display:block;font-size:12px;letter-spacing:6px;color:var(--soft);font-family:'Jost',sans-serif;margin-top:2px}
nav.main{display:flex;justify-content:center;gap:34px;flex-wrap:wrap;padding:16px 0 20px}
nav.main a{color:var(--ink);font-size:13px;letter-spacing:3px}
nav.main a:hover{color:var(--accent);text-decoration:none}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
.hero{position:relative;margin:34px auto 10px;max-width:1060px}
.hero img{width:100%;height:520px;object-fit:cover;display:block}
.hero .tag{position:absolute;left:0;right:0;bottom:34px;text-align:center;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.45)}
.hero .tag h1{font-size:52px;letter-spacing:2px}
.hero .tag p{letter-spacing:4px;font-size:14px;text-transform:uppercase}
section.block{padding:44px 0 8px}
section.block h2{text-align:center;font-size:36px;letter-spacing:1px;margin-bottom:14px}
section.block .lead{max-width:760px;margin:0 auto 18px;text-align:center;color:var(--soft)}
.center{text-align:center}
.btn{display:inline-block;border:1px solid var(--accent);color:var(--accent);padding:11px 30px;letter-spacing:3px;font-size:13px;margin-top:8px;background:transparent}
.btn:hover{background:var(--accent);color:#fff;text-decoration:none}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;margin:22px 0}
.card{background:var(--card);border:1px solid var(--line)}
.card img{width:100%;height:230px;object-fit:cover;display:block}
.card .pad{padding:18px 20px 22px}
.card h3{font-size:23px;line-height:1.3}
.card p{color:var(--soft);font-size:15px;margin-top:6px}
blockquote{max-width:780px;margin:26px auto;text-align:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-style:italic;line-height:1.5}
blockquote cite{display:block;font-family:'Jost',sans-serif;font-style:normal;font-size:13px;letter-spacing:3px;color:var(--soft);margin-top:10px}
article.page{max-width:820px;margin:0 auto;padding:40px 20px 10px}
article.page h1{text-align:center;font-size:42px;margin-bottom:8px}
article.page .sub{text-align:center;color:var(--soft);letter-spacing:2px;font-size:13px;text-transform:uppercase;margin-bottom:26px}
article.page p{margin-bottom:16px}
article.page img.full{width:100%;margin:18px 0}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin:24px 0}
.gallery img{width:100%;height:300px;object-fit:cover;display:block}
form.inq{max-width:640px;margin:10px auto 20px;background:#fff;border:1px solid var(--line);padding:28px}
form.inq label{display:block;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--soft);margin:14px 0 5px}
form.inq input,form.inq textarea{width:100%;border:1px solid var(--line);padding:11px;font-family:inherit;font-size:16px;background:var(--bg)}
form.inq button{margin-top:20px;width:100%;cursor:pointer}
.faq h3{font-size:24px;margin:22px 0 6px}
footer.site{margin-top:56px;background:#f4efe6;border-top:1px solid var(--line);padding:44px 20px 30px;text-align:center}
footer.site .about{max-width:720px;margin:0 auto;color:var(--soft)}
footer.site nav{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:20px 0 8px}
footer.site nav a{color:var(--ink);font-size:12px;letter-spacing:3px}
footer.site .fine{font-size:13px;color:var(--soft);margin-top:14px}
.postlist{max-width:820px;margin:0 auto}
.postitem{display:flex;gap:20px;background:#fff;border:1px solid var(--line);margin-bottom:18px}
.postitem img{width:230px;height:170px;object-fit:cover}
.postitem .pad{padding:16px 18px}
.postitem h3{font-size:24px;line-height:1.25}
@media(max-width:640px){.hero img{height:340px}.hero .tag h1{font-size:36px}.postitem{flex-direction:column}.postitem img{width:100%}}
