:root{
  --bg:#f7f1e6;        /* cream */
  --panel: rgba(255,255,255,.86);
  --text:#111111;      /* near-black */
  --muted:#3a3328;     /* deep brown */
  --accent:#2f6b3f;    /* forest green */
  --accent2:#7a5b3a;   /* warm brown */
  --border: rgba(17,17,17,.14);
  --shadow: 0 10px 30px rgba(0,0,0,.14);
  --radius: 26px;      /* rounder corners */
  --max: 980px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Times New Roman", Times, serif;
  color:var(--text);
  background: var(--bg);
  line-height:1.55;
}

a{color:inherit}
.container{max-width:var(--max); margin:0 auto; padding: 0 20px;}
.nav{
  position:sticky; top:0; z-index:10;
  backdrop-filter: blur(10px);
  background: rgba(247,241,230,.78);
  border-bottom: 1px solid var(--border);
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}
.brand{font-weight:700; letter-spacing:.2px; text-decoration:none; display:flex; align-items:center; gap:12px; font-size:1.15rem;}
.brand span{color:var(--accent);}
.nav-links{display:flex; gap:14px; align-items:center;}
.nav-links a{
  text-decoration:none; color:var(--muted);
  padding:8px 10px; border-radius: 16px;
}
.nav-links a:hover{background: rgba(233,238,246,.06); color:var(--text);}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(233,238,246,.06);
  text-decoration:none;
  color:var(--text);
}
.btn:hover{border-color: rgba(111,143,90,.78); background: rgba(111,143,90,.16);}
.btn.primary{
  border-color: rgba(111,143,90,.78);
  background: rgba(111,143,90,.22);
}
.hero{
  min-height: 62vh;
  display:flex;
  align-items:flex-end;
  padding: 70px 0 34px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.75) 100%),
    url("assets/hero.jpg");
  background-size: cover;
  background-position: center;
}
.hero-card{
  width:100%;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 22px 22px 18px;
}
.kicker{color:var(--accent2); font-weight:600; letter-spacing:.25px; font-size:.95rem}
h1{margin:8px 0 10px; font-size: clamp(1.7rem, 3.2vw, 2.4rem); line-height:1.18;}
.lead{margin:0; color:var(--muted); max-width: 70ch;}
.actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;}
.section{padding: 34px 0;}
.grid{display:grid; gap:14px; grid-template-columns: repeat(12, 1fr);}
.card{
  grid-column: span 12;
  background: rgba(255,255,255,.70);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
}
.card h2{margin:0 0 10px; font-size:1.15rem}
.card p{margin:0; color:var(--muted)}
.list{margin:10px 0 0; padding-left: 18px; color:var(--muted)}
.list li{margin:6px 0}
.badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
.badge{
  font-size:.92rem;
  padding:7px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.70);
  color: var(--muted);
}
.footer{
  border-top: 1px solid var(--border);
  padding: 22px 0;
  color: var(--muted);
  font-size:.95rem;
}
.small{font-size:.92rem; color:var(--muted)}
.form{
  display:grid; gap:12px; max-width: 680px;
}
label{font-weight:600; color:var(--text); font-size:.95rem}
input, textarea{
  width:100%;
  padding: 11px 12px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(11,15,20,.55);
  color: var(--text);
}
textarea{min-height: 140px; resize: vertical;}
hr.sep{border:none; border-top:1px solid var(--border); margin:16px 0;}
@media (min-width: 820px){
  .card.span6{grid-column: span 6;}
  .card.span7{grid-column: span 7;}
  .card.span5{grid-column: span 5;}
}
/* Improve readability on photo hero */
.hero-card{
  background: rgba(0,0,0,.55);
  border-color: rgba(255,255,255,.20);
}
.hero .lead, .hero h1, .hero .small, .hero .kicker{ color: #fbf7ef; }

.brand-logo{
  width: 34px;
  height: 34px;
  object-fit: contain;
  border-radius: 10px;
}
@media (min-width: 820px){
  .brand{ font-size: 1.35rem; }
  .brand-logo{ width: 40px; height: 40px; }
}
