/* Find an ADU Builder — shared stylesheet. CSS-only design, no external assets. */
:root{
  --ink:#1d2b25;
  --ink-soft:#44554c;
  --green:#175e3c;
  --green-dark:#0f4630;
  --accent:#d97706;
  --accent-soft:#fdf3e3;
  --bg:#faf9f6;
  --card:#ffffff;
  --border:#e3ded2;
  --radius:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.55;
}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:var(--green-dark);color:#fff}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:14px;padding-bottom:14px}
.brand{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:.2px}
.brand:hover{text-decoration:none}
.brand span{color:#f5b04c}
.nav{display:flex;flex-wrap:wrap;gap:16px;font-size:.95rem}
.nav a{color:#dcebe2}
.nav a:hover{color:#fff}

/* Hero */
.hero{background:linear-gradient(160deg,var(--green-dark),var(--green));color:#fff;padding:56px 0 48px}
.hero h1{font-size:2.3rem;line-height:1.15;max-width:640px}
.hero p{margin-top:12px;max-width:620px;color:#dcebe2;font-size:1.05rem}
.hero-search{margin-top:26px;background:#fff;border-radius:var(--radius);padding:14px;max-width:680px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.hero-search label{display:block;font-size:.8rem;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.search-row{display:flex;gap:10px;flex-wrap:wrap}
.search-row select{flex:1 1 200px;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:#fff;color:var(--ink)}
.btn{display:inline-block;border:none;cursor:pointer;border-radius:8px;padding:12px 22px;font-size:1rem;font-weight:600;background:var(--accent);color:#fff}
.btn:hover{background:#b45309;text-decoration:none}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-dark)}
.btn-ghost{background:transparent;border:1px solid var(--green);color:var(--green)}
.btn-ghost:hover{background:#eef5f0}
.quick-links{margin-top:14px;font-size:.92rem;color:#cfe3d6}
.quick-links a{color:#fff;text-decoration:underline;margin-right:12px;white-space:nowrap}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:34px 0}
.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.stat-num{font-size:1.7rem;font-weight:800;color:var(--green)}
.stat-label{color:var(--ink-soft);font-size:.92rem;margin-top:4px}

/* Sections */
.section{padding:38px 0}
.section-title{font-size:1.55rem;margin-bottom:6px}
.section-sub{color:var(--ink-soft);margin-bottom:22px;max-width:680px}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;position:relative}
.card.featured{border-color:var(--accent);border-width:2px}
.card-top{display:flex;align-items:center;gap:12px}
.monogram{width:46px;height:46px;border-radius:10px;background:var(--green);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1.02rem;flex:0 0 auto}
.monogram.prefab{background:#7c4a12}
.card-name{font-size:1.12rem;font-weight:700;line-height:1.25}
.card-name a{color:var(--ink)}
.card-meta{color:var(--ink-soft);font-size:.9rem}
.card-note{font-size:.95rem;color:var(--ink-soft);flex:1}
.card-link{font-weight:600}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:#eef5f0;color:var(--green);border:1px solid #cfe0d4}
.badge.featured-badge{background:var(--accent-soft);color:#9a4a05;border-color:#f0d3a0}
.badge.type-badge{background:#f1efe8;color:var(--ink-soft);border-color:var(--border)}

/* State grid */
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.state-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.state-card h3{font-size:1.15rem;margin-bottom:4px}
.state-card p{color:var(--ink-soft);font-size:.93rem}
.state-card .count{font-weight:700;color:var(--green)}

/* Page heads (hubs, profiles, pricing) */
.page-head{padding:38px 0 8px}
.page-head h1{font-size:2rem;line-height:1.2}
.page-head .lede{color:var(--ink-soft);max-width:720px;margin-top:10px;font-size:1.02rem}
.crumb{font-size:.88rem;color:var(--ink-soft);margin-bottom:10px}
.crumb a{color:var(--ink-soft);text-decoration:underline}

/* Profile */
.profile-head{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.profile-head .monogram{width:64px;height:64px;font-size:1.4rem;border-radius:14px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:24px 0}
.fact{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.fact h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:5px}
.fact p{font-weight:600;word-break:break-word}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:760px){.two-col{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.panel h3{margin-bottom:10px;font-size:1.15rem}
.panel p,.panel li{color:var(--ink-soft);font-size:.97rem}
.panel ul{margin-left:18px}

/* Forms */
.quote-form label{display:block;font-size:.88rem;font-weight:600;margin:12px 0 5px}
.quote-form input,.quote-form textarea,.quote-form select{width:100%;padding:11px;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;background:#fff}
.quote-form .btn{margin-top:16px;width:100%}
.form-note{font-size:.85rem;color:var(--ink-soft);margin-top:10px}

/* Pricing */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:10px}
.price-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column}
.price-card.featured-tier{border:2px solid var(--accent);position:relative}
.price-card h3{font-size:1.2rem}
.price{font-size:2rem;font-weight:800;margin:8px 0 2px}
.price small{font-size:.95rem;font-weight:500;color:var(--ink-soft)}
.price-card ul{list-style:none;margin:16px 0 22px;flex:1}
.price-card li{padding:6px 0 6px 26px;position:relative;color:var(--ink-soft);font-size:.96rem;border-bottom:1px dashed var(--border)}
.price-card li::before{content:"✓";position:absolute;left:2px;color:var(--green);font-weight:700}
.price-card li.off{color:#a39e90}
.price-card li.off::before{content:"—";color:#a39e90}
.price-card .btn{text-align:center}

/* Lists / misc */
.link-list{list-style:none}
.link-list li{padding:7px 0;border-bottom:1px solid var(--border)}
.also-serving{margin-top:26px;background:#f3f1ea;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}
.also-serving h3{font-size:1rem;margin-bottom:8px}
.also-serving a{margin-right:14px;white-space:nowrap;line-height:1.9}
.cta-band{background:var(--green-dark);color:#fff;border-radius:var(--radius);padding:28px;margin:36px 0}
.cta-band h2{font-size:1.4rem;margin-bottom:6px}
.cta-band p{color:#dcebe2;margin-bottom:16px;max-width:620px}

/* Footer */
.site-footer{border-top:1px solid var(--border);margin-top:30px;padding:28px 0 40px;color:var(--ink-soft);font-size:.9rem}
.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.site-footer a{color:var(--ink-soft);text-decoration:underline;margin-right:14px}

@media(max-width:640px){
  .hero h1{font-size:1.75rem}
  .page-head h1{font-size:1.6rem}
  .site-header .wrap{flex-direction:column;align-items:flex-start}
}
