.energy-plan-page { --plan-ink:#0b343d; --plan-deep:#092f38; --plan-lime:#ccf46d; --plan-line:#d5e1d8; color:var(--plan-ink); background:#fff; }
.energy-plan-page * { min-width:0; }
.energy-plan-page h1,.energy-plan-page h2,.energy-plan-page h3,.energy-plan-page p { margin-top:0; }
.energy-plan-page h2 { font-size:clamp(2.7rem,4.5vw,4.9rem); line-height:1.03; letter-spacing:-.045em; font-weight:720; }
.energy-plan-page h2 em { color:#3c7968; font-style:normal; }
.plan-kicker { font-size:10px; letter-spacing:.16em; font-weight:850; text-transform:uppercase; color:#4e826b; }
.plan-button { display:inline-flex; justify-content:space-between; align-items:center; gap:25px; min-height:56px; padding:16px 21px; font-size:13px; font-weight:800; text-decoration:none; border-radius:2px; transition:background .2s; }
.plan-button span { font-size:21px; line-height:1; }
.plan-button--lime { background:var(--plan-lime); color:var(--plan-ink); }
.plan-button--lime:hover { background:#dfff8e; }
.plan-button--dark { background:var(--plan-ink); color:#fff; }
.plan-button--dark:hover { background:#195a60; }
.plan-text-link { display:inline-flex; align-items:center; gap:13px; padding-bottom:5px; border-bottom:1px solid currentColor; color:#eff8ef; font-size:12px; font-weight:800; text-decoration:none; }
.plan-text-link--dark { color:var(--plan-ink); }
.plan-text-link span { font-size:19px; }
.plan-hero { background:var(--plan-deep); color:#fff; overflow:hidden; }
.plan-hero-grid { display:grid; grid-template-columns:1.07fr .93fr; gap:clamp(50px,8vw,120px); align-items:stretch; min-height:640px; }
.plan-hero-copy { padding:44px 0 82px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.plan-breadcrumb { display:flex; align-items:center; gap:12px; margin-bottom:77px; color:#aec8bc; font-size:11px; }
.plan-breadcrumb a { color:inherit; text-decoration:none; }
.plan-breadcrumb a:hover { text-decoration:underline; }
.plan-hero .plan-kicker { color:#b3d68b; margin-bottom:20px; }
.plan-hero h1 { font-size:clamp(3.6rem,5.4vw,6.3rem); line-height:.98; letter-spacing:-.055em; font-weight:750; margin-bottom:27px; }
.plan-hero h1 em { color:var(--plan-lime); font-style:normal; }
.plan-hero-copy>p:not(.plan-kicker) { max-width:570px; color:#c7d9d2; font-size:17px; line-height:1.7; }
.plan-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:24px; }
.plan-hero-media { position:relative; align-self:stretch; margin:0; min-height:640px; overflow:hidden; background:#174750; }
.plan-hero-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.plan-hero-media--usage img { object-position:36% center; }
.plan-hero-media--solar img { object-position:50% center; }
.plan-hero-media:after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#062c35a8); pointer-events:none; }
.plan-hero-media figcaption { position:absolute; z-index:1; left:0; right:0; bottom:0; padding:35px 37px; border-top:4px solid var(--plan-lime); color:#fff; }
.plan-hero-media figcaption span { display:block; margin-bottom:9px; color:var(--plan-lime); font-size:10px; font-weight:850; letter-spacing:.14em; }
.plan-hero-media figcaption strong { display:block; max-width:360px; font-size:clamp(24px,2.3vw,34px); line-height:1.1; letter-spacing:-.035em; }
.plan-subnav { background:#f8faf5; border-bottom:1px solid var(--plan-line); }
.plan-subnav .shell { display:flex; gap:clamp(22px,3vw,48px); overflow:auto; }
.plan-subnav a { flex:none; padding:21px 0; color:#345e59; font-size:12px; font-weight:750; text-decoration:none; border-bottom:2px solid transparent; }
.plan-subnav a:hover { border-bottom-color:#4d8d69; }
.plan-section { padding:clamp(75px,8vw,125px) 0; scroll-margin-top:84px; }
.plan-section-intro { display:grid; grid-template-columns:1fr .75fr; gap:clamp(45px,8vw,125px); align-items:end; margin-bottom:44px; }
.plan-section-intro h2 { margin:18px 0 0; }
.plan-section-intro>p { max-width:470px; color:#587369; font-size:16px; line-height:1.7; margin-bottom:5px; }
.plan-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.plan-card-grid article { min-height:325px; background:#f5f8f1; border:1px solid #d0dfd2; padding:27px; display:flex; flex-direction:column; }
.plan-card-grid article>span { color:#4e806b; font-size:10px; letter-spacing:.13em; font-weight:850; }
.plan-card-grid h3 { margin:74px 0 13px; font-size:clamp(25px,2.5vw,35px); line-height:1.1; letter-spacing:-.04em; }
.plan-card-grid p { color:#526e63; font-size:14px; line-height:1.65; margin-bottom:0; }
.plan-highlight { background:#e5f2cf; padding:clamp(75px,8vw,120px) 0; scroll-margin-top:84px; }
.plan-highlight-grid { display:grid; grid-template-columns:1fr .7fr; gap:clamp(50px,10vw,140px); align-items:center; }
.plan-highlight h2 { margin:20px 0 26px; }
.plan-highlight-grid>div:first-child>p:not(.plan-kicker) { max-width:615px; color:#496957; font-size:16px; line-height:1.7; }
.plan-info-panel { background:#fff; border:1px solid #bfd3b2; padding:34px; box-shadow:14px 14px 0 #cfe2be; }
.plan-info-panel>span { display:block; color:#57836b; font-size:10px; font-weight:850; letter-spacing:.14em; padding-bottom:24px; border-bottom:1px solid #d5e1d8; }
.plan-info-panel ol { list-style:none; padding:0; margin:0; counter-reset:plan; }
.plan-info-panel li { counter-increment:plan; padding:17px 0; border-bottom:1px solid #d5e1d8; font-size:14px; font-weight:700; display:flex; gap:15px; }
.plan-info-panel li:last-child { border-bottom:0; }
.plan-info-panel li:before { content:"0" counter(plan); color:#6b9977; font-size:10px; letter-spacing:.12em; margin-top:2px; }
.plan-route-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(55px,12vw,170px); }
.plan-route-grid h2 { margin:18px 0 25px; }
.plan-route-grid>div>p:not(.plan-kicker) { max-width:510px; color:#567066; font-size:16px; line-height:1.7; }
.plan-route { margin:0; padding:0; list-style:none; border-top:1px solid var(--plan-line); }
.plan-route li { display:grid; grid-template-columns:58px 1fr; gap:18px; padding:22px 0; border-bottom:1px solid var(--plan-line); }
.plan-route li>span { color:#5b9478; font-size:11px; font-weight:850; letter-spacing:.12em; padding-top:7px; }
.plan-route h3 { font-size:25px; letter-spacing:-.035em; margin:0 0 7px; }
.plan-route p { color:#5e776d; font-size:13px; line-height:1.6; margin:0; }
.plan-faq { background:#f6f8f3; padding:clamp(70px,7vw,112px) 0; scroll-margin-top:84px; }
.plan-faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(55px,10vw,150px); }
.plan-faq h2 { margin:18px 0 0; }
.plan-faq details { border-top:1px solid #c9d8ce; }
.plan-faq details:last-child { border-bottom:1px solid #c9d8ce; }
.plan-faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; font-size:17px; font-weight:750; }
.plan-faq summary::-webkit-details-marker { display:none; }
.plan-faq summary span { font-size:23px; font-weight:400; }
.plan-faq details[open] summary span { transform:rotate(45deg); }
.plan-faq details p { max-width:620px; color:#557267; font-size:14px; line-height:1.7; margin:0 0 22px; }
.plan-final { background:var(--plan-deep); color:#fff; padding:clamp(75px,8vw,125px) 0; }
.plan-final-grid { display:flex; align-items:end; justify-content:space-between; gap:50px; }
.plan-final .plan-kicker { color:var(--plan-lime); }
.plan-final h2 { margin:20px 0 18px; }
.plan-final p:not(.plan-kicker) { color:#bed2c9; font-size:16px; line-height:1.65; max-width:550px; }
.plan-final .plan-button { flex:none; }
@media(max-width:900px) {
  .plan-hero-grid,.plan-section-intro,.plan-highlight-grid,.plan-route-grid,.plan-faq-grid { grid-template-columns:1fr; }
  .plan-hero-grid { gap:0; }
  .plan-hero-copy { padding:42px 0 50px; }
  .plan-breadcrumb { margin-bottom:65px; }
  .plan-hero-media { min-height:430px; margin-bottom:62px; }
  .plan-card-grid { grid-template-columns:1fr; }
  .plan-card-grid article { min-height:0; }
  .plan-card-grid h3 { margin-top:47px; }
  .plan-final-grid { flex-direction:column; align-items:flex-start; }
}
@media(max-width:560px) {
  .energy-plan-page h2 { font-size:clamp(2.5rem,10vw,3.4rem); }
  .plan-hero h1 { font-size:clamp(3.1rem,11vw,4.4rem); }
  .plan-hero-copy>p:not(.plan-kicker) { font-size:15px; }
  .plan-breadcrumb { margin-bottom:55px; }
  .plan-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .plan-actions .plan-button { width:100%; }
  .plan-hero-media { min-height:330px; margin-bottom:48px; }
  .plan-hero-media figcaption { padding:23px; }
  .plan-section,.plan-highlight,.plan-faq,.plan-final { padding:68px 0; }
  .plan-info-panel { padding:25px; box-shadow:8px 8px 0 #cfe2be; }
  .plan-final .plan-button { width:100%; }
}
