:root{
  --bg:#FAFAF7;
  --bg-soft:#F2F0EB;
  --bg-warm:#EFEBE2;
  --text:#1A1815;
  --text-2:#5A554C;
  --text-3:#8B8579;
  --text-4:#B5B0A4;
  --border:#E5E2DA;
  --border-strong:#D4CFC3;
  --umber:#6B4423;
  --umber-deep:#3E2814;
  --umber-soft:#D4A574;
  --moss:#4A6741;
  --amber:#8B5A1A;
  --amber-bg:#F5EDE0;
  --moss-bg:#EEF1EA;
  --rose:#7A3A3A;
  --rose-bg:#F5E8E8;
  --sans:'Geist','Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --serif:'Instrument Serif',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--umber);color:var(--bg)}

/* nav */
nav.top{position:sticky;top:0;background:rgba(250,250,247,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:50;border-bottom:1px solid var(--border)}
nav.top .inner{display:flex;justify-content:space-between;align-items:center;height:64px;max-width:1180px;margin:0 auto;padding:0 32px}
.logo{font-family:var(--serif);font-size:22px;letter-spacing:-.01em;color:var(--text)}
.logo em{font-style:italic;color:var(--umber)}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{font-size:13px;color:var(--text-2);transition:color .15s}
.nav-links a:hover{color:var(--text)}
.nav-links a.active{color:var(--text)}
.nav-cta{font-family:var(--mono);font-size:12px;color:var(--text);padding:8px 14px;border:1px solid var(--border-strong);border-radius:999px;transition:all .15s}
.nav-cta:hover{background:var(--text);color:var(--bg);border-color:var(--text)}

/* wrap & utility */
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.narrow{max-width:780px;margin:0 auto;padding:0 32px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:400}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500;padding:13px 22px;border-radius:999px;transition:all .18s;border:1px solid transparent;font-family:var(--sans)}
.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}
.btn-primary:hover{background:var(--umber-deep);border-color:var(--umber-deep)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}
.btn-ghost:hover{border-color:var(--text)}
.btn .arrow{display:inline-block;transition:transform .18s}
.btn:hover .arrow{transform:translateX(3px)}

/* page header */
.page-head{padding:88px 0 64px;border-bottom:1px solid var(--border)}
.page-head .inner{max-width:1180px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:160px 1fr;gap:32px;align-items:end}
.page-head .label{display:flex;align-items:center;gap:10px;padding-bottom:14px}
.page-head .label .num{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.12em}
.page-head .label .name{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.12em;text-transform:uppercase}
.page-head h1{font-family:var(--serif);font-weight:400;font-size:72px;line-height:1;letter-spacing:-.02em;color:var(--text)}
.page-head h1 em{font-style:italic;color:var(--umber)}
.page-head .lede{font-size:17px;color:var(--text-2);max-width:640px;margin-top:24px;line-height:1.55}
.page-head .stamp{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.06em}
.page-head .stamp .dot{width:5px;height:5px;background:var(--umber);border-radius:50%}

/* footer */
footer{border-top:1px solid var(--border);padding:64px 0 32px;margin-top:80px}
.foot-row{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;padding-bottom:48px;border-bottom:1px solid var(--border)}
.foot-brand{max-width:320px}
.foot-brand .logo{font-size:28px;margin-bottom:14px;display:inline-block}
.foot-brand p{font-size:13px;color:var(--text-3);line-height:1.6}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(120px,auto));gap:48px}
.foot-col h4{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--text-3);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.foot-col a{display:block;font-size:13px;color:var(--text);margin-bottom:10px;transition:color .15s}
.foot-col a:hover{color:var(--umber)}
.foot-copy{padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.05em}

@media (max-width:980px){
  .page-head h1{font-size:52px}
  .page-head .inner{grid-template-columns:1fr;gap:16px;align-items:start}
  .nav-links a:nth-child(-n+2){display:none}
}
@media (max-width:620px){
  .wrap,.narrow{padding:0 22px}
  nav.top .inner,.page-head .inner{padding:0 22px}
  .page-head{padding:56px 0 40px}
  .page-head h1{font-size:38px}
}
