*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);background:var(--color-bg-canvas);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;text-wrap:pretty}
a{color:var(--color-interactive-link)}a:hover{color:var(--color-interactive-link-hover)}
::selection{background:var(--forest-200)}
@keyframes seFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.se-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.se-btn-primary:hover{background:var(--color-brand-primary-hover)!important}
.se-btn-ghost:hover{border-color:var(--color-brand-primary)!important;color:var(--color-brand-primary)!important}
.se-link:hover{gap:10px!important}
.se-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border-default);background:var(--color-bg-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .18s,background .18s}
.se-arrow:hover{border-color:var(--color-brand-primary);background:var(--color-brand-primary-subtle)}
image-slot{width:100%;height:100%;display:block}
.se-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-standard)}
.se-card:hover .se-img,.se-zoom:hover .se-img{transform:scale(1.06)}
.se-subsidy-card{transition:transform .4s var(--ease-emphasized),box-shadow .4s var(--ease-emphasized)}
.se-subsidy-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 22px 46px -16px rgba(22,45,32,.3),0 4px 10px rgba(22,45,32,.08)}
.se-brand-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);filter:brightness(1.02)}
.se-card{transition:transform .3s var(--ease-emphasized),box-shadow .3s var(--ease-emphasized),border-color .3s var(--ease-standard)!important}
.se-card:hover{transform:translateY(-5px)!important;box-shadow:var(--shadow-lg)!important;border-color:var(--solar-200)!important}
.se-btn-primary{transition:background .2s var(--ease-standard),transform .2s var(--ease-emphasized),box-shadow .25s var(--ease-emphasized)!important}
.se-btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px rgba(38,116,78,.6)}
.se-btn-primary:active{transform:translateY(0)}
.se-btn-ghost{transition:border-color .2s var(--ease-standard),color .2s var(--ease-standard),background .2s var(--ease-standard),transform .2s var(--ease-emphasized)!important}
.se-btn-ghost:hover{transform:translateY(-2px)}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.se-range{height:6px;border-radius:999px;-webkit-appearance:none;appearance:none;background:rgba(255,255,255,.18);outline:none}
.se-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--solar-400);cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.se-range::-moz-range-thumb{width:22px;height:22px;border:none;border-radius:50%;background:var(--solar-400);cursor:pointer}
.se-input{width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--color-border-default);background:var(--color-bg-surface);font-family:var(--font-body);font-size:15px;color:var(--color-text-primary);transition:border-color .18s,box-shadow .18s}
.se-input:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:var(--shadow-focus-ring)}
.se-input::placeholder{color:var(--color-text-tertiary)}
@media(max-width:960px){
  .se-hero-grid,.se-2col{grid-template-columns:1fr!important}
  .se-grid-4{grid-template-columns:repeat(2,1fr)!important}
  .se-grid-3{grid-template-columns:1fr!important}
  .se-footer-grid{grid-template-columns:1fr 1fr!important}
  .se-nav-links{display:none!important}
  .se-nav-burger{display:block!important}
  .se-hero-chip{left:12px!important}
  .se-2col>div[style*="order: 1"]{order:2!important}
  .se-subsidy-card{grid-template-columns:1fr!important}
  .se-subsidy-card>div{border-left:none!important;border-top:1px solid var(--solar-200)!important}
  .se-subsidy-card>div:first-child{border-top:none!important}
  .se-hero-stats{grid-template-columns:repeat(2,1fr)!important;row-gap:28px!important}
  .se-brand-row{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .se-grid-4{grid-template-columns:1fr!important}
  .se-footer-grid{grid-template-columns:1fr!important}
  .se-footer-legal{flex-direction:column;align-items:flex-start!important}
  .se-grid-2b{grid-template-columns:1fr 1fr!important}
}
