:root{
  --ink:#101010;
  --muted:#6b6b66;
  --paper:#f7f6f1;
  --white:#ffffff;
  --line:#deddd7;
  --solar:#f4cf3d;
  --solar-dark:#d8ae22;
  --deep:#171714;
  --radius:28px;
  --container:1180px;
  --shadow:0 20px 60px rgba(20,18,10,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
h1,h2,h3,.brand{font-family:"Plus Jakarta Sans",system-ui,sans-serif;letter-spacing:-.04em}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;background:rgba(247,248,244,.82);backdrop-filter:blur(16px);border-bottom:1px solid rgba(13,21,19,.07)}
.nav-wrap{height:78px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;white-space:nowrap}.brand>span:last-child>span{font-weight:500}
.brand-mark{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:3px;transform:skew(-8deg)}.brand-mark span{display:block;background:var(--ink);border-radius:2px}.brand-mark span:nth-child(1){background:var(--solar)}
.desktop-nav{display:flex;gap:28px;margin-left:auto}.desktop-nav a{font-size:14px;color:#45504c}.desktop-nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 19px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid transparent;transition:.25s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{background:#1b2a26}.btn-solar{background:var(--solar);color:var(--ink)}.btn-solar:hover{background:#efffa8}.btn-outline{border-color:#25312e;background:transparent}.btn-outline:hover{background:var(--ink);color:var(--white)}.btn-large{min-height:56px;padding:0 24px;font-size:15px}.btn-full{width:100%}.wa-dot{font-size:10px;color:var(--solar);line-height:1}
.menu-btn{display:none;margin-left:auto;width:42px;height:42px;border:1px solid var(--line);background:var(--white);border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:4px}.menu-btn span{width:15px;height:1.5px;background:var(--ink)}.mobile-nav{display:none}
.hero{position:relative;min-height:780px;display:flex;align-items:flex-end;overflow:hidden;background:#1a2825}.hero-media{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1509391366360-2e959784a276?auto=format&fit=crop&w=2000&q=85');background-size:cover;background-position:center 52%;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,14,.86) 0%,rgba(5,17,14,.58) 45%,rgba(5,17,14,.10) 80%),linear-gradient(0deg,rgba(5,17,14,.52),transparent 50%)}
.hero-content{position:relative;z-index:1;padding:145px 0 25px;color:#fff}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#65706c;margin-bottom:20px}.eyebrow.light{color:rgba(255,255,255,.7)}.hero h1{font-size:clamp(48px,7vw,88px);line-height:.99;max-width:950px;margin:0 0 22px;font-weight:700}.hero h1 em,.split-heading h2 em,.section-head h2 em,.about-copy h2 em,.final-cta h2 em{font-style:normal;color:var(--solar)}.hero p{max-width:660px;font-size:18px;color:rgba(255,255,255,.84);margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-weight:700;font-size:14px}.light-link{color:#fff;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:5px}.hero-proof{display:flex;gap:34px;margin-top:62px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18);max-width:820px}.hero-proof div{display:flex;flex-direction:column;gap:3px}.hero-proof strong{font-size:22px;letter-spacing:-.04em}.hero-proof span{font-size:12px;color:rgba(255,255,255,.64)}
.trust-strip{background:var(--deep);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:16px 0}.trust-grid>div{display:flex;align-items:center;justify-content:center;gap:11px;font-size:12px;color:rgba(255,255,255,.8);text-align:center}.trust-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(229,255,114,.45);border-radius:50%;color:var(--solar);font-size:11px}
.section{padding:110px 0}.split-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:46px}.split-heading h2,.section-head h2,.about-copy h2{font-size:clamp(40px,5vw,62px);line-height:1.03;margin:0;letter-spacing:-.055em}.split-heading>p{max-width:420px;color:var(--muted);font-size:16px;margin:0 0 3px}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.audience-card{min-height:520px;border-radius:var(--radius);overflow:hidden;position:relative;background:#18322c;color:#fff}.card-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s}.audience-card:hover .card-image{transform:scale(1.04)}.home-card .card-image{background-image:url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=1200&q=85')}.business-card .card-image{background-image:url('https://cdn.pixabay.com/photo/2021/11/12/15/47/solar-panel-6789348_1280.jpg')}.industry-card .card-image{background-image:url('https://images.unsplash.com/photo-1497435334941-8c899ee9e8e9?auto=format&fit=crop&w=1200&q=85')}.audience-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,17,14,.92),rgba(5,17,14,.08) 65%)}.card-content{position:absolute;z-index:2;left:28px;right:28px;bottom:26px}.card-number{font-size:11px;color:rgba(255,255,255,.6);letter-spacing:.12em}.card-content h3{font-size:35px;margin:8px 0 8px}.card-content p{color:rgba(255,255,255,.77);font-size:14px;max-width:330px;margin:0 0 20px}.card-content a{font-size:13px;font-weight:700;color:var(--solar);display:inline-flex;gap:8px}
.estimator-section{background:#eaeedf}.estimator-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.estimator-copy h2{font-size:clamp(42px,5vw,60px);line-height:1.03;margin:0 0 20px;letter-spacing:-.055em}.estimator-copy h2 em{font-style:normal;color:#738b20}.estimator-copy p{max-width:500px;color:var(--muted);font-size:17px}.mini-note{font-weight:700;font-size:12px;margin-top:26px}.estimator-card{background:var(--white);padding:30px;border-radius:28px;box-shadow:var(--shadow)}.field-label{font-size:12px;font-weight:800;letter-spacing:.02em;color:#55615d}.bill-row{display:flex;align-items:center;border-bottom:2px solid var(--ink);padding:8px 0 5px;margin-top:8px}.bill-row input{width:100%;border:0;outline:0;background:transparent;font-size:52px;font-family:"Plus Jakarta Sans";letter-spacing:-.06em}.bill-row span{font-size:12px;color:var(--muted);white-space:nowrap}.spaced{margin-top:28px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;margin-bottom:19px}.choice{border:1px solid var(--line);background:var(--paper);padding:13px;border-radius:14px;cursor:pointer;font-weight:700;font-size:13px}.choice.active{background:var(--ink);color:#fff;border-color:var(--ink)}.small-print{font-size:11px;color:#87908d;margin:12px 0 0;text-align:center}
.center-head{text-align:center;max-width:780px;margin:0 auto 44px}.center-head .eyebrow{margin-bottom:15px}.process-section{background:var(--white)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process-item{padding:28px 28px 34px;border-right:1px solid var(--line)}.process-item:last-child{border-right:0}.process-index{font-size:11px;color:#8a9390;margin-bottom:42px}.process-item h3{font-size:24px;margin:0 0 8px}.process-item p{color:var(--muted);font-size:14px;margin:0}.center-cta{display:flex;justify-content:center;margin-top:34px}
.projects-section{background:var(--paper)}.projects-head{align-items:end}.dark-link{color:var(--ink);border-bottom:1px solid #c8cfca;padding-bottom:5px}.projects-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:18px}.project-card{background:#fff;border-radius:24px;overflow:hidden}.project-image{height:340px;background-size:cover;background-position:center}.project-card.large .project-image{height:500px}.project-1{background-image:url('https://cdn.pixabay.com/photo/2020/01/26/20/09/solar-panel-on-the-roof-of-a-house-4795730_1280.jpg')}.project-2{background-image:url('https://cdn.pixabay.com/photo/2021/04/06/08/22/building-6155661_1280.jpg')}.project-3{background-image:url('https://cdn.pixabay.com/photo/2019/06/15/20/22/electric-car-4276420_1280.jpg')}.project-meta{display:flex;justify-content:space-between;gap:20px;padding:20px}.project-meta span{display:block;font-size:11px;color:#7a8580;text-transform:uppercase;letter-spacing:.08em}.project-meta strong{display:block;font-size:15px;margin-top:6px}.project-arrow{font-size:18px!important;color:var(--ink)!important}.replacement-note{font-size:12px;color:#8a9390;margin:14px 0 0}
.services-section{background:var(--deep);color:#fff}.services-section .eyebrow{color:rgba(255,255,255,.58)}.services-section h2{color:#fff}.services-list{margin-top:40px;border-top:1px solid rgba(255,255,255,.14)}.service-row{display:grid;grid-template-columns:60px 1.1fr .9fr 28px;align-items:center;gap:20px;padding:25px 8px;border-bottom:1px solid rgba(255,255,255,.14);transition:.2s}.service-row:hover{padding-left:16px;background:rgba(255,255,255,.03)}.service-no{font-size:11px;color:rgba(255,255,255,.45)}.service-title{font-family:"Plus Jakarta Sans";font-size:27px;letter-spacing:-.04em}.service-copy{color:rgba(255,255,255,.6);font-size:13px}.service-arrow{color:var(--solar);font-size:18px}
.about-section{background:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-visual{position:relative}.about-photo{min-height:610px;border-radius:28px;background-image:url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1400&q=85');background-size:cover;background-position:center}.about-badge{position:absolute;left:24px;bottom:24px;background:var(--solar);padding:21px 24px;border-radius:20px;display:flex;gap:18px;align-items:center}.about-badge strong{font-family:"Plus Jakarta Sans";font-size:34px;letter-spacing:-.06em}.about-badge span{font-size:12px;font-weight:700;line-height:1.25}.about-copy>p{max-width:520px;color:var(--muted);font-size:16px}.about-points{display:grid;gap:12px;margin:26px 0 30px;font-weight:700;font-size:13px}.about-points span{color:#6d8522;margin-right:8px}
.reviews-section{background:#eaeedf}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border-radius:22px;padding:26px}.stars{letter-spacing:.14em;font-size:12px;color:#62731f}.review-card p{font-size:17px;line-height:1.5;margin:18px 0 26px}.review-card span{font-size:11px;color:#7d8883}
.faq-section{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faq-grid .section-head{align-self:start}.accordion{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:6px 0}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;font-weight:700;font-size:17px}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:24px;font-weight:400;color:#7d8883}details[open] summary:after{content:"−"}details p{color:var(--muted);max-width:760px;margin:0 0 18px;font-size:14px}
.final-cta{position:relative;overflow:hidden;background:#182a25;color:#fff;min-height:560px;display:flex;align-items:center}.final-cta-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(6,17,14,.86),rgba(6,17,14,.26)),url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=1800&q=85');background-size:cover;background-position:center}.final-cta-content{position:relative;z-index:1}.final-cta h2{font-size:clamp(44px,6vw,78px);line-height:1;max-width:800px;margin:0 0 20px}.final-cta p{font-size:17px;color:rgba(255,255,255,.78);max-width:560px;margin:0 0 30px}
.footer{background:#0b1311;color:#fff;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:1.7fr .7fr .7fr;gap:80px}.footer-brand{color:#fff}.footer-brand .brand-mark span{background:#fff}.footer-brand .brand-mark span:nth-child(1){background:var(--solar)}.footer-grid p{color:rgba(255,255,255,.56);max-width:360px;font-size:13px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:11px}.footer-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:6px}.footer-grid a:not(.brand){font-size:13px;color:rgba(255,255,255,.73)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:16px;display:flex;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.4)}
.floating-wa{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;align-items:center;gap:10px;background:#13221e;color:#fff;padding:13px 16px;border-radius:999px;box-shadow:0 18px 44px rgba(8,18,14,.25);border:1px solid rgba(229,255,114,.28)}.floating-wa-icon{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;background:var(--solar);color:var(--ink);border-radius:50%;font-size:14px}.floating-wa-text{font-weight:700;font-size:12px}
@media(max-width:980px){.desktop-nav,.nav-cta{display:none}.menu-btn{display:flex}.mobile-nav{display:none;padding:0 24px 20px;border-top:1px solid var(--line);background:rgba(247,248,244,.98)}.mobile-nav.open{display:flex;flex-direction:column;gap:12px}.mobile-nav a:not(.btn){font-size:15px;padding:10px 0}.hero{min-height:760px}.trust-grid{grid-template-columns:repeat(2,1fr)}.audience-grid{grid-template-columns:1fr}.audience-card{min-height:430px}.estimator-wrap,.about-grid,.faq-grid{grid-template-columns:1fr;gap:45px}.process-grid{grid-template-columns:1fr 1fr}.process-item:nth-child(2){border-right:0}.process-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.projects-grid{grid-template-columns:1fr 1fr}.project-card.large{grid-column:1/-1}.project-card.large .project-image{height:420px}.review-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.container{width:min(calc(100% - 30px),var(--container))}.nav-wrap{height:70px}.hero-content{padding:130px 0 48px}.hero h1{font-size:48px}.hero p{font-size:15px}.hero-proof{gap:18px;flex-wrap:wrap;margin-top:42px}.hero-proof div{min-width:95px}.trust-grid{grid-template-columns:1fr 1fr;padding:12px 0}.trust-grid>div{font-size:10px}.section{padding:78px 0}.split-heading{display:block;margin-bottom:30px}.split-heading>p{margin-top:20px}.split-heading h2,.section-head h2,.about-copy h2{font-size:42px}.estimator-wrap{gap:28px}.bill-row input{font-size:42px}.process-grid{grid-template-columns:1fr}.process-item,.process-item:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.process-item:last-child{border-bottom:0}.projects-grid{grid-template-columns:1fr}.project-card.large{grid-column:auto}.project-card.large .project-image,.project-image{height:330px}.service-row{grid-template-columns:40px 1fr 28px}.service-copy{display:none}.service-title{font-size:22px}.about-photo{min-height:430px}.about-badge{left:14px;bottom:14px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:7px}.floating-wa{left:14px;right:14px;bottom:14px;justify-content:center}.floating-wa-text{font-size:13px}}
.brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.brand img {
  width: 110px;
  height: auto;
  display: block;
  object-fit: contain;
}

@media (max-width: 768px) {
  .brand img {
    width: 95px;
  }
}

/* WhatsApp floating button */
.floating-wa {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #25D366 !important;
  z-index: 9999 !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22) !important;
  text-decoration: none !important;
  transition: transform .2s ease !important;
}

.floating-wa:hover {
  transform: scale(1.06);
}

.floating-wa svg {
  width: 38px !important;
  height: 38px !important;
  fill: #fff !important;
  display: block !important;
}

.floating-wa-text {
  display: none !important;
}

@media (max-width: 768px) {
  .floating-wa {
    width: 78px !important;
    height: 78px !important;
    right: 14px !important;
    bottom: 14px !important;
  }

  .floating-wa svg {
    width: 44px !important;
    height: 44px !important;
  }
}



/* Savings section */
.savings-section {
  background: #f4f1e9;
}

.savings-wrap {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 70px;
  align-items: center;
}

.savings-copy h2 {
  max-width: 600px;
}

.savings-copy > p {
  max-width: 570px;
  font-size: 18px;
  line-height: 1.7;
}

.savings-points {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin-top: 28px;
  font-size: 14px;
}

.savings-card {
  background: #fff;
  padding: 34px;
  border-radius: 24px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .08);
}

.form-group {
  margin-bottom: 24px;
}

.form-group label {
  display: block;
  margin-bottom: 10px;
  font-weight: 600;
}

.bill-input {
  display: flex;
  align-items: center;
  border: 1px solid #d8d8d2;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.bill-input input {
  width: 100%;
  border: 0;
  outline: 0;
  padding: 16px;
  font-size: 18px;
  background: transparent;
}

.bill-input span {
  padding-right: 16px;
  white-space: nowrap;
  color: #777;
}

.type-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.type-option {
  padding: 14px;
  border: 1px solid #d8d8d2;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  font: inherit;
  transition: .2s ease;
}

.type-option.active {
  background: #1c2a24;
  color: #fff;
  border-color: #1c2a24;
}

.savings-btn {
  width: 100%;
  justify-content: center;
  margin-top: 6px;
}

.savings-card small {
  display: block;
  text-align: center;
  margin-top: 14px;
  color: #777;
  line-height: 1.5;
}

@media (max-width: 768px) {
  .savings-wrap {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .savings-card {
    padding: 24px;
  }

  .savings-copy > p {
    font-size: 16px;
  }
}
/* Trust section */

.trust-section {
  background: #f4f1e9;
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 60px;
  background: rgba(28, 42, 36, 0.15);
}

.trust-card {
  background: #f4f1e9;
  padding: 34px 28px;
  min-height: 230px;
}

.trust-number {
  display: block;
  font-size: 13px;
  letter-spacing: .12em;
  margin-bottom: 40px;
  opacity: .6;
}

.trust-card h3 {
  margin: 0 0 12px;
  font-size: 22px;
}

.trust-card p {
  margin: 0;
  line-height: 1.65;
  font-size: 15px;
  opacity: .75;
}

@media (max-width: 900px) {
  .trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .trust-grid {
    grid-template-columns: 1fr;
  }

  .trust-card {
    min-height: auto;
    padding: 28px 22px;
  }

  .trust-number {
    margin-bottom: 24px;
  }
}

/* Fix original trust strip position */
.trust-strip {
  margin: 0 !important;
  padding: 0 !important;
}

.trust-strip .trust-grid {
  margin: 0 !important;
  padding: 16px 0 !important;
}

.trust-strip .trust-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  padding: 16px 0 !important;
  margin: 0 auto !important;
}

.trust-strip .trust-grid > div {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 11px !important;
}


@media (max-width: 640px) {
  .trust-strip .trust-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .trust-strip .trust-grid > div {
    justify-content: center !important;
  }
}

.review-top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.review-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #eaeedf;
  color: #1c2a24;
  font-size: 12px;
  font-weight: 700;
}

.review-author {
  flex: 1;
}

.review-author strong,
.review-author span {
  display: block;
}

.review-author strong {
  font-size: 14px;
}

.review-author span {
  font-size: 11px;
  color: #7d8883;
  margin-top: 2px;
}

.google-mark {
  font-size: 19px;
  font-weight: 800;
}

.review-card .stars {
  margin-top: 20px;
}

.review-card p {
  min-height: 75px;
}

.google-mark {
  width: 22px;
  height: 22px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.google-mark svg {
  width: 20px;
  height: 20px;
  display: block;
}

.review-top {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 24px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
}

.review-avatar {
  width: 42px !important;
  height: 42px !important;
  flex-shrink: 0 !important;
}

.review-author {
  min-width: 0 !important;
}

.review-author strong,
.review-author span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.google-mark {
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.google-mark svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

.review-card .stars {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
}

.review-card .stars {
  margin-top: -4px !important;
}

.review-top {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
}

.review-rating {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
}

.review-rating .stars {
  margin: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-size: 11px !important;
}

.review-rating .google-mark {
  margin: 0 !important;
  width: 20px !important;
  height: 20px !important;
}

.review-rating {
  margin-top: 10px !important;
}

/* Footer logo and address */
.footer-brand {
  display: inline-flex;
  align-items: center;
}

.footer-brand img {
  width: 115px;
  height: auto;
  display: block;
  object-fit: contain;
}

.footer-address {
  display: block;
  font-size: 13px;
  line-height: 1.5;
  color: rgba(255,255,255,.56);
  margin-top: 4px;
}

@media (max-width: 768px) {
  .footer-brand img {
    width: 100px;
  }
}


.footer-support {
  background: #0b1311;
  display: flex;
  justify-content: center;
  padding: 25px 20px 40px;
}

.footer-support img {
  width: min(720px, 92%);
  height: auto;
  display: block;
}

@media (max-width: 640px) {
  .footer-support {
    padding: 20px 12px 30px;
  }

  .footer-support img {
    width: 100%;
  }
}

em {
  color: #f4cf3d !important;
}

/* Fix SunEnergy trust cards layout */

.trust-section .trust-grid,
.trust-section .trust-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin-top: 60px !important;
  background: rgba(28, 42, 36, 0.15);
}

.trust-section .trust-card {
  background: #f4f1e9 !important;
  padding: 34px 28px !important;
  min-height: 230px !important;
  box-sizing: border-box;
}

.trust-section .trust-number {
  display: block !important;
  font-size: 13px !important;
  letter-spacing: .12em !important;
  margin-bottom: 40px !important;
  opacity: .6;
}

.trust-section .trust-card h3 {
  margin: 0 0 12px !important;
  font-size: 22px !important;
}

.trust-section .trust-card p {
  margin: 0 !important;
  line-height: 1.65 !important;
  font-size: 15px !important;
  opacity: .75;
}

@media (max-width: 900px) {
  .trust-section .trust-grid,
  .trust-section .trust-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .trust-section .trust-grid,
  .trust-section .trust-cards-grid {
    grid-template-columns: 1fr !important;
  }

  .trust-section .trust-card {
    min-height: auto !important;
    padding: 28px 22px !important;
  }

  .trust-section .trust-number {
    margin-bottom: 24px !important;
  }
}

.intro-video {
  width: min(100%, 430px);
  margin: 0 auto;
  border-radius: 24px;
  overflow: hidden;
  background: #111;
  box-shadow: var(--shadow);
}

.intro-video video {
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  height: auto;
  object-fit: cover;
}

@media (max-width: 640px) {
  .intro-video {
    width: min(100%, 360px);
    border-radius: 20px;
  }
}

.hero h1 {
  font-size: clamp(42px, 5.4vw, 68px);
  line-height: 1.02;
  max-width: 820px;
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: 40px;
    line-height: 1.04;
  }
}

/* Ajuste general de títulos de secciones */
.split-heading h2,
.section-head h2,
.about-copy h2,
.estimator-copy h2,
.final-cta h2 {
  font-size: clamp(34px, 4.2vw, 52px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.045em;
}

/* Mobile */
@media (max-width: 640px) {
  .split-heading h2,
  .section-head h2,
  .about-copy h2,
  .estimator-copy h2,
  .final-cta h2 {
    font-size: 34px !important;
    line-height: 1.08 !important;
  }
}

.project-card.large .project-image {
  height: 340px !important;
}

@media (max-width: 980px) {
  .project-card.large .project-image {
    height: 420px !important;
  }
}

@media (max-width: 640px) {
  .project-card.large .project-image {
    height: 330px !important;
  }
}

.projects-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px;
}

.project-card,
.project-card.large {
  width: 100%;
}

.project-image,
.project-card.large .project-image {
  height: 340px !important;
  width: 100%;
  background-size: cover;
  background-position: center;
}

@media (max-width: 980px) {
  .projects-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .project-image,
  .project-card.large .project-image {
    height: 300px !important;
  }
}

@media (max-width: 640px) {
  .projects-grid {
    grid-template-columns: 1fr !important;
  }

  .project-image,
  .project-card.large .project-image {
    height: auto !important;
    aspect-ratio: 4 / 3;
  }
}

.hero h1 span {
  display: block;
}

@media (max-width: 640px) {
  .hero h1 {
    font-size: 32px;
    line-height: 1.08;
  }

  .hero h1 span {
    display: block;
  }
}

@media (max-width: 640px) {
  .trust-grid > div {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    text-align: left !important;
  }

  .trust-grid .trust-icon {
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    margin: 0 !important;
  }

  .trust-grid > div > span:last-child {
    margin: 0 !important;
    line-height: 1.25 !important;
  }
}

.footer-location {
  max-width: 320px;
}

.footer-map {
  margin-top: 14px;
  border-radius: 16px;
  overflow: hidden;
  background: #182a25;
}

.footer-map iframe {
  display: block;
  width: 100%;
  height: 180px;
}

.footer-map-link {
  display: inline-block;
  margin-top: 10px;
  font-size: 12px;
  color: rgba(255,255,255,.73);
}

@media (max-width: 640px) {
  .footer-location {
    max-width: 100%;
  }

  .footer-map iframe {
    height: 170px;
  }
}

.legal-section {
  background: var(--paper);
  min-height: 70vh;
}

.legal-content {
  max-width: 850px;
}

.legal-content h1 {
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.05em;
  margin: 0 0 14px;
}

.legal-content h1 em {
  font-style: normal;
  color: var(--solar);
}

.legal-updated {
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 50px;
}

.legal-block {
  padding: 28px 0;
  border-top: 1px solid var(--line);
}

.legal-block h2 {
  font-size: 20px;
  margin: 0 0 14px;
}

.legal-block p {
  max-width: 720px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

.legal-block a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 640px) {
  .legal-content h1 {
    font-size: 38px;
  }

  .legal-updated {
    margin-bottom: 35px;
  }
}

.footer-socials {
  margin-top: 20px;
}

.social-links {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.social-links a {
  width: 34px;
  height: 34px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  color: rgba(255,255,255,.78) !important;
  font-size: 12px !important;
  font-weight: 700;
  text-decoration: none;
  transition: .2s ease;
}

.social-links a:hover {
  background: var(--solar);
  border-color: var(--solar);
  color: var(--ink) !important;
}

.social-links a:nth-child(1) span {
  font-size: 14px;
}

.social-links a:nth-child(2) span {
  font-size: 10px;
}

.social-links a:nth-child(3) span {
  font-size: 15px;
}

.social-links a:nth-child(4) span {
  font-size: 14px;
}

.language-switcher {
  position: relative;
  display: flex;
  align-items: center;
  margin-left: 12px;
  z-index: 50;
}

.language-switcher select {
  display: none;
}

.language-current {
  display: flex;
  align-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  padding: 7px 8px;
  border-radius: 8px;
}

.language-current:hover {
  background: rgba(0,0,0,.05);
}

.language-current-code {
  min-width: 22px;
}

.language-chevron {
  font-size: 13px;
  line-height: 1;
  opacity: .65;
}

.language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 145px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 16px 35px rgba(0,0,0,.12);
  display: none;
}

.language-menu.open {
  display: grid;
  gap: 2px;
}

.language-menu button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  padding: 9px 10px;
  border-radius: 8px;
}

.language-menu button:hover,
.language-menu button.active {
  background: var(--paper);
}

.flag {
  width: 22px;
  height: 15px;
  display: inline-block;
  flex: 0 0 22px;
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.08);
}

/* España */
.flag-es {
  background:
    linear-gradient(
      to bottom,
      #c60b1e 0 25%,
      #ffc400 25% 75%,
      #c60b1e 75% 100%
    );
}

/* Catalunya — Senyera */
.flag-ca {
  background:
    repeating-linear-gradient(
      to bottom,
      #f9d616 0 2px,
      #d4102f 2px 4px
    );
}

/* Reino Unido */
.flag-en {
  background:
    linear-gradient(
      90deg,
      transparent 40%,
      #fff 40% 60%,
      transparent 60%
    ),
    linear-gradient(
      0deg,
      transparent 40%,
      #fff 40% 60%,
      transparent 60%
    ),
    linear-gradient(
      90deg,
      transparent 45%,
      #c8102e 45% 55%,
      transparent 55%
    ),
    linear-gradient(
      0deg,
      transparent 43%,
      #c8102e 43% 57%,
      transparent 57%
    ),
    #012169;
}

/* المغرب */
.flag-ma {
  background: #c1272d;
}

.flag-ma::before {
  content: "";
  position: absolute;
  inset: 3px;
  border: 1.5px solid #006233;
  transform: rotate(30deg);
  clip-path: polygon(
    50% 0%,
    61% 35%,
    98% 35%,
    68% 57%,
    79% 92%,
    50% 70%,
    21% 92%,
    32% 57%,
    2% 35%,
    39% 35%
  );
}

@media (max-width: 980px) {
  .language-switcher {
    margin-left: auto;
    margin-right: 8px;
  }
}

@media (max-width: 640px) {
  .language-current {
    padding: 6px 5px;
    font-size: 9px;
  }

  .language-menu {
    right: 0;
    min-width: 135px;
  }

  .flag {
    width: 21px;
    height: 14px;
    flex-basis: 21px;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.project-gallery-trigger {
  cursor: pointer;
}

.project-gallery-trigger .project-image {
  transition: transform .35s ease;
}

.project-gallery-trigger:hover .project-image {
  transform: scale(1.02);
}

.gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 30px;
  background: rgba(6, 10, 9, .92);
}

.gallery-modal.open {
  display: flex;
}

.gallery-content {
  position: relative;
  width: min(1000px, 90vw);
}

.gallery-content img {
  display: block;
  width: 100%;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 12px;
  background: #111;
}

.gallery-close,
.gallery-prev,
.gallery-next {
  position: fixed;
  z-index: 10001;
  border: 0;
  color: #fff;
  background: rgba(255,255,255,.12);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
}

.gallery-close {
  top: 22px;
  right: 24px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  font-size: 28px;
  line-height: 1;
}

.gallery-prev,
.gallery-next {
  top: 50%;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 22px;
  transform: translateY(-50%);
}

.gallery-prev {
  left: 24px;
}

.gallery-next {
  right: 24px;
}

.gallery-counter {
  margin-top: 12px;
  text-align: center;
  color: rgba(255,255,255,.8);
  font-size: 12px;
}

.gallery-close:hover,
.gallery-prev:hover,
.gallery-next:hover {
  background: rgba(255,255,255,.2);
}

@media (max-width: 640px) {
  .gallery-modal {
    padding: 15px;
  }

  .gallery-content img {
    max-height: 72vh;
    border-radius: 8px;
  }

  .gallery-prev {
    left: 10px;
  }

  .gallery-next {
    right: 10px;
  }

  .gallery-close {
    top: 12px;
    right: 12px;
  }
}

/* =========================
   SOLAR CALCULATOR CTA
========================= */

.solar-calculator-cta {
  padding: 90px 0;
  background: #f4f6f1;
}

.solar-calculator-card {
  background: #172016;
  border-radius: 28px;
  padding: 55px;
  display: grid;
  grid-template-columns: 1.4fr 0.8fr;
  gap: 50px;
  align-items: center;
  overflow: hidden;
  position: relative;
}

.solar-calculator-content {
  max-width: 700px;
}

.solar-calculator-content .eyebrow {
  color: #8fc967;
  margin-bottom: 15px;
}

.solar-calculator-content h2 {
  color: #fff;
  font-size: clamp(32px, 5vw, 56px);
  line-height: 1.05;
  letter-spacing: -1.5px;
  margin-bottom: 20px;
}

.solar-calculator-content p {
  color: rgba(255,255,255,.75);
  font-size: 17px;
  line-height: 1.7;
  max-width: 650px;
  margin-bottom: 30px;
}

.solar-calculator-content .btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
}

.solar-calculator-side {
  display: grid;
  gap: 12px;
}

.calculator-stat {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  border-radius: 18px;
  padding: 20px;
}

.calculator-stat strong {
  display: block;
  color: #8fc967;
  font-size: 26px;
  margin-bottom: 5px;
}

.calculator-stat span {
  color: rgba(255,255,255,.78);
  font-size: 14px;
}

@media (max-width: 800px) {

  .solar-calculator-cta {
    padding: 60px 0;
  }

  .solar-calculator-card {
    grid-template-columns: 1fr;
    padding: 35px 25px;
    gap: 30px;
    border-radius: 22px;
  }

  .solar-calculator-side {
    grid-template-columns: 1fr;
  }

}