
/* =====================================================================
   Beland Ag Risk Services
   ---------------------------------------------------------------------
   Brand colours taken from the vector logo artwork, not sampled from an
   image, so these are the real values:

     GOLD  #D7A854   Pantone 1245 at 79%   CMYK C16 M33 Y82 K0
     GREY  #393536   CMYK K90
     RED   #D91E25   CMYK C0 M100 Y100 K10   (alternate lockup only)

   The brand gold is too light to carry text on white - 2.18:1, well under
   the 4.5:1 minimum - so darker steps of the same hue (38.5 deg) do that
   job. The true gold is kept for rules, accents and anything sitting on
   charcoal, where it reads at 5.54:1. Neutrals are warmed toward the gold
   rather than left a flat grey.

   Red is in the brand guide but belongs to an alternate lockup. It is
   defined here for deadline and warning callouts only - never as a second
   accent alongside the gold.
   ===================================================================== */

:root {
  --gold:        #d7a854;   /* brand exact - accents, rules, on charcoal */
  --gold-deep:   #bd892c;   /* borders, hover, large type */
  --gold-text:   #996f24;   /* links and small type on light - 4.51:1 */
  --gold-tint:   #f2efe8;   /* panel fill */
  --gold-wash:   #fbf8f2;   /* faintest wash */

  --charcoal:      #393536; /* brand exact - header, footer, dark surfaces */
  --charcoal-deep: #2b2828;
  --red:    #d91e25;        /* brand alternate - warnings and deadlines only */
  --ink:    #1f1e1f;
  --muted:  #6b6a6b;
  --faint:  #8d8b89;
  --line:   #e3ded4;
  --bg:     #ffffff;
  --soft:   #faf8f4;

  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
  --wrap:1080px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.6;
  color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}
a{color:var(--gold-text);}
a:hover{color:var(--charcoal);}

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

/* ---------- header ---------- */
.site-header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:50;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding-top:14px;padding-bottom:14px;}
.brand{display:block;text-decoration:none;line-height:0;flex:0 1 auto;min-width:0;}
.brand__logo{height:50px;width:auto;display:block;}
/* Shown only if the logo file is missing, so the header never collapses. */
.brand__fallback{font-family:var(--serif);font-size:20px;font-weight:700;
  color:var(--charcoal);letter-spacing:-0.01em;line-height:1.2;white-space:nowrap;}
.nav{display:flex;align-items:center;gap:22px;}
.nav a{font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;
  padding:4px 0;border-bottom:2px solid transparent;}
.nav a:hover{color:var(--gold-text);border-bottom-color:var(--gold);}
.nav a.is-current{color:var(--gold-text);border-bottom-color:var(--gold-deep);}
.nav__cta{background:var(--charcoal);color:#fff !important;padding:9px 16px !important;
  border-radius:4px;border-bottom:none !important;}
.nav__cta:hover{background:var(--charcoal-deep);border-bottom-color:transparent !important;}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:4px;
  padding:7px 11px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;font-family:inherit;}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--serif);color:var(--ink);line-height:1.2;margin:0 0 12px;text-wrap:balance;}
h1{font-size:40px;letter-spacing:-0.015em;}
h2{font-size:27px;}
h3{font-size:19px;}
p{margin:0 0 16px;}
.lede{font-size:18.5px;line-height:1.62;color:#38363a;max-width:66ch;}
.eyebrow{font-size:11.5px;text-transform:uppercase;letter-spacing:.13em;
  font-weight:700;color:var(--gold-text);margin:0 0 10px;}
.muted{color:var(--muted);}

/* ---------- sections ---------- */
.section{padding:60px 0;}
.section--soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section--tight{padding:44px 0;}
.section__head{max-width:680px;margin-bottom:30px;}

/* ---------- buttons ---------- */
.btn{display:inline-block;background:var(--charcoal);color:#fff;text-decoration:none;
  font-weight:600;font-size:15px;padding:13px 24px;border-radius:4px;
  border:1px solid var(--charcoal);cursor:pointer;font-family:inherit;transition:background .15s;}
.btn:hover{background:var(--charcoal-deep);color:#fff;}
.btn--ghost{background:#fff;color:var(--charcoal);border-color:var(--gold-deep);}
.btn--ghost:hover{background:var(--gold-tint);color:var(--charcoal);}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}

/* ---------- hero ---------- */
.hero{padding:76px 0 64px;border-bottom:1px solid var(--line);}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:start;}
.hero h1{font-size:46px;margin-bottom:18px;}
.hero__note{font-size:13.5px;color:var(--muted);margin-top:20px;}
.hero__panel{border:1px solid var(--gold-deep);border-top:3px solid var(--gold-deep);
  border-radius:5px;background:var(--gold-tint);padding:22px 24px;}
.hero__panel h3{font-size:17px;margin-bottom:8px;}
.hero__panel p{font-size:14.5px;margin-bottom:12px;}
.hero__panel .btn{font-size:14px;padding:10px 18px;}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
.card{border:1px solid var(--line);border-radius:5px;padding:22px 24px;background:#fff;
  display:flex;flex-direction:column;}
.card--accent{border-top:3px solid var(--gold);}
.card--accent-dark{border-top:3px solid var(--charcoal);}
.card h3{margin-bottom:7px;}
.card p{font-size:14.5px;color:#454345;margin-bottom:14px;}
.card__link{margin-top:auto;font-weight:600;font-size:14px;text-decoration:none;}
.card__link::after{content:" \2192";}

/* ---------- people ---------- */
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:8px;}
.person{border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:5px;padding:22px 24px;}
.person h3{margin-bottom:2px;}
.person__role{font-size:12px;text-transform:uppercase;letter-spacing:.09em;
  font-weight:700;color:var(--gold-text);margin:0 0 12px;}
.person p{font-size:14.5px;color:#454345;}
.person p:last-child{margin-bottom:0;}

/* ---------- tables ---------- */
.table-wrap{overflow-x:auto;margin:22px 0;}
table.data{width:100%;border-collapse:collapse;font-size:14.5px;min-width:480px;}
table.data th,table.data td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line);}
table.data thead th{font-size:11px;text-transform:uppercase;letter-spacing:.07em;
  color:var(--muted);font-weight:700;border-bottom:2px solid var(--gold-deep);}
table.data tbody tr:last-child td{border-bottom:0;}
table.data td strong{color:var(--gold-text);}

/* ---------- callout ---------- */
.callout{border-left:3px solid var(--gold-deep);background:var(--gold-tint);
  padding:16px 20px;border-radius:0 4px 4px 0;margin:24px 0;font-size:15px;}
.callout--dark{border-left-color:var(--charcoal);background:var(--soft);}
.callout p:last-child{margin-bottom:0;}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;margin:28px 0 0;}
.stat{border-left:3px solid var(--gold);padding:4px 0 4px 16px;}
.stat__value{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.1;}
.stat__label{font-size:13px;color:var(--muted);margin-top:3px;}

/* ---------- forms ---------- */
.form{max-width:560px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:5px;}
.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);
  border-radius:4px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;}
.field textarea{min-height:130px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--gold-deep);box-shadow:0 0 0 3px var(--gold-tint);}
.field__hint{font-size:12.5px;color:var(--muted);margin-top:4px;}
/* Honeypot - off-screen for bots, invisible and unfocusable for people. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
/* Inline form result, so nobody is bounced to another page to be told it worked. */
.form__status{margin:12px 0 0;padding:11px 14px;border-radius:4px;font-size:14.5px;
  font-weight:600;border-left:3px solid transparent;}
.form__status.is-ok{background:var(--gold-tint);border-left-color:var(--gold-deep);color:var(--ink);}
.form__status.is-bad{background:#fdf0ee;border-left-color:#b4442e;color:#7d2d1c;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* ---------- placeholder marker ---------- */
.todo{background:#fdf3d4;border-bottom:2px dotted var(--gold-deep);padding:0 3px;font-weight:600;}

/* ---------- footer ---------- */
.site-footer{background:var(--charcoal);color:#d6d2cc;padding:46px 0 30px;font-size:14px;}
.site-footer a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(211,171,94,.55);}
.site-footer a:hover{border-bottom-color:var(--gold);color:var(--gold);}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;margin-bottom:30px;}
.footer__brand{font-family:var(--serif);font-size:19px;color:#fff;margin-bottom:8px;}
/* Reversed lockup: its own block is painted the footer's grey, so it merges. */
.footer__logo{height:52px;width:auto;display:block;margin:0 0 14px -4px;}
.footer h4{font-family:var(--sans);font-size:11px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--gold);margin:0 0 10px;}
.footer__links{list-style:none;margin:0;padding:0;}
.footer__links li{margin-bottom:7px;}
.legal{border-top:1px solid #55535180;padding-top:20px;font-size:11.5px;line-height:1.65;color:#a9a5a0;}
.legal p{margin:0 0 9px;}
.legal strong{color:#d6d2cc;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:34px;}
  .footer__grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:720px){
  .nav-toggle{display:block;flex:0 0 auto;}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
    border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;
    gap:0;padding:8px 24px 16px;}
  .nav.is-open{display:flex;}
  .nav a{padding:11px 0;border-bottom:1px solid var(--line);}
  .nav__cta{text-align:center;margin-top:10px;}
  .site-header__inner{gap:12px;position:relative;}
  .brand__logo{height:38px;}
  h1,.hero h1{font-size:32px;}
  h2{font-size:23px;}
  .lede{font-size:17px;}
  .section{padding:44px 0;}
  .hero{padding:46px 0 42px;}
  .field-row{grid-template-columns:1fr;}
  .footer__grid{grid-template-columns:1fr;gap:24px;}
  .wrap{padding-inline:18px;}
}
