/* 4 the Love of BC — shared site stylesheet */
:root{
  --forest:#1F3A2E;
  --forest-dark:#142823;
  --moss:#3F6149;
  --cream:#F5F1E8;
  --cream-warm:#EDE4D0;
  --ink:#1A1A1A;
  --ink-soft:#3a3a3a;
  --muted:#6a6a6a;
  --red:#DC3232;
  --gold:#C89B45;
  --hairline:rgba(31,58,46,0.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Source Serif Pro',Georgia,serif;
  font-size:18px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--forest);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--red)}
h1,h2,h3{font-family:'Lato',Helvetica,Arial,sans-serif;font-weight:900;letter-spacing:-0.5px;line-height:1.1;margin:0}
.container{max-width:1100px;margin:0 auto;padding:0 28px}

nav.top{
  position:sticky;top:0;z-index:50;
  background:var(--cream);
  border-bottom:1px solid var(--hairline);
  padding:16px 0;
}
nav.top .container{display:flex;align-items:center;justify-content:space-between;gap:24px}
nav.top .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--forest)}
nav.top .brand img{height:40px;width:auto}
nav.top .brand .mark{font-family:'Lato',sans-serif;font-weight:900;font-size:22px;letter-spacing:-0.5px}
nav.top .links{display:flex;gap:28px;align-items:center}
nav.top .links a{font-family:'Lato',sans-serif;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:1.2px;text-decoration:none}
nav.top .links a.support{background:var(--forest);color:var(--cream);padding:8px 16px;border-radius:2px}
nav.top .links a.support:hover{background:var(--red);color:var(--cream)}
@media(max-width:680px){
  nav.top .links a:not(.support){display:none}
}

.page-hero{
  background:var(--forest);
  color:var(--cream);
  padding:80px 0 70px;
  border-bottom:6px solid var(--red);
}
.page-hero .kicker{
  font-family:'Lato',sans-serif;font-weight:900;text-transform:uppercase;
  font-size:12px;letter-spacing:3px;color:var(--cream-warm);opacity:0.9;
  margin-bottom:18px;
}
.page-hero h1{font-size:54px;color:var(--cream)}
.page-hero .lede{font-size:20px;line-height:1.55;color:var(--cream-warm);max-width:720px;margin-top:24px}
@media(max-width:680px){
  .page-hero{padding:54px 0 46px}
  .page-hero h1{font-size:34px}
  .page-hero .lede{font-size:17px}
}

section{padding:72px 0;border-bottom:1px solid var(--hairline)}
section.alt{background:var(--cream-warm)}
section .eyebrow{font-family:'Lato',sans-serif;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:3px;color:var(--red);margin-bottom:14px}
section h2{font-size:36px;color:var(--forest);max-width:760px;margin-bottom:20px}
section .intro{font-size:18px;line-height:1.6;max-width:680px;color:var(--ink-soft);margin-bottom:40px}

.btn{
  display:inline-block;padding:14px 26px;border-radius:2px;
  font-family:'Lato',sans-serif;font-weight:900;text-transform:uppercase;font-size:14px;letter-spacing:1.5px;
  text-decoration:none;border:2px solid transparent;transition:all 0.15s ease;cursor:pointer;
}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:#a52525;color:#fff}
.btn-ghost{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn-ghost:hover{background:var(--forest);color:var(--cream)}

/* Forms */
form.cabin{max-width:660px;margin-top:8px}
form.cabin .field{margin-bottom:22px}
form.cabin label{display:block;font-family:'Lato',sans-serif;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:1.5px;color:var(--forest);margin-bottom:8px}
form.cabin .help{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.5}
form.cabin input[type=text],
form.cabin input[type=email],
form.cabin input[type=url],
form.cabin select,
form.cabin textarea{
  width:100%;padding:14px 16px;
  font-family:'Source Serif Pro',Georgia,serif;font-size:17px;
  background:#fff;
  border:1px solid var(--hairline);
  border-radius:2px;
  color:var(--ink);
}
form.cabin input:focus,
form.cabin select:focus,
form.cabin textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px rgba(31,58,46,0.10)}
form.cabin textarea{min-height:180px;resize:vertical;line-height:1.5}
form.cabin .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:540px){form.cabin .row{grid-template-columns:1fr}}
form.cabin .check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--ink-soft);font-family:'Source Serif Pro',Georgia,serif;font-weight:400;text-transform:none;letter-spacing:0}
form.cabin .check input{margin-top:5px;width:18px;height:18px;accent-color:var(--forest)}
form.cabin .submit{margin-top:8px}

.notice{
  background:#fff;
  border-left:4px solid var(--red);
  padding:18px 22px;
  margin:28px 0 36px;
  font-size:15px;line-height:1.6;color:var(--ink-soft);
}
.notice strong{color:var(--forest);font-family:'Lato',sans-serif;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:2px;display:block;margin-bottom:6px}

footer{background:var(--forest-dark);color:var(--cream-warm);padding:56px 0 40px}
footer .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
footer h4{font-family:'Lato',sans-serif;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:2px;color:var(--cream);margin-bottom:14px}
footer a{color:var(--cream-warm);text-decoration:none;display:block;padding:4px 0;font-size:15px}
footer a:hover{color:#fff;text-decoration:underline}
footer .colophon{font-size:14px;line-height:1.6;color:var(--cream-warm);opacity:0.8}
footer .legal{margin-top:40px;padding-top:24px;border-top:1px solid rgba(245,241,232,0.15);font-size:13px;opacity:0.7;text-align:center;grid-column:1/-1}
@media(max-width:680px){
  footer .container{grid-template-columns:1fr}
}
