/* Buyer requirements: three natural-photo stories, compact hero, unchanged original site header.
   Source colours/fonts from solarshop.co.nz. Desktop reference hero 900px => total section 300px. */
:root {--solar-ink:#18301E;--solar-green:#4F8452;--solar-bg:#F4F8F0;--solar-line:#E6DFCD;--solar-gap:12px;--solar-radius:12px;}
body{background:var(--solar-bg);}
.hero-wrap{max-width:1430px;margin:0 auto;height:300px!important;padding:83px 34px 0!important;background:var(--solar-bg);}
.hero-stage{height:181px!important;border-radius:12px!important;background:#fff;border:1px solid #e5ebe1;box-shadow:none!important;}
.hero-slide{padding:9px 9px 9px 24px!important;grid-template-columns:56% 44%!important;transform:none!important;transition:opacity .32s ease,visibility 0s linear .32s!important;}
.hero-slide.is-active{transform:none!important;transition:opacity .32s ease!important;}
.hero-content{padding:0 14px 0 0!important;justify-content:center;}
.eyebrow{font-size:8px!important;margin-bottom:4px!important;letter-spacing:.06em;}
.eyebrow-rule{height:2px;width:15px;}
.hero-content h1,.hero-content h2,.hero-trust .hero-content h2{font-size:clamp(25px,2.18vw,31px)!important;line-height:1.055!important;letter-spacing:-.043em;}
.hero-content h1 em,.hero-content h2 em{color:var(--solar-green);}
.hero-description,.hero-trust .hero-description{font-size:10.4px!important;line-height:1.4!important;max-width:640px;margin:5px 0 8px!important;}
.hero-actions{gap:8px;}
.action-primary,.action-secondary,.hero-trust .action-primary,.hero-trust .action-secondary{min-height:28px!important;padding:5px 11px!important;font-size:9.5px!important;gap:6px;box-shadow:none!important;}
.photo-side{border-radius:9px!important;}
.photo-side img{filter:none!important;}
.photo-label{top:9px!important;left:9px!important;font-size:8px;padding:5px 8px;box-shadow:none!important;}
.label-icon{width:17px;height:17px;font-size:10px;}
.photo-brand{right:9px!important;bottom:8px!important;}
.photo-brand img{width:104px!important;filter:none!important;}
.photo-brand span{display:none!important;}
.hero-proof{margin:4px 0 5px!important;gap:5px!important;}
.proof-point{padding:3px 5px!important;}
.proof-point strong{font-size:14px!important;}
.proof-point span{font-size:8px!important;}
.hero-trust .proof-footnote{font-size:7px!important;margin:2px 0 0!important;}
.slide-navigation{min-height:36px!important;height:36px!important;padding:3px 0!important;gap:15px!important;}
.story-label{flex:0 0 150px!important;gap:0;}
.story-powered{display:flex;align-items:center;gap:5px;}
.story-powered span{font-size:8px!important;color:var(--solar-ink);}
.story-powered img{width:90px!important;filter:none!important;}
.story-label-title,.story-label-sub{display:none!important;}
.story-tabs{gap:11px!important;}
.story-tab{padding:3px 0 8px!important;gap:5px!important;}
.story-tab-name{font-size:9px!important;}
.story-tab-icon{width:14px!important;height:14px!important;}
.progress{height:2px!important;}
.arrow-controls{gap:3px!important;}
.arrow-btn{width:26px!important;height:26px!important;}
.pause-btn{height:24px!important;width:24px!important;}
.trust-row,.concept-footer{display:none!important;}
/* Remove cursor effects: plain browser pointer works for business buyers. */
.sunlight-cursor{display:none!important;}
.hero-wrap.sunlight-cursor-enabled,.hero-wrap.sunlight-cursor-enabled *{cursor:auto!important;}
.hero-wrap a,.hero-wrap button{cursor:pointer!important;}
@media(max-width:1020px) and (min-width:691px){
 .hero-wrap{padding:79px 19px 0!important;}
 .hero-stage{height:185px!important;}
 .hero-slide{padding:8px 8px 8px 13px!important;grid-template-columns:53% 47%!important;}
 .hero-content h1,.hero-content h2,.hero-trust .hero-content h2{font-size:24px!important;}
 .hero-description,.hero-trust .hero-description{font-size:9.3px!important;}
 .slide-navigation{height:36px!important;min-height:36px!important;display:flex!important;}
 .story-label{display:flex!important;flex:0 0 128px!important;}
 .story-powered img{width:77px!important;}
 .story-tabs{display:grid!important;}
 .photo-brand img{width:92px!important;}
}
@media(max-width:690px){
 .hero-wrap{height:470px!important;padding:84px 14px 0!important;}
 .hero-stage{height:337px!important;border-radius:14px!important;}
 .hero-slide{display:flex!important;flex-direction:column!important;gap:0!important;padding:0 9px 9px!important;}
 .hero-content{min-height:0!important;flex:0 0 auto!important;padding:12px 9px 9px!important;}
 .eyebrow{font-size:7.6px!important;margin-bottom:3px!important;}
 .hero-content h1,.hero-content h2,.hero-trust .hero-content h2{font-size:clamp(23px,6.4vw,27px)!important;line-height:1.06!important;}
 .hero-description,.hero-trust .hero-description{font-size:10.3px!important;line-height:1.39!important;margin:5px 0 7px!important;}
 .action-primary,.action-secondary,.hero-trust .action-primary,.hero-trust .action-secondary{font-size:9px!important;min-height:27px!important;padding:5px 9px!important;}
 .hero-actions{gap:6px!important;}
 .photo-side{flex:1 1 auto!important;min-height:95px!important;border-radius:9px!important;}
 .photo-label{font-size:7.4px!important;top:7px!important;left:7px!important;padding:3px 6px!important;}
 .label-icon{width:15px;height:15px;font-size:9px;}
 .photo-brand img{width:92px!important;}
 .hero-proof{gap:4px!important;margin:2px 0 3px!important;}
 .proof-point{padding:3px!important;}
 .proof-point strong{font-size:12px!important;}
 .proof-point span{font-size:7px!important;}
 .hero-trust .proof-footnote{display:none!important;}
 .slide-navigation{height:49px!important;min-height:49px!important;display:grid!important;grid-template-columns:1fr auto;column-gap:7px!important;row-gap:1px!important;padding:2px 0!important;}
 .story-label{display:flex!important;grid-column:1/-1;grid-row:1;gap:0!important;}
 .story-powered img{width:66px!important;}
 .story-powered span{font-size:7px!important;}
 .story-tabs{grid-column:1;grid-row:2;gap:6px!important;}
 .story-tab{flex-direction:row!important;align-items:center!important;gap:3px!important;padding:1px 0 5px!important;}
 .story-tab-icon{width:11px!important;height:11px!important;}
 .story-tab-name{font-size:8px!important;line-height:1.1!important;}
 .arrow-controls{grid-column:2;grid-row:2;}
 .arrow-btn{width:22px!important;height:22px!important;}
 .pause-btn{width:21px!important;height:21px!important;}
}
@media(max-width:370px){
 .hero-wrap{height:482px!important;}
 .hero-stage{height:350px!important;}
 .hero-content h1,.hero-content h2,.hero-trust .hero-content h2{font-size:22px!important;}
 .hero-description,.hero-trust .hero-description{font-size:9.5px!important;}
 .hero-actions{flex-direction:row!important;}
 .story-tab-name{font-size:7.2px!important;}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide.is-active{transition:none!important;}}
/* Final photo fit guard: expert slide must never grow beyond compact card. */
@media (min-width:691px){
 .hero-slide .photo-side,.hero-trust .photo-side{min-height:0!important;height:100%!important;max-height:100%!important;}
}

/* Remove unrelated scrolling highlights ticker as requested; keep 3 hero story tabs. */
.tick{display:none!important;}

/* Buyer final: all photos, original marks and typography stay clean (no filtering). */
.photo-brand { background:#fff!important; border:1px solid #e6e9e3!important; border-radius:6px!important; padding:5px 7px!important; box-shadow:none!important; }
.photo-brand img{filter:none!important;}
.slide-navigation .story-tab .progress { background:#e0e8df!important; overflow:hidden!important; }
.slide-navigation .story-tab .progress>span { background:#4F8452!important; box-shadow:none!important; }
.slide-navigation .story-tab.is-current .progress>span {animation:progress-fill 9s linear forwards!important;box-shadow:none!important;}
.slide-navigation .story-tab.is-current .progress>span::after {display:none!important;}
.slide-navigation .story-tab.is-current .story-tab-icon {color:#4F8452!important;}
@media (prefers-reduced-motion:reduce) {.slide-navigation .story-tab.is-current .progress>span{animation:none!important;width:100%!important;}}

/* Buyer-supplied combined lock-up, shown completely with original aspect ratio. */
.photo-brand{background:#fff!important;padding:5px 6px!important;border:1px solid #e4e9e4!important;max-width:min(46%,180px)!important;}
.photo-brand img{display:block!important;width:148px!important;max-width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important;}
@media(max-width:690px){.photo-brand{max-width:49%!important;padding:4px 5px!important;}.photo-brand img{width:134px!important;max-width:100%!important;}}
@media(max-width:370px){.photo-brand img{width:120px!important;max-width:100%!important;}}

/* V4: Smooth 850ms dissolve; outgoing remains behind the incoming slide
   until the incoming image/text is completely visible. No flashing / blank stage. */
.hero-stage .hero-slide:not(.is-active){
  opacity:0!important;
  visibility:visible!important;
  z-index:1!important;
  transform:none!important;
  transition:opacity 0s linear .85s!important;
}
.hero-stage .hero-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
  transform:none!important;
  transition:opacity .85s ease-in-out!important;
}
@media (prefers-reduced-motion:reduce){
  .hero-stage .hero-slide,.hero-stage .hero-slide.is-active{transition:none!important;}
}

/* V5: tiny moving energy pulse, aligned to the leading edge of the 9-second fill.
   Small restrained NZ green, no large zigzags, no photographic filters or gradients. */
.slide-navigation .story-tab .progress{height:2px!important;overflow:visible!important;background:#dce8dd!important;}
.slide-navigation .story-tab .progress>span{position:relative!important;height:2px!important;background:#4F8452!important;}
.slide-navigation .story-tab.is-current .progress>span::after{
  display:block!important;content:""!important;
  position:absolute;right:-3px;top:-3px;width:15px;height:8px;
  border-radius:0;background:#4F8452!important;box-shadow:none!important;
  clip-path:polygon(0% 55%,24% 55%,38% 5%,51% 88%,65% 35%,77% 55%,100% 55%,100% 77%,72% 77%,66% 56%,51% 100%,36% 32%,29% 77%,0% 77%);
  animation:energy-pulse-flicker .85s ease-in-out infinite!important;
}
@keyframes energy-pulse-flicker{
  0%,100%{opacity:.68;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-.5px)}
  70%{opacity:.8;transform:translateY(.3px)}
}
@media(prefers-reduced-motion:reduce){
 .slide-navigation .story-tab.is-current .progress>span::after{animation:none!important;opacity:.7!important;}
}

/* V6 — requested translucent logo background: photograph remains visible through
   the plain semi-transparent white surface. No gradient, blend or backdrop blur. */
.hero-slide .photo-brand {
  background:rgba(255,255,255,.62)!important;
  border:1px solid rgba(255,255,255,.54)!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.hero-slide .photo-brand img { opacity:1!important; filter:none!important; mix-blend-mode:normal!important; }

/* V8: Crossfade photography only. The departing slide keeps its photograph
   underneath, but its text, CTA and overlay labels disappear immediately.
   Prevents two readable messages occupying the same coordinates during fades. */
.hero-stage .hero-slide:not(.is-active) .hero-content,
.hero-stage .hero-slide:not(.is-active) .photo-label,
.hero-stage .hero-slide:not(.is-active) .photo-brand{
  opacity:0!important;
  visibility:hidden!important;
  transition:none!important;
}
.hero-stage .hero-slide.is-active .hero-content,
.hero-stage .hero-slide.is-active .photo-label,
.hero-stage .hero-slide.is-active .photo-brand{
  opacity:1!important;
  visibility:visible!important;
}
