.service-solar-cell { --sv-ink:#1d3038; --sv-muted:#60747d; --sv-orange:#e76c2b; --sv-line:#dae4e8; }
.service-solar-cell .dp-hero { padding-bottom:82px; background:radial-gradient(circle at 78% 25%,#314953 0,#1c2a32 54%); }
.service-solar-cell .dp-hero-grid { min-height:390px; grid-template-columns:1.08fr .82fr; }
.service-solar-cell .dp-hero h1 { max-width:750px; font-size:clamp(46px,4.8vw,69px); }
.service-solar-cell .dp-hero-lead { max-width:650px; }
.service-solar-cell .dp-hero-panel { min-height:345px; padding:31px 34px; background:linear-gradient(150deg,#3b5058,#2b3d46); box-shadow:0 20px 50px #101c2335,inset 0 1px #ffffff24; }
.service-solar-cell .dp-hero-panel>strong { margin:18px 0; font-size:clamp(29px,2.6vw,39px); line-height:1.25; }
.service-solar-cell .dp-hero-panel:after { opacity:.5; }
.sv-hero-points { display:grid; gap:0; margin-top:11px; }
.sv-hero-points>div { display:grid; grid-template-columns:34px 1fr; gap:8px; padding:9px 0; border-top:1px solid #ffffff24; color:#dce7ea; font-size:13px; }
.sv-hero-points b { color:#ffad7c; }
.service-solar-cell .dp-section { padding:91px 0; }
.service-solar-cell .dp-section--tint { background:#f3f6f7; }
.service-solar-cell .dp-head { margin-bottom:33px; }
.service-solar-cell .dp-head h2 { font-size:clamp(34px,3.4vw,47px); }
.service-solar-cell .dp-head h2 .dp-num { width:61px; height:52px; flex-basis:61px; place-items:start; margin-right:12px; border-radius:0; color:#d96529; background:transparent; font-size:31px; font-weight:400; line-height:1.4; }
.service-solar-cell .dp-section--dark .dp-head h2 .dp-num { color:#ffad77; }
.service-solar-cell .dp-head>p { max-width:410px; }
.sv-intro { display:grid; grid-template-columns:.86fr 1.14fr; min-height:540px; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 22px 60px #12273111; }
.sv-intro-copy { display:flex; flex-direction:column; justify-content:center; padding:44px 55px; }
.sv-intro-copy>span,.sv-assessment-content>span,.sv-components-copy>span,.sv-ownership>div>span { color:#c45b23; font-size:11px; font-weight:700; letter-spacing:1.45px; }
.sv-intro-copy h3 { margin:14px 0 16px; font-size:clamp(31px,3vw,43px); line-height:1.23; }
.sv-intro-copy>p { margin:0 0 22px; color:var(--sv-muted); font-size:15px; line-height:1.75; }
.sv-intro-copy ul { margin:0; padding:0; list-style:none; }
.sv-intro-copy li { display:grid; gap:2px; padding:12px 0; border-top:1px solid var(--sv-line); }
.sv-intro-copy li b { color:#263b45; font-size:15px; }
.sv-intro-copy li small { color:#657881; font-size:12px; }
.sv-intro figure { position:relative; min-height:540px; margin:0; overflow:hidden; background:#d0dde3; }
.sv-intro img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:53% center; }
.sv-intro figcaption,.sv-assessment figcaption,.sv-components figcaption { position:absolute; right:0; bottom:0; left:0; padding:31px; color:#fff; background:linear-gradient(transparent,#14252da8); font-size:12px; }
.sv-types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sv-types article { overflow:hidden; border:1px solid #dce5e9; border-radius:12px; background:#fff; box-shadow:0 12px 34px #14262d0c; transition:transform .2s,box-shadow .2s; }
.sv-types article:hover { transform:translateY(-3px); box-shadow:0 17px 42px #14262d16; }
.sv-types article:first-child { border-top:4px solid var(--sv-orange); }
.sv-types article:not(:first-child) { border-top:4px solid #31444d; }
.sv-types img { display:block; width:100%; height:230px; object-fit:cover; }
.sv-types article>div { padding:25px 27px 28px; }
.sv-types span { color:#be5721; font-size:10px; font-weight:700; letter-spacing:1.2px; }
.sv-types h3 { margin:8px 0 10px; font-size:27px; }
.sv-types p { min-height:75px; margin:0 0 19px; color:#5f727b; font-size:14px; line-height:1.72; }
.sv-types dl { display:grid; gap:7px; margin:0; padding-top:16px; border-top:1px solid var(--sv-line); }
.sv-types dt { color:#bb5724; font-size:11px; font-weight:700; }
.sv-types dd { margin:0 0 8px; color:#394e58; font-size:13px; line-height:1.55; }
.sv-type-note { margin:18px 0 0; padding:17px 22px; border-left:3px solid var(--sv-orange); border-radius:0 6px 6px 0; color:#445963; background:#f5f7f8; font-size:13px; line-height:1.7; }
.sv-assessment { display:grid; grid-template-columns:.88fr 1.12fr; gap:24px; }
.sv-assessment figure { position:relative; min-height:610px; margin:0; overflow:hidden; border-radius:12px; background:#d5e1e6; }
.sv-assessment img { position:absolute; width:100%; height:100%; object-fit:cover; }
.sv-assessment-content { padding:32px 37px; border:1px solid #dee7eb; border-radius:12px; background:#fff; box-shadow:0 12px 30px #1b39470a; }
.sv-assessment-content h3 { max-width:520px; margin:13px 0 20px; font-size:clamp(28px,2.7vw,36px); line-height:1.25; }
.sv-assessment-content ol { margin:0; padding:0; list-style:none; }
.sv-assessment-content li { display:grid; grid-template-columns:43px 1fr; gap:13px; padding:14px 0; border-top:1px solid #e2e9ed; }
.sv-assessment-content li>b { color:var(--sv-orange); font-size:21px; }
.sv-assessment-content strong { font-size:16px; }
.sv-assessment-content p { margin:3px 0 0; color:#697b83; font-size:13px; line-height:1.62; }
.service-solar-cell .dp-section--dark { background:#1d3039; }
.sv-routes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.sv-routes article { display:flex; min-height:350px; flex-direction:column; padding:30px; border:1px solid #ffffff24; border-radius:11px; background:#ffffff0d; }
.sv-routes .sv-route-hybrid { border-color:#f794576b; background:linear-gradient(140deg,#4f3b32,#293c44); }
.sv-route-top span { color:#ffa76f; font-size:11px; font-weight:700; letter-spacing:1.2px; }
.sv-route-top h3 { margin:10px 0 8px; color:#fff; font-size:29px; }
.sv-route-top p { max-width:500px; margin:0; color:#cad8dd; font-size:14px; line-height:1.7; }
.sv-route-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin:27px 0 19px; }
.sv-route-path b { display:grid; min-height:58px; place-items:center; padding:8px; border-radius:5px; color:#263b45; background:#f2f5f5; font-size:13px; text-align:center; }
.sv-route-hybrid .sv-route-path b { color:#fff; background:#a7502b; }
.sv-routes article>small { margin-top:auto; padding-top:16px; border-top:1px solid #ffffff26; color:#e4b99d; font-size:13px; line-height:1.6; }
.sv-components { display:grid; grid-template-columns:1fr .95fr; gap:23px; min-height:520px; }
.sv-components-copy { padding:37px 38px; border:1px solid #e0e8eb; border-radius:12px; background:#f8fafb; }
.sv-components-copy h3 { max-width:540px; margin:14px 0 13px; font-size:clamp(29px,2.85vw,40px); line-height:1.3; }
.sv-components-copy>p { margin:0 0 22px; color:var(--sv-muted); font-size:14px; line-height:1.75; }
.sv-component-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.sv-component-grid>div { display:flex; min-height:130px; flex-direction:column; padding:17px; border:1px solid #dfe7ea; border-radius:7px; background:#fff; }
.sv-component-grid b { color:#df6b2e; font-size:15px; }
.sv-component-grid strong { margin-top:8px; font-size:17px; }
.sv-component-grid small { margin-top:5px; color:#6b7d84; font-size:12px; line-height:1.55; }
.sv-components figure { position:relative; margin:0; overflow:hidden; border-radius:12px; background:#d2dde2; }
.sv-components img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:53% center; }
.sv-ownership { display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; align-items:center; padding:41px 46px; border-radius:12px; color:#fff; background:linear-gradient(125deg,#263f49,#1e313a); box-shadow:0 15px 45px #19343f1c; }
.sv-ownership>div>span { color:#ffac74; }
.sv-ownership h3 { margin:14px 0; color:#fff; font-size:clamp(29px,3vw,40px); line-height:1.25; }
.sv-ownership p { color:#cbd8dd; font-size:14px; line-height:1.75; }
.sv-ownership ul { margin:0; padding:0; list-style:none; }
.sv-ownership li { display:grid; grid-template-columns:47px 145px 1fr; gap:12px; align-items:start; padding:20px 0; border-bottom:1px solid #ffffff2a; }
.sv-ownership li:last-child { border-bottom:0; }
.sv-ownership li b { color:#ffa675; font-size:20px; }
.sv-ownership li strong { font-size:16px; }
.sv-ownership li span { color:#ccd9de; font-size:13px; line-height:1.6; }
.sv-process { overflow:hidden; border:1px solid #d8e2e6; border-radius:11px; box-shadow:0 13px 35px #15313f0b; }
.sv-process article { display:grid; grid-template-columns:90px 1fr 205px; gap:20px; align-items:center; min-height:135px; padding:23px 28px; border-bottom:1px solid #d8e2e6; }
.sv-process article:nth-child(odd) { background:#f6f8f9; }
.sv-process article>b { color:#e36c2d; font-size:44px; line-height:1; }
.sv-process small { color:#bd5926; font-size:10px; font-weight:700; letter-spacing:1px; }
.sv-process h3 { margin:4px 0 5px; font-size:24px; }
.sv-process p { margin:0; color:#667982; font-size:13px; line-height:1.65; }
.sv-process article>strong { padding:13px; border-radius:5px; color:#3c535e; background:#e9eef0; font-size:13px; text-align:center; }
.service-solar-cell #section-8 .dp-faq { gap:14px; }
.service-solar-cell #section-8 .dp-faq summary { min-height:59px; padding:19px 43px 19px 21px; font-size:15px; }
.service-solar-cell .dp-cta { padding:75px 0; background:linear-gradient(110deg,#1c303a,#293d46); }
@media(max-width:1050px){
  .sv-intro-copy { padding:33px; }
  .sv-types article>div { padding:21px; }
  .sv-types img { height:190px; }
  .sv-assessment figure { min-height:630px; }
  .sv-ownership { gap:4%; }
  .sv-ownership li { grid-template-columns:37px 120px 1fr; }
}
@media(max-width:800px){
  .service-solar-cell .dp-hero-grid { grid-template-columns:1fr; }
  .service-solar-cell .dp-section { padding:67px 0; }
  .sv-intro { grid-template-columns:1fr; }
  .sv-intro figure { min-height:350px; order:-1; }
  .sv-types { grid-template-columns:1fr 1fr; }
  .sv-types p { min-height:0; }
  .sv-assessment { grid-template-columns:1fr; }
  .sv-assessment figure { min-height:350px; }
  .sv-routes { grid-template-columns:1fr; }
  .sv-components { grid-template-columns:1fr; }
  .sv-components figure { min-height:380px; order:-1; }
  .sv-ownership { grid-template-columns:1fr; }
  .sv-process article { grid-template-columns:66px 1fr; }
  .sv-process article>strong { grid-column:2; justify-self:start; }
}
@media(max-width:560px){
  .service-solar-cell .dp-hero h1 { font-size:38px; }
  .service-solar-cell .dp-hero-panel { min-height:0; padding:23px; }
  .service-solar-cell .dp-section { padding:52px 0; }
  .service-solar-cell .dp-head h2 { font-size:30px; }
  .service-solar-cell .dp-head h2 .dp-num { width:45px; height:auto; flex-basis:45px; margin-right:5px; font-size:22px; }
  .sv-intro figure { min-height:250px; }
  .sv-intro-copy { padding:25px; }
  .sv-types { grid-template-columns:1fr; }
  .sv-types img { height:220px; }
  .sv-assessment figure { min-height:265px; }
  .sv-assessment-content { padding:24px; }
  .sv-assessment-content li { grid-template-columns:34px 1fr; gap:8px; }
  .sv-routes article { min-height:0; padding:23px; }
  .sv-route-path { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sv-route-path b { min-height:48px; }
  .sv-components figure { min-height:265px; }
  .sv-components-copy { padding:25px; }
  .sv-component-grid { grid-template-columns:1fr 1fr; }
  .sv-component-grid>div { min-height:125px; padding:13px; }
  .sv-component-grid strong { font-size:15px; }
  .sv-ownership { padding:26px; }
  .sv-ownership li { grid-template-columns:35px 1fr; gap:5px 9px; }
  .sv-ownership li span { grid-column:2; }
  .sv-process article { grid-template-columns:50px 1fr; gap:10px; padding:21px 10px; }
  .sv-process article>b { font-size:33px; }
  .sv-process h3 { font-size:21px; }
  .service-solar-cell #section-8 .dp-faq { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){ .sv-types article { transition:none; } }
