/* Rural Home Tools — Elevated Forest (selected A) */
:root{
  --bg:#f3f6f1;--ink:#1c2b24;--muted:#5b6b62;--card:#fff;--line:#d5e0d7;
  --brand:#1f4a3a;--brand-2:#2f6b57;--accent:#c4a35a;--soft:#e7f0ea;
  --menu-bg:#fff;--menu-link:#1c2b24;--menu-hover:#e7f0ea;--menu-border:rgba(255,255,255,.4);--focus:#fff
}
*{box-sizing:border-box}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}
header{background:linear-gradient(135deg,#1f4a3a,#2a5c48);color:#fff;padding:1rem 1.25rem}
header a{color:#fff;text-decoration:none;font-weight:700}
header a.brand,header>a:first-of-type{font-weight:800;font-size:1.15rem;letter-spacing:.01em}
header .tag,header>span{opacity:.8;font-size:.75rem;margin-left:.35rem;font-weight:400}
nav{margin-top:6px;font-size:14px}
nav a{color:#cfe3da;margin-right:12px;font-weight:500}
main{max-width:920px;margin:0 auto;padding:1.5rem 1.15rem 3rem}
h1{font-size:clamp(1.8rem,4vw,2.45rem);line-height:1.15;margin:.7rem 0 .6rem;letter-spacing:-.02em;color:var(--brand)}
h2{font-size:1.25rem;margin:2rem 0 .85rem;color:var(--brand)}
h3{color:var(--brand)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.05rem 1.1rem;margin:14px 0}
label{display:block;font-weight:600;margin:10px 0 4px}
select,input{width:100%;padding:10px;font-size:16px;border:1px solid #b9c4bd;border-radius:10px;background:#fff}
button{background:var(--brand-2);color:#fff;border:0;border-radius:12px;padding:12px 16px;font-size:16px;margin-top:12px;cursor:pointer;font-weight:700}
button:hover{background:#275a4a}
.result{background:var(--soft);border-left:4px solid var(--brand-2);padding:12px;border-radius:8px;margin-top:14px}
.slot{border:2px dashed var(--accent);background:#fffbea;color:#7a6200;padding:14px;border-radius:10px;text-align:center;font-size:14px;margin:16px 0}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{border-bottom:1px solid var(--line);padding:6px;text-align:left}
.src{font-size:13px;color:var(--muted)}
.grid{display:grid;gap:.9rem}@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
footer{max-width:920px;margin:0 auto;padding:1rem 1.15rem 2.5rem;font-size:.88rem;color:var(--muted)}
footer a{color:var(--brand-2)}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.05rem 1.1rem;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}
.tile:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(31,74,58,.1);border-color:#b9cec1}
.tile .ico{width:40px;height:40px;border-radius:12px;background:var(--soft);display:grid;place-items:center;margin-bottom:.65rem;color:var(--brand-2);font-size:1.1rem}
.tile b{display:block;color:var(--brand);font-size:1.02rem;margin-bottom:.25rem}
.tile span,.tile .tile-desc{color:var(--muted);font-size:.92rem;font-weight:400}
.warn{background:#fff7ed;border-left:4px solid #ea580c;padding:12px;border-radius:8px;margin:12px 0;font-size:14px}
.danger{background:#fef2f2;border-left:4px solid #dc2626;padding:12px;border-radius:8px;margin:12px 0;font-size:14px}
.okbox{background:#ecfdf5;border-left:4px solid #059669;padding:12px;border-radius:8px;margin:8px 0}
.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:12px;font-weight:700}
.badge-ok{background:#d1fae5;color:#065f46}.badge-hi{background:#fee2e2;color:#991b1b}.badge-mid{background:#ffedd5;color:#9a3412}.badge-unk{background:#e5e7eb;color:#374151}
.ai-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.ai-thumbs img{width:88px;height:88px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.paywall{background:#fff7ed;border:1px solid #fdba74;border-radius:12px;padding:12px;margin:10px 0}
.cam-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.cam-row label{background:var(--brand-2);color:#fff;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:700;font-size:14px}
.cam-row input{display:none}
.urgency-urgent{border-left-color:#dc2626}.urgency-soon{border-left-color:#ea580c}.urgency-monitor{border-left-color:#2563eb}
.ai-tile{border-color:var(--brand-2)}

/* Homepage Elevated Forest layout */
.hero{display:grid;gap:1.25rem;align-items:center;margin:1rem 0 2rem}
@media(min-width:760px){.hero{grid-template-columns:1.2fr .8fr}}
.hero-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.5rem 1.4rem;box-shadow:0 10px 30px rgba(31,74,58,.08)}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-2);background:var(--soft);padding:.35rem .65rem;border-radius:999px}
.lead{color:var(--muted);font-size:1.05rem;margin:0 0 1rem;max-width:38rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.1rem;border-radius:12px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:.95rem}
.btn-primary{background:var(--brand-2);color:#fff}.btn-primary:hover{background:#275a4a}
.btn-ghost{background:transparent;color:var(--brand);border:1.5px solid var(--line)}
.art{background:linear-gradient(180deg,#dceadf,#f7faf7);border-radius:20px;border:1px solid var(--line);min-height:220px;display:grid;place-items:center;padding:1rem}
.ai-wrap{background:var(--soft);border-radius:18px;padding:1rem;border:1px dashed #a8c4b5;margin-top:1.5rem}
.ai-wrap h2{margin-top:.2rem}
.note{font-size:.85rem;color:var(--muted);font-weight:500}

/* hamburger — closed by default */
header.has-menu{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:visible}
header.has-menu>a:first-of-type,header.has-menu>a.brand{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:auto}
header.has-menu .tag,header.has-menu>span{flex:0 1 auto;min-width:0;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-btn{flex:none;margin-left:auto;background:transparent;border:1px solid var(--menu-border);color:#fff;border-radius:10px;width:44px;height:44px;font-size:22px;line-height:1;cursor:pointer}
.menu-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
header>nav,header.has-menu>nav,header nav[hidden]{display:none!important}
header.menu-open>nav{display:block!important;position:absolute;top:100%;right:8px;left:auto;z-index:50;margin:6px 0 0;min-width:220px;max-width:calc(100vw - 16px);max-height:75vh;overflow:auto;background:var(--menu-bg);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.2);padding:6px 0;font-size:1rem}
header.menu-open>nav a{display:block;margin:0;padding:12px 18px;color:var(--menu-link);font-weight:600;text-decoration:none}
header.menu-open>nav a:hover,header.menu-open>nav a:focus{background:var(--menu-hover)}
@media print{.menu-btn{display:none!important}header>nav{display:none!important}}
@media(max-width:520px){header.has-menu>span,header.has-menu .tag{display:none!important}}
