
:root{
  --ink:#1a1a17;
  --paper:#f7f5f0;
  --stone:#e8e4da;
  --accent:#7a6a4f;
  --line:#d9d3c4;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:'Georgia', 'Times New Roman', serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
}
a{color:var(--ink);text-decoration:none;}
a:hover{color:var(--accent);}
header.site-header{
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:sticky;top:0;z-index:50;
}
.nav-wrap{
  max-width:1200px;margin:0 auto;padding:18px 28px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
}
.brand{
  font-size:1.15rem;letter-spacing:.14em;font-weight:700;
  text-transform:uppercase;
}
nav.main-nav ul{
  list-style:none;display:flex;flex-wrap:wrap;gap:22px;margin:0;padding:0;
  font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;
}
nav.main-nav a{opacity:.85;}
nav.main-nav a.active{border-bottom:2px solid var(--accent);opacity:1;}
.hero{
  background:linear-gradient(135deg,#2b2a25,#4b463b 60%,#7a6a4f);
  color:#f3efe4;
  padding:110px 28px 90px;
  text-align:center;
}
.hero h1{
  font-size:2.6rem;margin:0 0 14px;letter-spacing:.03em;
}
.hero p{
  max-width:640px;margin:0 auto;font-size:1.1rem;color:#e6dfd0;
}
.container{max-width:1100px;margin:0 auto;padding:60px 28px;}
.section-title{
  font-size:1.9rem;margin-bottom:8px;
}
.eyebrow{
  text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--accent);
  font-family:Arial,sans-serif;
}
.card-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:32px;margin-top:36px;
}
.card{
  background:#fff;border:1px solid var(--line);
}
.card .body{padding:22px 24px;}
.card h3{margin:0 0 6px;font-size:1.2rem;}
.card .tag{
  font-family:Arial,sans-serif;font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent);
}
.card p{margin:10px 0 0;font-size:.95rem;color:#42403a;}
.pull-quote{
  border-left:4px solid var(--accent);padding:6px 0 6px 24px;margin:36px 0;
  font-size:1.25rem;font-style:italic;color:#3a382f;
}
footer.site-footer{
  border-top:1px solid var(--line);
  background:#efeae0;margin-top:60px;
  font-family:Arial,sans-serif;
}
.footer-wrap{
  max-width:1200px;margin:0 auto;padding:40px 28px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;
  font-size:.85rem;color:#5a564a;
}
.footer-wrap a{color:#5a564a;}
.footer-links{display:flex;gap:18px;flex-wrap:wrap;}
form.contact-form{margin-top:30px;display:grid;gap:16px;max-width:560px;}
form.contact-form input,form.contact-form textarea{
  font-family:Arial,sans-serif;padding:12px 14px;border:1px solid var(--line);
  background:#fff;font-size:.95rem;
}
form.contact-form button{
  font-family:Arial,sans-serif;background:var(--ink);color:#fff;border:0;
  padding:14px 20px;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;
  cursor:pointer;width:fit-content;
}
.blog-post-meta{
  font-family:Arial,sans-serif;font-size:.82rem;color:var(--accent);
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:26px;
}
.blog-body h2{margin-top:38px;font-size:1.35rem;}
.blog-body h3{margin-top:28px;font-size:1.1rem;}
.blog-body ul{padding-left:22px;}
.blog-body p{margin:16px 0;}
.notice-box{
  background:#fff;border:1px solid var(--line);padding:22px 26px;font-size:.88rem;
  font-family:Arial,sans-serif;color:#4a473d;margin-top:30px;
}
.partner-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:24px;margin-top:30px;
}
.partner-grid .logo-box{
  background:#fff;border:1px solid var(--line);height:100px;
  display:flex;align-items:center;justify-content:center;
  font-family:Arial,sans-serif;font-size:.7rem;color:#8a8471;text-align:center;padding:10px;
}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
@media (max-width:800px){.two-col{grid-template-columns:1fr;}}
.img-placeholder{
  display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;
  background:var(--stone);border:1px dashed var(--accent);
}
.hero-image{
  display:block;width:100%;height:auto;max-height:420px;aspect-ratio:16/7;
  object-fit:cover;background:var(--stone);border:1px dashed #cfc7b4;
}
.portrait-image{
  display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;
  background:var(--stone);border:1px dashed var(--accent);
}
