/* EnergyScout — location / industry / utility templates. Loads after base.css. */
.util{ background: rgba(196,169,98,0.07); border: 1px solid rgba(196,169,98,0.35); border-radius: 14px; padding: 1.75rem 2rem; margin: 2.5rem 0; }
.util h3{ color: var(--scout-gold); margin: 0 0 0.75rem; font-size: 1.35rem; }
.util p{ margin-bottom: 0.75rem; }
.u-row{ display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1.1rem 0; }
.u-tag{ display: inline-flex; align-items: center; gap: 0.45rem; background: rgba(143,179,132,0.14); border: 1px solid rgba(143,179,132,0.35); border-radius: 50px; padding: 0.45rem 1.1rem; font-weight: 600; font-size: 0.95rem; }
.u-note{ font-size: 0.95rem; opacity: 0.78; margin-bottom: 0 !important; }
.badge-ta{ display: inline-block; background: var(--gradient-glow); color: var(--scout-dark); font-weight: 700; font-size: 0.75rem; letter-spacing: 0.05em; text-transform: uppercase; padding: 0.35rem 0.9rem; border-radius: 50px; margin-bottom: 1rem; }
.stat-value.sv-text{ font-size: 1.75rem; line-height: 1.3; }
.hero{ padding: 10rem 5% 5rem; background: linear-gradient(135deg, var(--scout-darker) 0%, var(--scout-dark) 100%); }
.hero h1{ font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; margin-bottom: 1rem; }
.hero h1 span{ color: var(--scout-glow); }
.hero p{ font-size: 1.2rem; opacity: 0.9; max-width: 700px; margin-bottom: 2rem; }
.hero-cta{ display: inline-flex; align-items: center; gap: 0.5rem; background: var(--gradient-glow); color: var(--scout-dark); padding: 1rem 2rem; border-radius: 50px; font-weight: 600; font-size: 1.1rem; }
.content{ padding: 4rem 5%; }
.content h2{ font-size: 2rem; margin-bottom: 1.5rem; color: var(--scout-glow); }
.content h3{ font-size: 1.5rem; margin: 2rem 0 1rem; }
.content p{ margin-bottom: 1rem; opacity: 0.9; }
.content ul{ margin: 1rem 0 1rem 2rem; }
.content li{ margin-bottom: 0.5rem; }
.card-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; margin: 2rem 0; }
.card{ background: rgba(74, 103, 65, 0.1); border: 1px solid rgba(143, 179, 132, 0.2); border-radius: 12px; padding: 2rem; }
.card h3{ color: var(--scout-glow); margin-bottom: 1rem; }
.stats{ display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 2rem; margin: 3rem 0; text-align: center; }
.stat-value{ font-size: 3rem; font-weight: 700; color: var(--scout-glow); }
.stat-label{ opacity: 0.8; }
.cta-section{ background: var(--gradient-glow); padding: 4rem 5%; text-align: center; margin: 4rem 0; border-radius: 20px; }
.cta-section h2{ color: var(--scout-dark); margin-bottom: 1rem; }
.cta-section p{ color: var(--scout-dark); opacity: 0.8; margin-bottom: 2rem; }
.cta-btn{ display: inline-block; background: var(--scout-dark); color: var(--scout-cream); padding: 1rem 2.5rem; border-radius: 50px; font-weight: 600; }
.breadcrumbs{ padding: 1rem 5%; background: rgba(0,0,0,0.2); font-size: 0.9rem; }
.breadcrumbs a{ opacity: 0.7; }
.breadcrumbs span{ opacity: 0.5; margin: 0 0.5rem; }
@media (max-width: 768px){
.hero{ padding: 8rem 5% 4rem; }
.stats{ grid-template-columns: repeat(2, 1fr); }
}
.uhub *,.uhub *::before,.uhub *::after{box-sizing:border-box}
.uhub a{color:inherit}
.uhub h1,.uhub h2,.uhub h3{color:var(--cream);margin:0;line-height:1.14;text-wrap:balance}
.uhub h1{font-family:var(--d);font-weight:700;font-size:clamp(2.3rem,5.2vw,3.9rem);letter-spacing:-.01em}
.uhub h2{font-family:var(--d);font-weight:600;font-size:clamp(1.7rem,3.4vw,2.5rem)}
.uhub h3{font-family:var(--s);font-weight:600;font-size:1.16rem;letter-spacing:-.01em}
.uhub p{margin:0}
.uhub .wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.uhub section{padding:76px 0}
.uhub .eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--sage);margin-bottom:18px}
.uhub .lede{font-size:clamp(1.03rem,1.5vw,1.2rem);max-width:66ch;margin-top:20px}
.uhub .hero{background:linear-gradient(170deg,#0d1912,#060d09 70%);border-bottom:1px solid var(--edge);
  padding:88px 0 72px;position:relative;overflow:hidden}
.uhub .hero::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(760px 380px at 78% 0%,rgba(168,217,156,.11),transparent 68%)}
.uhub .hero .wrap{position:relative;z-index:2}
.uhub .badge{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:500;
  color:var(--sage);background:rgba(168,217,156,.10);border:1px solid var(--edge-2);
  border-radius:100px;padding:8px 16px;margin-top:26px}
.uhub .badge b{color:var(--cream);font-weight:600}
.uhub .keynote{border-left:3px solid var(--sage);background:var(--panel);
  padding:26px 30px;border-radius:0 10px 10px 0;margin-top:34px;max-width:74ch}
.uhub .keynote p{color:var(--cream);font-size:1.06rem}
.uhub .keynote p+p{margin-top:12px;color:var(--dim);font-size:.99rem}
.uhub .grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:44px}
.uhub .u{background:var(--panel);border:1px solid var(--edge);border-radius:14px;padding:28px;
  display:flex;flex-direction:column}
.uhub .u-name{font-family:var(--d);font-size:1.9rem;font-weight:700;color:var(--cream);line-height:1}
.uhub .u-full{font-size:13px;color:var(--faint);margin-top:8px;letter-spacing:.02em}
.uhub .u-prog{font-size:14.5px;color:var(--sage);font-weight:500;margin-top:18px}
.uhub .u p{font-size:15px;margin-top:14px}
.uhub .u ul{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:9px}
.uhub .u li{font-size:14.6px;padding-left:18px;position:relative}
.uhub .u li::before{content:'';position:absolute;left:0;top:9px;width:6px;height:6px;
  border-radius:50%;background:var(--sage-2)}
.uhub .status{margin-top:auto;padding-top:20px}
.uhub .pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;
  border-radius:100px;padding:7px 14px;letter-spacing:.02em}
.uhub .pill.go{color:#0a1410;background:var(--sage)}
.uhub .pill.wait{color:#2a1c08;background:var(--amber)}
.uhub .pill.na{color:var(--dim);background:rgba(244,241,232,.09);border:1px solid var(--edge)}
.uhub .tbl-wrap{overflow-x:auto;border:1px solid var(--edge);border-radius:14px;margin-top:36px;
  -webkit-overflow-scrolling:touch}
.uhub table{width:100%;border-collapse:collapse;min-width:660px;font-size:15px}
.uhub th,.uhub td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--edge)}
.uhub thead th{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);
  font-weight:600;background:rgba(143,179,132,.07)}
.uhub tbody td:first-child{color:var(--cream);font-weight:500}
.uhub tbody tr:last-child td{border-bottom:0}
.uhub tbody tr:hover td{background:rgba(143,179,132,.05)}
.uhub .tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:5px;
  background:rgba(168,217,156,.13);color:var(--sage);letter-spacing:.02em}
.uhub .tag.split{background:rgba(224,180,88,.14);color:var(--amber)}
.uhub .tag.other{background:rgba(208,138,106,.14);color:var(--rust)}
.uhub .note{font-size:13.4px;color:var(--faint);margin-top:18px;line-height:1.6;max-width:80ch}
.uhub .cta{background:linear-gradient(160deg,#101d15,#060d09 65%);border-top:1px solid var(--edge);
  text-align:center}
.uhub .cta .lede{margin:20px auto 30px}
.uhub .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--s);font-weight:600;
  font-size:16px;padding:15px 30px;border-radius:100px;background:var(--sage);color:#0a1410;
  text-decoration:none;transition:transform .16s ease,background .16s ease}
.uhub .btn:hover{transform:translateY(-2px);background:#bde5b2}
.uhub .btn.ghost{background:transparent;color:var(--cream);border:1px solid var(--edge-2)}
.uhub .btn.ghost:hover{background:rgba(168,217,156,.10)}
.uhub .btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.uhub .foot{border-top:1px solid var(--edge);padding:34px 0;font-size:13.5px;color:var(--faint)}
.uhub .foot a{color:var(--sage);text-decoration:none}
.uhub .foot a:hover{text-decoration:underline}
.uhub .grid{grid-template-columns:minmax(0,1fr)}
.uhub section{padding:58px 0}
