
  :root {
    --sun: #2E7D52;
    --sun-dark: #1E5F3E;
    --sun-light: #EAF5EF;
    --green: #2E7D52;
    --green-light: #EAF5EF;
    --dark: #1A1A1A;
    --mid: #4A4A4A;
    --muted: #7A7A7A;
    --border: #E5E5E5;
    --bg: #FAFAFA;
    --white: #FFFFFF;
    --radius: 12px;
    --radius-sm: 8px;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; color: var(--dark); background: var(--bg); line-height: 1.6; }

  /* NAV */
  nav { background: var(--white); border-bottom: 1px solid var(--border); padding: 0 5%; display: flex; align-items: center; justify-content: space-between; height: 64px; position: sticky; top: 0; z-index: 100; }
  .brand-logo { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
  .brand-wordmark { display: inline-flex; align-items: center; gap: 5px; font-weight: 900; line-height: 1; letter-spacing: 0; color: var(--dark); }
  .brand-wordmark .solar { font-size: 23px; letter-spacing: -0.4px; }
  .brand-wordmark .brand-z { position: relative; display: inline-block; width: 34px; height: 31px; margin-left: 1px; transform: translateY(1px); color: transparent; font-size: 0; }
  .brand-wordmark .brand-z::before { content: ''; position: absolute; inset: 1px 0 0 0; background:
      linear-gradient(var(--sun-dark), var(--sun-dark)) 0 0 / 34px 6px no-repeat,
      linear-gradient(126deg, transparent 0 39%, var(--sun-dark) 40% 59%, transparent 60% 100%) center / 34px 31px no-repeat,
      linear-gradient(var(--sun), var(--sun)) 4px 25px / 34px 6px no-repeat;
    border-radius: 2px;
  }
  .brand-wordmark .brand-z::after { content: ''; position: absolute; right: -3px; top: -5px; width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px var(--green-light); }
  .footer-logo .brand-text { color: var(--white); font-size: 19px; }
  .nav-links { display: flex; gap: 28px; list-style: none; }
  .nav-links a { text-decoration: none; color: var(--mid); font-size: 14px; font-weight: 500; }
  .nav-links a:hover { color: var(--dark); }
  .nav-dropdown { position: relative; }
  .nav-drop-btn { border: 0; background: transparent; color: var(--mid); font-size: 14px; font-weight: 500; cursor: pointer; padding: 0; font-family: inherit; }
  .nav-drop-btn:hover, .nav-dropdown:focus-within .nav-drop-btn, .nav-dropdown:hover .nav-drop-btn { color: var(--dark); }
  .nav-menu { position: absolute; top: 28px; right: 0; min-width: 210px; background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); box-shadow: 0 12px 30px rgba(26,26,26,0.12); padding: 8px; display: none; }
  .nav-dropdown:hover .nav-menu, .nav-dropdown:focus-within .nav-menu { display: grid; gap: 4px; }
  .nav-menu a { display: block; padding: 10px 12px; border-radius: 6px; color: var(--mid); }
  .nav-menu a:hover { background: var(--sun-light); color: var(--dark); }
  .nav-cta { background: var(--sun); color: var(--white); border: none; border-radius: var(--radius-sm); padding: 9px 20px; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; }
  .nav-cta:hover { background: var(--sun-dark); }

  /* BANNER */
  .banner { background: var(--sun); color: var(--white); text-align: center; padding: 10px 5%; font-size: 14px; font-weight: 500; }
  .banner strong { font-weight: 700; }

  /* HERO */
  .hero { background: var(--white); color: var(--dark); padding: 0; position: relative; overflow: hidden; }
  .hero-slider { position: relative; min-height: 580px; }
  .hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity 0.55s ease, transform 0.55s ease, visibility 0.55s ease; }
  .hero-slide.active { opacity: 1; visibility: visible; transform: translateX(0); z-index: 2; }
  .hero-inner { max-width: 1320px; min-height: 580px; margin: 0 auto; padding: 50px 4% 68px; display: grid; grid-template-columns: minmax(390px, 0.95fr) minmax(450px, 1.05fr); gap: 42px; align-items: center; }
  .hero-copy { max-width: 600px; }
  .hero-badge { display: inline-block; background: var(--green-light); border: 1px solid #d5eadf; color: var(--green); font-size: 12px; font-weight: 800; padding: 6px 13px; border-radius: 999px; margin-bottom: 18px; letter-spacing: 1px; text-transform: uppercase; }
  .hero h1 { font-size: clamp(34px, 4.35vw, 56px); font-weight: 900; line-height: 1.04; max-width: 660px; margin: 0 0 18px; letter-spacing: 0; }
  .hero h1 em { font-style: normal; color: var(--sun-dark); }
  .hero p { font-size: 17px; color: var(--mid); max-width: 560px; margin: 0 0 26px; line-height: 1.62; }
  .hero-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; width: 100%; max-width: 560px; }
  .hero-media { min-height: 390px; display: flex; align-items: center; justify-content: center; }
  .hero-media img { max-width: 100%; max-height: 430px; object-fit: contain; filter: drop-shadow(0 24px 32px rgba(26,26,26,0.16)); }
  .hero-media.phone img { max-height: 455px; }
  .hero-controls { position: absolute; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 5; display: flex; align-items: center; gap: 10px; }
  .hero-dot { width: 42px; height: 4px; border: 0; border-radius: 99px; background: #DADADA; cursor: pointer; padding: 0; overflow: hidden; }
  .hero-dot span { display: block; width: 0%; height: 100%; background: var(--sun); border-radius: inherit; }
  .hero-dot.active span { animation: heroProgress 4s linear forwards; }
  @keyframes heroProgress { from { width: 0%; } to { width: 100%; } }
  .hero-trust { display: none; }
  .trust-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
  .btn-primary { background: var(--sun); color: var(--white); border: none; border-radius: var(--radius-sm); padding: 12px 24px; font-size: 15px; font-weight: 700; cursor: pointer; }
  .btn-primary:hover { background: var(--sun-dark); }
  .btn-ghost { background: transparent; color: var(--dark); border: 1.5px solid var(--border); border-radius: var(--radius-sm); padding: 12px 24px; font-size: 15px; font-weight: 600; cursor: pointer; }
  .btn-ghost:hover { border-color: var(--sun); }
  .trust-item svg { flex-shrink: 0; }

  /* SECTION WRAPPER */
  section { padding: 64px 5%; }
  .section-label { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--sun-dark); margin-bottom: 10px; }
  .section-title { font-size: clamp(24px, 3vw, 36px); font-weight: 800; line-height: 1.2; color: var(--dark); letter-spacing: -0.5px; margin-bottom: 14px; }
  .section-sub { font-size: 17px; color: var(--muted); max-width: 560px; }
  .section-header { margin-bottom: 44px; }
  .section-header.center { text-align: center; }
  .section-header.center .section-sub { margin: 0 auto; }

  /* PACKAGES */
  .packages { background: var(--white); }
  .packages-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
  .pkg-card { border: 1.5px solid var(--border); border-radius: var(--radius); padding: 28px; cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s; background: var(--white); }
  .pkg-card:hover { border-color: var(--sun); box-shadow: 0 4px 24px rgba(46,125,82,0.12); }
  .pkg-card.featured { border-color: var(--sun); background: var(--sun-light); }
  .pkg-badge { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; background: var(--sun); color: var(--white); padding: 3px 10px; border-radius: 4px; margin-bottom: 14px; }
  .pkg-icon { width: 48px; height: 48px; background: var(--sun-light); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
  .pkg-icon svg { color: var(--sun-dark); }
  .pkg-title { font-size: 18px; font-weight: 700; color: var(--dark); margin-bottom: 6px; }
  .pkg-desc { font-size: 14px; color: var(--muted); margin-bottom: 20px; line-height: 1.5; }
  .pkg-price { font-size: 22px; font-weight: 800; color: var(--dark); }
  .pkg-price span { font-size: 14px; font-weight: 400; color: var(--muted); }
  .pkg-link { display: inline-flex; align-items: center; gap: 6px; color: var(--sun-dark); font-size: 14px; font-weight: 600; margin-top: 14px; cursor: pointer; }

  /* WHY CHOOSE */
  .why { background: var(--bg); }
  .why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 24px; }
  .why-card { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px 20px; }
  .why-icon { width: 44px; height: 44px; background: var(--green-light); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
  .why-icon svg { color: var(--green); }
  .why-title { font-size: 15px; font-weight: 700; margin-bottom: 6px; color: var(--dark); }
  .why-text { font-size: 13px; color: var(--muted); line-height: 1.5; }

  /* BOILER UPGRADE SCHEME */
  .bus { background: var(--green-light); }
  .bus-wrap { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr); gap: 28px; align-items: stretch; }
  .bus-panel { background: var(--white); border: 1px solid #d5eadf; border-radius: var(--radius); padding: 28px; box-shadow: 0 8px 30px rgba(46,125,82,0.08); }
  .bus-panel-inner { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 28px; align-items: center; }
  .bus-image { display: flex; align-items: center; justify-content: center; min-height: 270px; }
  .bus-image img { max-width: 100%; max-height: 275px; object-fit: contain; filter: drop-shadow(0 18px 26px rgba(26,26,26,0.14)); }
  .bus-kicker { display: inline-flex; align-items: center; gap: 8px; background: var(--green); color: var(--white); border-radius: 999px; padding: 6px 13px; font-size: 12px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 16px; }
  .bus-amount { font-size: clamp(42px, 7vw, 74px); line-height: 0.95; color: var(--green); font-weight: 900; letter-spacing: -1px; margin-bottom: 10px; }
  .bus-amount span { font-size: 18px; color: var(--mid); font-weight: 800; letter-spacing: 0; }
  .bus-list { display: grid; gap: 12px; margin: 22px 0; }
  .bus-list-item { display: flex; gap: 10px; color: var(--mid); font-size: 14px; align-items: flex-start; }
  .bus-list-item::before { content: '✓'; display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; background: var(--green); color: var(--white); border-radius: 50%; font-size: 12px; font-weight: 900; flex: 0 0 21px; }
  .bus-check-card { background: #113323; color: var(--white); border-radius: var(--radius); padding: 26px; }
  .bus-check-card h3 { font-size: 22px; line-height: 1.2; margin-bottom: 12px; }
  .bus-check-card p { color: rgba(255,255,255,0.7); font-size: 14px; margin-bottom: 20px; }
  .bus-mini-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 22px; }
  .bus-mini { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-sm); padding: 12px; font-size: 12px; color: rgba(255,255,255,0.72); }
  .bus-mini strong { display: block; color: var(--white); font-size: 18px; line-height: 1.1; margin-bottom: 2px; }

  /* HOW IT WORKS */
  .how { background: var(--white); }
  .steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; max-width: 1160px; margin: 0 auto; }
  .step { position: relative; background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; min-height: 218px; color: var(--dark); box-shadow: 0 12px 28px rgba(26,26,26,0.045); overflow: hidden; }
  .step::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--sun), var(--green)); }
  .step-num { width: 38px; height: 38px; background: var(--sun-light); color: var(--sun-dark); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 900; margin-bottom: 22px; }
  .step-title { font-size: 21px; font-weight: 900; color: var(--dark); margin-bottom: 10px; line-height: 1.22; }
  .step-text { font-size: 15px; color: var(--muted); line-height: 1.55; }

  /* INCLUDED */
  .included { background: #0f1a0f; color: var(--white); }
  .included .section-title { color: var(--white); }
  .included-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 10px; }
  .included-item { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: rgba(255,255,255,0.05); border-radius: var(--radius-sm); border: 1px solid rgba(255,255,255,0.08); }
  .check { width: 22px; height: 22px; background: var(--sun); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .check svg { color: var(--white); }
  .included-text { font-size: 14px; color: rgba(255,255,255,0.85); }

  /* PRODUCTS */
  .products { background: var(--white); }
  .products-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 58px 46px; align-items: start; }
  .product-card-clean { background: var(--white); padding: 0 10px; display: flex; flex-direction: column; align-items: center; text-align: center; min-height: 100%; }
  .product-card-clean.featured-system { grid-column: span 3; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr); gap: 44px; align-items: center; text-align: left; padding-bottom: 18px; }
  .product-media { width: 100%; min-height: 245px; display: flex; align-items: center; justify-content: center; background: #fff; margin-bottom: 18px; }
  .product-media img { max-width: 100%; max-height: 245px; object-fit: contain; filter: drop-shadow(0 18px 24px rgba(26,26,26,0.11)); }
  .featured-system .product-media { min-height: 340px; margin-bottom: 0; }
  .featured-system .product-media img { max-height: 350px; }
  .product-body { display: flex; flex-direction: column; align-items: center; max-width: 430px; margin: 0 auto; }
  .featured-system .product-body { align-items: flex-start; max-width: 560px; margin: 0; }
  .product-row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
  .product-row.reverse { direction: rtl; }
  .product-row.reverse > * { direction: ltr; }
  .product-img { border-radius: 20px; height: 320px; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; position: relative; padding: 28px 24px 0; }
  .product-img::after { content:''; position:absolute; inset:0; border-radius:20px; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,0.18) 100%); pointer-events:none; }
  .product-img img { max-height: 280px; width: auto; object-fit: contain; filter: drop-shadow(0 16px 32px rgba(0,0,0,0.38)); position: relative; z-index: 2; transition: transform 0.3s ease; }
  .product-img:hover img { transform: translateY(-6px); }
  .pi-solar    { background: linear-gradient(145deg, #1a3a2a, #2a5c3e); }
  .pi-battery  { background: linear-gradient(145deg, #1a2a4a, #1e3a6e); }
  .pi-heatpump { background: linear-gradient(145deg, #2a1a3a, #4a2858); }
  .pi-boiler   { background: linear-gradient(145deg, #2e2a1a, #4a3e18); }
  .pi-radiator { background: linear-gradient(145deg, #1a3636, #1a4848); }
  .product-label { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--sun-dark); margin-bottom: 8px; }
  .product-title { font-size: 22px; font-weight: 800; color: var(--dark); margin-bottom: 10px; }
  .product-text { font-size: 15px; color: var(--muted); line-height: 1.65; margin-bottom: 14px; }
  .product-feature { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--dark); margin-bottom: 8px; }
  .product-feature::before { content: '✓'; color: var(--green); font-weight: 800; }

  /* ADDONS */
  .addons { background: var(--white); }
  .addon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
  .addon-card { border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 18px; }
  .addon-tag { font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: var(--sun-dark); background: var(--sun-light); padding: 3px 8px; border-radius: 4px; display: inline-block; margin-bottom: 12px; }
  .addon-title { font-size: 16px; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
  .addon-text { font-size: 13px; color: var(--muted); line-height: 1.5; }

  /* BENEFITS */
  .benefits { background: var(--bg); }
  .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 20px; }
  .benefit-card { text-align: center; padding: 24px 16px; }
  .benefit-icon { width: 52px; height: 52px; background: var(--sun-light); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
  .benefit-icon svg { color: var(--sun-dark); }
  .benefit-title { font-size: 15px; font-weight: 700; color: var(--dark); }

  /* REVIEWS */
  .reviews { background: var(--white); }
  .reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
  .review-card { border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; }
  .review-stars { color: var(--sun); font-size: 16px; margin-bottom: 12px; letter-spacing: 2px; }
  .review-text { font-size: 14px; color: var(--mid); line-height: 1.6; margin-bottom: 14px; font-style: italic; }
  .review-author { font-size: 13px; font-weight: 700; color: var(--dark); }
  .review-date { font-size: 12px; color: var(--muted); }

  /* FAQ */
  .faq { background: var(--bg); }
  .faq-grid { max-width: 1320px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
  .faq-item { background: var(--white); border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
  .faq-q { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; padding: 18px 20px; font-size: 15px; font-weight: 800; color: var(--dark); cursor: pointer; }
  .faq-q::-webkit-details-marker { display: none; }
  .faq-q::after { content: '⌄'; width: 28px; height: 28px; border: 1px solid var(--border); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--sun-dark); font-size: 18px; line-height: 1; flex: 0 0 28px; transition: transform 0.2s ease, background 0.2s ease; }
  .faq-item[open] .faq-q::after { transform: rotate(180deg); background: var(--sun-light); }
  .faq-a { padding: 0 20px 18px; font-size: 14px; color: var(--muted); line-height: 1.6; }

  /* MORE GREEN */
  .more { background: var(--white); }
  .more-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
  .more-card { border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
  .more-icon { width: 40px; height: 40px; background: var(--green-light); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
  .more-icon svg { color: var(--green); }
  .more-title { font-size: 16px; font-weight: 700; color: var(--dark); }
  .more-sub { font-size: 13px; color: var(--muted); }
  .more-link { font-size: 13px; font-weight: 600; color: var(--sun-dark); display: flex; align-items: center; gap: 4px; cursor: pointer; }

  /* CTA */
  .cta-section { background: linear-gradient(135deg, #0f1a0f 0%, #1a2e1a 100%); padding: 80px 5%; text-align: center; color: var(--white); }
  .cta-section h2 { font-size: clamp(26px, 4vw, 42px); font-weight: 800; margin-bottom: 16px; letter-spacing: -0.5px; }
  .cta-section p { font-size: 18px; color: rgba(255,255,255,0.7); margin-bottom: 36px; }
  .cta-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

  /* FOOTER */
  footer { background: #111; color: rgba(255,255,255,0.6); padding: 48px 5% 32px; }
  .footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 32px; margin-bottom: 40px; }
  .footer-logo { font-size: 18px; font-weight: 700; color: var(--white); margin-bottom: 12px; }
  .footer-logo span { color: var(--sun); }
  .footer-tagline { font-size: 13px; color: rgba(255,255,255,0.45); }
  .footer-col-title { font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.85); margin-bottom: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
  .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 8px; }
  .footer-col ul a { text-decoration: none; font-size: 13px; color: rgba(255,255,255,0.5); }
  .footer-col ul a:hover { color: rgba(255,255,255,0.85); }
  .status-disclosure { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 20px; margin: 0 0 22px; font-size: 11px; line-height: 1.55; color: rgba(255,255,255,0.42); }
  .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 12px; color: rgba(255,255,255,0.35); }
  .footer-badges { display: flex; gap: 14px; }
  .badge { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius-sm); padding: 6px 12px; font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.6); letter-spacing: 0.5px; }

  @media (max-width: 768px) {
    .nav-links { display: none; }
    .hero-slider, .hero-inner { min-height: 760px; }
    .hero-inner { grid-template-columns: 1fr; gap: 12px; padding: 34px 5% 112px; text-align: center; }
    .hero-copy { max-width: none; }
    .hero h1 { font-size: 34px; }
    .hero p { font-size: 16px; margin-left: auto; margin-right: auto; }
    .hero-actions { justify-content: center; }
    .hero-media { min-height: 250px; order: -1; }
    .hero-media img { max-height: 300px; }
    .hero-media.phone img { max-height: 360px; }
    .trust-item { font-size: 12px; }
    .products-list { grid-template-columns: 1fr; }
    .product-card-clean.featured-system { grid-column: auto; grid-template-columns: 1fr; text-align: center; padding: 0 10px; }
    .featured-system .product-body { align-items: center; margin: 0 auto; }
    .featured-system .product-media { min-height: 250px; }
    .bus-panel-inner { grid-template-columns: 1fr; }
    .bus-image { min-height: 220px; order: -1; }
    .bus-image img { max-height: 230px; }
    .product-row { grid-template-columns: 1fr; }
    .product-row.reverse { direction: ltr; }
    .faq-grid { grid-template-columns: 1fr; }
    .bus-wrap { grid-template-columns: 1fr; }
    .calc-grid, .bus-mini-grid { grid-template-columns: 1fr; }
    .hero h1 { font-size: 30px; }
  }

  @media (max-width: 420px) {
    nav { padding: 0 4%; }
    .brand-wordmark .solar { font-size: 20px; }
    .brand-wordmark .brand-z { width: 30px; height: 28px; }
    .brand-wordmark .brand-z::before { background:
      linear-gradient(var(--sun-dark), var(--sun-dark)) 0 0 / 30px 5px no-repeat,
      linear-gradient(126deg, transparent 0 39%, var(--sun-dark) 40% 59%, transparent 60% 100%) center / 30px 28px no-repeat,
      linear-gradient(var(--sun), var(--sun)) 4px 23px / 30px 5px no-repeat; }
    .nav-cta { padding: 8px 11px; font-size: 12px; }
  }

/* Ranova additions inherit the supplied site's typography, spacing and cards. */
html{scroll-padding-top:105px}body{overflow-wrap:break-word}a{color:var(--green)}a.btn-primary,a.btn-ghost{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button,input,select,textarea{font-family:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2e7d52;outline-offset:4px}.site-wrap{max-width:1200px;margin:auto}.site-intro{max-width:760px}.site-intro p{color:var(--mid);font-size:16px;margin-top:16px}.site-top{padding:9px 5%;background:#eaf5ef;color:#1e5f3e;display:flex;justify-content:space-between;gap:15px;font-size:12px}.site-top a{color:inherit;text-decoration:none}.site-nav{height:82px;gap:24px}.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto}.site-logo img{width:83px;height:68px;object-fit:contain}.site-name{font-size:21px;font-weight:900;line-height:1;letter-spacing:1px;color:#083c2b}.site-name small{display:block;font-size:10px;font-weight:700;letter-spacing:5px;margin-top:8px}.site-nav .nav-links{gap:24px;align-items:center}.nav-links .current{color:var(--green);font-weight:800}.nav-disclosure{position:relative}.nav-disclosure>summary{list-style:none;font-size:14px;cursor:pointer;font-weight:500;color:var(--mid)}.nav-disclosure>summary::-webkit-details-marker{display:none}.nav-disclosure>summary::after{content:'⌄';margin-left:6px}.nav-disclosure .nav-menu{top:30px;left:0;right:auto;width:245px;max-height:70vh;overflow:auto}.nav-disclosure[open] .nav-menu{display:grid}.site-nav .nav-cta{text-decoration:none}.hero-static .hero-inner{min-height:530px;padding-top:46px;padding-bottom:46px}.hero-static .hero-media{min-height:350px}.hero-static .hero-media img{width:100%;height:415px}.hero-static .hero-actions{justify-content:flex-start}.hero-static .hero-copy{max-width:600px}.hero-static .hero-bullets{padding-left:0;list-style:none;display:grid;gap:7px;margin:0 0 25px;color:var(--mid);font-size:14px}.hero-bullets li:before{content:'✓';color:var(--green);font-weight:900;margin-right:10px}.hero-static .hero-note{font-size:12px;color:var(--muted);margin-top:18px;margin-bottom:0}.photo-frame{border-radius:var(--radius);overflow:hidden}.hero-static .photo-frame img{height:360px;object-fit:cover;filter:none;border-radius:var(--radius)}.service-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.service-card{display:flex;flex-direction:column;background:white;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--dark);transition:box-shadow .2s,border-color .2s}.service-card:hover{border-color:var(--green);box-shadow:0 8px 30px #2e7d5214}.service-card .card-image{width:100%;height:180px;object-fit:cover;background:#f2f7f4;padding:0}.service-card .card-image.contain{object-fit:contain;padding:12px}.service-card .card-content{padding:23px;display:flex;flex-direction:column;flex:1}.service-card h3{font-size:18px;line-height:1.3;margin-bottom:10px}.service-card p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:20px}.service-card .pkg-link{margin-top:auto}.section-copy{font-size:16px;color:var(--mid);max-width:800px;line-height:1.8}.section-copy p+p{margin-top:15px}.content-split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.content-split img{width:100%;max-height:380px;object-fit:cover;border-radius:var(--radius)}.content-split .contain-img{object-fit:contain;background:#eaf5ef;padding:20px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.detail-grid .why-card{padding:26px}.detail-grid h3{font-size:17px;line-height:1.3;margin-bottom:10px}.detail-grid p{font-size:14px;color:var(--muted)}.detail-grid .number{font-size:12px;color:var(--green);font-weight:800;display:block;margin-bottom:12px;letter-spacing:1px}.benefit-strip{background:#083c2b;color:white}.benefit-strip .section-title,.benefit-strip .why-title{color:white}.benefit-strip .why-text{color:#d1e2d8}.benefit-strip .why-card{background:transparent;border-color:#ffffff25}.tick-list{list-style:none;display:grid;gap:12px;margin-top:20px;color:var(--mid);font-size:15px}.tick-list li{position:relative;padding-left:27px}.tick-list li:before{content:'✓';position:absolute;left:0;top:0;color:var(--green);font-weight:900}.coverage-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.coverage-list span{background:white;color:#1e5f3e;border:1px solid #d5eadf;padding:9px 16px;border-radius:8px;font-size:14px;font-weight:600}.quote-section{background:var(--green-light)}.quote-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:start}.quote-aside{position:sticky;top:115px}.quote-aside p{color:var(--mid);margin-bottom:24px}.quote-contact{display:grid;gap:12px;font-size:15px}.quote-contact a{font-weight:700;text-decoration:none;color:var(--green)}.enquiry-form{background:white;border:1px solid #d5eadf;border-radius:12px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry-form label{font-size:13px;font-weight:700;color:var(--dark);display:block}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;padding:12px;margin-top:7px;font-size:14px;color:var(--dark);min-height:46px}.enquiry-form textarea{min-height:105px;resize:vertical}.enquiry-form .full{grid-column:1/-1}.enquiry-form small{display:block;font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}.enquiry-status{font-size:14px;font-weight:600;margin-top:12px}.trap-field{position:absolute;left:-9999px;opacity:0}.faq-list{display:grid;gap:12px}.faq-list .faq-q{font-size:15px}.report-card{padding:30px;border:1px solid var(--border);background:white;border-radius:12px}.mini-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.related-grid .more-link{text-decoration:none}.site-footer{background:#073326}.site-footer .footer-logo img{width:165px;height:125px;object-fit:contain;background:white;border-radius:10px;padding:8px}.site-footer .footer-col p{font-size:13px;color:#d1e2d8;line-height:1.9}.site-footer .footer-col p a{color:#d1e2d8;text-decoration:none}.site-footer .footer-col ul a{color:#d1e2d8}.site-footer .footer-tagline{color:#c0d4c8}.site-footer .footer-bottom,.site-footer .status-disclosure{color:#bed0c5}.site-footer .footer-grid{grid-template-columns:1.1fr 1fr 1fr 1.1fr}.site-footer .footer-col-title{color:white}.mobile-toggle{display:none}.service-title-line{color:var(--green)}.tool-page .hero{background:white}.tool-page .site-nav .nav-links{list-style:none}.tool-page .site-nav .nav-links a{text-decoration:none;color:var(--mid);font-size:14px}.tool-page .nav-menu a{display:block;padding:10px}.tool-page .site-nav .nav-menu{background:white;border:1px solid var(--border);border-radius:8px;padding:8px;box-shadow:0 12px 30px #0002}.tool-page .site-nav .nav-menu a:hover{background:var(--green-light)}.tool-page .site-footer{padding:48px 5% 32px}.tool-page .site-footer ul{list-style:none}.tool-page .footer-grid{display:grid;gap:30px;margin-bottom:35px}.tool-page .footer-col-title{font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:12px}.tool-page .footer-col ul{display:grid;gap:8px}.tool-page .footer-col ul a{font-size:13px;text-decoration:none}.tool-page .footer-tagline{font-size:13px;margin-top:15px}.tool-page .footer-bottom{border-top:1px solid #ffffff22;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.tool-page .status-disclosure{font-size:11px;margin-bottom:20px}.tool-page .nav-menu{position:absolute;display:none}.tool-page .nav-disclosure[open] .nav-menu{display:grid}.tool-page .site-nav{position:sticky;top:0;background:white;z-index:100;display:flex;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--border)}
@media(max-width:1100px){.site-nav .nav-links{gap:15px}.site-nav .nav-links a,.nav-disclosure>summary{font-size:13px}.site-name{font-size:18px}.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{grid-template-columns:1fr 1fr}.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.site-top{font-size:11px;flex-wrap:wrap;gap:4px}.site-nav,.tool-page .site-nav{height:auto;min-height:78px;flex-wrap:wrap;padding:8px 5%;gap:8px 15px}.site-logo img{width:64px;height:54px}.site-name{font-size:17px}.site-nav .nav-links{display:flex;list-style:none;order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:10px 19px;padding:9px 0}.site-nav .nav-cta{font-size:12px;padding:10px 13px}.hero-static .hero-inner{grid-template-columns:1fr;min-height:auto;padding:35px 5% 42px;gap:15px;text-align:left}.hero-static .hero-media{min-height:0;order:0}.hero-static .hero-media img{height:280px;max-height:300px}.hero-static .hero-actions{justify-content:flex-start}.hero-static .hero-copy{max-width:none}.hero-static h1{font-size:36px}.hero-static .hero-note{margin-left:0}.hero-static .photo-frame img{height:270px}.content-split,.quote-layout{grid-template-columns:1fr;gap:30px}.quote-aside{position:static}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.related-grid{grid-template-columns:1fr}.nav-disclosure .nav-menu{left:50%;transform:translateX(-50%);top:28px}.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero h1{font-size:36px}.hero p{margin-left:0;margin-right:0}.tool-page .footer-bottom{flex-wrap:wrap}.enquiry-form{padding:24px}}
@media(max-width:480px){section{padding:45px 5%}.service-cards,.detail-grid,.site-footer .footer-grid{grid-template-columns:1fr}.service-card .card-image{height:220px}.site-top span:first-child{display:none}.site-name{font-size:16px}.hero-static h1{font-size:34px}.hero-static .hero-actions{gap:10px}.hero-static .btn-primary,.hero-static .btn-ghost{font-size:14px;padding:11px 16px}.enquiry-form{grid-template-columns:1fr;padding:20px;gap:15px}.enquiry-form .full{grid-column:auto}.site-footer .footer-bottom{font-size:11px}.site-nav .nav-links{gap:10px 16px}.site-nav .nav-links a,.nav-disclosure>summary{font-size:12px}.site-logo{gap:6px}.site-name small{font-size:9px;letter-spacing:4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Display the supplied logo artwork without a duplicate wordmark. */
.site-logo img{width:116px;height:88px}.site-logo .site-name{display:none}.site-nav{height:104px}@media(max-width:800px){.site-logo img{width:91px;height:69px}.site-nav{height:auto;min-height:84px}}
/* Source website carousel, with Fire Risk Assessment leading. */
.renova-carousel{position:relative;background:#fff}.renova-carousel .hero-slider{min-height:580px;height:auto}.renova-carousel .hero-inner{padding-top:44px;padding-bottom:86px;min-height:580px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.renova-carousel .hero-copy{min-width:0}.renova-carousel h2{font-size:clamp(34px,4.35vw,56px);font-weight:900;line-height:1.04;margin:0 0 18px;letter-spacing:0;color:var(--dark)}.renova-carousel h2 em{color:var(--sun-dark);font-style:normal}.renova-carousel .hero-media{min-width:0}.renova-carousel .hero-media img{max-width:100%;width:100%;height:415px;object-fit:contain}.renova-carousel .hero-media.phone img{height:455px}.renova-carousel .hero-actions{justify-content:flex-start}.renova-carousel .hero-bullets{list-style:none;padding:0;display:grid;gap:6px;font-size:14px;color:var(--mid);margin-bottom:24px}.renova-carousel .hero-note{font-size:12px;color:var(--muted);margin-top:17px;margin-bottom:0}.renova-carousel .hero-controls{bottom:22px;gap:10px;white-space:nowrap}.hero-arrow{width:32px;height:32px;display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--border);border-radius:50%;background:#fff;color:var(--green);font-size:24px;cursor:pointer}.hero-pause{background:white;color:var(--green);font-size:11px;font-weight:700;border:1px solid var(--border);border-radius:6px;padding:6px 9px;cursor:pointer}.renova-carousel .hero-dot.active span{animation-duration:8s}.renova-carousel.is-paused .hero-dot.active span{animation-play-state:paused}.pkg-link{text-decoration:none}.renova-carousel .hero-slide{transform:translateY(12px)}.renova-carousel .hero-slide.active{transform:translateY(0)}
@media(max-width:800px){.renova-carousel .hero-slider{min-height:900px}.renova-carousel .hero-inner{grid-template-columns:1fr;min-height:0;padding:30px 5% 90px;gap:16px;text-align:center}.renova-carousel .hero-media{order:-1;min-height:0}.renova-carousel .hero-media img{height:260px;max-height:260px}.renova-carousel .hero-media.phone img{height:300px;max-height:300px}.renova-carousel h2,.renova-carousel h1{font-size:34px;line-height:1.08}.renova-carousel .hero-actions{justify-content:center}.renova-carousel .hero-bullets{justify-items:start;text-align:left;max-width:440px;margin-left:auto;margin-right:auto}.renova-carousel .hero-note{margin-left:auto;margin-right:auto}.renova-carousel .hero-controls{gap:7px}.renova-carousel .hero-dot{width:30px}.renova-carousel .hero-copy{max-width:none}}
@media(max-width:420px){.renova-carousel .hero-dot{width:23px}.renova-carousel .hero-controls{gap:6px}.renova-carousel h2,.renova-carousel h1{font-size:31px}.renova-carousel .hero-arrow{width:28px;height:28px}.renova-carousel .hero-actions .btn-primary,.renova-carousel .hero-actions .btn-ghost{font-size:13px;padding:11px 14px}}
.renova-carousel.carousel-ready .hero-slider{min-height:0}
