/* ===== Gonsoulin & Price — global styles ===== */
:root{
  --ink:#18332f;         /* deep green (logo) */
  --ink-soft:#385a53;
  --paper:#f8f6f2;       /* warm background */
  --card:#ffffff;
  --line:rgba(0,0,0,.08);
  --accent:#bd8c3a;      /* brass/gold accent */
  --max:1040px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}

.container{max-width:var(--max); margin:0 auto; padding:24px}

/* ===== Header / Nav ===== */
.site-header{
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.brand{
  display:flex; align-items:center; gap:14px;
}
.brand__logo{height:56px; width:auto; filter:drop-shadow(0 6px 18px rgba(0,0,0,.05))}
.brand__title{
  margin:0; line-height:1.05; font-size:1.1rem; letter-spacing:.06em; text-transform:uppercase;
}
.topbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.nav{display:flex; gap:18px; font-weight:600; font-size:.95rem}
.nav a{opacity:.9; padding:8px 2px; border-bottom:2px solid transparent}
.nav a:hover{opacity:1; color:var(--accent)}
/* active link via aria-current */
.nav a[aria-current="page"]{border-color:var(--ink); opacity:1}

/* ===== Hero ===== */
.hero{display:grid; place-items:center; text-align:center; padding:56px 20px 32px}
.hero__logo{width:min(360px,70vw)}
.hero__slogan{margin-top:16px; font-size:1.35rem; letter-spacing:.02em; font-weight:650}

/* ===== Buttons ===== */
.btn{
  display:inline-block; padding:12px 16px; border:2px solid var(--ink); border-radius:999px;
  font-weight:700; background:#fff;
  transition:.2s transform ease, .2s background ease, .2s color ease, .2s border-color ease;
}
.btn:hover{transform:translateY(-1px); border-color:var(--accent); color:#000}
.btn--solid{background:var(--ink); color:#fff}
.btn--solid:hover{background:var(--ink-soft); border-color:var(--ink-soft)}
.cta{margin-top:24px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center}

/* ===== Cards / Grid ===== */
.grid{display:grid; gap:18px; margin:32px auto 24px; grid-template-columns:repeat(12,1fr)}
.card{
  grid-column:span 12; background:var(--card); border:1px solid var(--line);
  border-radius:16px; padding:22px 20px; box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.card h3{margin:0 0 6px; font-size:1.1rem}
.card p{margin:0; opacity:.92}
.tag{display:inline-block; margin-top:6px; padding:4px 8px; border:1px solid rgba(0,0,0,.15); border-radius:999px; font-size:.82rem}

/* ===== Footer ===== */
.site-footer{border-top:1px solid var(--line); margin-top:40px}
.foot{display:flex; gap:12px; flex-wrap:wrap; align-items:center; justify-content:space-between; padding:18px 0; font-size:.95rem; opacity:.85}

/* ===== Responsive ===== */
@media (min-width:760px){
  .brand__logo{height:64px}
  .hero__slogan{font-size:1.6rem}
  .card{grid-column:span 6; padding:24px}
}
@media (min-width:1024px){
  .card{grid-column:span 4}
}
