/*!
Theme Name: Kadence
Theme URI: https://www.liquidweb.com/software/kadence/
Author: Kadence WP
Author URI: https://www.liquidweb.com/
Description: Kadence Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. It features an easy to use drag and drop header and footer builder to build any type of header in minutes. It features a full library of gorgeous starter templates that are easy to modify with our intelligent global font and color controls. With extensive integration with the most popular 3rd party plugins, you can quickly build impressive ecommerce websites, course websites, business websites, and more.
Version: 1.5.2
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence
Requires at least: 6.3
Tested up to: 6.9.1
Tags: translation-ready, accessibility-ready, two-columns, right-sidebar, left-sidebar, footer-widgets, blog, custom-logo, custom-background, custom-menu, rtl-language-support, editor-style, threaded-comments, custom-colors, featured-images, wide-blocks, full-width-template, theme-options, e-commerce
Requires PHP: 7.4

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share
what you've learned with others.
*/
/* =========================================================================
   DERETICULAR DESIGN SYSTEM: SOVEREIGN COLOR & COMPONENT TOKENS
   ========================================================================= */
:root {
  --dr-dark-blue: #001f3f;
  --dr-accent-blue: #003366;
  --dr-light-bg: #f4f5f7;
  --dr-text-main: #1a1a1a;
  --dr-white: #ffffff;
  --dr-gold-accent: #d4af37;
  --dr-glass-bg: rgba(0, 31, 63, 0.92);
  --dr-glass-border: rgba(255, 255, 255, 0.18);
}

/* Base Card Styling */
.dr-interactive-tool-card {
  background: var(--dr-white) !important;
  border: 1px solid #e5e7eb !important;
  border-top: 4px solid var(--dr-gold-accent) !important;
  border-radius: 8px !important;
  padding: 32px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 31, 63, 0.08) !important;
  margin-bottom: 40px !important;
}

/* Badges */
.dr-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-right: 8px !important;
  margin-bottom: 8px !important;
}
.dr-badge-green { background-color: #e6f4ea !important; color: #137333 !important; border: 1px solid #ceead6 !important; }
.dr-badge-blue  { background-color: #e8f0fe !important; color: #1a73e8 !important; border: 1px solid #aecbfa !important; }
.dr-badge-gold  { background-color: #fef7e0 !important; color: #b06000 !important; border: 1px solid #fde293 !important; }

/* Input Elements */
.dr-tool-group { margin-bottom: 20px !important; }
.dr-tool-group label {
  display: block !important;
  font-weight: 700 !important;
  color: var(--dr-dark-blue) !important;
  margin-bottom: 8px !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
}
.dr-tool-select, .dr-tool-input {
  width: 100% !important;
  padding: 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 4px !important;
  font-size: 1rem !important;
}
.dr-tool-range { width: 100% !important; accent-color: var(--dr-accent-blue) !important; }

/* Dynamic Display Boxes */
.dr-metrics-display {
  background: linear-gradient(135deg, var(--dr-dark-blue) 0%, #000c1a 100%) !important;
  border-left: 5px solid var(--dr-gold-accent) !important;
  border-radius: 6px !important;
  padding: 24px !important;
  color: #ffffff !important;
  margin-top: 24px !important;
}
.dr-metric-value {
  font-size: clamp(1.8rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: var(--dr-gold-accent) !important;
  line-height: 1.1 !important;
}
.dr-metric-label {
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #d1d5db !important;
  margin-bottom: 4px !important;
}
.dr-primary-cta-btn {
  background-color: var(--dr-gold-accent) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  padding: 14px 28px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
}
.dr-primary-cta-btn:hover {
  background-color: #e5be3b !important;
  transform: translateY(-2px) !important;
}
/* =========================================================================
   DERETICULAR PRODUCTION STYLES: SOVEREIGN THEME & CONVERSION ENGINE
   ========================================================================= */
:root {
  --dr-dark-blue: #001f3f;
  --dr-accent-blue: #003366;
  --dr-light-bg: #f4f5f7;
  --dr-text-main: #1a1a1a;
  --dr-white: #ffffff;
  --dr-gold-accent: #d4af37;
  --dr-glass-bg: rgba(0, 31, 63, 0.92);
  --dr-glass-border: rgba(255, 255, 255, 0.18);
}

/* Base Elevated Cards */
.dr-interactive-tool-card {
  background: var(--dr-white) !important;
  border: 1px solid #e5e7eb !important;
  border-top: 4px solid var(--dr-gold-accent) !important;
  border-radius: 8px !important;
  padding: 32px !important;
  box-shadow: 0 10px 25px -5px rgba(0, 31, 63, 0.08) !important;
  margin-bottom: 30px !important;
}

/* Micro Status Badges */
.dr-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-right: 8px !important;
  margin-bottom: 8px !important;
}
.dr-badge-green { background-color: #e6f4ea !important; color: #137333 !important; border: 1px solid #ceead6 !important; }
.dr-badge-blue  { background-color: #e8f0fe !important; color: #1a73e8 !important; border: 1px solid #aecbfa !important; }
.dr-badge-gold  { background-color: #fef7e0 !important; color: #b06000 !important; border: 1px solid #fde293 !important; }

/* Interactive Sliders & Forms */
.dr-tool-group { margin-bottom: 18px !important; }
.dr-tool-group label {
  display: block !important;
  font-weight: 700 !important;
  color: var(--dr-dark-blue) !important;
  margin-bottom: 6px !important;
  font-size: 0.85rem !important;
  text-transform: uppercase !important;
}
.dr-tool-select {
  width: 100% !important;
  padding: 12px !important;
  border: 1px solid #d1d5db !important;
  border-radius: 4px !important;
  font-size: 0.95rem !important;
  background: #ffffff !important;
}
.dr-tool-range { width: 100% !important; accent-color: var(--dr-accent-blue) !important; }

/* Display Metrics Canvas */
.dr-metrics-display {
  background: linear-gradient(135deg, var(--dr-dark-blue) 0%, #000c1a 100%) !important;
  border-left: 5px solid var(--dr-gold-accent) !important;
  border-radius: 6px !important;
  padding: 24px !important;
  color: #ffffff !important;
  margin-top: 20px !important;
}
.dr-metric-value {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem) !important;
  font-weight: 800 !important;
  color: var(--dr-gold-accent) !important;
}
.dr-metric-label {
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #d1d5db !important;
}

/* Primary High-Ticket Gold Button */
.dr-primary-cta-btn {
  background-color: var(--dr-gold-accent) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  padding: 14px 28px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  display: inline-block !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
  transition: transform 0.2s ease, background-color 0.2s ease !important;
}
.dr-primary-cta-btn:hover {
  background-color: #e5be3b !important;
  transform: translateY(-2px) !important;
  color: #000000 !important;
}
TASK 4: DEPLOY INTERACTIVE SIZERS ON THE HOMEPAGE
Go to Pages > All Pages > Edit "Home".
Add a Columns Block (2 Columns).
In the Left Column, insert a Custom HTML block and paste the WISP-in-a-Box Tracker:
code
Html
<div class="dr-interactive-tool-card">
  <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
    <h3 style="color: #001f3f; margin: 0; font-size: 1.4rem; font-weight: 800;">WISP-in-a-Box™ Forecaster</h3>
    <span class="dr-badge dr-badge-green">ROI Sizer</span>
  </div>
  <p style="color: #4b5563; font-size: 0.9rem; margin-bottom: 18px;">
    Model municipal broadband cash flow and capital recovery.
  </p>

  <div class="dr-tool-group">
    <label>Subscribers: <span id="wisp-sub-val" style="color: #003366;">250</span></label>
    <input type="range" id="wisp-sub-input" class="dr-tool-range" min="25" max="1500" step="25" value="250">
  </div>

  <div class="dr-tool-group">
    <label>Average ARPU: <span id="wisp-arpu-val" style="color: #003366;">$75/mo</span></label>
    <input type="range" id="wisp-arpu-input" class="dr-tool-range" min="40" max="150" step="5" value="75">
  </div>

  <div class="dr-tool-group">
    <label>Hardware Tier</label>
    <select id="wisp-capex-input" class="dr-tool-select">
      <option value="65000">Single Tower Sovereign Node ($65,000)</option>
      <option value="180000" selected>Township Microgrid Array - 3 Nodes ($180,000)</option>
      <option value="340000">Regional Resilient Mesh - 6 Nodes ($340,000)</option>
    </select>
  </div>

  <div class="dr-metrics-display">
    <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 10px; text-align: center;">
      <div>
        <div class="dr-metric-label">Estimated Gross ARR</div>
        <div class="dr-metric-value" id="wisp-out-arr">$225,000</div>
      </div>
      <div>
        <div class="dr-metric-label">Est. Capital Payback</div>
        <div class="dr-metric-value" id="wisp-out-payback">11.4 Mos</div>
      </div>
    </div>
  </div>
</div>

<script>
(function() {
  const s = document.getElementById('wisp-sub-input'), a = document.getElementById('wisp-arpu-input'), c = document.getElementById('wisp-capex-input');
  const sv = document.getElementById('wisp-sub-val'), av = document.getElementById('wisp-arpu-val');
  const outArr = document.getElementById('wisp-out-arr'), outPb = document.getElementById('wisp-out-payback');
  function calc() {
    const sub = parseInt(s.value, 10), arpu = parseInt(a.value, 10), capex = parseFloat(c.value);
    sv.innerText = sub; av.innerText = '$' + arpu + '/mo';
    const grossMRR = sub * arpu;
    const netMRR = grossMRR - ((grossMRR * 0.16) + 1200);
    outArr.innerText = '$' + Math.round(netMRR * 12).toLocaleString();
    outPb.innerText = (capex / (netMRR > 0 ? netMRR : 1)).toFixed(1) + ' Mos';
  }
  s.addEventListener('input', calc); a.addEventListener('input', calc); c.addEventListener('change', calc);
  calc();
})();
</script>
In the Right Column, insert a Custom HTML block and paste the RIOS™ Municipal Sizer Tool:
code
Html
<div class="dr-interactive-tool-card">
  <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px;">
    <h3 style="color: #001f3f; margin: 0; font-size: 1.4rem; font-weight: 800;">RIOS™ Municipal Sizer</h3>
    <span class="dr-badge dr-badge-blue">Gov Class</span>
  </div>
  <p style="color: #4b5563; font-size: 0.9rem; margin-bottom: 18px;">
    Size municipal island-mode autonomy and air-gapped compute.
  </p>

  <div class="dr-tool-group">
    <label>Protected Critical Facilities</label>
    <select id="muni-fac" class="dr-tool-select">
      <option value="1">Single Facility (EOC / 911 Dispatch)</option>
      <option value="3" selected>Municipal Core (City Hall, Dispatch, Water SCADA)</option>
      <option value="6">Full Township Complex (6+ Facilities)</option>
    </select>
  </div>

  <div class="dr-tool-group">
    <label>Island-Mode Target</label>
    <select id="muni-aut" class="dr-tool-select">
      <option value="48">48 Hours Resilient Storage</option>
      <option value="96" selected>96 Hours Microgrid + Solar</option>
      <option value="indefinite">Indefinite (Continuous Island)</option>
    </select>
  </div>

  <div class="dr-metrics-display">
    <div class="dr-metric-label">Recommended Architecture Tier</div>
    <div id="muni-tier-title" style="font-size: 1.15rem; font-weight: 800; color: #ffffff; margin: 4px 0 10px 0;">
      RIOS Enterprise Stack (Core Municipal Triad)
    </div>
    <div style="display: flex; justify-content: space-between; align-items: center;">
      <div>
        <div class="dr-metric-label">Budget Band</div>
        <div class="dr-metric-value" id="muni-cost-band">$320k – $440k</div>
      </div>
      <div>
        <a href="/contact-audit" class="dr-primary-cta-btn" style="padding: 10px 18px; font-size: 0.85rem;">Request Audit</a>
      </div>
    </div>
  </div>
</div>

<script>
(function() {
  const f = document.getElementById('muni-fac'), a = document.getElementById('muni-aut');
  const t = document.getElementById('muni-tier-title'), c = document.getElementById('muni-cost-band');
  function update() {
    if (f.value === "1") {
      t.innerText = "RIOS Compact Node (Single Facility)";
      c.innerText = "$180k – $240k";
    } else if (f.value === "6" || a.value === "indefinite") {
      t.innerText = "RIOS Sovereign Matrix (Multi-Facility)";
      c.innerText = "$480k – $650k+";
    } else {
      t.innerText = "RIOS Enterprise Stack (Core Triad)";
      c.innerText = "$320k – $440k";
    }
  }
  f.addEventListener('change', update); a.addEventListener('change', update);
  update();
})();
</script>