/* ===== SLADP — Unified Stylesheet ===== */

/* --- Base (design tokens and shared components) --- */
/* ===== SLADP — design tokens, derived from the project logo ===== */
:root{
  --orange:#F4901E;     /* sun arc — institutional strengthening */
  --green:#8DC63F;      /* livestock pasture — dairy & meat */
  --forest:#00A651;     /* coastline — aquaculture & fisheries */
  --navy:#1B6FB3;       /* SLADP wordmark — primary brand */
  --sky:#3FB6E8;         /* wave crest — climate / water */
  --ink:#21201D;
  --slate:#5B5C5E;
  --cream:#FBF9F4;
  --white:#FFFFFF;
  --line:#E6E1D3;
  --navy-deep:#0F4C81;
  --shadow: 0 10px 30px -12px rgba(15,76,129,.18);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Work Sans', Arial, sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--navy);
  font-weight:600;
}
h1,h2,h3,h4{
  font-family:'Source Serif 4', Georgia, serif;
  margin:0;
  color:var(--ink);
  font-weight:700;
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.2rem,4.2vw,3.6rem);line-height:1.06;}
h2{font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.15;}
h3{font-size:1.25rem;line-height:1.3;}
p{margin:0 0 1em 0;}
.lede{font-size:1.1rem;color:var(--slate);}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
.section{padding:76px 0;}
.section--tight{padding:48px 0;}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,249,244,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 28px;max-width:1180px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:48px;width:48px;object-fit:contain;}
.brand-text{display:flex;flex-direction:column;line-height:1.15;}
.brand-text strong{font-family:'Source Serif 4',serif;font-size:1.18rem;color:var(--navy-deep);}
.brand-text span{font-size:.68rem;color:var(--slate);letter-spacing:.02em;}
nav.main-nav{display:flex;gap:30px;align-items:center;}
nav.main-nav a{
  font-size:.92rem;font-weight:600;color:var(--ink);position:relative;padding:6px 0;
}
nav.main-nav a.active{color:var(--navy);}
nav.main-nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--navy);
  transition:width .2s ease;
}
nav.main-nav a:hover::after,nav.main-nav a.active::after{width:100%;}
.nav-cta{
  background:var(--navy);color:#fff !important;padding:9px 18px;border-radius:3px;
  font-size:.85rem;
}
.nav-cta:hover{background:var(--navy-deep);}
.burger{display:none;background:none;border:0;cursor:pointer;}

/* ---------- wave divider (signature motif) ---------- */
.wave-divider{display:block;width:100%;line-height:0;}
.wave-divider svg{width:100%;height:auto;display:block;}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,#FFF6E9 0%, #FBF9F4 65%);
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  padding:64px 0 30px;
}
.hero-tag{
  display:inline-flex;gap:10px;align-items:center;margin-bottom:18px;
}
.dot-row{display:flex;gap:5px;}
.dot{width:7px;height:7px;border-radius:50%;}
.hero h1{margin-bottom:18px;}
.hero h1 em{font-style:normal;color:var(--navy);}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:3px;
  font-weight:600;font-size:.92rem;border:1.5px solid transparent;cursor:pointer;
}
.btn-primary{background:var(--navy);color:#fff;}
.btn-primary:hover{background:var(--navy-deep);}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-ghost:hover{background:var(--ink);color:#fff;}
.hero-art{position:relative;}

/* ---------- stat band ---------- */
.stat-band{
  background:var(--navy-deep);
  color:#fff;
  position:relative;
}
.stat-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
}
.stat{
  padding:38px 26px;border-left:1px solid rgba(255,255,255,.14);
}
.stat:first-child{border-left:none;}
.stat .num{
  font-family:'IBM Plex Mono',monospace;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:600;
  display:block;color:#fff;
}
.stat .lbl{font-size:.84rem;color:#C9DCEC;margin-top:6px;display:block;}

/* ---------- cards / components ---------- */
.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.pillar-card{
  background:#fff;border-radius:4px;padding:32px;border:1px solid var(--line);
  border-left:5px solid var(--navy);box-shadow:var(--shadow);
}
.pillar-card.c2{border-left-color:var(--forest);}
.pillar-card .tag{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;color:var(--slate);text-transform:uppercase;}
.pillar-card h3{margin:8px 0 12px;}

.group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px;}
.group-tile{
  border-radius:4px;padding:26px 20px;color:#fff;position:relative;overflow:hidden;
}
.group-tile .num{font-family:'IBM Plex Mono',monospace;font-size:2.1rem;font-weight:700;display:block;}
.group-tile .lbl{font-size:.86rem;opacity:.94;}
.group-tile.t1{background:var(--green);}
.group-tile.t2{background:var(--forest);}
.group-tile.t3{background:var(--sky);}
.group-tile.t4{background:var(--orange);}

.icon-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px;}
.icon-item{
  background:#fff;border:1px solid var(--line);border-radius:4px;padding:24px;
}
.icon-item svg{width:30px;height:30px;margin-bottom:14px;color:var(--navy);}
.icon-item h4{font-family:'Work Sans',sans-serif;font-weight:700;font-size:1rem;margin-bottom:6px;}
.icon-item p{font-size:.9rem;color:var(--slate);margin:0;}

.quicklinks{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.qlink{
  background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px 22px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.qlink:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.qlink .qtag{width:34px;height:5px;border-radius:3px;margin-bottom:16px;}
.qlink h4{font-family:'Source Serif 4',serif;font-size:1.08rem;margin-bottom:6px;}
.qlink p{font-size:.86rem;color:var(--slate);margin:0;}

/* ---------- footer (old — replaced by gh-footer) ---------- */
.footer-grid,.footer-brand,.footer-bottom{display:none !important;}

/* ---------- generic page header (sub-pages) ---------- */
.page-hero{
  background:linear-gradient(135deg,#0F4C81 0%, #1B6FB3 60%, #3FB6E8 100%);
  color:#fff;padding:74px 0 70px;
}
.page-hero .eyebrow{color:#BEE0F6;}
.page-hero h1{color:#fff;}
.page-hero p{color:#E4F0FA;max-width:640px;}

.table-wrap{overflow-x:auto;}
table.wb-table{width:100%;border-collapse:collapse;background:#fff;}
table.wb-table th, table.wb-table td{
  text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:.92rem;
}
table.wb-table th{
  background:var(--cream);font-family:'IBM Plex Mono',monospace;font-size:.74rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--navy-deep);
}

.timeline{position:relative;margin-top:36px;padding-left:28px;border-left:2px solid var(--line);}
.tl-item{position:relative;margin-bottom:30px;}
.tl-item::before{
  content:"";position:absolute;left:-35px;top:4px;width:12px;height:12px;border-radius:50%;
  background:var(--navy);border:3px solid var(--cream);
}
.tl-item .tl-date{font-family:'IBM Plex Mono',monospace;font-size:.78rem;color:var(--navy);}

.callout{
  background:#FFF6E9;border:1px solid #F4DEB3;border-radius:4px;padding:22px 24px;
  font-size:.92rem;color:#6B4A14;
}
.callout strong{color:#4A3209;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.badge{
  display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.72rem;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:3px;
  background:rgba(255,255,255,.16);color:#fff;
}

.job-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px;margin-bottom:16px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.job-card .meta{font-family:'IBM Plex Mono',monospace;font-size:.74rem;color:var(--slate);margin-top:6px;}
.pill{font-size:.74rem;font-weight:600;padding:4px 10px;border-radius:20px;background:var(--cream);border:1px solid var(--line);color:var(--navy-deep);}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;}
.step{background:#fff;border:1px solid var(--line);border-radius:4px;padding:22px;}
.step .stepnum{font-family:'IBM Plex Mono',monospace;color:var(--navy);font-weight:700;font-size:.85rem;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:4px;padding:28px;margin-bottom:18px;}
.contact-card .ctitle{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:10px;display:block;}
.contact-card a{color:var(--navy-deep);font-weight:600;}
.map-wrap{border-radius:4px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);}
.map-wrap iframe{width:100%;height:340px;border:0;display:block;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-grid .full{grid-column:1/-1;}
.form-grid label{font-size:.82rem;font-weight:600;display:block;margin-bottom:6px;color:var(--ink);}
.form-grid input, .form-grid select, .form-grid textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:3px;
  font-family:'Work Sans';font-size:.92rem;background:#fff;
}
.form-grid textarea{resize:vertical;min-height:110px;}

@media (max-width:900px){
  nav.main-nav{display:none;}
  .burger{display:block;}
  .hero-grid, .pillars, .split, .contact-grid, .form-grid{grid-template-columns:1fr;}
  .stat-grid, .group-grid, .icon-list, .quicklinks, .steps{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .stat{border-left:none;border-top:1px solid rgba(255,255,255,.14);}
  .stat:first-child{border-top:none;}
}
@media (max-width:540px){
  .stat-grid,.group-grid,.icon-list,.quicklinks,.steps,.footer-grid{grid-template-columns:1fr;}
}


/* --- Homepage (hero slider and corporate enhancements) --- */
/* ══════════════════════════════════════════════
   CORPORATE HOMEPAGE ENHANCEMENTS
   ══════════════════════════════════════════════ */

/* — Header upgrade — */
.site-header {
  background: #fff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 6px rgba(5,26,46,.07) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
.brand strong {
  font-size: 1.05rem !important;
  letter-spacing: .02em !important;
  color: #051a2e !important;
}
.main-nav a {
  font-size: .875rem !important;
  letter-spacing: .03em !important;
  font-weight: 500 !important;
  color: #374151 !important;
  text-decoration: none !important;
  padding: 6px 10px !important;
  border-radius: 5px !important;
  transition: background .18s, color .18s !important;
}
.main-nav a:hover, .main-nav a.active {
  color: #051a2e !important;
  background: rgba(5,26,46,.06) !important;
}
.nav-cta {
  background: #051a2e !important;
  color: #fff !important;
  padding: 8px 18px !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
}
.nav-cta:hover {
  background: #0a2d4e !important;
  color: #fff !important;
}

/* — Stat band corporate upgrade — */
.stat-band {
  background: linear-gradient(135deg, #051a2e 0%, #0a2d4e 60%, #0d3d6e 100%) !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 56px 0 !important;
  position: relative;
  overflow: hidden;
}
.stat-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.stat-band .stat-grid {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
}
.stat-band .stat {
  padding: 28px 32px !important;
  border-right: 1px solid rgba(255,255,255,.1) !important;
  text-align: center !important;
}
.stat-band .stat:last-child { border-right: none !important; }
.stat-band .num {
  display: block;
  font-family: 'Source Serif 4', serif !important;
  font-size: 2.6rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
  letter-spacing: -.01em;
}
.stat-band .lbl {
  font-family: 'Work Sans', sans-serif !important;
  font-size: .78rem !important;
  color: rgba(255,255,255,.6) !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  font-weight: 500 !important;
}

/* — Section headings — */
.section h2, section h2 {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(1.55rem, 2.4vw, 2.1rem);
  color: #051a2e;
  font-weight: 700;
  line-height: 1.22;
}

/* — Eyebrow tag — */
.eyebrow {
  display: inline-block;
  font-family: 'Work Sans', sans-serif;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #F4901E;
  padding: 4px 10px;
  background: rgba(244,144,30,.09);
  border-radius: 4px;
  border-left: 3px solid #F4901E;
}

/* — Pillar cards — */
.pillar-card {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 36px 32px !important;
  box-shadow: 0 2px 12px rgba(5,26,46,.06) !important;
  transition: box-shadow .22s, transform .22s !important;
  position: relative;
  overflow: hidden;
}
.pillar-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: #F4901E;
}
.pillar-card.c2::before { background: #3FB6E8; }
.pillar-card:hover {
  box-shadow: 0 8px 32px rgba(5,26,46,.12) !important;
  transform: translateY(-3px) !important;
}
.pillar-card .tag {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #F4901E;
  background: rgba(244,144,30,.09);
  padding: 3px 8px;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 16px;
}
.pillar-card.c2 .tag { color: #3FB6E8; background: rgba(63,182,232,.1); }
.pillar-card h3 {
  font-family: 'Source Serif 4', serif;
  font-size: 1.25rem;
  color: #051a2e;
  margin: 0 0 12px;
  font-weight: 700;
}
.pillar-card p { color: #4b5563; font-size: .92rem; line-height: 1.7; }

/* — Group tiles — */
.group-tile {
  border-radius: 10px !important;
  padding: 28px 24px !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,.12) !important;
  transition: transform .2s, box-shadow .2s !important;
}
.group-tile:hover { transform: translateY(-3px) !important; box-shadow: 0 8px 28px rgba(0,0,0,.18) !important; }
.group-tile .num {
  font-size: 2.4rem !important;
  font-family: 'Source Serif 4', serif !important;
  font-weight: 700 !important;
}
.group-tile .lbl {
  font-size: .82rem !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  opacity: .85 !important;
}

/* — Icon items — */
.icon-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 28px 24px;
  transition: box-shadow .2s, transform .2s;
}
.icon-item:hover {
  box-shadow: 0 6px 24px rgba(5,26,46,.1);
  transform: translateY(-2px);
}
.icon-item svg {
  color: #3FB6E8;
  width: 36px !important;
  height: 36px !important;
  margin-bottom: 14px;
}
.icon-item h4 {
  font-family: 'Source Serif 4', serif;
  font-size: 1rem;
  font-weight: 700;
  color: #051a2e;
  margin: 0 0 8px;
}
.icon-item p { font-size: .875rem; color: #6b7280; line-height: 1.6; margin: 0; }

/* — Quicklinks — */
.qlink {
  border: 1px solid #e2e8f0 !important;
  border-radius: 10px !important;
  padding: 28px 26px !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(5,26,46,.05) !important;
  transition: box-shadow .22s, transform .22s, border-color .22s !important;
  display: block;
  text-decoration: none;
}
.qlink:hover {
  box-shadow: 0 8px 28px rgba(5,26,46,.11) !important;
  transform: translateY(-3px) !important;
  border-color: #d1d5db !important;
}
.qlink h4 {
  font-family: 'Source Serif 4', serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #051a2e;
  margin: 12px 0 6px;
}
.qlink p { font-size: .875rem; color: #6b7280; margin: 0; line-height: 1.55; }
.qtag {
  display: block !important;
  width: 32px !important;
  height: 4px !important;
  border-radius: 3px !important;
  margin-bottom: 4px !important;
}

/* — About split section — */
.split { gap: 60px !important; align-items: flex-start !important; }
.split > div:first-child h2 { font-size: clamp(1.4rem, 2.2vw, 1.9rem); }
.split p { color: #4b5563; line-height: 1.78; font-size: .96rem; }

/* — Footer: old rules removed, gh-footer handles everything — */
.gh-footer { background: #1B4D2E !important; border-top: 4px solid #E8852A !important; }

/* — General section spacing — */
.section { padding: 72px 0 !important; }
.section--tight { padding: 56px 0 !important; }

/* ── Slider shell ── */
.hero-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #051a2e;
}

/* ── Slides ── */
.hs-track {
  display: flex;
  transition: transform .75s cubic-bezier(.77,0,.175,1);
  will-change: transform;
}

.hs-slide {
  position: relative;
  flex: 0 0 100%;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Background image per slide */
.hs-slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition: transform 7s linear;
  z-index: 0;
}
.hs-slide.active .hs-slide-bg { transform: scale(1); }

/* Dark gradient overlay so text is always readable */
.hs-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(5,26,46,.82) 0%,
    rgba(5,26,46,.55) 55%,
    rgba(5,26,46,.18) 100%
  );
  z-index: 1;
}

/* ── Content ── */
.hs-content {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  margin: 0 auto;
  padding: 80px 40px 100px;
  width: 100%;
}

.hs-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s .15s, transform .55s .15s;
}
.hs-slide.active .hs-eyebrow { opacity: 1; transform: none; }

.hs-dot-row { display: flex; gap: 5px; }
.hs-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

.hs-label {
  font-family: 'Work Sans', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: .13em; text-transform: uppercase;
  color: rgba(255,255,255,.70);
}

.hs-content h1 {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(1.9rem, 3.4vw, 2.9rem);
  font-weight: 700;
  line-height: 1.18;
  color: #fff;
  max-width: 640px;
  margin: 0 0 20px;
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s .28s, transform .6s .28s;
}
.hs-slide.active .hs-content h1 { opacity: 1; transform: none; }

.hs-content h1 em { font-style: italic; color: #3FB6E8; }

.hs-lede {
  font-family: 'Work Sans', sans-serif;
  font-size: 1rem;
  line-height: 1.72;
  color: rgba(255,255,255,.78);
  max-width: 560px;
  margin: 0 0 32px;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s .40s, transform .6s .40s;
}
.hs-slide.active .hs-lede { opacity: 1; transform: none; }

.hs-actions {
  display: flex; gap: 12px; flex-wrap: wrap;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .55s .52s, transform .55s .52s;
}
.hs-slide.active .hs-actions { opacity: 1; transform: none; }

.hs-btn-primary {
  background: #F4901E; color: #fff;
  padding: 12px 26px; border-radius: 7px;
  font-family: 'Work Sans', sans-serif; font-size: .9rem; font-weight: 600;
  text-decoration: none; transition: background .2s, transform .15s;
  box-shadow: 0 4px 18px rgba(244,144,30,.38);
}
.hs-btn-primary:hover { background: #d97a10; transform: translateY(-1px); }

.hs-btn-ghost {
  background: transparent; color: #fff;
  border: 1.5px solid rgba(255,255,255,.45);
  padding: 12px 26px; border-radius: 7px;
  font-family: 'Work Sans', sans-serif; font-size: .9rem; font-weight: 600;
  text-decoration: none; transition: border-color .2s, background .2s, transform .15s;
}
.hs-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); transform: translateY(-1px); }

/* ── Prev / Next arrows ── */
.hs-arrow {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  z-index: 10;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.22);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
  backdrop-filter: blur(6px);
}
.hs-arrow:hover { background: rgba(255,255,255,.25); border-color: rgba(255,255,255,.55); transform: translateY(-50%) scale(1.08); }
.hs-arrow svg { width: 20px; height: 20px; }
.hs-prev { left: 22px; }
.hs-next { right: 22px; }

/* ── Dot indicators ── */
.hs-dots {
  position: absolute;
  bottom: 72px; left: 50%; transform: translateX(-50%);
  z-index: 10;
  display: flex; gap: 8px;
}
.hs-pip {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,.35);
  border: 1.5px solid rgba(255,255,255,.5);
  cursor: pointer;
  transition: background .3s, transform .3s, width .3s;
}
.hs-pip.active {
  background: #F4901E;
  border-color: #F4901E;
  width: 28px;
  border-radius: 4px;
}

/* ── Progress bar ── */
.hs-progress {
  position: absolute;
  bottom: 0; left: 0;
  height: 3px;
  background: linear-gradient(90deg, #3FB6E8, #8DC63F);
  width: 0%;
  z-index: 10;
  transition: width linear;
}

/* ── Slide counter ── */
.hs-counter {
  position: absolute;
  bottom: 62px; right: 40px;
  z-index: 10;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px; font-weight: 500;
  color: rgba(255,255,255,.55);
  letter-spacing: .08em;
}

/* ── Wave divider ── */
.hs-wave {
  position: relative; z-index: 2;
  margin-top: -2px;
  line-height: 0;
}
.hs-wave svg { display: block; width: 100%; }

/* ── Responsive ── */
@media (max-width: 640px) {
  .hs-slide { min-height: 440px; }
  .hs-content { padding: 60px 24px 90px; }
  .hs-arrow { display: none; }
  .hs-counter { right: 20px; }
}

/* --- About page --- */
/* ── Page-specific additions (uses same CSS variables as style.css / procurement.html) ── */

/* Hero badge — matches stamp-badge style from procurement */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--forest);
  border: 1.5px solid var(--forest);
  border-radius: 30px;
  padding: 7px 16px 7px 12px;
  background: rgba(42,92,69,0.06);
}
.badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orange);
  flex-shrink: 0;
}

/* Page hero text */
.page-hero h1 {
  font-family: 'Source Serif 4', serif;
  font-size: clamp(34px, 4.6vw, 50px);
  line-height: 1.08;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.01em;
  max-width: 760px;
}
.page-hero p {
  font-size: 16.5px;
  color: var(--slate);
  max-width: 600px;
}

/* Icon / metric list */
.icon-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.icon-item {
  background: #fff;
  padding: 26px 24px;
}
.icon-item h4 {
  font-family: 'Source Serif 4', serif;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
}
.icon-item p {
  font-size: 13.5px;
  color: var(--slate);
  margin: 0;
  line-height: 1.55;
}
@media (max-width: 700px) { .icon-list { grid-template-columns: 1fr; } }

/* Pillar cards */
.pillars {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.pillar-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 28px 26px;
  box-shadow: 0 2px 14px rgba(27,42,74,0.05);
}
.pillar-card .tag {
  display: inline-block;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--orange);
  background: rgba(216,94,42,0.08);
  border-radius: 3px;
  padding: 3px 8px;
  margin-bottom: 12px;
}
.pillar-card.c2 .tag {
  color: var(--forest);
  background: rgba(42,92,69,0.08);
}
.pillar-card h3 {
  font-family: 'Source Serif 4', serif;
  font-size: 19px;
  font-weight: 700;
  color: var(--navy);
  margin: 0 0 12px;
}
.pillar-card p {
  font-size: 14px;
  color: var(--slate);
  line-height: 1.65;
  margin: 0;
}
@media (max-width: 700px) { .pillars { grid-template-columns: 1fr; } }

/* Financing table */
.table-wrap { overflow-x: auto; }
.wb-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.wb-table thead tr {
  background: var(--navy);
  color: #fff;
}
.wb-table th {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 12px 16px;
  text-align: left;
}
.wb-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--slate);
}
.wb-table tbody tr:last-child td {
  border-bottom: none;
  color: var(--navy);
  background: #F3EFE3;
}
.wb-table tbody tr:hover td { background: #F9F7F1; }

/* ── Professional Timeline ── */
.section-timeline-pro { background: #FBF9F4; }
.tl-pro { display: flex; flex-direction: column; gap: 0; }

.tl-pro-item {
  display: grid;
  grid-template-columns: 110px 32px 1fr;
  gap: 0 20px;
  position: relative;
}

.tl-pro-left {
  text-align: right;
  padding-top: 4px;
  padding-bottom: 48px;
}
.tl-pro-year {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--navy);
  line-height: 1;
  white-space: nowrap;
}
.tl-pro-year-end {
  font-size: .75rem;
  font-weight: 500;
  color: var(--slate);
  display: block;
  margin-top: 2px;
}
.tl-pro-month {
  font-family: 'Work Sans', sans-serif;
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--slate);
  margin-top: 5px;
}

.tl-pro-connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 6px;
}
.tl-pro-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--navy);
  flex-shrink: 0;
  z-index: 1;
}
.tl-pro-dot--active {
  background: var(--orange);
  border-color: var(--orange);
  box-shadow: 0 0 0 4px rgba(216,94,42,.15);
  width: 14px;
  height: 14px;
}
.tl-pro-line {
  width: 1px;
  flex: 1;
  background: linear-gradient(to bottom, var(--navy) 0%, rgba(27,42,74,.15) 100%);
  margin-top: 6px;
}

.tl-pro-right { padding-top: 0; padding-bottom: 48px; }
.tl-pro-tag {
  display: inline-block;
  font-family: 'IBM Plex Mono', monospace;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--forest);
  background: rgba(42,92,69,.09);
  border-radius: 3px;
  padding: 2px 8px;
  margin-bottom: 8px;
}
.tl-pro-tag--active {
  color: var(--orange);
  background: rgba(216,94,42,.09);
}
.tl-pro-title {
  font-family: 'Source Serif 4', serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--navy);
  margin: 0 0 8px;
  line-height: 1.3;
}
.tl-pro-body {
  font-family: 'Work Sans', sans-serif;
  font-size: .875rem;
  color: var(--slate);
  line-height: 1.65;
  margin: 0;
}

.tl-pro-progress-wrap { margin-top: 16px; }
.tl-pro-progress-label {
  display: flex;
  justify-content: space-between;
  font-family: 'IBM Plex Mono', monospace;
  font-size: .68rem;
  color: var(--slate);
  margin-bottom: 6px;
}
.tl-pro-progress-bar {
  height: 4px;
  background: rgba(27,42,74,.12);
  border-radius: 2px;
  overflow: hidden;
  max-width: 320px;
}
.tl-pro-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--orange), var(--forest));
  border-radius: 2px;
  width: 0%;
  transition: width 1.2s cubic-bezier(.4,0,.2,1);
}

.tl-pro-item--active .tl-pro-right {
  background: #fff;
  border: 1px solid rgba(216,94,42,.18);
  border-radius: 8px;
  padding: 18px 20px 20px;
  margin-bottom: 0;
}
.tl-pro-item--active .tl-pro-left { padding-bottom: 0; }

@media (max-width: 600px) {
  .tl-pro-item { grid-template-columns: 72px 24px 1fr; gap: 0 12px; }
  .tl-pro-year { font-size: .88rem; }
}

/* --- Sub-pages: Procurement, Careers, Contact (pine theme) --- */
/* ============ Tokens ============ */
  :root{
    --paper:#FBF9F4;
    --paper-deep:#F3EFE3;
    --ink:#1B1B16;
    --pine:#1F3A2E;
    --pine-deep:#15281F;
    --pine-soft:#2E4A3F;
    --clay:#C75D2C;
    --clay-soft:#E7D9CC;
    --slate:#6B6356;
    --line:#E3DCC9;
    --line-strong:#CDC2A4;
    --white:#FFFFFF;
    --serif:'Source Serif 4', Georgia, serif;
    --sans:'Work Sans', -apple-system, sans-serif;
    --mono:'IBM Plex Mono', monospace;
    --shadow: 0 2px 14px rgba(31,58,46,0.06);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;background:var(--paper);color:var(--ink);
    font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.55;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .container{max-width:1180px;margin:0 auto;padding:0 28px;}
  :focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:3px;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; transition-duration:0.001ms !important;}
  }

  /* ============ Header ============ */
  .site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
  .header-inner{max-width:1180px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
  .brand{display:flex;align-items:center;gap:13px;}
  .brand img{width:46px;height:46px;border-radius:8px;object-fit:cover;border:1px solid var(--line-strong);background:var(--white);}
  .logo-mark{width:46px;height:46px;border-radius:8px;background:var(--pine);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
  .brand-text strong{font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:0.02em;color:var(--pine-deep);display:block;}
  .brand-text span{font-size:11.5px;color:var(--slate);display:block;margin-top:1px;max-width:260px;line-height:1.3;}
  .main-nav{display:flex;align-items:center;gap:30px;}
  .main-nav a{font-size:14.5px;font-weight:500;color:var(--pine-deep);padding:6px 2px;border-bottom:2px solid transparent;transition:border-color .15s ease, color .15s ease;}
  .main-nav a:hover{border-color:var(--line-strong);}
  .main-nav a.active{color:var(--clay);border-color:var(--clay);font-weight:600;}
  .main-nav a.nav-cta.active{color:var(--clay);border-color:var(--clay);font-weight:600;}

  /* ============ Breadcrumb / hero ============ */
  .crumb-bar{background:var(--paper-deep);border-bottom:1px solid var(--line);}
  .crumb-row{display:flex;align-items:center;gap:9px;padding:13px 28px;font-family:var(--mono);font-size:12.5px;letter-spacing:0.01em;color:var(--slate);flex-wrap:wrap;}
  .crumb-row a{color:var(--pine-soft);transition:color .15s ease;display:inline-flex;align-items:center;gap:4px;}
  .crumb-row a:hover{color:var(--clay);}
  .crumb-row a:hover svg{color:var(--clay);}
  .crumb-sep{color:var(--line-strong);}
  .crumb-row .crumb-current{color:var(--clay);font-weight:600;display:inline-flex;align-items:center;gap:6px;}
  .crumb-icon{flex-shrink:0;color:var(--pine-soft);transition:color .15s ease;}
  .crumb-current .crumb-icon{color:var(--clay);}
  .crumb-icon + .crumb-icon{margin-left:1px;}

  .page-hero{
    position:relative;
    background:radial-gradient(820px 420px at 88% -10%, rgba(199,93,44,0.07), transparent 60%), var(--paper);
    padding:64px 0 8px;overflow:hidden;
  }
  .hero-grid{display:grid;grid-template-columns:1.3fr 0.9fr;gap:48px;align-items:end;}
  .stamp-badge{
    display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11.5px;font-weight:600;
    letter-spacing:0.09em;text-transform:uppercase;color:var(--pine);border:1.5px solid var(--pine);
    border-radius:30px;padding:7px 16px 7px 12px;background:rgba(31,58,46,0.04);
  }
  .stamp-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--clay);flex-shrink:0;}
  .page-hero h1{
    font-family:var(--serif);font-size:clamp(34px, 4.6vw, 50px);line-height:1.08;font-weight:700;
    color:var(--pine-deep);margin:22px 0 16px;letter-spacing:-0.01em;max-width:660px;
  }
  .page-hero .lede{font-size:16.5px;color:var(--slate);max-width:540px;margin:0;}
  .hero-aside{border-left:1px solid var(--line-strong);padding-left:28px;}
  .hero-aside .aside-label{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--clay);font-weight:600;margin-bottom:10px;display:block;}
  .hero-aside .quick-line{display:flex;justify-content:space-between;font-size:13.5px;padding:9px 0;border-top:1px solid var(--line);}
  .hero-aside .quick-line:first-of-type{border-top:none;}
  .hero-aside .quick-line span:first-child{color:var(--slate);}
  .hero-aside .quick-line a{font-weight:600;color:var(--pine-deep);}
  .hero-aside .quick-line a:hover{color:var(--clay);}

  .wave-divider{margin-top:-2px;line-height:0;}
  .wave-divider svg{width:100%;height:34px;display:block;}

  /* ============ Sections / shared ============ */
  .section{padding:64px 0;}
  .section--tight{padding:32px 0;}
  .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.09em;text-transform:uppercase;color:var(--clay);font-weight:600;}

  .split{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:start;}
  .split h2{font-family:var(--serif);font-size:27px;font-weight:700;color:var(--pine-deep);max-width:340px;margin-top:0;}
  .split p{color:var(--slate);font-size:15px;margin:0 0 16px;}
  .split p:last-child{margin-bottom:0;}
  @media (max-width:820px){.split{grid-template-columns:1fr;gap:20px;}}

  .directory-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:6px;flex-wrap:wrap;}
  .directory-head h2{font-family:var(--serif);font-size:27px;font-weight:700;color:var(--pine-deep);margin:0;}
  .directory-head .ref{font-family:var(--mono);font-size:12px;color:var(--slate);letter-spacing:0.03em;}
  .directory-sub{color:var(--slate);font-size:14.5px;margin:8px 0 30px;max-width:640px;}

  /* ============ Category grid ============ */
  .cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .cat-item{background:var(--white);padding:26px 24px;}
  .cat-icon{
    width:38px;height:38px;border-radius:8px;background:var(--paper-deep);
    display:flex;align-items:center;justify-content:center;color:var(--pine);margin-bottom:16px;
  }
  .cat-item h4{font-family:var(--serif);font-size:16.5px;font-weight:700;color:var(--pine-deep);margin:0 0 8px;}
  .cat-item p{font-size:13.5px;color:var(--slate);margin:0;line-height:1.55;}
  @media (max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:600px){.cat-grid{grid-template-columns:1fr;}}

  .scope-note{margin-top:22px;font-size:13.5px;color:var(--slate);display:flex;gap:10px;align-items:flex-start;max-width:760px;}
  .scope-note svg{flex-shrink:0;margin-top:2px;color:var(--clay);}

  /* ============ Notice card ============ */
  .notice-card{
    border:1px solid var(--line);border-radius:4px;background:var(--white);
    padding:26px 28px;box-shadow:var(--shadow);
    display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap;
  }
  .notice-card h3{font-family:var(--serif);font-size:19px;font-weight:700;color:var(--pine-deep);margin:0 0 10px;max-width:620px;}
  .notice-card .meta{font-family:var(--mono);font-size:12px;color:var(--pine-soft);letter-spacing:0.01em;}
  .pill{
    display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:600;
    letter-spacing:0.04em;text-transform:uppercase;color:var(--pine);border:1px solid var(--line-strong);
    border-radius:30px;padding:6px 13px;background:var(--paper-deep);white-space:nowrap;height:fit-content;
  }
  .notice-foot{margin-top:14px;font-size:13px;color:var(--slate);line-height:1.6;}

  /* ============ Application/source steps ============ */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);}
  .step{padding:26px 24px;border-right:1px solid var(--line);position:relative;}
  .step:last-child{border-right:none;}
  .step .stepnum{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--clay);display:block;}
  .step h4{font-family:var(--serif);font-size:16.5px;font-weight:700;color:var(--pine-deep);margin:10px 0 8px;}
  .step p{font-size:13.5px;color:var(--slate);margin:0;line-height:1.55;}
  .step p a{color:var(--pine-soft);font-weight:600;text-decoration:underline;text-decoration-color:var(--line-strong);}
  .step p a:hover{color:var(--clay);text-decoration-color:var(--clay);}
  .step-arrow{position:absolute;top:24px;right:-9px;z-index:2;color:var(--line-strong);display:none;}
  @media (min-width:761px){.step-arrow{display:block;}}
  @media (max-width:760px){
    .steps{grid-template-columns:1fr;border-bottom:none;}
    .step{border-right:none;border-bottom:1px solid var(--line);padding:22px 4px;}
    .step:last-child{border-bottom:none;}
  }

  /* ============ Callout ============ */
  .callout{
    border:1px solid var(--clay-soft);background:#FBF1E8;border-radius:4px;padding:16px 20px;
    font-size:13.5px;color:var(--pine-deep);display:flex;gap:12px;align-items:flex-start;line-height:1.6;
  }
  .callout svg{flex-shrink:0;margin-top:2px;}
  .callout strong{color:var(--clay);}
  .callout a{color:var(--pine-deep);text-decoration:underline;text-decoration-color:var(--line-strong);font-weight:600;}
  .callout a:hover{color:var(--clay);text-decoration-color:var(--clay);}

  /* ============ Footer ============ */
  footer:not(.al-footer){background:#1B4D2E !important;color:#D7DDD3;padding:0;margin-top:0;}
  .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.1);}
  .footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
  .footer-brand img, .footer-brand .logo-mark{width:34px;height:34px;border-radius:6px;}
  .footer-brand strong{font-family:var(--serif);font-size:16px;color:#fff;}
  .footer-grid p{font-size:13px;color:#A9B3A4;line-height:1.6;max-width:280px;}
  footer h4{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#8FA08A;margin:0 0 16px;font-weight:600;}
  footer .footer-grid > div > a{display:block;font-size:13.5px;color:#D7DDD3;margin-bottom:10px;}
  footer .footer-grid > div > a:hover{color:#fff;}
  .footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:22px 0;font-size:12px;color:#8FA08A;}

  @media (max-width:760px){
    .main-nav{display:none;}
    .hero-grid{grid-template-columns:1fr;gap:30px;}
    .hero-aside{border-left:none;border-top:1px solid var(--line-strong);padding-left:0;padding-top:24px;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .notice-card{flex-direction:column;}
  }

/* --- Careers page additions --- */
.ledger{border-top:1px solid var(--line-strong);}
.entry{
  display:grid;
  grid-template-columns:64px 1.5fr 0.7fr;
  gap:28px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.entry-tag{
  font-family:var(--mono);font-size:13px;font-weight:600;
  color:var(--clay);padding-top:3px;
}
.entry-tag .n{display:block;font-size:20px;color:var(--pine);line-height:1;}
.entry h3{
  font-family:var(--serif);font-size:18.5px;font-weight:700;
  color:var(--pine-deep);margin:0 0 7px;
}
.entry .role-desc{color:var(--slate);font-size:14px;margin:0 0 12px;max-width:480px;}
.entry .meta{
  font-size:12.5px;color:var(--pine-soft);
  font-family:var(--mono);line-height:1.6;
}
.entry-side{display:flex;justify-content:flex-start;}
@media (min-width:761px){.entry-side{justify-content:flex-end;}}
.roles-note{
  margin-top:20px;font-size:13.5px;color:var(--slate);
  display:flex;gap:10px;align-items:flex-start;max-width:760px;
}
.roles-note svg{flex-shrink:0;margin-top:2px;color:var(--clay);}
@media (max-width:760px){
  .entry{grid-template-columns:40px 1fr;}
  .entry-side{grid-column:1 / -1;margin-top:4px;}
  .entry-tag .n{font-size:16px;}
}
.nav-toggle{display:none;}


/* --- Contact page additions --- */
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:start;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.map-card{
  border:1px solid var(--line);border-radius:4px;overflow:hidden;
  background:var(--white);box-shadow:var(--shadow);
}
.map-card .map-wrap{height:300px;background:var(--paper-deep);}
.map-card iframe{width:100%;height:100%;border:0;display:block;}
.map-caption{
  padding:14px 18px;font-size:13px;color:var(--slate);
  border-top:1px solid var(--line);font-family:var(--mono);
}
.map-caption strong{color:var(--pine-deep);font-family:var(--sans);}
.hours-card{
  margin-top:20px;border:1px solid var(--line);border-radius:4px;
  padding:22px 22px 6px;background:var(--white);
}
.hours-card .ctitle{
  font-family:var(--mono);font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--clay);font-weight:600;
}
.hours-card h4{font-family:var(--serif);font-size:17px;margin:8px 0 14px;color:var(--pine-deep);}
.hour-row{
  display:flex;justify-content:space-between;font-size:13.5px;
  padding:10px 0;border-top:1px solid var(--line);color:var(--pine-soft);
}
.hour-row:first-of-type{border-top:none;}
.hour-row span:last-child{color:var(--slate);}
.form-card{
  background:var(--white);border:1px solid var(--line);border-radius:4px;
  padding:30px 30px 26px;box-shadow:var(--shadow);
}
.form-card .ctitle{
  font-family:var(--mono);font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--clay);font-weight:600;
}
.form-card h3{
  font-family:var(--serif);font-size:21px;margin:8px 0 22px;color:var(--pine-deep);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;}
.form-grid .full{grid-column:1 / -1;}
.form-grid label{
  display:block;font-size:12.5px;font-weight:600;color:var(--pine-deep);
  margin-bottom:7px;letter-spacing:0.01em;
}
.form-grid input,
.form-grid select,
.form-grid textarea{
  width:100%;border:1px solid var(--line-strong);border-radius:3px;
  padding:11px 13px;font-family:var(--sans);font-size:14.5px;color:var(--ink);
  background:var(--paper);transition:border-color .15s ease, box-shadow .15s ease;
}
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus{
  outline:none;border-color:var(--pine);
  box-shadow:0 0 0 3px rgba(31,58,46,0.08);
}
.form-grid textarea{min-height:120px;resize:vertical;}
.form-grid select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1L7 7L13 1' stroke='%236B6356' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 13px center;padding-right:36px;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--sans);font-size:14.5px;font-weight:600;
  border-radius:3px;padding:13px 24px;cursor:pointer;border:none;
  transition:background .15s ease, transform .1s ease;
}
.btn-primary{background:var(--pine);color:var(--paper);width:100%;}
.btn-primary:hover{background:var(--pine-deep);}
.btn-primary:active{transform:translateY(1px);}
.form-foot{font-size:12px;color:var(--slate);margin-top:14px;line-height:1.5;}
.entry .role{
  font-size:12.5px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
  color:var(--slate);margin:0 0 10px;
}
.entry .addr{color:var(--slate);font-size:14px;margin:0;max-width:380px;}
.entry-contact{display:flex;flex-direction:column;gap:7px;}
.entry-contact a{
  font-size:14.5px;font-weight:600;color:var(--pine-soft);
  display:inline-flex;align-items:center;gap:8px;
  transition:color .15s ease;
}
.entry-contact a:hover{color:var(--clay);}
.entry-contact a svg{flex-shrink:0;opacity:0.8;}
.entry-contact .note{
  font-size:13.5px;color:var(--slate);line-height:1.5;margin-top:2px;
}
.entry-contact .link-arrow{font-weight:600;color:var(--clay);}
@media (max-width:760px){
  .entry-contact{grid-column:1 / -1;margin-top:4px;}
  .form-grid{grid-template-columns:1fr;}
}
/* ═══════════════════════════════════════════
   GLOBAL GREEN HEADER — All Pages
═══════════════════════════════════════════ */
:root{
  --gh-green:#1B4D2E;
  --gh-green-mid:#2D7A4F;
  --gh-green-light:#52B788;
  --gh-green-pale:#D8F3DC;
  --gh-orange:#E8852A;
  --gh-muted:#718096;
  --gh-serif:'Source Serif 4',Georgia,serif;
  --gh-sans:'Work Sans',-apple-system,sans-serif;
  --gh-mono:'IBM Plex Mono',monospace;
}
/* Hide old header */
.site-header { display: none !important; }

.gh-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 3px solid var(--gh-green);
  box-shadow: 0 2px 20px rgba(27,77,46,.10);
}
.gh-header__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 70px;
}
.gh-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  flex-shrink: 0;
}
.gh-brand__logo {
  width: 48px; height: 48px;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid var(--gh-green-pale);
  flex-shrink: 0;
}
.gh-brand__logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gh-brand__text strong {
  display: block;
  font-family: var(--gh-serif);
  font-size: 1.12rem;
  font-weight: 700;
  color: var(--gh-green);
  line-height: 1.1;
}
.gh-brand__text span {
  display: block;
  font-size: .65rem;
  color: var(--gh-muted);
  letter-spacing: .02em;
  line-height: 1.3;
  max-width: 220px;
}
.gh-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.gh-nav a {
  font-family: var(--gh-sans);
  font-size: .9rem;
  font-weight: 500;
  color: #2d3748;
  text-decoration: none;
  padding: 7px 14px;
  border-radius: 8px;
  transition: background .18s ease, color .18s ease;
  position: relative;
}
.gh-nav a:hover { color: var(--gh-green); background: #f0f7f2; }
.gh-nav a.active { color: var(--gh-green); font-weight: 600; background: #e8f5ed; }
.gh-nav a.active::after {
  content: '';
  position: absolute;
  bottom: -3px; left: 14px; right: 14px;
  height: 2px;
  background: var(--gh-green);
  border-radius: 2px;
}
.gh-nav__cta {
  background: var(--gh-green) !important;
  color: #fff !important;
  border-radius: 50px !important;
  padding: 9px 22px !important;
  font-weight: 600 !important;
  box-shadow: 0 3px 14px rgba(27,77,46,.3);
}
.gh-nav__cta:hover {
  background: #143d24 !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.gh-nav__cta.active { background: var(--gh-green) !important; color: #fff !important; }
.gh-nav__cta::after { display: none !important; }
.gh-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.gh-burger span {
  display: block;
  width: 24px; height: 2px;
  background: var(--gh-green);
  border-radius: 2px;
  transition: all .22s ease;
}
.gh-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.gh-burger.is-open span:nth-child(2) { opacity: 0; }
.gh-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media(max-width:900px) {
  .gh-burger { display: flex; }
  .gh-nav {
    display: none;
    position: absolute;
    top: 70px; left: 0; right: 0;
    background: #fff;
    border-top: 1px solid #e8f0eb;
    border-bottom: 3px solid var(--gh-green);
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 20px 20px;
    gap: 4px;
    box-shadow: 0 12px 32px rgba(27,77,46,.12);
  }
  .gh-nav.is-open { display: flex; }
  .gh-nav a { width: 100%; padding: 10px 14px; }
  .gh-nav a.active::after { display: none; }
}

/* ═══════════════════════════════════════════
   GLOBAL GREEN FOOTER — All Pages
═══════════════════════════════════════════ */
/* Old footer hidden — new gh-footer replaces it */
.gh-footer {
  background: #1B4D2E !important;
  border-top: 4px solid #E8852A !important;
}
.gh-footer__top { padding: 56px 0 40px; }
.gh-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 0.8fr 1.1fr 1.1fr;
  gap: 40px;
}
.gh-footer__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.gh-footer__logo { width: 44px; height: 44px; border-radius: 10px; overflow: hidden; border: 2px solid rgba(255,255,255,.2); flex-shrink: 0; }
.gh-footer__logo img { width: 100%; height: 100%; object-fit: cover; }
.gh-footer__brand strong { display: block; font-family: var(--gh-serif); font-size: 1.05rem; font-weight: 700; color: #fff; }
.gh-footer__brand span { display: block; font-size: .68rem; color: rgba(255,255,255,.55); line-height: 1.35; }
.gh-footer__col--brand p { font-size: .86rem; color: rgba(255,255,255,.55); line-height: 1.7; margin: 0 0 18px; }
.gh-footer__trust span { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.4); font-weight: 600; margin-bottom: 9px; }
.gh-footer__trust-logos { display: flex; gap: 8px; flex-wrap: wrap; }
.gh-footer__trust-chip { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.7); font-size: .75rem; font-weight: 600; padding: 6px 12px; border-radius: 50px; }
.gh-footer__col h4 { font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); margin: 0 0 18px; }
.gh-footer__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.gh-footer__col ul li a { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; color: rgba(255,255,255,.65); text-decoration: none; padding: 5px 0; transition: color .18s ease; }
.gh-footer__col ul li a:hover { color: #fff; }
.gh-footer__col ul li a svg { color: var(--gh-green-light); }
.gh-footer__contact-item { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
.gh-footer__contact-icon { width: 32px; height: 32px; border-radius: 8px; background: rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.gh-footer__contact-icon svg { width: 15px; height: 15px; color: var(--gh-green-light); }
.gh-footer__contact-item p,
.gh-footer__contact-item a { font-size: .85rem; color: rgba(255,255,255,.65); line-height: 1.6; margin: 0; text-decoration: none; display: block; }
.gh-footer__contact-item a:hover { color: #fff; }
.gh-footer__cta-btn { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; background: var(--gh-orange); color: #fff; font-size: .84rem; font-weight: 600; padding: 10px 20px; border-radius: 50px; text-decoration: none; transition: background .18s ease, transform .18s ease; box-shadow: 0 4px 16px rgba(232,133,42,.35); }
.gh-footer__cta-btn:hover { background: #d4731e; transform: translateY(-1px); color: #fff; }
.gh-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); }
.gh-footer__bottom-inner { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 18px 0; font-size: .76rem; color: rgba(255,255,255,.35); }
@media(max-width:960px) { .gh-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media(max-width:580px) { .gh-footer__grid { grid-template-columns: 1fr; } .gh-footer__bottom-inner { flex-direction: column; gap: 4px; } }

.trust-bar{background:#fff;border-bottom:1px solid #e2e8f0;padding:14px 0;}
.trust-bar-inner{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;}
.trust-bar-label{font-family:'Work Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9ca3af;}
.trust-bar-item{display:flex;align-items:center;gap:8px;}
.trust-bar-item svg{width:18px;height:18px;color:#051a2e;}
.trust-bar-item span{font-family:'Work Sans',sans-serif;font-size:.82rem;font-weight:600;color:#051a2e;letter-spacing:.02em;}
.trust-bar-divider{width:1px;height:22px;background:#e2e8f0;}

/* ── Stat band icons ── */
.stat-icon{display:block;margin-bottom:12px;opacity:.55;}
.stat-icon svg{display:block;}

/* ════════════════════════════════════════════
   HOMEPAGE REDESIGN — AgriLife-style
════════════════════════════════════════════ */

/* ── HERO ── */
.hp-hero{
  background: linear-gradient(135deg,#f0f7ff 0%,#fff 55%,#f5fdf0 100%);
  padding: 72px 0 0;
  overflow: hidden;
  position: relative;
}
.hp-hero::before{
  content:'';position:absolute;top:0;right:0;bottom:0;width:55%;
  background:linear-gradient(160deg,#EBF5FF 0%,#f5fdf0 100%);
  z-index:0;border-radius:0 0 0 80px;
}
.hp-hero__inner{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  position:relative;z-index:1;padding-bottom:0;
}
.hp-hero__text{padding-bottom:72px;}

.hp-hero__badge{
  display:inline-flex;align-items:center;gap:8px;
  background:#E8F4FD;color:#0F4C81;border:1px solid #BDD9F0;
  font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  padding:7px 14px 7px 10px;border-radius:30px;margin-bottom:24px;
}
.hp-badge-dot{width:7px;height:7px;background:#F4901E;border-radius:50%;flex-shrink:0;}

.hp-hero__h1{
  font-family:'Source Serif 4',serif;
  font-size:clamp(2.2rem,4.5vw,3.4rem);
  line-height:1.1;font-weight:700;color:#051a2e;
  margin:0 0 22px;letter-spacing:-.02em;
}
.hp-hl{font-style:normal;}
.hp-hl--orange{color:#F4901E;}
.hp-hl--green{color:#00A651;}
.hp-hl--blue{color:#1B6FB3;}

.hp-hero__lead{
  font-size:1.05rem;color:#4b5563;line-height:1.75;
  max-width:500px;margin:0 0 32px;
}

.hp-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px;}

.hp-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Work Sans',sans-serif;font-size:.9rem;font-weight:600;
  padding:13px 26px;border-radius:8px;cursor:pointer;
  text-decoration:none;transition:all .2s ease;border:2px solid transparent;
}
.hp-btn--primary{background:#051a2e;color:#fff;box-shadow:0 4px 18px rgba(5,26,46,.22);}
.hp-btn--primary:hover{background:#0a2d4e;transform:translateY(-2px);box-shadow:0 6px 24px rgba(5,26,46,.28);}
.hp-btn--ghost{background:transparent;color:#051a2e;border-color:#c8d2dc;}
.hp-btn--ghost:hover{background:#051a2e;color:#fff;border-color:#051a2e;}
.hp-btn--white{background:#fff;color:#051a2e;box-shadow:0 2px 12px rgba(0,0,0,.12);}
.hp-btn--white:hover{background:#f8f9fa;transform:translateY(-1px);}
.hp-btn--white-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.hp-btn--white-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}

.hp-trust{display:flex;flex-direction:column;gap:10px;}
.hp-trust__label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#9ca3af;font-weight:600;}
.hp-trust__items{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.hp-trust__chip{
  display:inline-flex;align-items:center;gap:6px;
  background:#fff;border:1px solid #e5e7eb;border-radius:6px;
  padding:6px 12px;font-size:.78rem;font-weight:600;color:#374151;
  box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.hp-trust__sep{width:1px;height:18px;background:#e5e7eb;}

/* Hero image */
.hp-hero__img-wrap{position:relative;padding-bottom:40px;}
.hp-hero__img-card{
  border-radius:20px 20px 0 20px;overflow:hidden;
  box-shadow:0 24px 64px rgba(5,26,46,.18);position:relative;
}
.hp-hero__img-card img{width:100%;height:420px;object-fit:cover;display:block;}
.hp-hero__img-badge{
  position:absolute;bottom:16px;left:16px;
  background:rgba(255,255,255,.95);backdrop-filter:blur(8px);
  border-radius:10px;padding:12px 16px;
  display:flex;align-items:center;gap:12px;
  box-shadow:0 4px 16px rgba(0,0,0,.12);
}
.hp-hero__img-badge strong{display:block;font-size:.88rem;font-weight:700;color:#051a2e;}
.hp-hero__img-badge span{font-size:.74rem;color:#00A651;font-weight:600;}

/* Floating stat cards */
.hp-float-stat{
  position:absolute;background:#fff;border-radius:12px;
  padding:14px 18px;box-shadow:0 8px 32px rgba(5,26,46,.14);
  display:flex;flex-direction:column;gap:3px;border:1px solid #f0f0f0;
}
.hp-float-stat--tl{top:-20px;right:30px;}
.hp-float-stat--br{bottom:24px;right:-20px;}
.hp-fs-num{font-family:'Source Serif 4',serif;font-size:1.6rem;font-weight:700;color:#051a2e;line-height:1;}
.hp-fs-lbl{font-size:.7rem;color:#6b7280;font-weight:500;line-height:1.3;}

@media(max-width:900px){
  .hp-hero::before{display:none;}
  .hp-hero__inner{grid-template-columns:1fr;}
  .hp-hero__text{padding-bottom:0;}
  .hp-hero__img-wrap{display:none;}
}

/* ── SERVICES BAR ── */
.hp-services-bar{
  background:#fff;
  box-shadow:0 -1px 0 #e5e7eb, 0 4px 24px rgba(5,26,46,.07);
  position:relative;z-index:10;margin-top:-1px;
  border-top:1px solid #e5e7eb;
}
.hp-services-grid{
  display:grid;grid-template-columns:repeat(6,1fr);
  gap:0;
}
.hp-srv{
  padding:24px 18px;text-align:center;
  border-right:1px solid #f0f0f0;cursor:pointer;
  transition:background .18s ease;
}
.hp-srv:last-child{border-right:none;}
.hp-srv:hover{background:#f9fbff;}
.hp-srv__icon{
  width:48px;height:48px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;
}
.hp-srv__icon svg{width:24px;height:24px;}
.hp-srv strong{display:block;font-family:'Source Serif 4',serif;font-size:.88rem;font-weight:700;color:#051a2e;margin-bottom:4px;}
.hp-srv span{font-size:.75rem;color:#9ca3af;line-height:1.4;display:block;}

@media(max-width:1024px){.hp-services-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.hp-services-grid{grid-template-columns:repeat(2,1fr);}}

/* ── SECTION SHARED ── */
.hp-section{padding:80px 0;}
.hp-section-head{text-align:center;max-width:680px;margin:0 auto 52px;}
.hp-eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'Work Sans',sans-serif;font-size:11.5px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:#00A651;
  margin-bottom:14px;
}
.hp-section-head h2{
  font-family:'Source Serif 4',serif;
  font-size:clamp(1.7rem,2.8vw,2.4rem);
  color:#051a2e;font-weight:700;line-height:1.18;
  margin:0 0 16px;letter-spacing:-.01em;
}
.hp-section-head p{font-size:.97rem;color:#6b7280;line-height:1.72;margin:0;}

/* ── WHAT WE DO CARDS ── */
.hp-cards-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px;
}
.hp-card{
  background:#fff;border-radius:14px;overflow:hidden;
  border:1px solid #e9ecef;
  box-shadow:0 2px 12px rgba(5,26,46,.05);
  transition:transform .22s ease, box-shadow .22s ease;
  display:flex;flex-direction:column;
}
.hp-card:hover{transform:translateY(-5px);box-shadow:0 12px 36px rgba(5,26,46,.12);}
.hp-card__img{position:relative;overflow:hidden;height:200px;}
.hp-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.hp-card:hover .hp-card__img img{transform:scale(1.05);}
.hp-card__cat{
  position:absolute;top:14px;left:14px;
  font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:#fff;
  padding:4px 10px;border-radius:20px;
}
.hp-card__body{padding:22px 20px 24px;flex:1;display:flex;flex-direction:column;}
.hp-card__icon{
  width:42px;height:42px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;flex-shrink:0;
}
.hp-card__icon svg{width:22px;height:22px;}
.hp-card__body h3{
  font-family:'Source Serif 4',serif;font-size:1.05rem;font-weight:700;
  color:#051a2e;margin:0 0 10px;line-height:1.3;
}
.hp-card__body p{font-size:.86rem;color:#6b7280;line-height:1.65;margin:0 0 18px;flex:1;}
.hp-card__link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.84rem;font-weight:700;color:#00A651;
  transition:gap .18s ease;margin-top:auto;
}
.hp-card:hover .hp-card__link{gap:10px;}

@media(max-width:1024px){.hp-cards-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.hp-cards-grid{grid-template-columns:1fr;}}

/* ── STATS BAND ── */
.hp-stats-band{
  background:linear-gradient(135deg,#051a2e 0%,#0a2d4e 50%,#0d3d6e 100%);
  padding:56px 0;
  position:relative;overflow:hidden;
}
.hp-stats-band::before{
  content:'';position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='40' cy='40' r='30'/%3E%3C/g%3E%3C/svg%3E");
}
.hp-stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;position:relative;
}
.hp-stat{
  padding:20px 32px;text-align:center;
  border-right:1px solid rgba(255,255,255,.1);
}
.hp-stat:last-child{border-right:none;}
.hp-stat__icon{
  width:52px;height:52px;border-radius:14px;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;
}
.hp-stat__icon svg{width:24px;height:24px;color:#8DC63F;}
.hp-stat strong{
  display:block;font-family:'Source Serif 4',serif;
  font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;
  color:#fff;line-height:1;margin-bottom:8px;
}
.hp-stat span{font-size:.8rem;color:rgba(255,255,255,.55);font-weight:500;letter-spacing:.05em;text-transform:uppercase;}

@media(max-width:768px){
  .hp-stats-grid{grid-template-columns:repeat(2,1fr);}
  .hp-stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);}
  .hp-stat:nth-child(odd){border-right:1px solid rgba(255,255,255,.1);}
  .hp-stat:nth-last-child(-n+2){border-bottom:none;}
}

/* ── TWO COMPONENTS ── */
.hp-comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.hp-comp-card{
  border-radius:16px;padding:36px 32px;position:relative;overflow:hidden;
  border:1px solid #e5e7eb;
  transition:transform .2s ease, box-shadow .2s ease;
}
.hp-comp-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(5,26,46,.12);}
.hp-comp-card--1{background:linear-gradient(145deg,#FFF8F0,#fff);border-top:4px solid #F4901E;}
.hp-comp-card--2{background:linear-gradient(145deg,#F0FBF5,#fff);border-top:4px solid #00A651;}
.hp-comp-num{
  font-family:'IBM Plex Mono',monospace;font-size:3.5rem;font-weight:700;
  color:rgba(5,26,46,.06);line-height:1;
  position:absolute;top:20px;right:28px;
}
.hp-comp-icon{
  width:52px;height:52px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
}
.hp-comp-card--1 .hp-comp-icon{background:rgba(244,144,30,.1);}
.hp-comp-card--1 .hp-comp-icon svg{color:#F4901E;}
.hp-comp-card--2 .hp-comp-icon{background:rgba(0,166,81,.1);}
.hp-comp-card--2 .hp-comp-icon svg{color:#00A651;}
.hp-comp-card h3{
  font-family:'Source Serif 4',serif;font-size:1.3rem;font-weight:700;
  color:#051a2e;margin:0 0 12px;
}
.hp-comp-card p{font-size:.9rem;color:#4b5563;line-height:1.72;margin:0 0 20px;}
.hp-comp-list{
  list-style:none;padding:0;margin:0 0 24px;
  display:flex;flex-direction:column;gap:8px;
}
.hp-comp-list li{
  font-size:.86rem;color:#374151;padding:0 0 0 18px;position:relative;
}
.hp-comp-list li::before{
  content:'';position:absolute;left:0;top:7px;
  width:7px;height:7px;border-radius:50%;
}
.hp-comp-card--1 .hp-comp-list li::before{background:#F4901E;}
.hp-comp-card--2 .hp-comp-list li::before{background:#00A651;}
.hp-comp-link{font-size:.88rem;font-weight:700;text-decoration:none;transition:opacity .18s;}
.hp-comp-card--1 .hp-comp-link{color:#F4901E;}
.hp-comp-card--2 .hp-comp-link{color:#00A651;}
.hp-comp-link:hover{opacity:.75;}

@media(max-width:768px){.hp-comp-grid{grid-template-columns:1fr;}}

/* ── CTA BANNER ── */
.hp-cta-banner{
  background:linear-gradient(135deg,#051a2e 0%,#0F4C81 60%,#1B6FB3 100%);
  padding:52px 0;margin-top:0;
}
.hp-cta-inner{
  display:flex;align-items:center;gap:32px;flex-wrap:wrap;
}
.hp-cta-icon-wrap{
  width:72px;height:72px;border-radius:18px;
  background:rgba(255,255,255,.1);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hp-cta-text{flex:1;min-width:240px;}
.hp-cta-text strong{display:block;font-family:'Source Serif 4',serif;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:6px;}
.hp-cta-text span{font-size:.9rem;color:rgba(255,255,255,.7);line-height:1.6;}
.hp-cta-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;}

@media(max-width:768px){.hp-cta-inner{flex-direction:column;text-align:center;}}

/* ── Home about section ── */
.home-about-section{background:var(--cream);}
.home-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.home-about-left h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:12px 0 18px;color:#051a2e;line-height:1.2;}
.home-about-left p{color:#4b5563;line-height:1.78;font-size:.95rem;margin-bottom:14px;}
.about-cta-row{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap;}
.about-cta-row .btn{font-size:.88rem;padding:11px 22px;}

.about-highlight-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 2px 16px rgba(5,26,46,.06);display:flex;flex-direction:column;gap:0;}
.ahc-item{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);}
.ahc-item:last-child{border-bottom:none;padding-bottom:0;}
.ahc-item:first-child{padding-top:0;}
.ahc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px;}
.ahc-item strong{display:block;font-family:'Source Serif 4',serif;font-size:.98rem;font-weight:700;color:#051a2e;margin-bottom:5px;}
.ahc-item p{font-size:.86rem;color:#6b7280;margin:0;line-height:1.6;}

@media(max-width:900px){.home-about-grid{grid-template-columns:1fr;gap:32px;}}

/* ── Section head row (heading + right CTA link) ── */
.section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap;}
.btn-sm{font-size:.82rem !important;padding:9px 18px !important;}

/* ── Pillar tags row ── */
.pillar-tags-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
.mini-pill{font-family:'IBM Plex Mono',monospace;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:20px;background:rgba(244,144,30,.09);color:#a0530a;border:1px solid rgba(244,144,30,.2);}
.mini-pill--blue{background:rgba(63,182,232,.1);color:#0b6fa0;border-color:rgba(63,182,232,.25);}

/* ── Reach section ── */
.reach-section{background:var(--cream);}
.group-tile .tile-icon{width:28px;height:28px;opacity:.65;margin-bottom:12px;display:block;}

/* ── Icon badge ── */
.icon-badge{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;flex-shrink:0;}
.icon-badge svg{width:26px;height:26px;}

/* ── Quicklinks revamp ── */
.quicklinks-section{background:var(--cream);}
.qlink-icon-wrap{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.qlink-arrow{display:block;margin-top:14px;font-size:.82rem;font-weight:700;color:var(--navy);letter-spacing:.04em;transition:transform .18s ease;}
.qlink:hover .qlink-arrow{transform:translateX(4px);}

/* ══════════════════════════════════════════
   NUCLEAR FOOTER FIX — beats every override
══════════════════════════════════════════ */
footer.gh-footer,
.gh-footer {
  background-color: #1B4D2E !important;
  background-image: none !important;
  border-top: 4px solid #E8852A !important;
  padding: 0 !important;
  color: rgba(255,255,255,.75) !important;
  margin-top: 0 !important;
}

/* ══════════════════════════════════════════════════
   AL-THEME — Global header + footer (all pages)
   AgriLife Design System Colors:
     Primary Green  #2E7D32
     Dark Green     #0F2A1B
     Accent Green   #8BC34A
     Yellow         #FFC107
     Cream          #F7F4ED
     Text Dark      #1B1B18
     Text Gray      #666868
     White          #FFFFFF
══════════════════════════════════════════════════ */
:root {
  /* AgriLife palette */
  --al-dark:        #0F2A1B;
  --al-primary:     #2E7D32;
  --al-accent:      #8BC34A;
  --al-yellow:      #FFC107;
  --al-cream:       #F7F4ED;
  --al-ink:         #1B1B18;
  --al-gray:        #666868;
  --al-border:      #E5E5E5;
  --al-white:       #FFFFFF;
  /* kept for backward compat in home.css */
  --al-green-dark:  #0F2A1B;
  --al-green:       #2E7D32;
  --al-green-mid:   #388E3C;
  --al-green-light: #8BC34A;
  --al-green-pale:  #EFF7E9;
  --al-gold:        #FFC107;
  --al-gold-dark:   #F9A825;
  --al-slate:       #666868;
  --al-muted:       #888;
  --al-bg:          #FBF9F4;
  --al-serif:       'Source Serif 4', Georgia, serif;
  --al-sans:        'Work Sans', -apple-system, sans-serif;
  --al-mono:        'IBM Plex Mono', monospace;
}

.al-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
}

/* ─── HEADER ─── */
.site-header { display: none !important; }
.gh-header   { display: none !important; }

.al-header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: #0F2A1B;
  border-bottom: none;
  box-shadow: 0 2px 24px rgba(0,0,0,.35);
}
.al-header__inner {
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

/* Brand */
.al-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  text-decoration: none;
  flex-shrink: 0;
}
.al-brand__icon {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
}
.al-brand__icon svg { width: 100%; height: 100%; }
.al-brand__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.al-brand__text strong {
  display: block;
  font-family: var(--al-serif);
  font-size: 1.18rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.1;
  letter-spacing: .01em;
}
.al-brand__text span {
  display: block;
  font-size: .62rem;
  color: rgba(255,255,255,.45);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-top: 1px;
}

/* Nav */
.al-nav {
  display: flex;
  align-items: center;
  gap: 2px;
}
.al-nav a {
  font-family: var(--al-sans);
  font-size: .88rem;
  font-weight: 500;
  color: rgba(255,255,255,.78);
  text-decoration: none;
  padding: 8px 13px;
  border-radius: 6px;
  position: relative;
  transition: color .18s, background .18s;
}
.al-nav a:hover {
  color: #FFFFFF;
  background: rgba(255,255,255,.07);
}

/* Active link — accent green underline */
.al-nav__active {
  color: #FFFFFF !important;
  font-weight: 600 !important;
}
.al-nav__active::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 13px;
  right: 13px;
  height: 2px;
  background: #8BC34A;
  border-radius: 2px;
}

/* Remove the browser's default tap/click focus ring (the stray dashed box)
   on header controls — keyboard focus is still shown via :focus-visible. */
.al-nav a:focus:not(:focus-visible),
.al-nav__cta:focus:not(:focus-visible),
.al-burger:focus:not(:focus-visible) { outline: none; }

.al-nav a:focus-visible,
.al-burger:focus-visible {
  outline: 2px solid #8BC34A;
  outline-offset: 2px;
  border-radius: 6px;
}

/* CTA pill button */
.al-nav__cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #2E7D32 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  padding: 9px 20px 9px 20px !important;
  font-weight: 600 !important;
  font-size: .87rem !important;
  box-shadow: 0 3px 12px rgba(46,125,50,.4);
  transition: background .18s, transform .18s, box-shadow .18s !important;
  margin-left: 6px;
}
.al-nav__cta svg { width: 14px; height: 14px; flex-shrink: 0; }
.al-nav__cta:hover {
  background: #1B5E20 !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 18px rgba(46,125,50,.5) !important;
  color: #FFFFFF !important;
}
.al-nav__cta--active { background: #1B5E20 !important; }
.al-nav__cta::after { display: none !important; }

/* Burger */
.al-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  transition: background .18s;
}
.al-burger:hover { background: rgba(255,255,255,.08); }
.al-burger span {
  display: block;
  width: 22px; height: 2px;
  background: rgba(255,255,255,.8);
  border-radius: 2px;
  transition: all .22s;
}
.al-burger--open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.al-burger--open span:nth-child(2) { opacity: 0; }
.al-burger--open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile nav */
@media(max-width:900px) {
  .al-burger { display: flex; flex-shrink: 0; }

  /* Let the brand shrink so it never pushes the burger off-screen */
  .al-header__inner { gap: 12px; }
  .al-brand { flex-shrink: 1; min-width: 0; }
  .al-brand__text { min-width: 0; }
  .al-brand__text strong { white-space: nowrap; }
  .al-brand__text span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .al-nav {
    display: none;
    position: absolute;
    top: 70px; left: 0; right: 0;
    background: #0F2A1B;
    border-bottom: 2px solid #2E7D32;
    flex-direction: column;
    align-items: flex-start;
    padding: 12px 20px 18px;
    gap: 2px;
    box-shadow: 0 12px 32px rgba(0,0,0,.4);
    z-index: 999;
  }
  .al-nav--open { display: flex; }
  .al-nav a { width: 100%; border-radius: 8px; color: rgba(255,255,255,.78); }
  .al-nav__active::after { display: none; }
  .al-nav__cta { margin-left: 0 !important; width: 100%; justify-content: center; border-radius: 8px !important; }
}

/* Small phones — drop the long subtitle so the logo + burger fit cleanly */
@media(max-width:600px) {
  .al-brand__icon { width: 40px; height: 40px; }
  .al-brand__text span { display: none; }
  .al-brand__text strong { font-size: 1.05rem; }
}

/* ─── FOOTER ─── */
.gh-footer              { display: none !important; }
footer:not(.al-footer)  { display: none !important; }

.al-footer {
  border-top: none !important;
  background-color: #EAF8F3 !important;
  background-image: linear-gradient(rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.78)), url('../images/footer.png') !important;
  background-size: cover !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
}

/* Top section */
.al-footer__top { padding: 60px 0 44px; }
.al-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 0.9fr 1.1fr;
  gap: 48px;
}

/* Brand col */
.al-footer__logo-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  margin-bottom: 18px;
}
.al-footer__logo-icon {
  width: 46px; height: 46px;
  flex-shrink: 0;
}
.al-footer__logo-icon svg { width: 100%; height: 100%; }
.al-footer__logo-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.al-footer__logo-text strong {
  display: block;
  font-family: var(--al-serif);
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
}
.al-footer__logo-text span {
  display: block;
  font-size: .6rem;
  color: rgba(255,255,255,.45);
  letter-spacing: .09em;
  text-transform: uppercase;
  margin-top: 2px;
}
.al-footer__brand-col p {
  font-size: .875rem;
  color: rgba(255,255,255,.5);
  line-height: 1.72;
  margin: 0 0 22px;
  max-width: 280px;
}

/* Social icons */
.al-footer__socials {
  display: flex;
  gap: 8px;
}
.al-footer__social {
  width: 36px; height: 36px;
  border-radius: 8px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: background .18s, color .18s, border-color .18s;
}
.al-footer__social svg { width: 16px; height: 16px; }
.al-footer__social:hover {
  background: #2E7D32;
  border-color: #2E7D32;
  color: #fff;
}

/* Column headings */
.al-footer__col h4 {
  font-family: var(--al-sans);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.38);
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* Link lists */
.al-footer__links {
  list-style: none;
  padding: 0; margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.al-footer__links li a {
  display: inline-block;
  font-size: .875rem;
  color: rgba(255,255,255,.58);
  text-decoration: none;
  padding: 5px 0;
  transition: color .18s, padding-left .18s;
}
.al-footer__links li a:hover {
  color: #8BC34A;
  padding-left: 4px;
}

/* Contact items */
.al-footer__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
}
.al-footer__contact-item svg {
  width: 15px; height: 15px;
  color: #8BC34A;
  flex-shrink: 0;
  margin-top: 3px;
}
.al-footer__contact-item span,
.al-footer__contact-item a {
  font-size: .855rem;
  color: rgba(255,255,255,.58);
  line-height: 1.55;
  text-decoration: none;
  display: block;
  transition: color .18s;
}
.al-footer__contact-item a:hover { color: #fff; }

/* CTA button */
.al-footer__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 18px;
  background: #2E7D32;
  color: #fff;
  font-family: var(--al-sans);
  font-size: .855rem;
  font-weight: 600;
  padding: 10px 22px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(46,125,50,.35);
  transition: background .18s, transform .18s, box-shadow .18s;
}
.al-footer__cta-btn svg { width: 14px; height: 14px; }
.al-footer__cta-btn:hover {
  background: #1B5E20;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(46,125,50,.45);
  color: #fff;
}

/* Bottom bar */
.al-footer__bottom {
  border-top: 1px solid rgba(15,139,141,.15);
  background: transparent !important;
}
.al-footer__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 18px 0;
  font-size: .78rem;
  color: rgba(255,255,255,.3);
  font-family: var(--al-sans);
}
.al-footer__bottom-links {
  display: flex;
  align-items: center;
  gap: 10px;
}
.al-footer__bottom-links a {
  font-size: .78rem;
  color: rgba(255,255,255,.3);
  text-decoration: none;
  transition: color .18s;
}
.al-footer__bottom-links a:hover { color: rgba(255,255,255,.7); }
.al-footer__bottom-sep { color: rgba(255,255,255,.15); }

@media(max-width:1024px) { .al-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; } }
@media(max-width:580px)  { .al-footer__grid { grid-template-columns: 1fr; gap: 28px; } .al-footer__bottom-inner { flex-direction: column; text-align: center; } }

/* ══════════════════════════════════════════════════
   GLOBAL RESPONSIVE REFINEMENTS — all public pages
   (mobile-first guards; do not affect desktop layout)
══════════════════════════════════════════════════ */

/* Kill horizontal scroll without breaking the sticky header.
   overflow:clip (not hidden) keeps the viewport as the scroll
   container so position:sticky on the header still works. */
html { overflow-x: clip; }
body { overflow-x: clip; max-width: 100%; }

/* Make embedded media fluid by default */
img, svg, video, iframe, canvas { max-width: 100%; }
iframe { border: 0; }

/* Any wide table should scroll inside its own box instead of the page */
.table-wrap, .ab-fin__tablecard { -webkit-overflow-scrolling: touch; overflow-x: auto; }
table { max-width: 100%; }

/* Long links / words must wrap on small screens */
a, p, h1, h2, h3, h4, li, span, strong { overflow-wrap: break-word; }

/* ── Tablet (≤1024px) ── */
@media (max-width: 1024px) {
  .section { padding: 56px 0 !important; }
  .section--tight { padding: 40px 0 !important; }
}

/* ── Large phone / small tablet (≤768px) ── */
@media (max-width: 768px) {
  .page-hero { padding: 56px 0 0 !important; }
  .directory-head { gap: 6px 16px; }
  .directory-head h2 { font-size: 22px; }
  /* Career/Procurement use inline 27px headings — bring them down on phones */
  .section h2[style] { font-size: 22px !important; }
  .notice-card { flex-direction: column; align-items: flex-start; }
}

/* ── Phones (≤480px) ── */
@media (max-width: 480px) {
  /* Tighter gutters so content isn't cramped */
  .al-container,
  .container,
  .ab-container,
  .ct-container { padding-left: 16px; padding-right: 16px; }

  h1 { font-size: clamp(1.7rem, 8vw, 2.2rem); }
  h2 { font-size: clamp(1.35rem, 6vw, 1.7rem); }

  .page-hero h1 { font-size: clamp(24px, 8vw, 32px); }
  .crumb-row { font-size: 11px; padding: 11px 0; }

  /* Buttons go full-width & centered so they're easy to tap */
  .btn,
  .al-btn,
  .ag-btn-lime,
  .ag-btn-ghost { width: 100%; justify-content: center; }
  .hero-actions,
  .ag-hero-actions { width: 100%; }
}

