/* Sam Timlick — shared site styles (used by all sub-pages) */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --green: #2d5a3d;
  --green-dark: #1e3d2a;
  --green-light: #f0f5f2;
  --gold: #c8a96e;
  --text: #1a1a1a;
  --text-dark: #1a1a1a;
  --text-muted: #555;
  --white: #ffffff;
  --border: #e0e0e0;
  --max: 1100px;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--text);
  line-height: 1.6;
  background: var(--white);
}
@media (max-width: 700px) { body { padding-bottom: 72px; } }

a { color: inherit; text-decoration: none; }

/* NAV */
nav {
  position: sticky; top: 0; background: var(--white);
  border-bottom: 1px solid var(--border); z-index: 100; padding: 0 24px;
}
.nav-inner { max-width: var(--max); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; height: 64px; }
.nav-logo { font-weight: 700; font-size: 1rem; color: var(--heading); line-height: 1.2; }
.nav-logo span { display: block; font-size: 0.7rem; font-weight: 400; color: var(--text-muted); }
.nav-links { display: flex; gap: 24px; align-items: center; }
.nav-links a { font-size: 0.88rem; color: var(--text-muted); transition: color 0.2s; }
.nav-links a:hover { color: var(--green); }
.nav-cta { background: var(--green); color: var(--white) !important; padding: 8px 18px; border-radius: 6px; font-size: 0.85rem !important; font-weight: 600; transition: background 0.2s !important; }
.nav-cta:hover { background: var(--green-dark) !important; }
.nav-mobile-cta { display: none; }
@media (max-width: 980px) { .nav-links { gap: 16px; } .nav-links a.hide-mid { display: none; } }
@media (max-width: 760px) {
  .nav-links { display: none; }
  .nav-mobile-cta { display: block; background: var(--green); color: var(--white); padding: 8px 16px; border-radius: 6px; font-size: 0.85rem; font-weight: 600; }
}

/* STICKY MOBILE CALL BAR */
.mobile-sticky-cta { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 200; background: var(--green-dark); padding: 0; }
.mobile-sticky-cta a { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 24px; color: var(--white); font-weight: 700; font-size: 1rem; width: 100%; }
.mobile-sticky-cta .gold { color: var(--gold); }
@media (max-width: 700px) { .mobile-sticky-cta { display: block; } }

/* BUTTONS */
.btn-primary { background: var(--gold); color: var(--heading); padding: 13px 28px; border-radius: 6px; font-weight: 700; font-size: 0.95rem; display: inline-block; transition: opacity 0.2s; cursor: pointer; border: none; }
.btn-primary:hover { opacity: 0.9; }
.btn-secondary { background: transparent; color: var(--white); padding: 13px 28px; border-radius: 6px; font-weight: 600; font-size: 0.95rem; border: 1.5px solid rgba(255,255,255,0.4); display: inline-block; transition: border-color 0.2s; }
.btn-secondary:hover { border-color: rgba(255,255,255,0.8); }
.btn-outline-green { display: inline-block; padding: 11px 24px; border: 1.5px solid var(--green); border-radius: 6px; color: var(--green); font-weight: 600; font-size: 0.9rem; transition: background 0.2s, color 0.2s; cursor: pointer; background: none; }
.btn-outline-green:hover { background: var(--green); color: var(--white); }

/* PAGE HERO */
.page-hero { background: radial-gradient(ellipse at 65% 50%, #2d5a3d 0%, #1a3525 75%); color: var(--white); padding: 56px 24px 52px; }
.page-hero-inner { max-width: var(--max); margin: 0 auto; }
.page-hero .eyebrow { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.page-hero h1 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); font-weight: 700; line-height: 1.15; margin-bottom: 16px; max-width: 820px; }
.page-hero p { font-size: 1.03rem; color: rgba(255,255,255,0.82); max-width: 680px; margin-bottom: 26px; }
.page-hero .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* BREADCRUMB */
.breadcrumb { background: var(--green-light); border-bottom: 1px solid var(--border); padding: 12px 24px; font-size: 0.8rem; }
.breadcrumb-inner { max-width: var(--max); margin: 0 auto; color: var(--text-muted); }
.breadcrumb-inner a { color: var(--green); }
.breadcrumb-inner a:hover { text-decoration: underline; }

/* CONTENT */
.content { padding: 56px 24px; }
.content-inner { max-width: 760px; margin: 0 auto; }
.content-wide { max-width: var(--max); margin: 0 auto; }
.section-label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green); margin-bottom: 10px; }
.prose h2 { font-size: clamp(1.4rem, 2.6vw, 1.8rem); font-weight: 700; line-height: 1.25; margin: 40px 0 14px; color: var(--heading); }
.prose h3 { font-size: 1.12rem; font-weight: 700; margin: 28px 0 8px; color: var(--text); }
.prose p { color: var(--text-muted); margin-bottom: 16px; font-size: 1rem; }
.prose ul, .prose ol { color: var(--text-muted); margin: 0 0 16px 22px; }
.prose li { margin-bottom: 8px; }
.prose strong { color: var(--text); }
.prose a { color: var(--green); font-weight: 600; }
.prose a:hover { text-decoration: underline; }
.prose > p:first-child { margin-top: 0; }

/* QUICK ANSWER BOX (GEO) */
.answer-box { background: var(--green-light); border-left: 4px solid var(--green); border-radius: 8px; padding: 22px 24px; margin: 0 0 32px; }
.answer-box .q { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--green); margin-bottom: 8px; }
.answer-box p { font-size: 1.02rem; color: var(--text); margin: 0; line-height: 1.6; }

/* KEY FACTS / AT A GLANCE */
.facts { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; margin: 24px 0 8px; }
.facts-row { display: flex; gap: 16px; padding: 13px 18px; border-bottom: 1px solid var(--border); font-size: 0.92rem; }
.facts-row:last-child { border-bottom: none; }
.facts-row .k { font-weight: 700; color: var(--heading); flex: 0 0 200px; }
.facts-row .v { color: var(--text-muted); }
@media (max-width: 560px) { .facts-row { flex-direction: column; gap: 2px; } .facts-row .k { flex: none; } }

/* PROS / CONS */
.pc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 8px 0 8px; }
.pc-card { border: 1.5px solid var(--border); border-radius: 10px; padding: 20px 22px; }
.pc-card h4 { font-size: 0.95rem; font-weight: 700; margin-bottom: 10px; }
.pc-card.pros h4 { color: var(--green); }
.pc-card.cons h4 { color: #9a6b2f; }
.pc-card ul { margin: 0 0 0 18px; color: var(--text-muted); font-size: 0.92rem; }
.pc-card li { margin-bottom: 7px; }
@media (max-width: 600px) { .pc-grid { grid-template-columns: 1fr; } }

/* FAQ */
.faq-list { display: flex; flex-direction: column; border-radius: 10px; overflow: hidden; border: 1px solid var(--border); margin-top: 8px; }
.faq-item { background: var(--white); border-bottom: 1px solid var(--border); }
.faq-item:last-child { border-bottom: none; }
.faq-question { width: 100%; text-align: left; background: none; border: none; cursor: pointer; padding: 18px 22px; font-size: 0.93rem; font-weight: 600; color: var(--text); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.faq-question:hover { background: var(--green-light); }
.faq-chevron { flex-shrink: 0; transition: transform 0.2s; color: var(--green); }
.faq-answer { display: none; padding: 0 22px 18px; font-size: 0.9rem; color: var(--text-muted); line-height: 1.65; }
.faq-item.open .faq-answer { display: block; }
.faq-item.open .faq-chevron { transform: rotate(180deg); }

/* CARD GRID (loan/area/resource links) */
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin-top: 8px; }
.link-card { border: 1.5px solid var(--border); border-radius: 10px; padding: 22px 22px; transition: border-color 0.2s, box-shadow 0.2s; display: block; }
.link-card:hover { border-color: var(--green); box-shadow: 0 4px 20px rgba(45,90,61,0.08); }
.link-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 6px; color: var(--heading); }
.link-card p { font-size: 0.87rem; color: var(--text-muted); line-height: 1.5; }
.link-card .arrow { color: var(--green); font-weight: 700; font-size: 0.85rem; margin-top: 10px; display: inline-block; }

/* CTA STRIP */
.cta-strip { background: var(--green-dark); color: var(--white); text-align: center; padding: 52px 24px; }
.cta-strip h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 700; margin-bottom: 14px; }
.cta-strip p { color: rgba(255,255,255,0.78); max-width: 540px; margin: 0 auto 26px; font-size: 1rem; }
.cta-options { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.cta-strip .disclaimer { font-size: 0.75rem; color: rgba(255,255,255,0.4); margin-top: 22px; max-width: 620px; margin-left: auto; margin-right: auto; line-height: 1.5; }

/* TOOL (USDA checker) */
.tool { background: var(--green-light); border: 1px solid var(--border); border-radius: 12px; padding: 28px; margin: 8px 0; }
.tool label { display: block; font-size: 0.82rem; font-weight: 600; margin-bottom: 7px; color: var(--heading); text-transform: uppercase; letter-spacing: 0.05em; }
.tool select, .tool input { width: 100%; padding: 12px 14px; border-radius: 6px; border: 1.5px solid var(--border); background: var(--white); color: var(--text); font-size: 1rem; font-family: inherit; outline: none; }
.tool select:focus, .tool input:focus { border-color: var(--green); }
.tool-result { margin-top: 20px; border-radius: 8px; padding: 20px; display: none; }
.tool-result.show { display: block; }
.tool-result.likely { background: #e7f3ea; border: 1px solid #a9d3b6; }
.tool-result.maybe { background: #fbf3e3; border: 1px solid #e6cf9c; }
.tool-result .status { font-weight: 700; font-size: 1.05rem; margin-bottom: 6px; color: var(--heading); }
.tool-result p { font-size: 0.9rem; color: var(--text-muted); margin: 0; }

/* MISC */
.muted-note { font-size: 0.78rem; color: var(--text-muted); line-height: 1.55; margin-top: 14px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.area-tag { background: var(--white); border: 1px solid var(--border); border-radius: 20px; padding: 6px 16px; font-size: 0.83rem; color: var(--heading); font-weight: 500; }
.area-tag:hover { border-color: var(--green); }

/* FOOTER */
footer { background: #111; color: rgba(255,255,255,0.5); padding: 36px 24px; font-size: 0.8rem; }
.footer-inner { max-width: var(--max); margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.footer-name { color: rgba(255,255,255,0.8); font-weight: 600; font-size: 0.9rem; }
.footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-links a { color: rgba(255,255,255,0.4); transition: color 0.2s; }
.footer-links a:hover { color: rgba(255,255,255,0.7); }
.footer-legal { line-height: 1.6; max-width: 800px; }
.footer-updated { color: rgba(255,255,255,0.25); font-size: 0.75rem; }

/* ===== MODERN MOBILE NAV (hamburger + bottom bar) ===== */
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:none;border:none;cursor:pointer;}
.nav-hamburger span{display:block;width:100%;height:2.5px;background:var(--green-dark);border-radius:2px;transition:transform .3s,opacity .2s;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
@media (max-width:768px){
  .nav-links{display:none !important;}
  .nav-hamburger{display:flex;}
}
.mobile-menu{position:fixed;inset:0;z-index:300;visibility:hidden;}
.mobile-menu.open{visibility:visible;}
.mobile-menu-backdrop{position:absolute;inset:0;background:rgba(20,30,24,.45);opacity:0;transition:opacity .3s;}
.mobile-menu.open .mobile-menu-backdrop{opacity:1;}
.mobile-menu-panel{position:absolute;top:0;right:0;height:100%;width:min(87%,360px);background:var(--white);box-shadow:-8px 0 30px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow-y:auto;}
.mobile-menu.open .mobile-menu-panel{transform:translateX(0);}
.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border);}
.mobile-menu-title{font-weight:700;color:var(--heading);font-size:1.05rem;}
.mobile-menu-close{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:0 4px;}
.mobile-menu-nav{flex:1;padding:4px 0;}
.mm-group{padding:14px 22px;border-bottom:1px solid var(--border);}
.mm-group:last-child{border-bottom:none;}
.mm-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.mm-group a{display:flex;align-items:baseline;gap:8px;padding:11px 0;font-size:1.02rem;font-weight:500;color:var(--heading);}
.mm-group a small{font-size:.74rem;font-weight:400;color:var(--text-muted);}
.mobile-menu-foot{padding:18px 22px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px;}
.mm-book{display:block;text-align:center;background:var(--green);color:#fff;font-weight:700;padding:14px;border-radius:8px;font-size:1rem;}
.mm-call{display:block;text-align:center;color:var(--heading);font-weight:600;font-size:.95rem;}
body.menu-open{overflow:hidden;}
.mobile-sticky-cta a{flex:1;width:auto;gap:8px;padding:15px 10px;font-size:.95rem;font-weight:700;}
.mobile-sticky-cta a.msc-call{background:var(--green-dark);color:#fff;}
.mobile-sticky-cta a.msc-book{background:var(--gold);color:var(--heading);}
.mobile-sticky-cta a + a{border-left:1px solid rgba(255,255,255,.18);}
@media (max-width:768px){
  .mobile-sticky-cta{display:flex !important;padding:0 !important;}
  body{padding-bottom:60px;}
}
/* ===== END MODERN MOBILE NAV ===== */

/* ===== TYPOGRAPHY + NAVY ACCENT ===== */
:root { --navy: #1a2a3a; }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
h1, h2, h3, h4, h5, h6, .section-title, .nav-logo { font-family: 'Libre Franklin', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; letter-spacing: -0.01em; }
/* ===== END TYPOGRAPHY + NAVY ACCENT ===== */

/* ===== DARK MODE + MOTION ===== */
:root { --heading: var(--green-dark); }
html[data-theme="dark"] {
  --white: #161d1a;
  --green-light: #131a17;
  --text: #e8ece9;
  --text-muted: #9fb0a4;
  --border: #2a352f;
  --green: #58a87d;
  --heading: #eaf1ec;
}
html[data-theme="dark"] body { background: #0f1512; }
html[data-theme="dark"] nav { background: #11201a; }
html[data-theme="dark"] .mobile-menu-panel { background: #11201a; }
html[data-theme="dark"] .nav-cta { color: #fff !important; }
html[data-theme="dark"] .btn-secondary { color: #fff; }
html[data-theme="dark"] .btn-outline-green:hover { color: #fff; }
html[data-theme="dark"] .btn-primary { color: #1e3d2a; }
html[data-theme="dark"] .mobile-sticky-cta a.msc-book { color: #1e3d2a; }
html[data-theme="dark"] .mobile-sticky-cta a.msc-call { color: #fff; background: #16241a; }
html[data-theme="dark"] .nav-cta:hover { background: #16241a; }
html[data-theme="dark"] .nav-hamburger span { background: var(--heading); }
/* theme toggle button */
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:none; background:none; cursor:pointer; color:var(--green-dark); border-radius:8px; flex-shrink:0; }
.theme-toggle:hover { background:var(--green-light); }
html[data-theme="dark"] .theme-toggle { color:var(--gold); }
.theme-toggle .sun { display:none; }
.theme-toggle .moon { display:block; }
html[data-theme="dark"] .theme-toggle .sun { display:block; }
html[data-theme="dark"] .theme-toggle .moon { display:none; }
/* motion */
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
html.js .reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
html.js .reveal.in { opacity:1; transform:none; }
nav.scrolled { box-shadow:0 2px 16px rgba(0,0,0,0.08); }
html[data-theme="dark"] nav.scrolled { box-shadow:0 2px 16px rgba(0,0,0,0.5); }
.program-card, .link-card, .area-tag { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .3s ease, color .3s ease; }
.program-card:hover, .link-card:hover { transform: translateY(-3px); }
body, nav, .program-card, .area-tag, .tool select, .tool input, .answer-box, .trust-bar, section { transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} html.js .reveal{opacity:1;transform:none;transition:none;} body,nav,.program-card,.area-tag,.tool select,.tool input,.answer-box,.trust-bar,section{transition:none;} }
/* ===== END DARK MODE + MOTION ===== */

/* ===== TOGGLE VISIBILITY FIX ===== */
.theme-toggle { background: var(--green-light); border: 1px solid var(--border); color: var(--green-dark); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle:hover { background: var(--border); }
html[data-theme="dark"] .theme-toggle { color: var(--gold); background: rgba(255,255,255,0.07); border-color: var(--border); }
html[data-theme="dark"] .theme-toggle:hover { background: rgba(255,255,255,0.14); }
/* ===== END TOGGLE VISIBILITY FIX ===== */

/* ===== COMPLIANCE FOOTER ===== */
.footer-legal-links { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 2px; }
.footer-legal-links a { color: rgba(255,255,255,0.45); transition: color 0.2s; }
.footer-legal-links a:hover { color: rgba(255,255,255,0.8); }
.footer-eho { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,0.55); font-size: 0.78rem; margin-top: 2px; }
/* ===== END COMPLIANCE FOOTER ===== */
