:root{--brown:#7b6b5c;--ink:#2b2622;--cream:#f6f2ec;--sand:#e9e1d6;--green:#1f4a44;--line:#d8cfc2}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--green)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
header.top{position:sticky;top:0;z-index:10;background:rgba(246,242,236,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand img{height:40px;width:auto}
nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--ink);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
nav a:hover{color:var(--brown)}
nav .lang{border:1px solid var(--brown);padding:4px 10px;color:var(--brown)}
.hero{position:relative;color:#fff;min-height:78vh;display:flex;align-items:flex-end;background:#3a322b}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.hero .wrap{position:relative;padding-top:120px;padding-bottom:72px}
.hero h1{font-weight:300;font-size:clamp(34px,6vw,66px);line-height:1.1;margin:0 0 18px;letter-spacing:.02em;max-width:14em}
.hero p{max-width:34em;font-size:19px;margin:0 0 28px}
.btn{display:inline-block;border:1px solid currentColor;padding:12px 26px;text-decoration:none;color:inherit;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.btn:hover{background:#fff;color:var(--ink)}
.btn.dark{color:var(--ink)}.btn.dark:hover{background:var(--ink);color:#fff}
section{padding:84px 0}
section.alt{background:var(--sand)}
h2{font-weight:300;font-size:clamp(26px,4vw,38px);letter-spacing:.04em;margin:0 0 10px}
.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--brown);margin-bottom:10px}
.lead{max-width:40em;color:#4a423b}
.grid{display:grid;gap:28px}
.g3{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center}
.card{background:#fff;padding:28px;border-top:3px solid var(--brown)}
.card h3{margin:0 0 8px;font-weight:500;font-size:18px;letter-spacing:.04em}
.card p{margin:0;font-size:15.5px;color:#4a423b}
figure{margin:0}
figcaption{font-size:13px;color:#6b6157;margin-top:8px}
.social{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.social a{border:1px solid var(--brown);padding:10px 20px;text-decoration:none;color:var(--ink);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.social a:hover{background:var(--brown);color:#fff}
footer{background:var(--ink);color:#d9d0c4;padding:44px 0;font-size:14px}
footer a{color:#fff}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center}
footer img{height:34px;width:auto}
.posts{display:grid;gap:30px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.post-card{background:#fff;text-decoration:none;color:inherit;display:block}
.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.post-card div{padding:22px}
.post-card h3{margin:6px 0 8px;font-weight:500;font-size:20px}
.post-card p{margin:0;font-size:15px;color:#4a423b}
.meta{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
article{max-width:740px;margin:0 auto;padding:64px 24px 84px}
article h1{font-weight:300;font-size:clamp(30px,5vw,46px);line-height:1.15;margin:8px 0 24px}
article h2{font-size:26px;margin:40px 0 10px}
article img{margin:28px 0 8px}
.pagehead{padding:70px 0 20px}
.pagehead h1{font-weight:300;font-size:clamp(32px,5vw,50px);margin:0 0 10px}
@media(max-width:640px){body{font-size:16px}section{padding:60px 0}nav{gap:14px}}
.hero .hero-logo{margin:0 0 22px;line-height:0}.hero .hero-logo img{width:min(744px,100%);height:auto}.hero .tagline{font-size:clamp(16px,2.1vw,21px);font-weight:200;letter-spacing:.06em;margin:0 0 30px;max-width:none}
.hero-actions{margin-top:6vh}
.hero .wrap{padding-bottom:max(16px,calc(72px - 6vh))}
@media(max-width:640px){header.top .wrap{padding-top:8px;padding-bottom:8px;min-height:0}.brand img{height:30px}nav{gap:6px 12px}nav a{font-size:11px;letter-spacing:.08em}nav .lang{padding:2px 8px}.hero .wrap{padding-top:90px}.btn{padding:11px 20px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
