/* Suntex institutional appearance. Shared with the static HostGator pages. */
:root {
  --color-navy: #111111;
  --color-navy-light: #f6f6f8;
  --section-padding-y: clamp(2.5rem, 4vw, 3.5rem);
  --section-padding-x: 20px;
}
body { color: #111; font-family: var(--font-montserrat, Montserrat), Montserrat, sans-serif; }
img { max-width: 100%; }
main svg.w-full { min-width: 0 !important; max-width: 100%; height: auto; }
main, main * { min-width: 0; }
h1, h2, h3 { letter-spacing: -.025em; text-wrap: balance; }
h2, h3 { font-weight: 700 !important; overflow-wrap: anywhere; }
p { overflow-wrap: break-word; }
.text-navy { color: #111; }
.text-gray-500, .text-gray-600, .text-gray-700 { color: #62626a; }
main section { padding-top: var(--section-padding-y); padding-bottom: var(--section-padding-y); }
main .max-w-7xl { max-width: 1200px; }
main .gap-8, main .gap-12 { gap: 24px; }
main .mb-16, main .mb-12 { margin-bottom: 32px; }
main .rounded-2xl { border-radius: 12px; border: 1px solid #e5e5eb; box-shadow: 0 3px 14px rgb(17 17 17 / 4%); }
main .rounded-2xl:hover { box-shadow: 0 3px 14px rgb(17 17 17 / 6%); }
main .rounded-xl { border-radius: 8px; }
main [class*="shadow-2xl"], main [class*="shadow-lg"] { box-shadow: 0 3px 14px rgb(17 17 17 / 5%); }
[class*="backdrop-blur"] { backdrop-filter: none !important; }
.diagonal-bottom, .diagonal-top, .diagonal-both { clip-path: none; }
.bg-grid, .bg-grid-light, [class*="bg-gradient-"] { background-image: none !important; }
.animate-fade-up { animation: none; }
main img[class*="scale"], main img[class*="drop-shadow"] { transform: none; filter: none; }
header { position: relative !important; background: #1a2ccc !important; padding: 12px 0 !important; box-shadow: none !important; border: 0 !important; }
header > div:first-child { max-width: 1200px; }
header img, footer img[alt^="Suntex"] { width: 130px; height: auto; object-fit: contain; }
header nav button, header nav a { min-height: 44px; display: inline-flex; align-items: center; }
header nav .absolute { background: #1a2ccc; border-color: #6976df; box-shadow: 0 4px 16px rgb(17 17 17 / 12%); }
header nav .absolute a { display: flex; }
header > div:nth-child(2) { background: #1a2ccc !important; border-color: #6976df; }
#suntex-mobile-menu[hidden] { display: none; }
#suntex-mobile-menu { padding: 12px 16px 20px; border-top: 1px solid #6976df; }
#suntex-mobile-menu nav { display: grid; gap: 4px; }
#suntex-mobile-menu a { color: #fff; min-height: 44px; padding: 8px 12px; border-radius: 8px; font-size: 14px; }
#suntex-mobile-menu strong { color: #fff; padding: 12px; font-size: 14px; }
header a:hover, header button:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
header a:focus-visible, header button:focus-visible, footer a:focus-visible { outline: 3px solid #fff !important; outline-offset: 3px; }
footer { background: #1a2ccc !important; padding: 40px 0 28px !important; border: 0 !important; }
footer [class*="text-gray-"] { color: #fff; }
footer [class*="border-gray-"] { border-color: #6976df; }
footer a { display: inline-flex; align-items: center; min-height: 44px; }
footer a:hover { color: #fff; text-decoration: underline; }
footer .gap-10 { gap: 24px; }
footer .mb-12 { margin-bottom: 24px; }
/* Existing hero DOM is retained; photograph and copy become two columns. */
main > section:first-child:has(h1) {
  background: #fff; min-height: 0; display: grid; grid-template-columns: 1fr;
  gap: 28px; padding: 32px 20px 40px; max-width: 1200px; margin: auto;
}
main > section:first-child:has(h1) > div:first-child {
  position: relative; inset: auto; background: #f6f6f8; order: 2;
  border-radius: 12px; overflow: hidden; aspect-ratio: 4 / 3;
}
main > section:first-child:has(h1) > div:first-child > div { display: none; }
main > section:first-child:has(h1) > div:nth-child(2) {
  order: 1; text-align: left; align-items: flex-start; padding: 0; margin: 0;
}
main > section:first-child:has(h1) h1 { color: #111; font-size: clamp(30px, 4vw, 52px); line-height: 1.12; font-weight: 800; filter: none; }
main > section:first-child:has(h1) h1 span { color: #1a2ccc; }
main > section:first-child:has(h1) p { color: #62626a; font-size: 16px; font-weight: 400; filter: none; }
main > section:first-child:has(h1) p span { color: #111; font-weight: 600; }
main > section:first-child:has(h1) .border-t { color: #62626a; border-color: #e5e5eb; flex-wrap: wrap; justify-content: flex-start; gap: 4px; padding-top: 20px; font-size: 12px; }
main section.bg-navy { background: #f6f6f8; color: #111; border-color: #e5e5eb; margin-top: 0; margin-bottom: 0; }
main section.bg-navy .text-white { color: #111; }
main section.bg-navy [class*="text-gray-"] { color: #62626a; }
main section.bg-navy .text-orange { color: #1a2ccc; }
main section.bg-navy [class*="bg-navy"], main section.bg-navy [class*="bg-white/"] { background: #fff; }
main section.bg-navy [class*="border-white/"], main section.bg-navy [class*="border-gray-800"] { border-color: #e5e5eb; }
main section.bg-navy [class*="bg-orange/"] { background: #eeefff; }
main a.inline-flex, main button[type="submit"] { min-height: 44px; border-radius: 8px; font-size: 14px; white-space: normal; text-align: center; transform: none; }
main a { min-height: 44px; display: inline-flex; align-items: center; }
main a:has(h2), main a:has(h3) { display: flex; flex-direction: column; align-items: flex-start; }
main .text-orange { color: #1a2ccc; }
main section.bg-blue-main .text-orange { color: #fff; }
main a[class*="bg-[#25D366]"] { color: #111; }
main a.inline-flex.border-blue-main { background: #1a2ccc; color: #fff; border-color: #1a2ccc; }
main a.inline-flex.border-blue-main:hover { background: #1624a8; }
main .bg-orange { color: #111; }
/* Replace only decorative emoji presentation with a consistent stroke icon set. */
main section:has(img[alt="Como Funciona o Ecossistema"]) .grid > div .w-10 {
  font-size: 0;
  background: #eeefff center / 24px 24px no-repeat;
}
main section:has(img[alt="Como Funciona o Ecossistema"]) .grid > div:nth-child(1) .w-10 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2CCC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='17' height='10' rx='2'/%3E%3Cpath d='M20 10h2v4h-2M8 10v4m-2-2h4m4 0h3'/%3E%3C/svg%3E");
}
main section:has(img[alt="Como Funciona o Ecossistema"]) .grid > div:nth-child(2) .w-10 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2CCC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m13 2-8 12h6l-1 8 9-13h-6z'/%3E%3C/svg%3E");
}
main section:has(img[alt="Como Funciona o Ecossistema"]) .grid > div:nth-child(3) .w-10 {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A2CCC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='14' rx='2'/%3E%3Cpath d='m6 12 4-4 4 3 4-5M8 21h8m-4-4v4'/%3E%3C/svg%3E");
}
main section.bg-blue-main { background: #1a2ccc; }
main section.bg-blue-main > div > div > div:last-child > div { border-top: 4px solid #1a2ccc; }
main input, main select, main textarea { font-size: 16px !important; min-height: 48px; border: 1px solid #dddde5; border-radius: 8px; background: #fff; color: #111; }
main label { font-size: 14px !important; color: #111; }
main input::placeholder, main textarea::placeholder { color: #707078; opacity: 1; }
main [role="list"] { border: 0; display: grid; gap: 10px; }
main [role="listitem"] { border: 1px solid #e5e5eb; border-radius: 10px; background: #fff; padding: 0 16px; }
main [role="listitem"] button { font-size: 16px; min-height: 56px; padding: 16px 0; }
main [role="listitem"] [role="region"] p { font-size: 15px; }
:focus-visible { outline: 3px solid #1a2ccc !important; outline-offset: 3px; }
main section.bg-blue-main a:focus-visible { outline-color: #fff !important; }
main section.bg-blue-main form :focus-visible { outline-color: #1a2ccc !important; }
main > div.pt-32 { padding-top: 40px; }
main [class*="space-y-16"] > :not([hidden]) ~ :not([hidden]) { margin-top: 40px; }
@media (min-width: 1024px) {
  main > section:first-child:has(h1) { grid-template-columns: 1.1fr 1fr; align-items: center; padding-top: 48px; padding-bottom: 48px; gap: 48px; }
}
@media (min-width: 768px) and (max-width: 1279px) {
  main .grid.md\:grid-cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  main .grid.md\:grid-cols-3:has(.flex-col.justify-between) { grid-template-columns: minmax(0, 1fr); }
  main > section:first-child:has(h1) > div:first-child { aspect-ratio: 16 / 9; max-height: 360px; }
}
@media (max-width: 767px) {
  :root { --section-padding-x: 16px; }
  main .max-w-7xl, header > div:first-child, footer > div { padding-left: 16px; padding-right: 16px; }
  header > div:first-child > div { position: relative; justify-content: center; min-height: 80px; }
  header > div:first-child > div > a { max-width: calc(100% - 112px); }
  header > div:first-child > div > div:last-child { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
  header > div:first-child > div > div:last-child button { width: 44px; height: 44px; }
  header > div:nth-child(2) nav a { min-height: 44px; }
  main > section:first-child:has(h1) { padding-left: 16px; padding-right: 16px; }
  main > section:first-child:has(h1) > div:first-child { aspect-ratio: 16 / 9; }
  main .grid { grid-template-columns: minmax(0, 1fr); }
  main .p-6, main .p-8 { padding: 20px; }
  main .p-6.pt-0 { padding-top: 0; }
  main .text-xs.leading-relaxed { font-size: 14px; }
  main .text-section-title { font-size: 26px; }
  main .gap-12 { gap: 24px; }
  main .h-48 { height: auto; aspect-ratio: 16 / 9; }
  footer .grid { grid-template-columns: minmax(0, 1fr); }
  footer p { overflow-wrap: anywhere; }
  body > a.fixed { position: static; width: 48px; height: 48px; margin: 16px auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
/* Refinement: compact navigation, photographic hero and miniature diagrams. */
header { padding: 6px 0 !important; }
header img { width: 80px; height: 48px; }
header img.suntex-logo-white { display:block; visibility:visible; opacity:1; flex-shrink:0; }
.suntex-logo-white { filter:brightness(0) invert(1); }
header > div:first-child > div { min-height: 52px; }
main > section:first-child:has(h1) { display:flex; position:relative; min-height:460px; max-width:none; margin:0; padding:56px 20px; background:#1a2ccc; gap:0; }
main > section:first-child:has(h1) > div:first-child { position:absolute; inset:0; order:0; border-radius:0; aspect-ratio:auto; max-height:none; background:#111; }
main > section:first-child:has(h1) > div:first-child img { width:100%; height:100%; object-fit:cover; object-position:center; }
main > section:first-child:has(h1) > div:first-child > div:first-of-type { display:block; background:rgba(8,18,64,.70); }
main > section:first-child:has(h1) > div:nth-child(2) { position:relative; text-align:center; align-items:center; margin:auto; max-width:900px; padding:0; }
main > section:first-child:has(h1) h1 { color:white; font-size:clamp(30px,4vw,54px); }
main > section:first-child:has(h1) h1 span { color:#fe7e05; }
main > section:first-child:has(h1) p { color:white; max-width:650px; margin-inline:auto; }
main > section:first-child:has(h1) p span { color:white; }
main > section:first-child:has(h1) .border-t { color:white; border-color:#ffffff40; justify-content:center; }
.suntex-miniature { width:100px; height:100px; object-fit:contain; flex-shrink:0; }
.suntex-proof .suntex-miniature { width:88px; height:88px; }
.suntex-proof .suntex-presence-map { max-width:530px; width:100%; height:auto; }
.suntex-project-caption { padding:20px; }
.suntex-project-caption h3 { display:flex; align-items:center; justify-content:space-between; font-size:21px; margin:0 0 12px; }
.suntex-project-caption h3 span { font-size:12px; letter-spacing:.05em; color:#62626a; }
.suntex-project-caption p { display:flex; justify-content:space-between; align-items:center; font-size:14px; gap:12px; margin:0; }
.suntex-project-caption strong { color:#1a2ccc; background:#eeefff; padding:6px 10px; border-radius:6px; }
main .process-flow { gap:22px; }
.process-step { position:relative; text-align:center; padding:20px 14px !important; background:white !important; }
.process-step:not(:last-child)::after { content:'→'; position:absolute; right:-20px; top:68px; font-size:24px; font-weight:700; color:#1a2ccc; z-index:2; }
.process-visual { position:relative; width:112px; margin:0 auto 16px; }
.process-visual .suntex-miniature { width:112px; height:112px; }
.process-visual .rounded-full { position:absolute; bottom:0; left:0; width:28px; height:28px; font-size:13px; margin:0; border:3px solid white; }
.suntex-energy-diagram { background:white; border:1px solid #e5e5eb; border-radius:16px; margin:28px 0; padding:28px 24px 24px; }
.energy-diagram-heading { text-align:center; }
.energy-diagram-heading span { color:#1a2ccc; font-size:11px; font-weight:700; letter-spacing:.12em; }
.energy-diagram-heading p { font-size:20px; font-weight:700; margin-top:6px; }
.energy-flow-layout { position:relative; height:490px; max-width:1000px; margin:12px auto 0; }
.energy-connections { position:absolute; inset:0; width:100%; height:100%; }
.energy-node { position:absolute; width:18%; text-align:center; top:24px; }
.energy-node .suntex-miniature { width:140px; height:140px; margin:auto; }
.energy-node h3 { font-size:15px; margin:0 0 5px; }
.energy-node p { font-size:12px; line-height:1.5; color:#62626a; }
.node-sun { left:0; }.node-panels { left:20%; }.node-inverter { left:40%; }.node-house { left:60%; }.node-grid { left:80%; }
.node-battery { left:40%; top:300px; }.node-essential { left:66%; top:300px; }
.backup-isolation { position:absolute; top:251px; left:59%; width:22%; border:1px solid #fe7e05; background:#fff7f0; border-radius:8px; padding:8px 10px; text-align:center; }
.backup-isolation span { display:block; font-size:10px; color:#111; font-weight:700; letter-spacing:.08em; }.backup-isolation strong { display:block; font-size:12px; }
.suntex-energy-diagram figcaption { border-top:1px solid #e5e5eb; padding-top:20px; }
.energy-legend { display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:center; font-size:12px; color:#62626a; margin-bottom:14px; }
.energy-legend span { display:flex; align-items:center; gap:8px; }.energy-legend i { display:inline-block; width:22px; height:3px; background:#1a2ccc; }.energy-legend .legend-backup { background:#fe7e05; }
.suntex-energy-diagram figcaption p { font-size:13px; line-height:1.7; color:#62626a; max-width:760px; margin:auto; text-align:center; }
@media (min-width:1024px) { main .process-flow { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:1023px) { .energy-flow-layout { height:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; margin:24px auto; }.energy-connections { display:none; }.energy-node { position:relative; width:auto; top:auto; left:auto; background:#f8f9fd; border:1px solid #e5e5eb; border-radius:10px; padding:12px 8px; }.energy-node:not(.node-grid)::after { content:'↓'; position:absolute; bottom:-26px; left:calc(50% - 8px); font-size:21px; color:#1a2ccc; }.node-sun { grid-column:1; grid-row:1; }.node-panels { grid-column:1; grid-row:2; }.node-inverter { grid-column:1; grid-row:3; }.node-house { grid-column:1; grid-row:4; }.node-grid { grid-column:2; grid-row:4; }.node-battery { grid-column:2; grid-row:2; }.backup-isolation { position:relative; top:auto; left:auto; width:auto; grid-column:2; grid-row:3; align-self:center; padding:14px 8px; }.node-essential { grid-column:2; grid-row:1; }.node-essential::after { content:'↑' !important; color:#fe7e05 !important; }.node-battery::after { content:'↕' !important; color:#fe7e05 !important; }.node-house::after { display:none; }.node-grid::before { content:'↔'; position:absolute; left:-23px; top:50%; font-size:23px; color:#1a2ccc; }.energy-node .suntex-miniature { width:100px; height:100px; }.node-battery { border-color:#fe7e05; }.node-essential { border-color:#fe7e05; } }
@media (max-width:767px) { header > div:first-child > div { min-height:52px; }main > section:first-child:has(h1) { padding:40px 16px; min-height:480px; }main > section:first-child:has(h1) > div:first-child { aspect-ratio:auto; }main > section:first-child:has(h1) > div:nth-child(2) { gap:20px; }main > section:first-child:has(h1) .space-y-8 > :not([hidden]) ~ :not([hidden]) { margin-top:22px; }.suntex-proof .suntex-miniature { width:72px; height:72px; }.suntex-proof .gap-5 { gap:12px; }.suntex-proof .px-6 { padding-left:14px; padding-right:14px; }.suntex-proof .text-4xl { font-size:30px; }.process-step { text-align:left; }.process-step > div { display:grid; grid-template-columns:86px 1fr; column-gap:14px; align-items:center; }.process-visual { width:86px; grid-row:1/3; margin:0; }.process-visual .suntex-miniature { width:86px; height:86px; }.process-step:not(:last-child)::after { content:'↓'; right:calc(50% - 8px); top:auto; bottom:-24px; }.suntex-energy-diagram { padding:20px 12px; }.energy-node h3 { font-size:13px; }.energy-node p { font-size:11px; }.energy-diagram-heading p { font-size:18px; }.energy-flow-layout { gap:26px 16px; }.suntex-project-caption { padding:16px; } }
main > section:first-child:has(h1) h1 { color:#fff !important; }
main > section:first-child:has(h1) h1 span { color:#fe7e05 !important; }
main > section:first-child:has(h1) p, main > section:first-child:has(h1) p span { color:#fff !important; }
@media (max-width:1023px) {
.node-battery { grid-row:3; }.backup-isolation { grid-row:4; }.node-essential { grid-row:5; }.node-grid { grid-column:1; grid-row:5; }
.node-battery::before { content:'↔'; position:absolute; left:-24px; top:50%; color:#fe7e05; font-size:22px; }
.node-battery::after { content:'↓' !important; }.node-essential::after { display:none; }
.backup-isolation::after { content:'↓'; position:absolute; bottom:-28px; left:calc(50% - 8px); color:#fe7e05; font-size:21px; }
.node-house::after { display:block; content:'↕'; }.node-grid::before { display:none; }
}
@media (max-width:1023px) {
.node-sun, .node-panels { grid-column:1 / -1; display:grid; grid-template-columns:100px 1fr; column-gap:12px; align-items:center; }
.node-sun .suntex-miniature, .node-panels .suntex-miniature { grid-row:1 / 3; }
.node-sun h3, .node-panels h3 { align-self:end; }.node-sun p, .node-panels p { align-self:start; }
}
/* Solid hero with an existing company photograph; flat geographic map. */
main > section:first-child:has(h1) { background:#1a2ccc !important; display:grid; grid-template-columns:1fr; min-height:0; padding:40px 20px; gap:28px; align-items:center; }
main > section:first-child:has(h1) > div:first-child { position:relative; inset:auto; order:2; width:100%; max-width:500px; margin:auto; aspect-ratio:16/10; border-radius:14px; background:transparent !important; border:1px solid #ffffff40; }
main > section:first-child:has(h1) > div:first-child > div { display:none !important; }
main > section:first-child:has(h1) > div:nth-child(2) { order:1; width:100%; max-width:650px; }
main > section:first-child:has(h1) h1 { font-size:clamp(30px,3.8vw,50px); }
main > section:first-child:has(h1) .border-t { padding-top:20px; }
.energy-flow-layout { height:530px; }
.energy-connections { height:490px; }
.suntex-energy-diagram figcaption { margin-top:16px; }
@media(min-width:1024px) {
main > section:first-child:has(h1) { grid-template-columns:minmax(0,650px) minmax(0,450px); justify-content:center; min-height:570px; padding:56px 40px; gap:48px; }
main > section:first-child:has(h1) > div:first-child { grid-column:2; grid-row:1; aspect-ratio:4/3; }
main > section:first-child:has(h1) > div:nth-child(2) { grid-column:1; grid-row:1; }
}
@media(max-width:1023px) { .energy-flow-layout { height:auto; } }
@media(max-width:767px) { main > section:first-child:has(h1) { padding:36px 16px; gap:28px; }.suntex-energy-diagram figcaption { margin-top:20px; } }
/* Gentle diagonal section boundaries and additional official blue areas. */
main > section:first-child:has(h1) { clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),0 100%); padding-bottom:74px; }
main > section.suntex-proof, main > section:has(.suntex-energy-diagram) { background:#1a2ccc !important; clip-path:polygon(0 18px,100% 0,100% calc(100% - 18px),0 100%); padding-top:72px; padding-bottom:72px; border:0; }
main > section.suntex-proof h2, main > section.suntex-proof > div > div:first-child span, main > section:has(.suntex-energy-diagram) > div > div:first-child h2, main > section:has(.suntex-energy-diagram) > div > div:first-child p, main > section:has(.suntex-energy-diagram) > div > div:first-child span { color:#fff !important; }
main > section.suntex-proof .rounded-2xl { background:#fff !important; }
main > section.suntex-proof .rounded-2xl p { color:#62626a !important; }
main > section.suntex-proof .rounded-2xl .text-orange { color:#1a2ccc !important; }
main > section.suntex-proof .border-t { border-color:#ffffff40 !important; }
.suntex-presence-map { background:#fff; border-radius:14px; padding:16px; }
.suntex-lp .lp-container { width:100%; max-width:1160px; margin:auto; padding-inline:20px; }
.suntex-lp .lp-hero { background:#1a2ccc; color:white; padding:48px 0 64px; clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),0 100%); }
.lp-intro { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:40px; align-items:center; }
.suntex-lp .lp-back { display:flex; width:fit-content; font-size:13px; margin-bottom:24px; color:white; }
.lp-label { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; display:block; margin-bottom:12px; }
.suntex-lp h1 { font-size:clamp(30px,4vw,48px); font-weight:800; line-height:1.15; margin:0 0 20px; }
.suntex-lp p { font-size:16px; line-height:1.7; }
.suntex-lp .lp-cta { background:#fe7e05; color:#111; font-size:15px; font-weight:700; border-radius:8px; padding:14px 24px; min-height:48px; margin-top:24px; display:inline-flex; justify-content:center; }
.suntex-lp .lp-cta:hover { background:#ed7300; }
.lp-hero .lp-cta:focus-visible, .lp-hero .lp-back:focus-visible, .lp-final .lp-cta:focus-visible { outline-color:#fff !important; }
.lp-illustration { background:#fff; border:1px solid #ffffff40; border-radius:20px; max-width:320px; width:100%; margin:auto; padding:28px; }
.lp-illustration .suntex-miniature { width:100%; height:260px; }
.suntex-lp h2 { font-size:clamp(24px,3vw,32px); line-height:1.2; margin:0 0 24px; }
.lp-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.lp-cards article { background:#f7f8fc; border:1px solid #e5e5eb; border-radius:12px; padding:24px; }
.lp-number { display:block; font-size:13px; color:#1a2ccc; font-weight:700; margin-bottom:16px; }
.lp-cards h3 { font-size:20px; line-height:1.3; margin-bottom:12px; }
.lp-cards p, .lp-note { color:#62626a; font-size:14px !important; }
.lp-note { border-left:3px solid #1a2ccc; padding:12px 20px; margin-top:24px; background:#f7f8fc; }
.suntex-lp .lp-final { background:#1a2ccc; color:white; text-align:center; clip-path:polygon(0 18px,100% 0,100% 100%,0 100%); padding-top:64px; }
.lp-final p { max-width:720px; margin:auto; }
@media(max-width:767px) { main > section.suntex-proof,main > section:has(.suntex-energy-diagram) { padding-top:56px; padding-bottom:56px; clip-path:polygon(0 10px,100% 0,100% calc(100% - 10px),0 100%); }.suntex-lp .lp-container { padding-inline:16px; }.lp-intro,.lp-cards { grid-template-columns:minmax(0,1fr); gap:24px; }.lp-illustration { max-width:230px; padding:16px; }.lp-illustration .suntex-miniature { height:180px; }.suntex-lp .lp-hero { padding-top:32px; }.lp-cards article { padding:20px; } }
main > section:has(.suntex-energy-diagram) > div > .grid > div { position:relative; }
main > section:has(.suntex-energy-diagram) > div > .grid > div a::after { content:''; position:absolute; inset:0; border-radius:12px; }
main > section:has(.suntex-energy-diagram) > div > .grid > div:focus-within { outline:3px solid #fe7e05; outline-offset:4px; }
/* Continuous blue opening and real project photography on landing pages. */
main > section:first-child:has(h1) { clip-path:none; }
main > section.suntex-proof { clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),0 100%); }
.lp-illustration { padding:0; max-width:460px; overflow:hidden; background:transparent; border:0; border-radius:14px; }
.lp-illustration > img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; }
.lp-form-card { max-width:580px; margin:28px auto 0; padding:28px; background:#fff; color:#111; border:1px solid #e5e5eb; border-radius:12px; text-align:left; }
.lp-form-card h3 { font-size:23px; margin:0 0 20px; }
.lp-form-card form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.lp-form-card label { display:grid; gap:8px; font-weight:600; }
.lp-form-card input { width:100%; padding:12px; }
.lp-form-card .lp-cta { grid-column:1/-1; width:100%; margin-top:4px; border:0; }
.lp-form-card .lp-cta:focus-visible { outline-color:#1a2ccc !important; }
.lp-form-card button:disabled { opacity:.7; cursor:wait; }
.lp-form-card .lp-privacy { font-size:12px; text-align:center; grid-column:1/-1; color:#62626a; }
.lp-form-card .lp-privacy a { color:#1a2ccc; text-decoration:underline; }
.lp-form-card .lp-form-error { grid-column:1/-1; color:#a22121; font-size:14px; }
.lp-form-success p { color:#62626a; }
@media(max-width:767px) { main > section.suntex-proof { clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),0 100%); }.lp-illustration { max-width:460px; padding:0; }.lp-form-card { padding:20px; }.lp-form-card form { grid-template-columns:minmax(0,1fr); } }
/* Notebook-sized light hero, left-aligned copy and transparent map. */
main > section:first-child:has(h1) { background:#fff !important; text-align:left; }
main > section:first-child:has(h1) > div:nth-child(2) { text-align:left; align-items:flex-start; }
main > section:first-child:has(h1) h1 { color:#111 !important; font-size:clamp(36px,4.7vw,68px); line-height:1.06; text-align:left; }
main > section:first-child:has(h1) h1 span { color:#1a2ccc !important; }
main > section:first-child:has(h1) p,main > section:first-child:has(h1) p span { color:#62626a !important; font-size:18px; text-align:left; }
main > section:first-child:has(h1) .max-w-4xl { margin-left:0; }
main > section:first-child:has(h1) .flex-wrap { justify-content:flex-start; }
main > section:first-child:has(h1) > div:first-child { border:0; }
.suntex-presence-map { background:transparent; border-radius:0; padding:0; }
.lp-illustration figcaption { background:#1a2ccc; color:#fff; font-size:11px; line-height:1.5; padding:10px 0; }
.lp-illustration figcaption a { color:#fff; text-decoration:underline; min-height:44px; }
@media(min-width:1024px) { main > section:first-child:has(h1) { min-height:calc(100svh - 68px); grid-template-columns:minmax(0,650px) minmax(0,450px); padding-top:56px; padding-bottom:56px; }.lp-illustration > img[src*="lp-baterias"] { object-position:left center; } }
@media(max-width:767px) { main > section:first-child:has(h1) { padding-top:40px; padding-bottom:40px; }.lp-illustration figcaption { padding-inline:2px; } }
.suntex-segments > div > .grid > div { position:relative; }
.suntex-segments > div > .grid > div a::after { content:''; position:absolute; inset:0; border-radius:12px; }
.suntex-segments > div > .grid > div:focus-within { outline:3px solid #1a2ccc; outline-offset:4px; }
.lp-illustration > img[src*="lp-baterias"] { object-position:center; }
.lp-illustration > img[src*="lp-baterias-goodwe"] { object-fit:contain; background:#fff; }
/* Solar background hero, with white type and a solid translucent reading layer. */
body:has(main > .suntex-hero) > header, body:has(.suntex-lp) > header { position:absolute !important; inset:0 0 auto; width:100%; z-index:50; background:transparent !important; }
main > section.suntex-hero:first-child { min-height:100svh !important; padding-top:132px !important; }
.suntex-lp .lp-hero { padding-top:124px; }
main > section.suntex-hero:first-child { display:flex; isolation:isolate; min-height:calc(100svh - 68px); padding:64px max(20px,calc((100vw - 1166px)/2)); background:#081b3c !important; }
main > section.suntex-hero:first-child > div:first-child { position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; aspect-ratio:auto; border-radius:0; background:#081b3c; }
main > section.suntex-hero:first-child > div:first-child img { width:100%; height:100%; object-fit:cover; object-position:center; border-radius:0; transform:none; }
main > section.suntex-hero:first-child > div:first-child::after { content:''; position:absolute; inset:0; background:rgba(3,15,39,.35); }
main > section.suntex-hero:first-child > div:first-child > div { display:none; }
main > section.suntex-hero:first-child > div:nth-child(2) { width:100%; max-width:1166px; margin:0 auto; padding:0; align-items:flex-start; text-align:left; }
main > section.suntex-hero:first-child h1 { max-width:760px; color:#fff !important; font-size:clamp(38px,4.7vw,68px); line-height:1.08; text-shadow:none; }
main > section.suntex-hero:first-child h1 span { color:#fe7e05 !important; }
main > section.suntex-hero:first-child p, main > section.suntex-hero:first-child p span { color:#fff !important; font-size:19px; max-width:670px; margin-left:0; line-height:1.6; text-shadow:none; }
main > section.suntex-hero:first-child > div:nth-child(2) > div { max-width:760px; margin-left:0; }
.lp-form-card select { width:100%; min-width:0; min-height:48px; padding:12px; font:inherit; font-size:16px; border:1px solid #d5d5dd; border-radius:8px; color:#111; background:#fff; }
.lp-form-card select:focus-visible { outline:3px solid #1a2ccc; outline-offset:3px; }
.bess-dimensioning { margin-top:28px; padding:24px; border:1px solid #e2e4ef; border-radius:12px; background:#f5f6fc; }
.bess-dimensioning h3 { font-size:24px; margin-bottom:12px; }
.bess-dimensioning p { color:#51515b; line-height:1.7; margin-top:12px; }
@media(max-width:767px) { main > section.suntex-hero:first-child { min-height:calc(100svh - 68px); padding:52px 18px; } main > section.suntex-hero:first-child h1 { font-size:clamp(36px,8.6vw,44px); } main > section.suntex-hero:first-child p, main > section.suntex-hero:first-child p span { font-size:17px; } main > section.suntex-hero:first-child > div:first-child img { object-position:40% center; } main > section.suntex-hero:first-child > div:first-child::after { background:rgba(3,15,39,.56); } .bess-dimensioning { padding:20px; } }
