/*
Theme Name: Vistamci
Theme URI: https://synergyeco.co.uk/
Author: Vistamci Team
Description: Custom WordPress theme replicating synergyeco.co.uk - Delivering Greener Homes for Sustainable Communities. PAS 2035 retrofit, renewable integration, and Net Zero solutions.
Version: 1.6.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: synergyeco
*/

/* Tailwind utility classes are provided by the enqueued Tailwind CDN script. */

:root {
  --primary-color: #0b4f6c;
  --secondary-color: #01baef;
  --accent-color: #20bf55;
  --dark-color: #1f2937;
  --light-color: #f9fafb;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: #374151;
  background-color: #ffffff;
  overflow-x: hidden;
}

/* Custom button styles */
.btn-primary {
  background-color: #0b4f6c;
  color: #ffffff;
  padding: 0.75rem 1.75rem;
  border-radius: 9999px;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-block;
  text-align: center;
}
.btn-primary:hover {
  background-color: #08394e;
  color: #ffffff;
}

.btn-secondary {
  background-color: #20bf55;
  color: #ffffff;
  padding: 0.75rem 1.75rem;
  border-radius: 9999px;
  font-weight: 600;
  transition: all 0.3s ease;
  display: inline-block;
  text-align: center;
}
.btn-secondary:hover {
  background-color: #1a9c45;
  color: #ffffff;
}

/* Card hover effects */
.service-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}


/* Elementor compatibility */
.elementor-page .site-main,
.elementor-page .entry-content { max-width: none; width: 100%; }
.elementor-page .entry-content { margin: 0; padding: 0; }
.custom-logo { max-height: 60px; width: auto; }

/* v1.2 motion graphics: lightweight CSS 3D eco-home hero */
.synergy-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:3rem;align-items:center}
.synergy-3d-stage{position:relative;min-height:440px;perspective:1100px;transform-style:preserve-3d;isolation:isolate}
.eco-house{position:absolute;left:50%;top:52%;width:285px;height:205px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(-8deg) rotateY(-18deg);animation:ecoFloat 5.5s ease-in-out infinite;filter:drop-shadow(0 35px 35px rgba(0,0,0,.35))}
.house-front{position:absolute;inset:58px 22px 0 22px;border-radius:8px 8px 16px 16px;background:linear-gradient(145deg,#f8fafc,#cbd5e1);box-shadow:inset -18px -12px 30px rgba(15,23,42,.12);overflow:hidden}
.house-side{position:absolute;right:-32px;top:73px;width:56px;height:124px;background:linear-gradient(90deg,#94a3b8,#64748b);transform:skewY(-22deg);border-radius:0 8px 8px 0}
.house-roof{position:absolute;left:8px;top:5px;width:270px;height:90px;background:linear-gradient(145deg,#334155,#0f172a);clip-path:polygon(50% 0,100% 72%,92% 100%,8% 100%,0 72%);z-index:3}
.solar-panel{position:absolute;top:43px;width:58px;height:30px;border:2px solid rgba(110,231,183,.85);background:repeating-linear-gradient(90deg,#064e3b 0 12px,#065f46 12px 14px);transform:skewX(-16deg);box-shadow:0 0 20px rgba(52,211,153,.18)}
.sp1{left:56px}.sp2{left:119px}.sp3{left:182px}
.house-window{position:absolute;top:42px;width:54px;height:48px;border:5px solid #e2e8f0;border-radius:5px;background:linear-gradient(145deg,#67e8f9,#0ea5e9);box-shadow:inset 0 0 18px rgba(255,255,255,.45),0 0 18px rgba(56,189,248,.15)}
.w1{left:30px}.w2{right:30px}.house-door{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:47px;height:76px;border-radius:6px 6px 0 0;background:linear-gradient(90deg,#065f46,#047857)}
.heat-pump{position:absolute;right:-16px;bottom:12px;width:58px;height:47px;border-radius:7px;background:#e5e7eb;border:3px solid #94a3b8;transform:skewY(22deg);box-shadow:0 8px 14px rgba(0,0,0,.22)}
.heat-pump span{position:absolute;inset:7px;border:3px solid #64748b;border-radius:50%;animation:fanSpin 2.2s linear infinite}.heat-pump span:before,.heat-pump span:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:20px;background:#64748b;transform:translate(-50%,-50%)}.heat-pump span:after{transform:translate(-50%,-50%) rotate(90deg)}
.energy-flow{position:absolute;left:-40px;bottom:20px;width:360px;height:115px;border:3px solid transparent;border-top-color:#34d399;border-radius:50%;transform:rotateX(70deg);filter:drop-shadow(0 0 8px #34d399);animation:energyPulse 2.6s ease-in-out infinite}
.energy-orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(52,211,153,.35);border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg);box-shadow:0 0 24px rgba(52,211,153,.08)}.orbit-one{width:390px;height:220px;animation:orbitPulse 4s ease-in-out infinite}.orbit-two{width:470px;height:275px;animation:orbitPulse 4s ease-in-out 1s infinite}
.eco-particle{position:absolute;width:9px;height:9px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 16px #34d399;animation:particleRise 5s ease-in-out infinite}.p1{left:14%;top:70%}.p2{right:11%;top:34%;animation-delay:1.4s}.p3{left:31%;top:16%;animation-delay:2.6s}
.motion-label{position:absolute;padding:8px 12px;border:1px solid rgba(167,243,208,.25);border-radius:999px;background:rgba(6,78,59,.42);backdrop-filter:blur(9px);font-size:12px;font-weight:700;color:#d1fae5;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:labelBob 4s ease-in-out infinite}.motion-label i{color:#6ee7b7;margin-right:6px}.label-solar{right:3%;top:16%}.label-heat{right:0;bottom:18%;animation-delay:1.1s}.label-save{left:3%;bottom:11%;animation-delay:2s}
.service-card{transform-style:preserve-3d;will-change:transform}
@keyframes ecoFloat{0%,100%{transform:translate(-50%,-50%) rotateX(-8deg) rotateY(-18deg) translateY(0)}50%{transform:translate(-50%,-50%) rotateX(-5deg) rotateY(-10deg) translateY(-13px)}}
@keyframes fanSpin{to{transform:rotate(360deg)}}@keyframes energyPulse{0%,100%{opacity:.3;transform:rotateX(70deg) scale(.92)}50%{opacity:1;transform:rotateX(70deg) scale(1.04)}}@keyframes orbitPulse{0%,100%{opacity:.2;scale:.96}50%{opacity:.7;scale:1.03}}@keyframes particleRise{0%,100%{opacity:.15;transform:translateY(24px) scale(.7)}50%{opacity:1;transform:translateY(-25px) scale(1.15)}}@keyframes labelBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:900px){.synergy-hero-grid{grid-template-columns:1fr}.synergy-3d-stage{min-height:360px}.eco-house{scale:.82}.motion-label{font-size:11px}}
@media(max-width:520px){.synergy-3d-stage{min-height:300px}.eco-house{scale:.66}.energy-orbit{display:none}.motion-label{padding:6px 9px}.label-save{left:0}.label-solar{right:0}}
@media(prefers-reduced-motion:reduce){.eco-house,.heat-pump span,.energy-flow,.energy-orbit,.eco-particle,.motion-label{animation:none!important}.service-card{transition:none!important}}

/* v1.3 hero sizing and fallback layout */
.synergy-motion-hero{padding:64px 0 58px;min-height:560px;display:flex;align-items:center}
.synergy-motion-hero .synergy-hero-copy h1{font-size:clamp(42px,4.4vw,72px);line-height:1.02;letter-spacing:-.035em}
.synergy-motion-hero .synergy-hero-copy p{max-width:720px}
.synergy-motion-hero .synergy-3d-stage{min-height:390px}
@media(max-width:900px){.synergy-motion-hero{padding:52px 0}.synergy-motion-hero .synergy-hero-copy{text-align:center;margin-inline:auto}.synergy-motion-hero .synergy-3d-stage{min-height:330px}}
@media(max-width:520px){.synergy-motion-hero{padding:42px 0 34px;min-height:auto}.synergy-motion-hero .synergy-3d-stage{min-height:275px}}


/* v1.4 photoreal motion hero */
.synergy-real-stage{position:relative;min-height:455px;perspective:1200px;display:flex;align-items:center;justify-content:center}
.real-photo-card{position:relative;width:min(100%,620px);aspect-ratio:1.25/1;border-radius:30px;overflow:hidden;transform:rotateY(-7deg) rotateX(2deg);transform-style:preserve-3d;transition:transform .18s ease-out;background-image:url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=1400&q=88');background-size:cover;background-position:center;box-shadow:0 35px 80px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12) inset}
.real-photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(4,47,46,.1),rgba(2,6,23,.08) 42%,rgba(2,6,23,.68));pointer-events:none}
.real-photo-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,6,23,.64),transparent 48%);z-index:1}
.sun-glow{position:absolute;right:-60px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(253,224,71,.48),rgba(52,211,153,.09) 45%,transparent 70%);filter:blur(8px);animation:sunPulse 4s ease-in-out infinite;z-index:2}
.energy-scan{position:absolute;left:-12%;width:124%;height:2px;background:linear-gradient(90deg,transparent,#6ee7b7,#22d3ee,transparent);box-shadow:0 0 18px #34d399;z-index:4;opacity:.85;animation:scanMove 5s ease-in-out infinite}.scan-one{top:37%}.scan-two{top:64%;animation-delay:2.2s;opacity:.45}
.energy-node{position:absolute;width:12px;height:12px;border-radius:50%;background:#a7f3d0;box-shadow:0 0 0 7px rgba(52,211,153,.12),0 0 24px #34d399;z-index:5;animation:nodePulse 2.4s ease-in-out infinite}.node-one{left:22%;top:32%}.node-two{right:22%;top:48%;animation-delay:.8s}.node-three{left:45%;bottom:20%;animation-delay:1.6s}
.glass-stat{position:absolute;z-index:7;display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:16px;background:rgba(3,24,32,.72);border:1px solid rgba(167,243,208,.25);backdrop-filter:blur(14px);box-shadow:0 12px 30px rgba(0,0,0,.28);color:white;animation:statFloat 4s ease-in-out infinite}.glass-stat i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:rgba(52,211,153,.16);color:#6ee7b7}.glass-stat span{display:flex;flex-direction:column;line-height:1.05}.glass-stat b{font-size:13px}.glass-stat small{font-size:10px;color:#a7f3d0;margin-top:4px}.stat-solar{left:18px;top:18px}.stat-pump{right:18px;bottom:18px;animation-delay:1.2s}.stat-save{left:18px;bottom:18px;animation-delay:2.1s}
.efficiency-ring{position:absolute;right:18px;top:18px;z-index:7;width:82px;height:82px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(#34d399 0 92%,rgba(255,255,255,.14) 92%);box-shadow:0 12px 30px rgba(0,0,0,.25);color:white}.efficiency-ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:rgba(3,24,32,.88)}.efficiency-ring span,.efficiency-ring small{position:relative;z-index:1}.efficiency-ring span{font-weight:900;font-size:20px}.efficiency-ring small{font-size:9px;color:#a7f3d0;text-transform:uppercase;letter-spacing:.08em}
.stage-shadow{position:absolute;width:76%;height:35px;bottom:8px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(18px);z-index:-1;animation:shadowBreath 4s ease-in-out infinite}
@keyframes scanMove{0%,100%{transform:translateY(-18px);opacity:.25}50%{transform:translateY(20px);opacity:1}}@keyframes nodePulse{0%,100%{transform:scale(.75);opacity:.55}50%{transform:scale(1.2);opacity:1}}@keyframes statFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sunPulse{0%,100%{transform:scale(.9);opacity:.6}50%{transform:scale(1.08);opacity:1}}@keyframes shadowBreath{0%,100%{transform:scaleX(.9);opacity:.35}50%{transform:scaleX(1.04);opacity:.55}}
@media(max-width:900px){.synergy-real-stage{min-height:410px}.real-photo-card{max-width:600px;transform:none}}@media(max-width:520px){.synergy-real-stage{min-height:310px}.real-photo-card{border-radius:20px}.glass-stat{padding:7px 9px}.glass-stat i{width:24px;height:24px}.glass-stat b{font-size:11px}.glass-stat small{display:none}.efficiency-ring{width:62px;height:62px}.efficiency-ring span{font-size:15px}.efficiency-ring small{font-size:7px}}
@media(prefers-reduced-motion:reduce){.sun-glow,.energy-scan,.energy-node,.glass-stat,.stage-shadow{animation:none!important}.real-photo-card{transition:none!important}}

/* v1.5 full-homepage motion system */
html{scroll-behavior:smooth}.synergy-motion-ready main section{position:relative;overflow:hidden}.motion-reveal{opacity:0;transform:translateY(34px) scale(.985);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}.motion-reveal.is-visible{opacity:1;transform:none}.motion-reveal.motion-delay-1{transition-delay:.08s}.motion-reveal.motion-delay-2{transition-delay:.16s}.motion-reveal.motion-delay-3{transition-delay:.24s}.motion-reveal.motion-delay-4{transition-delay:.32s}
.motion-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;will-change:transform}.motion-card:hover{box-shadow:0 22px 55px rgba(15,23,42,.12);border-color:rgba(16,185,129,.35)}
.synergy-section-glow:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.11),transparent 68%);right:-130px;top:-120px;pointer-events:none;transform:translate3d(0,var(--glow-y,0),0)}
.motion-icon{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.motion-card:hover .motion-icon{transform:translateY(-4px) rotate(-3deg) scale(1.06)}
.motion-line{position:absolute;left:50%;top:0;width:1px;height:72px;background:linear-gradient(transparent,#34d399,transparent);opacity:.35;animation:linePulse 3s ease-in-out infinite}@keyframes linePulse{50%{opacity:.8;transform:scaleY(1.25)}}
.motion-project{overflow:hidden}.motion-project img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease}.motion-project:hover img{transform:scale(1.055);filter:saturate(1.08)}
.motion-testimonial{transition:transform .45s ease,opacity .45s ease}.motion-testimonial:hover{transform:translateY(-7px)}
.synergy-scroll-progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,#10b981,#22d3ee);z-index:99999;pointer-events:none;box-shadow:0 0 12px rgba(16,185,129,.5)}
.site-header,.main-navigation{transition:box-shadow .3s ease,background-color .3s ease,transform .3s ease}.synergy-scrolled .site-header,.synergy-scrolled header{box-shadow:0 10px 35px rgba(15,23,42,.09)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-reveal{opacity:1!important;transform:none!important;transition:none!important}.motion-line{animation:none}.motion-card,.motion-icon,.motion-project img,.motion-testimonial{transition:none!important}.synergy-scroll-progress{display:none}}


/* v1.6 image-rich cards */
.project-photo{position:relative;height:190px;border-radius:18px;overflow:hidden;background:#d1fae5;box-shadow:inset 0 0 0 1px rgba(15,23,42,.04)}
.project-photo img,.audience-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.project-photo-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,44,34,.28),transparent 55%);pointer-events:none}
.project-photo:hover img,.audience-photo:hover img{transform:scale(1.075);filter:saturate(1.08) contrast(1.02)}
.audience-photo{height:150px;border-radius:16px;overflow:hidden;position:relative;background:#d1fae5}
.audience-icon{position:absolute;left:14px;bottom:14px;width:44px;height:44px;border-radius:13px;background:rgba(6,78,59,.88);backdrop-filter:blur(8px);display:grid;place-items:center;color:#a7f3d0;font-size:18px;border:1px solid rgba(167,243,208,.28);box-shadow:0 10px 24px rgba(0,0,0,.2)}
@media(max-width:640px){.project-photo{height:210px}.audience-photo{height:180px}}
@media(prefers-reduced-motion:reduce){.project-photo img,.audience-photo img{transition:none!important}}
