@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Montserrat:wght@500;600;700&family=Titillium+Web:wght@400;600;700&display=swap');
/* HARVEST LEDGER: JGL evolution design system. Token layer only; components reference tokens. */
:root{
  /* Fruit Chord: JGL sampled colours */
  --skin:#F7F7F6;        /* paper ground, sampled from live site */
  --flesh:#FFFFFF;       /* panel white, sampled from live site */
  --seed:#202020;        /* logo black charcoal, sampled from logo */
  --stem:#182333;        /* deep slate structure, sampled from live CSS */
  --ripeness:#F4B335;    /* harvest amber, sampled from logo and slider */
  --juice:#D69517;       /* deep bronze pop, sampled from live CSS */
  --ink:#202020;
  --ink-soft:#5A5E63;
  --line:#E3E0D6;
  --amber-ink:#3A2A05;
  --font-display:"Abril Fatface",Georgia,"Times New Roman",serif;
  --font-body:"Titillium Web","Montserrat",-apple-system,"Segoe UI",sans-serif;
  --font-ui:"Montserrat","Titillium Web",-apple-system,"Segoe UI",sans-serif;
  --fs-kicker:.78rem; --fs-small:.9rem; --fs-body:1.06rem; --fs-lead:1.28rem;
  --fs-h3:1.3rem; --fs-h2:2.05rem; --fs-h1:3.1rem;
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.5rem; --sp-6:2rem; --sp-7:3rem; --sp-8:4.5rem;
  --r-1:4px; --r-2:10px; --r-3:18px;
  --touch:48px; --maxw:1180px;
  --m-fast:180ms ease; --m-med:320ms ease;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--skin);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--juice)}
a:hover{color:var(--stem)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:max(var(--sp-5),env(safe-area-inset-left));padding-right:max(var(--sp-5),env(safe-area-inset-right))}
.skip{position:absolute;left:-999px;top:0;background:var(--seed);color:var(--flesh);padding:var(--sp-3) var(--sp-4);z-index:50}
.skip:focus{left:var(--sp-3);top:var(--sp-3)}
h1,h2{font-family:var(--font-display);font-weight:400;line-height:1.08;color:var(--seed);text-wrap:balance;margin:0 0 var(--sp-4)}
h1{font-size:var(--fs-h1)} h2{font-size:var(--fs-h2)}
h3{font-family:var(--font-ui);font-size:var(--fs-h3);font-weight:700;color:var(--stem);margin:0 0 var(--sp-2)}
p{margin:0 0 var(--sp-4)}
.kicker{font-family:var(--font-ui);font-size:var(--fs-kicker);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--juice);margin:0 0 var(--sp-3)}
.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--stem)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:var(--sp-3) var(--sp-6);background:var(--ripeness);color:var(--amber-ink);font-family:var(--font-ui);font-weight:700;font-size:1rem;text-decoration:none;border:2px solid var(--ripeness);border-radius:var(--r-1);transition:background var(--m-fast),color var(--m-fast)}
.btn:hover{background:var(--seed);border-color:var(--seed);color:var(--ripeness)}
.btn.ghost{background:transparent;color:var(--stem);border-color:var(--stem)}
.btn.ghost:hover{background:var(--stem);color:var(--flesh)}
/* header */
.site-head{background:var(--flesh);border-bottom:3px solid var(--seed);position:sticky;top:0;z-index:40}
.head-in{display:flex;align-items:center;gap:var(--sp-5);min-height:76px}
.brand{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none}
.brand img{width:104px}
.brand-word{font-family:var(--font-display);font-size:1.35rem;color:var(--seed);line-height:1}
.brand-word em{display:block;font-family:var(--font-ui);font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--juice)}
.head-tag{margin:0 0 0 auto;font-family:var(--font-ui);font-size:var(--fs-small);font-weight:600;color:var(--ink-soft);display:none}
.main-nav ul{display:flex;gap:var(--sp-2);list-style:none;margin:0;padding:0}
.main-nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 var(--sp-3);font-family:var(--font-ui);font-weight:600;font-size:.98rem;color:var(--stem);text-decoration:none;border-bottom:3px solid transparent}
.main-nav a:hover,.main-nav a[aria-current="page"]{border-bottom-color:var(--ripeness);color:var(--seed)}
.menu-btn{display:none;margin-left:auto;min-height:var(--touch);min-width:var(--touch);padding:0 var(--sp-4);background:var(--seed);color:var(--flesh);border:0;border-radius:var(--r-1);font-family:var(--font-ui);font-weight:700}
.mobile-menu{background:var(--seed)}
.mobile-menu ul{list-style:none;margin:0;padding:var(--sp-3) var(--sp-5) var(--sp-5);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1) var(--sp-4)}
.mobile-menu a{color:var(--flesh);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;font-family:var(--font-ui);font-weight:600}
.crumbs{background:var(--flesh);border-bottom:1px solid var(--line);font-size:var(--fs-small);padding-top:var(--sp-2);padding-bottom:var(--sp-2)}
.crumbs a{color:var(--juice);text-decoration:none}
/* hero */
.hero{padding:var(--sp-8) 0 var(--sp-7);background:linear-gradient(var(--skin),var(--skin))}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--sp-7);align-items:center}
.hero-media{margin:0}
.hero-media img,.side-media img{border-radius:var(--r-2);border:1px solid var(--line)}
figcaption{font-size:var(--fs-small);color:var(--ink-soft);margin-top:var(--sp-2)}
/* ledger double rule motif under hero headings */
.hero h1{border-bottom:6px double var(--ripeness);padding-bottom:var(--sp-4)}
/* sections */
.section{padding:var(--sp-7) 0}
.section.alt{background:var(--flesh);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7);align-items:start}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);margin-top:var(--sp-6);border-top:2px solid var(--seed);border-bottom:1px solid var(--line);padding:var(--sp-5) 0}
.stat-num{display:block;font-family:var(--font-display);font-size:1.9rem;color:var(--seed);font-variant-numeric:tabular-nums}
.stat-lab{font-size:var(--fs-small);color:var(--ink-soft)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-5);margin-top:var(--sp-6)}
.card{background:var(--flesh);border:1px solid var(--line);border-top:4px solid var(--ripeness);border-radius:var(--r-2);padding:var(--sp-4);transition:transform var(--m-fast),box-shadow var(--m-fast)}
.section.alt .card{background:var(--skin)}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(24,35,51,.12)}
.card-media img{border-radius:var(--r-1);margin-bottom:var(--sp-3)}
.card h3 a{color:var(--stem);text-decoration:none}
.card-link{font-family:var(--font-ui);font-weight:700;font-size:var(--fs-small);color:var(--juice);text-decoration:none}
.fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-5);margin-top:var(--sp-5)}
.fact-block{background:var(--flesh);border:1px solid var(--line);border-left:4px solid var(--stem);border-radius:var(--r-2);padding:var(--sp-5)}
.section.alt .fact-block{background:var(--skin)}
.tick-list{list-style:none;margin:var(--sp-4) 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--sp-2) var(--sp-6)}
.tick-list li{padding:var(--sp-2) 0 var(--sp-2) var(--sp-5);border-bottom:1px solid var(--line);position:relative}
.tick-list li::before{content:"";position:absolute;left:0;top:1em;width:10px;height:10px;background:var(--ripeness);border-radius:2px}
.job{background:var(--flesh);border:1px solid var(--line);border-top:4px solid var(--stem);border-radius:var(--r-2);padding:var(--sp-6);margin-bottom:var(--sp-6)}
.job-meta{font-family:var(--font-ui);font-weight:600;color:var(--juice)}
.fineprint{font-size:var(--fs-small);color:var(--ink-soft)}
.contact-form{display:grid;gap:var(--sp-2);background:var(--flesh);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--sp-6)}
.contact-form label{font-family:var(--font-ui);font-weight:600;font-size:var(--fs-small)}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-size:16px;min-height:var(--touch);padding:var(--sp-2) var(--sp-3);border:1px solid var(--ink-soft);border-radius:var(--r-1);background:var(--flesh);width:100%}
.contact-form textarea{min-height:120px}
/* next step + footer */
.next-step{background:var(--stem);color:var(--flesh);padding:var(--sp-7) 0}
.next-step h2{color:var(--flesh)}
.next-step .kicker{color:var(--ripeness)}
.site-foot{background:var(--seed);color:#D8D5CC;padding:var(--sp-7) 0 var(--sp-6)}
.site-foot a{color:var(--ripeness)}
.foot-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:var(--sp-6)}
.foot-brand{font-family:var(--font-display);color:var(--flesh);font-size:1.15rem;margin-bottom:var(--sp-2)}
.site-foot ul{list-style:none;margin:0;padding:0;columns:2}
.site-foot li a{display:inline-flex;align-items:center;min-height:40px;text-decoration:none}
.foot-base{border-top:1px solid #3A3A38;margin-top:var(--sp-6);padding-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);font-size:var(--fs-small)}
.concept-chip{display:inline-block;border:1px solid var(--ripeness);color:var(--ripeness);border-radius:var(--r-1);padding:0 var(--sp-2);font-family:var(--font-ui);font-size:.68rem;font-weight:700;letter-spacing:.12em;vertical-align:middle}
@media (max-width:900px){
  .main-nav{display:none}.menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .hero-grid,.two-col{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  h1{font-size:2.35rem} h2{font-size:1.65rem}
  .hero{padding:var(--sp-6) 0 var(--sp-5)}
}
@media (min-width:901px){.head-tag{display:block;margin-left:var(--sp-4)} .main-nav{margin-left:auto} .head-tag{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
