:root{
  --green-900:#16302A;
  --green-800:#1E3D2F;
  --green-600:#4F6B58;
  --green-500:#5C7F67;
  --tan-600:#B97A3F;
  --tan-500:#C2874C;
  --tan-300:#E3B584;
  --cream-100:#F8F5EE;
  --cream-200:#F4F1E8;
  --cream-300:#ECE6D6;
  --paper:#FFFEFB;
  --ink:#26241F;
  --ink-soft:#5A574E;
  --line: rgba(38,36,31,0.10);
  --shadow: 0 1px 2px rgba(30,61,47,0.06), 0 8px 24px -12px rgba(30,61,47,0.18);
  --radius: 4px;
  --serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", Roboto, Helvetica, Arial, sans-serif;
}
:root[data-theme="dark"]{
  --green-900:#0D1F19;
  --green-800:#15291F;
  --cream-100:#161A16;
  --cream-200:#12150F;
  --cream-300:#1D2118;
  --paper:#191D17;
  --ink:#EDEAE0;
  --ink-soft:#B2AE9F;
  --line: rgba(237,234,224,0.10);
  --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 12px 28px -14px rgba(0,0,0,0.6);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --green-900:#0D1F19;
    --green-800:#15291F;
    --cream-100:#161A16;
    --cream-200:#12150F;
    --cream-300:#1D2118;
    --paper:#191D17;
    --ink:#EDEAE0;
    --ink-soft:#B2AE9F;
    --line: rgba(237,234,224,0.10);
    --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 12px 28px -14px rgba(0,0,0,0.6);
  }
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--cream-200);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--serif);font-weight:600;text-wrap:balance;margin:0;}
p{margin:0;}
.wrap{max-width:1240px;margin:0 auto;padding-inline:32px;}
@media (max-width:720px){ .wrap{padding-inline:20px;} }

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--green-600);font-weight:600;
}
.eyebrow .leaf{width:14px;height:14px;flex:none;}

button{font-family:var(--sans);cursor:pointer;}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 26px;border-radius:var(--radius);
  font-size:14.5px;font-weight:600;letter-spacing:0.01em;
  border:1px solid transparent;transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.btn:active{transform:translateY(1px);}
.btn-solid{background:var(--green-800);color:var(--cream-100);}
.btn-solid:hover{background:var(--green-900);box-shadow:var(--shadow);}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-outline:hover{border-color:var(--green-600);color:var(--green-800);}
:root[data-theme="dark"] .btn-outline:hover{color:var(--tan-300);}
.btn-tan{background:var(--tan-500);color:#241505;}
.btn-tan:hover{background:var(--tan-600);}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px;gap:24px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand-mark{width:40px;height:40px;flex:none;object-fit:contain;}
.brand-text{line-height:1.05;}
.brand-text .name{font-family:var(--serif);font-size:20px;font-weight:700;color:var(--green-800);letter-spacing:0.01em;}
:root[data-theme="dark"] .brand-text .name{color:var(--cream-100);}
.brand-text .sub{font-size:10px;letter-spacing:0.16em;color:var(--tan-600);font-weight:600;}
.navlinks{display:flex;align-items:center;gap:34px;}
.navlinks a{font-size:14.5px;color:var(--ink-soft);font-weight:500;position:relative;padding:6px 0;}
.navlinks a:hover{color:var(--ink);}
.navlinks a.active{color:var(--green-800);}
:root[data-theme="dark"] .navlinks a.active{color:var(--tan-300);}
.navlinks a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--tan-500);
}
.navlinks a.admin-link{font-size:13px;opacity:.65;}
.admin-corner-link{
  position:fixed;top:6px;right:10px;z-index:1000;
  font-size:10px;color:var(--ink-soft);opacity:.55;
  font-weight:500;letter-spacing:.02em;
}
.admin-corner-link:hover{opacity:1;color:var(--green-800);}
.navcta{display:flex;align-items:center;gap:18px;}
.menu-btn{display:none;background:none;border:none;padding:8px;}
.menu-btn span{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0;}
@media (max-width:920px){
  .navlinks{display:none;}
  .navcta .btn{display:none;}
  .menu-btn{display:block;}
}

/* ---------- Back button ---------- */
.back-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;font-weight:600;color:var(--ink-soft);
  padding:8px 0;margin-bottom:8px;border:none;background:none;cursor:pointer;
}
.back-btn:hover{color:var(--green-800);}
:root[data-theme="dark"] .back-btn:hover{color:var(--tan-300);}
.back-btn svg{width:16px;height:16px;flex:none;}

/* ---------- Page header (inner pages) ---------- */
.page-hero{position:relative;overflow:hidden;padding:64px 0 56px;}
.page-hero .eyebrow{margin-bottom:16px;}
.page-hero h1{font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:-0.01em;}
.page-hero p.lede{margin-top:16px;font-size:16px;line-height:1.65;color:var(--ink-soft);max-width:58ch;}

/* ---------- Feature strip ---------- */
.strip{background:var(--green-800);color:var(--cream-100);}
.strip-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
}
@media (max-width:800px){ .strip-grid{grid-template-columns:repeat(2,1fr);} }
.strip-item{
  padding:40px 28px;text-align:center;border-left:1px solid rgba(244,241,232,0.12);
}
.strip-item:first-child{border-left:none;}
@media (max-width:800px){ .strip-item:nth-child(odd){border-left:none;} .strip-item{border-top:1px solid rgba(244,241,232,0.12);} .strip-item:nth-child(-n+2){border-top:none;} }
.strip-item svg{margin:0 auto 16px;width:34px;height:34px;color:var(--tan-300);}
.strip-item h3{font-family:var(--sans);font-size:16px;font-weight:700;color:var(--cream-100);}
.strip-item p{font-size:13.5px;color:rgba(244,241,232,0.72);margin-top:8px;line-height:1.5;}

/* ---------- Sections ---------- */
.section{padding:88px 0;}
.section-head{text-align:center;max-width:560px;margin:0 auto 48px;}
.section-head .eyebrow{justify-content:center;margin-bottom:14px;}
.section-head h2{font-size:clamp(26px,3vw,36px);}
.section-head .rule{width:48px;height:2px;background:var(--tan-500);margin:18px auto 0;}

.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
@media (max-width:980px){ .cat-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:620px){ .cat-grid{grid-template-columns:repeat(2,1fr);} }
.cat-card{
  background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent;}
.cat-thumb{
  aspect-ratio:1/0.82;display:flex;align-items:center;justify-content:center;
  background:var(--cream-200);
}
.cat-thumb svg{width:52px;height:52px;color:var(--green-600);}
.cat-name{padding:16px 14px;font-size:14.5px;font-weight:600;text-align:center;}

/* ---------- Why / feature rows ---------- */
.why{background:var(--cream-300);}
.why-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;align-items:center;}
@media (max-width:880px){ .why-grid{grid-template-columns:1fr;gap:36px;} }
.why-visual{
  aspect-ratio:1/1;border-radius:8px;
  background:linear-gradient(150deg, var(--green-800), var(--green-600));
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.why-visual svg{width:46%;color:var(--cream-100);opacity:0.9;}
.why-list{display:flex;flex-direction:column;gap:26px;}
.why-row{display:flex;gap:18px;}
.why-row .num{font-family:var(--serif);font-size:15px;color:var(--tan-600);flex:none;width:30px;padding-top:2px;}
.why-row h3{font-size:17px;font-weight:700;margin-bottom:6px;}
.why-row p{font-size:14.5px;color:var(--ink-soft);line-height:1.6;max-width:52ch;}

/* ---------- Industry / info cards ---------- */
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media (max-width:880px){ .info-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .info-grid{grid-template-columns:1fr;} }
.info-card{
  background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:28px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.info-card svg{width:32px;height:32px;color:var(--green-600);margin-bottom:16px;}
.info-card h3{font-size:16px;font-weight:700;margin-bottom:8px;}
.info-card p{font-size:14px;color:var(--ink-soft);line-height:1.6;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media (max-width:880px){ .contact-grid{grid-template-columns:1fr;gap:40px;} }
.contact-info{display:flex;flex-direction:column;gap:24px;}
.contact-item{display:flex;gap:16px;align-items:flex-start;}
.contact-item svg{width:22px;height:22px;color:var(--tan-600);flex:none;margin-top:2px;}
.contact-item h4{font-size:14px;font-weight:700;margin-bottom:4px;}
.contact-item p, .contact-item a{font-size:14.5px;color:var(--ink-soft);line-height:1.5;display:block;}
.contact-item a:hover{color:var(--green-800);}
.form{display:flex;flex-direction:column;gap:16px;}
.form label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;display:block;}
.form input, .form textarea, .form select{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);
  font-family:var(--sans);font-size:14.5px;background:var(--paper);color:var(--ink);
}
.form input:focus, .form textarea:focus, .form select:focus{outline:2px solid var(--green-600);outline-offset:1px;}
.form textarea{resize:vertical;min-height:120px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:520px){ .form-row{grid-template-columns:1fr;} }
.form-note{font-size:12.5px;color:var(--ink-soft);margin-top:4px;}

/* ---------- CTA banner ---------- */
.cta-band{
  background:linear-gradient(120deg, var(--green-900), var(--green-800));
  color:var(--cream-100);border-radius:10px;
  padding:56px 48px;display:flex;align-items:center;justify-content:space-between;gap:32px;
  margin:0 auto;
}
@media (max-width:760px){ .cta-band{flex-direction:column;text-align:center;padding:44px 28px;} }
.cta-band h2{font-size:clamp(22px,2.6vw,30px);color:var(--cream-100);max-width:26ch;}
.cta-band p{color:rgba(244,241,232,0.7);margin-top:10px;font-size:14.5px;}
.cta-actions{display:flex;gap:14px;flex:none;}
@media (max-width:760px){ .cta-actions{flex-wrap:wrap;justify-content:center;} }

/* ---------- Footer ---------- */
footer{background:var(--green-900);color:rgba(244,241,232,0.75);}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:64px 0 40px;}
@media (max-width:820px){ .foot-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .foot-grid{grid-template-columns:1fr;} }
footer .brand-text .name{color:var(--cream-100);}
footer .brand-text .sub{color:var(--tan-300);}
footer p.desc{font-size:13.5px;line-height:1.6;margin-top:16px;max-width:34ch;color:rgba(244,241,232,0.55);}
.foot-col h4{font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--cream-100);margin-bottom:18px;font-weight:700;}
.foot-col a{display:block;font-size:14px;margin-bottom:12px;color:rgba(244,241,232,0.65);}
.foot-col a:hover{color:var(--tan-300);}
.foot-bottom{
  border-top:1px solid rgba(244,241,232,0.12);padding:22px 0;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
  font-size:12.5px;color:rgba(244,241,232,0.5);
}
