@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-opsz-normal.woff2') format('woff2-variations');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-latin-opsz-italic.woff2') format('woff2-variations');font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter-latin-wght-normal.woff2') format('woff2-variations');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --paper:#F7F3EC;
  --paper-deep:#F0EAE0;
  --ink:#211D18;
  --ink-soft:#5C554B;
  --ink-faint:#8A8175;
  --clay:#B04E2A;
  --clay-deep:#8C3B1E;
  --clay-soft:#E8D5C9;
  --line:rgba(33,29,24,.12);
  --glass:rgba(255,253,248,.55);
  --glass-border:rgba(255,255,255,.65);
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
::selection{background:var(--clay-soft);color:var(--clay-deep)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.wrap{max-width:860px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.wrap-wide{max-width:1100px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}

nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px clamp(20px,4vw,44px);background:rgba(247,243,236,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(33,29,24,.06)}
.nav-name{font-family:var(--serif);font-size:19px;font-weight:420;white-space:nowrap}
.nav-name em{font-style:italic;color:var(--clay)}
.nav-links{display:flex;gap:26px;font-size:14px;color:var(--ink-soft)}
.nav-links a{position:relative;transition:color .3s;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:var(--clay);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-links a.active{color:var(--clay-deep)}
.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{font-size:13.5px;font-weight:500;padding:8px 18px;border-radius:10px;background:var(--ink);color:var(--paper);transition:background .3s,transform .3s var(--ease);white-space:nowrap}
.nav-cta:hover{background:var(--clay-deep);transform:translateY(-1px)}
@media(max-width:760px){.nav-links{display:none}}

.kicker{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:24px}
.kicker::before{content:"";width:36px;height:1px;background:var(--clay)}
h1{font-family:var(--serif);font-weight:340;font-size:clamp(38px,5.6vw,68px);line-height:1.08;letter-spacing:-.015em;max-width:18ch}
h1 em{font-style:italic;color:var(--clay)}
h2{font-family:var(--serif);font-weight:340;font-size:clamp(28px,3.6vw,42px);line-height:1.15;letter-spacing:-.01em}
h2 em{font-style:italic;color:var(--clay)}

.page-head{padding:clamp(150px,20vh,210px) 0 clamp(40px,6vh,70px)}
.page-head .lead{max-width:56ch;margin-top:26px;font-size:clamp(17px,1.6vw,19px);color:var(--ink-soft)}

.prose{max-width:62ch}
.prose p{margin-bottom:1.25em;color:var(--ink-soft)}
.prose p.big{color:var(--ink);font-size:18.5px}
.prose h2{margin:2em 0 .7em}
.prose blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.4vw,26px);line-height:1.4;color:var(--ink);border-left:2px solid var(--clay);padding-left:22px;margin:2em 0}

.btn{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:500;padding:14px 28px;border-radius:12px;transition:transform .35s var(--ease),background .3s,color .3s,border-color .3s}
.btn svg{transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--clay-deep);transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--line);color:var(--ink-soft)}
.btn-ghost:hover{border-color:var(--clay);color:var(--clay-deep);transform:translateY(-2px)}

.fade-up{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.fade-up.in{opacity:1;transform:none}

.rows{border-top:1px solid var(--line)}
.row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:22px 4px;border-bottom:1px solid var(--line);transition:padding .35s var(--ease),background .3s}
.row:hover{padding-left:16px;background:rgba(176,78,42,.04)}
.row .t{font-family:var(--serif);font-weight:340;font-size:clamp(19px,2.2vw,24px)}
.row .tag{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);white-space:nowrap}

.card-glass{background:var(--glass);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border:1px solid var(--glass-border);border-radius:18px;padding:28px;transition:transform .45s var(--ease),box-shadow .45s}
.card-glass:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(88,60,40,.13)}

.section{padding:clamp(50px,8vh,90px) 0}
.section-band{background:linear-gradient(160deg,var(--paper-deep),#EAE0D2 55%,var(--paper-deep))}

footer{border-top:1px solid var(--line);padding:32px clamp(20px,4vw,44px);font-size:13px;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}
footer a:hover{color:var(--clay-deep)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .fade-up{opacity:1;transform:none}
}
