:root{
  --ivory:#EDE5DC; --paper:#F4EFE7; --charcoal:#221E1A; --espresso:#2E2620; --black:#0F100F;
  --gold:#A8895C; --grey:#8A8075; --hair:#D8CFC2;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--charcoal);
  font-family:'Montserrat',-apple-system,"Helvetica Neue",Arial,sans-serif;
  font-weight:300;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.serif{font-family:'Playfair Display',Georgia,serif;}
.wrap{max-width:1000px;margin:0 auto;padding:0 36px;}
a{color:inherit;text-decoration:none;}

nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;
  padding:26px 38px;transition:background .4s ease,padding .4s ease,box-shadow .4s ease;}
nav.solid{background:rgba(244,239,231,.92);backdrop-filter:blur(8px);padding:15px 38px;box-shadow:0 1px 0 rgba(0,0,0,.06);}
nav .brand{font-family:'Playfair Display',serif;font-size:17px;letter-spacing:.24em;color:var(--charcoal);}
nav .links{display:flex;gap:34px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;}
nav .links a{color:var(--charcoal);opacity:.78;transition:opacity .2s,color .2s;}
nav .links a:hover{opacity:1;color:var(--gold);}
@media(max-width:700px){nav .links{display:none;}}

/* Inner-page header */
.subhero{padding:190px 28px 90px;text-align:center;
  background:radial-gradient(120% 100% at 50% 0%, #F8F3EB 0%, var(--paper) 60%);}
.subhero .est{display:flex;align-items:center;justify-content:center;gap:16px;font-size:10.5px;letter-spacing:.34em;color:var(--gold);margin-bottom:22px;}
.subhero .est .l{width:44px;height:1px;background:var(--gold);}
.subhero h1{font-family:'Playfair Display',serif;font-weight:400;font-size:52px;line-height:1.1;letter-spacing:-.01em;color:var(--charcoal);max-width:760px;margin:0 auto;}
.subhero .sub{font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--grey);margin-top:20px;}

section.block{padding:110px 0;}
.eyebrow{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
h2{font-family:'Playfair Display',serif;font-weight:400;font-size:38px;line-height:1.16;letter-spacing:-.01em;margin-bottom:24px;}
.lead{font-size:18px;color:#5a544c;max-width:620px;line-height:1.8;}
.lead+.lead{margin-top:18px;}
.center{text-align:center;}.center .lead{margin:0 auto;}

.dark{background:var(--charcoal);color:var(--ivory);}
.dark h2{color:var(--ivory);}.dark .lead{color:#cabfae;}.dark .eyebrow{color:var(--gold);}

.cols{display:grid;grid-template-columns:repeat(2,1fr);gap:34px;margin-top:48px;}
.cols .c{border-top:1px solid var(--hair);padding-top:22px;}
.dark .cols .c{border-top-color:rgba(168,137,92,.3);}
.cols .c h3{font-family:'Playfair Display',serif;font-weight:400;font-size:22px;margin-bottom:8px;}
.cols .c p{font-size:14px;color:var(--grey);}
.dark .cols .c p{color:#b3a896;}
@media(max-width:700px){.cols{grid-template-columns:1fr;}}

.btn{display:inline-block;margin-top:8px;background:var(--charcoal);color:var(--ivory);border:none;cursor:pointer;
  font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 44px;transition:background .3s;}
.btn:hover{background:var(--gold);}
.dark .btn{background:var(--gold);color:var(--charcoal);}.dark .btn:hover{background:var(--ivory);}

footer{background:var(--black);color:var(--ivory);text-align:center;padding:66px 28px 44px;}
footer .fw{font-family:'Playfair Display',serif;font-size:22px;letter-spacing:.22em;}
footer .est2{font-size:10px;letter-spacing:.32em;color:var(--gold);margin:10px 0 26px;}
footer .rhythm{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#bcb1a0;line-height:2.1;}
footer .links{margin:22px 0 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;}
footer .links a{color:#cabfae;margin:0 12px;}footer .links a:hover{color:var(--gold);}
footer .legal{font-size:10px;letter-spacing:.08em;color:#6f675c;margin-top:24px;}

.reveal{opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease;}
.reveal.in{opacity:1;transform:none;}
