
:root{
  --charcoal:#242321;
  --ivory:#F5F1E9;
  --taupe:#B8ADA0;
  --olive:#5D6656;
  --brass:#A58B62;
  --white:#fffdf8;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ivory);color:var(--charcoal);
  font-family:Inter,Arial,sans-serif;line-height:1.55
}
h1,h2,h3,.serif{font-family:Lora,Georgia,serif;font-weight:400;line-height:1.08;margin:0}
a{text-decoration:none;color:inherit}
img{width:100%;display:block;object-fit:cover}
.container{max-width:var(--max);margin:auto;padding:0 28px}
.topbar{
  position:sticky;top:0;z-index:50;background:rgba(245,241,233,.96);
  backdrop-filter:blur(12px);border-bottom:1px solid rgba(36,35,33,.08)
}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:block;width:112px;line-height:0}
.logo img{height:auto;width:100%;filter:brightness(0) saturate(100%) invert(39%) sepia(8%) saturate(550%) hue-rotate(67deg) brightness(91%) contrast(86%)}
.menu{display:flex;gap:30px;align-items:center;font-family:Lora,Georgia,serif;font-size:15px}
.menu a{opacity:.82;padding:28px 0 21px;border-bottom:1px solid transparent}
.menu a:hover,.menu a.active{opacity:1;border-bottom-color:var(--charcoal)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 22px;border:1px solid currentColor;letter-spacing:2px;
  text-transform:uppercase;font-size:11px
}
.btn.dark{background:#263022;color:#fff;border-color:#263022}
.hero{
  min-height:610px;position:relative;color:#fff;display:flex;align-items:center;background-size:cover;background-position:center
}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,16,12,.78),rgba(20,16,12,.35) 48%,rgba(20,16,12,.08))}
.hero .inner{position:relative;z-index:1;max-width:610px;padding:84px 0}
.eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;margin-bottom:22px}
.hero h1{font-size:64px}
.hero p{font-family:Lora,Georgia,serif;font-size:20px;max-width:560px}
.section{padding:84px 0}
.section.white{background:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.card{padding:34px;border:1px solid rgba(36,35,33,.12);min-height:250px;background:rgba(255,255,255,.35)}
.icon{font-size:30px;color:var(--olive);margin-bottom:22px}
.card h3{font-size:24px;margin-bottom:12px}
.kicker{letter-spacing:4px;text-transform:uppercase;font-size:11px;margin-bottom:18px}
.big{font-size:52px}
.copy{font-size:17px;color:#4c4a46}
.imagebox{min-height:420px}
.imagebox img{height:100%;min-height:420px}
.statband{background:#efe9df;padding:32px 0}
.stat{text-align:center;padding:0 20px;border-right:1px solid rgba(36,35,33,.18)}
.stat:last-child{border-right:0}
.stat strong{font-family:Lora,Georgia,serif;font-size:30px;font-weight:400;display:block}
.steps{display:grid;grid-template-columns:80px 1fr;gap:0}
.stepnum{width:48px;height:48px;border-radius:50%;background:var(--olive);color:#fff;display:grid;place-items:center}
.step{padding:0 0 34px 18px;border-left:1px solid rgba(36,35,33,.2)}
.step h3{font-size:28px}
.quote{
  background:#4f4030;color:#fff;padding:64px;font-family:Lora,Georgia,serif;font-size:36px;font-style:italic
}
.formwrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
form{background:#f2ece3;padding:34px}
input,textarea,select{
  width:100%;padding:16px 14px;border:1px solid rgba(36,35,33,.12);background:#fffdf8;margin-bottom:14px;
  font:14px Inter,Arial,sans-serif
}
textarea{min-height:150px;resize:vertical}
.footer{background:#35312c;color:#e8e1d8;padding:42px 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.footer .logo{width:92px;opacity:.86}
.footer .logo img{filter:none}
.footer .serif{font-size:18px !important;opacity:.78}
.footer a{opacity:.85}
.note{font-size:12px;opacity:.7}
.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.post img{height:220px}
.post h3{font-size:25px;margin:14px 0 8px}
.script{font-family:cursive;font-size:32px}
@media(max-width:900px){
  .menu{display:none}
  .hero h1{font-size:48px}
  .grid2,.formwrap,.footer-grid{grid-template-columns:1fr}
  .grid3,.journal-grid{grid-template-columns:1fr}
  .grid5{grid-template-columns:1fr 1fr}
  .stat{border:0;border-bottom:1px solid rgba(36,35,33,.15);padding:20px}
}
