:root{
  --bg:#EFE8DE;--paper:#F6F1EA;--cream:#F2E9E0;--ink:#4A4836;--soft:#6E6B57;--deep:#3B3D2C;
  --line:rgba(74,72,54,.18);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* top bar */
.bar{position:sticky;top:0;z-index:20;background:rgba(239,232,222,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
.brand img{height:40px;width:auto}
.menu{display:flex;gap:26px;align-items:center}
.menu a{text-decoration:none;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--soft);padding:6px 0;border-bottom:1px solid transparent}
.menu a:hover,.menu a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.menu a.cta{border:1px solid var(--ink);padding:9px 16px;color:var(--ink)}
.menu a.cta:hover{background:var(--ink);color:var(--cream)}
.langs{display:flex;gap:2px}
.langs button{background:none;border:0;font:inherit;font-size:12px;letter-spacing:.2em;color:var(--soft);padding:8px 6px;cursor:pointer}
.langs button[aria-pressed="true"]{color:var(--ink);font-weight:500;text-decoration:underline;text-underline-offset:5px}
.right{display:flex;align-items:center;gap:18px}

/* type */
.eyebrow{font-size:12.5px;letter-spacing:.34em;text-transform:uppercase;font-weight:400;color:var(--soft)}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1}
h1{font-size:clamp(46px,7vw,84px)}
h2{font-size:clamp(34px,4.6vw,50px)}
h2 em,h1 em{font-style:italic}
.lead{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,28px);line-height:1.4}
section{padding:96px 0}
.tag{position:absolute;right:14px;bottom:12px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#F4EEE6;background:rgba(40,41,30,.45);padding:4px 10px;border-radius:20px;backdrop-filter:blur(4px)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;background:var(--ink);color:var(--cream);text-decoration:none;font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;border:1px solid var(--ink);transition:background .25s}
.btn:hover{background:var(--deep)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--cream)}

footer.site{border-top:1px solid var(--line);padding:34px 0 40px;font-size:13px;color:var(--soft)}
footer.site .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
footer.site a{text-decoration:none}
footer.site a:hover{color:var(--ink)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

@media (max-width:820px){
  .menu{gap:16px}
  .menu a:not(.cta){font-size:11px;letter-spacing:.16em}
  .menu a.cta{display:none}
  .bar .wrap{height:auto;padding-top:10px;padding-bottom:10px;flex-wrap:wrap;row-gap:4px}
  .menu{order:3;width:100%;justify-content:center}
  section{padding:68px 0}
}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
