:root {
  --bg:#f7f1e4; --paper:#fffdf8; --ink:#15372e; --muted:#5f716b; --line:rgba(21,55,46,.16);
  --green:#126b45; --green-dark:#0c4934; --yellow:#f4c44e; --red:#d64532; --shadow:0 18px 48px rgba(20,52,43,.12);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); line-height:1.55; }
a { color:inherit; }
.skip-link { position:absolute; left:-9999px; top:8px; background:#fff; padding:10px; z-index:100; }
.skip-link:focus { left:8px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.app-header { position:sticky; top:0; z-index:50; background:rgba(255,253,248,.97); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.app-header-inner { width:min(1420px,calc(100% - 40px)); min-height:82px; margin:auto; display:flex; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto; }
.brand-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:var(--green); color:#fff; font-weight:900; }
.brand strong,.brand small { display:block; }
.brand small { color:var(--muted); }
.global-nav { display:flex; gap:6px; }
.global-nav a { text-decoration:none; font-weight:850; padding:10px 12px; border-radius:999px; }
.global-nav a:hover { background:#e7efe8; }
.header-tools { display:flex; gap:8px; align-items:center; }
.language-select,.install-app,.menu-toggle { min-height:42px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); padding:0 12px; font-weight:750; }
.menu-toggle { display:none; }
.module-nav { position:sticky; top:82px; z-index:40; background:#fffdf8; border-bottom:1px solid var(--line); }
.module-nav-inner { width:min(1420px,calc(100% - 40px)); margin:auto; display:flex; gap:8px; overflow-x:auto; padding:10px 0; }
.module-nav a { flex:0 0 auto; padding:9px 12px; border-radius:10px; text-decoration:none; font-weight:850; }
.module-nav a:hover { background:#e8efe8; }
.fwc-hub { background:var(--bg); }
.fwc-wrap { width:min(1160px,calc(100% - 40px)); margin:auto; }
.fwc-hero { padding:72px 0; background:radial-gradient(circle at 85% 15%,rgba(244,196,78,.35),transparent 28%),linear-gradient(135deg,#dce8d5 0%,#f7f1e4 52%,#ead9bc 100%); }
.fwc-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:48px; align-items:center; }
.fwc-eyebrow,.fwc-card-kicker,.eyebrow { margin:0 0 12px; color:var(--green); font-size:.78rem; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.fwc-hero h1,.planned-hero h1,.report-hero h1 { margin:0; font-size:clamp(2.7rem,6vw,5.4rem); line-height:.98; letter-spacing:-.055em; }
.fwc-lead { max-width:760px; font-size:clamp(1.1rem,2vw,1.45rem); color:#39564d; }
.fwc-actions,.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.fwc-btn,.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 22px; border-radius:14px; font-weight:900; text-decoration:none; border:1px solid transparent; }
.primary,.fwc-btn-primary { background:var(--green); color:#fff; }
.light,.fwc-btn-light { background:var(--paper); color:var(--ink); border-color:var(--line); }
.fwc-continue { background:rgba(255,253,248,.92); border-radius:26px; padding:30px; box-shadow:var(--shadow); }
.fwc-method { background:#fffaf1; border-block:1px solid var(--line); }
.fwc-method-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.fwc-method-grid>div { display:grid; grid-template-columns:42px 1fr; column-gap:12px; padding:24px; border-right:1px solid var(--line); }
.fwc-method-grid span { grid-row:1/3; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-weight:900; }
.fwc-section { padding:76px 0; }
.fwc-section-head { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:end; margin-bottom:32px; }
.fwc-section h2 { margin:0; font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; }
.fwc-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fwc-module { position:relative; min-height:310px; padding:30px; border:1px solid var(--line); border-radius:24px; background:var(--paper); box-shadow:0 12px 32px rgba(20,52,43,.07); overflow:hidden; }
.fwc-module h3 { font-size:1.8rem; margin:6px 0 10px; }
.fwc-module p { color:var(--muted); }
.fwc-module-meta { display:flex; gap:8px; flex-wrap:wrap; margin:20px 0; }
.fwc-module-meta span { padding:6px 10px; border-radius:999px; background:#edf2ed; font-size:.82rem; font-weight:800; }
.fwc-module-actions { position:absolute; left:30px; right:30px; bottom:25px; display:flex; justify-content:space-between; }
.fwc-help-section { background:#fffaf1; }
.fwc-help-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:30px; }
.fwc-help-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px; }
.fwc-report-section { background:var(--green-dark); color:#fff; }
.fwc-report-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:50px; }
.fwc-routing-list { display:grid; gap:12px; }
.fwc-routing-list div { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:16px; padding:18px; }
.fwc-support-section { background:#e5eddc; }
.fwc-support-grid { display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
.fwc-support-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.fwc-disclosure { padding:24px 0; background:#fff7dc; }
.module-content { min-height:50vh; }
.planned-module,.report-page { width:min(1160px,calc(100% - 40px)); margin:auto; padding:60px 0; }
.planned-hero,.report-hero { padding:56px; border-radius:28px; background:linear-gradient(135deg,#e2eadb,#fff7df); box-shadow:var(--shadow); }
.planned-hero p,.report-hero p { max-width:760px; font-size:1.2rem; color:var(--muted); }
.planned-info,.urgent-card,.report-card { margin-top:28px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:30px; }
.urgent-card { border-left:7px solid var(--red); }
.report-options { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:28px; }
.report-options article { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px; }
.app-footer { background:#075b35; color:#fff; text-align:center; padding:42px 24px 48px; }
.footer-inner { width:min(1180px,100%); margin:auto; }
.app-footer a { color:#fff; }
.powered { color:rgba(255,255,255,.75); margin-top:22px; }
.mobile-nav { display:none; }
@media(max-width:900px) {
  .global-nav { display:none; position:absolute; top:74px; left:14px; right:14px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); flex-direction:column; }
  .global-nav.is-open { display:flex; }
  .menu-toggle { display:inline-flex; align-items:center; }
  .header-tools .language-select { max-width:120px; }
  .fwc-hero-grid,.fwc-section-head,.fwc-report-grid,.fwc-support-grid { grid-template-columns:1fr; }
  .fwc-method-grid { grid-template-columns:repeat(2,1fr); }
  .fwc-help-grid { grid-template-columns:1fr; }
  .report-options { grid-template-columns:1fr; }
}
@media(max-width:700px) {
  .app-header-inner { width:calc(100% - 24px); min-height:70px; gap:8px; }
  .brand small { display:none; }
  .brand-mark { width:40px; height:40px; }
  .module-nav { top:70px; }
  .module-nav-inner { width:calc(100% - 24px); }
  .header-tools { margin-left:auto; }
  .install-app { display:inline-flex; align-items:center; justify-content:center; max-width:92px; padding:0 10px; font-size:.78rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .fwc-module-grid { grid-template-columns:1fr; }
  .fwc-method-grid { grid-template-columns:1fr; }
  .planned-hero,.report-hero { padding:32px 24px; }
  .mobile-nav { position:sticky; bottom:0; z-index:60; display:grid; grid-template-columns:repeat(5,1fr); background:#fffdf8; border-top:1px solid var(--line); }
  .mobile-nav a { text-align:center; padding:11px 4px; text-decoration:none; font-size:.78rem; font-weight:800; }
  body { padding-bottom:0; }
  .app-footer { padding-bottom:96px; }
}

/* K-OS 5.4 + K-Chakana integration */
.brand-mark-chakana {
  background: transparent;
  border-radius: 0;
  padding: 0;
  overflow: visible;
}

.brand-mark-chakana .kos-chakana-icon {
  width: 48px;
  height: 48px;
  display: block;
}

.fwc-chakana {
  display: flex;
  align-items: center;
  justify-content: center;
}

.fwc-chakana .kos-chakana-icon {
  width: 72px;
  height: 72px;
  display: block;
}

@media (max-width: 700px) {
  .brand-mark-chakana .kos-chakana-icon {
    width: 40px;
    height: 40px;
  }

  .fwc-chakana .kos-chakana-icon {
    width: 64px;
    height: 64px;
  }
}

/* =========================================================
   APP 2.1.4 — RELIABLE MODULE ANCHOR NAVIGATION
   Accounts for the global app header and the module navigation.
========================================================= */

html {
  scroll-padding-top: 162px;
}

.module-content section[id],
.module-content article[id],
.module-content div[id].anchor-target {
  scroll-margin-top: 162px;
}

@media (max-width: 700px) {
  html {
    scroll-padding-top: 136px;
  }

  .module-content section[id],
  .module-content article[id],
  .module-content div[id].anchor-target {
    scroll-margin-top: 136px;
  }
}

/* Pesticide single-module navigation */
.compact-header .app-header-inner{min-height:76px}
.compact-header .brand{margin-right:auto}
.primary-site-nav{top:76px}
.primary-site-nav .module-nav-inner{justify-content:center}
@media(max-width:700px){.compact-header .app-header-inner{min-height:68px}.primary-site-nav{top:68px}.primary-site-nav .module-nav-inner{justify-content:flex-start}.header-tools .install-app{display:none}}

/* v3.4 single-app responsive navigation */
.desktop-primary{display:flex;gap:2px;align-items:center;white-space:nowrap}.desktop-primary a{text-decoration:none;font-weight:850;padding:10px 8px;border-radius:999px;font-size:.92rem}.desktop-primary a:hover{background:#e7efe8}.more-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px;cursor:pointer}.more-menu-toggle span{display:block;height:3px;background:var(--ink);border-radius:3px;margin:4px 0}.mobile-primary,.more-menu{display:none}.more-menu[hidden]{display:none!important}
@media(max-width:980px){
 .app-header{position:sticky;top:0}.app-header-inner{width:calc(100% - 24px);min-height:72px;gap:10px}.brand{min-width:0}.brand strong{font-size:1rem}.brand small{font-size:.76rem;white-space:normal}.desktop-primary,.desktop-tools{display:none}.more-menu-toggle{display:block;flex:0 0 auto}.mobile-primary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#fffdf8}.mobile-primary a{text-align:center;text-decoration:none;font-weight:850;padding:12px 6px;border-bottom:2px solid transparent}.mobile-primary a:hover{background:#f3eee3}.more-menu{display:block;position:fixed;inset:0;top:121px;z-index:80;background:rgba(8,28,22,.64)}.more-menu-panel{margin-left:auto;width:min(88vw,390px);height:100%;overflow:auto;background:#fffdf8;padding:14px 20px 30px;box-shadow:-18px 0 45px rgba(0,0,0,.18)}.more-menu-panel>a{display:block;text-decoration:none;padding:18px 4px;border-bottom:1px solid var(--line)}.more-menu-panel strong,.more-menu-panel small{display:block}.more-menu-panel small{color:var(--muted);margin-top:3px}.more-menu-controls{padding:20px 4px}.more-menu-controls label{display:block;font-weight:850;margin-bottom:8px}.more-menu-controls select{width:100%}.menu-open{overflow:hidden}.primary-site-nav,.module-nav{display:none!important}html{scroll-padding-top:126px}.module-content section[id],.module-content article[id],.module-content div[id].anchor-target{scroll-margin-top:126px}
}

/* v3.5 mobile menu reliability and PWA icon refresh */
@media (min-width:981px){
  .desktop-primary{display:flex!important}
  .desktop-tools{display:flex!important}
  .more-menu-toggle,.mobile-primary,.more-menu{display:none!important}
}
@media (max-width:980px){
  .desktop-primary,.desktop-tools{display:none!important}
  .more-menu-toggle{display:flex!important;align-items:center;justify-content:center;flex-direction:column;position:relative;z-index:102}
  .more-menu-toggle span{transition:transform .2s ease,opacity .2s ease;width:22px}
  .more-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .more-menu-toggle.is-open span:nth-child(2){opacity:0}
  .more-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-primary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;z-index:101}
  .more-menu{display:none!important;position:fixed;left:0;right:0;bottom:0;top:121px;z-index:100;background:rgba(8,28,22,.68)}
  .more-menu.is-open{display:block!important}
  .more-menu-panel{animation:fwcMenuIn .2s ease-out}
  .mobile-nav{display:none!important}
}
@keyframes fwcMenuIn{from{transform:translateX(24px);opacity:.75}to{transform:translateX(0);opacity:1}}


/* v3.6 native mobile navigation: no JavaScript required to open */
.mobile-menu-details{display:none}
@media (min-width:981px){
  .mobile-menu-details{display:none!important}
}
@media (max-width:980px){
  .more-menu-toggle,.more-menu{display:none!important}
  .mobile-menu-details{display:block;flex:0 0 auto;position:relative;z-index:120}
  .mobile-menu-summary{list-style:none;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .mobile-menu-summary::-webkit-details-marker{display:none}
  .mobile-menu-summary::marker{display:none;content:""}
  .hamburger-icon{width:24px;height:20px;display:flex;flex-direction:column;justify-content:space-between}
  .hamburger-icon i{display:block;width:24px;height:3px;border-radius:4px;background:var(--ink);transition:transform .2s ease,opacity .2s ease}
  .mobile-menu-details[open] .hamburger-icon i:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
  .mobile-menu-details[open] .hamburger-icon i:nth-child(2){opacity:0}
  .mobile-menu-details[open] .hamburger-icon i:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
  .mobile-menu-backdrop{position:fixed;left:0;right:0;top:121px;bottom:0;background:rgba(8,28,22,.68);z-index:115}
  .mobile-menu-panel{margin-left:auto;width:min(88vw,390px);height:100%;overflow-y:auto;background:#fffdf8;padding:12px 22px 32px;box-shadow:-18px 0 45px rgba(0,0,0,.22);animation:fwcNativeMenuIn .2s ease-out}
  .mobile-menu-panel>a{display:block;text-decoration:none;padding:18px 4px;border-bottom:1px solid var(--line);color:var(--ink)}
  .mobile-menu-panel strong,.mobile-menu-panel small{display:block}
  .mobile-menu-panel strong{font-size:1.05rem}
  .mobile-menu-panel small{color:var(--muted);margin-top:4px;line-height:1.35}
  .mobile-menu-details:not([open]) .mobile-menu-backdrop{display:none}
}
@media (max-width:520px){
  .mobile-menu-backdrop{top:121px}
  .mobile-menu-panel{width:92vw}
}
@keyframes fwcNativeMenuIn{from{transform:translateX(28px);opacity:.7}to{transform:translateX(0);opacity:1}}


/* v3.7 mobile drawer — rendered outside the sticky header */
.mobile-menu-button,.mobile-menu-overlay{display:none}
@media (max-width:980px){
  .mobile-menu-details{display:none!important}
  .mobile-menu-button{display:flex!important;flex:0 0 48px;width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:14px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;position:relative;z-index:130;-webkit-appearance:none;appearance:none}
  .mobile-menu-button span{display:block!important;width:24px!important;height:3px!important;min-height:3px;background:#15372e!important;border-radius:999px;transition:transform .2s ease,opacity .2s ease}
  .mobile-menu-button.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .mobile-menu-button.is-open span:nth-child(2){opacity:0}
  .mobile-menu-button.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .mobile-menu-overlay{position:fixed;inset:0;z-index:1000;display:block}
  .mobile-menu-overlay[hidden]{display:none!important}
  .mobile-menu-scrim{position:absolute;inset:0;border:0;background:rgba(8,28,22,.68);padding:0;margin:0;width:100%;height:100%;-webkit-appearance:none;appearance:none}
  .mobile-menu-drawer{position:absolute;top:0;right:0;width:min(90vw,390px);height:100%;overflow-y:auto;background:#fffdf8;padding:26px 22px 34px;box-shadow:-18px 0 45px rgba(0,0,0,.24);animation:fwcDrawerIn .2s ease-out}
  .mobile-menu-drawer>a{display:block;text-decoration:none;padding:18px 4px;border-bottom:1px solid var(--line);color:var(--ink)}
  .mobile-menu-drawer strong,.mobile-menu-drawer small{display:block}
  .mobile-menu-drawer strong{font-size:1.08rem}
  .mobile-menu-drawer small{color:var(--muted);margin-top:4px;line-height:1.35}
  body.mobile-menu-open{overflow:hidden}
}
@media (min-width:981px){.mobile-menu-button,.mobile-menu-overlay{display:none!important}}
@keyframes fwcDrawerIn{from{transform:translateX(28px);opacity:.72}to{transform:translateX(0);opacity:1}}
