/* Energy as a visual experience, not an article. Keep the original midnight canvas. */
body:not([data-page="solutions-page"]) :is(h1,h2),
body:not([data-page="solutions-page"]) .evaluation-invitation strong{
  font-family:"COMJESA Sans","Avenir Next",sans-serif!important;
  font-weight:600!important;letter-spacing:-.055em!important;line-height:1.08!important;
}
body:not([data-page="solutions-page"]) :is(.eyebrow,.kicker),
#solar p.eyebrow,#company-page p.eyebrow,#technology-page p.eyebrow{color:#ffda42!important;font-size:.875rem!important}
body:not([data-page="solutions-page"]) :is(h1,h2) span{color:#83d9ec!important}
body:not([data-page="solutions-page"]) .visual-intro{
  position:relative;isolation:isolate;max-width:none;min-height:650px;padding:90px max(6.5vw,24px) 80px!important;
  display:flex;align-items:center;overflow:hidden;
}
.visual-intro-media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.visual-intro-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,50,.93),rgba(9,31,50,.66) 42%,rgba(9,31,50,.08)),linear-gradient(0deg,#091f32,transparent 34%)}
.visual-intro-media img{width:100%;height:100%;object-fit:cover;object-position:center 58%;animation:cinema-drift 26s ease-in-out infinite alternate}
.visual-intro-content{max-width:720px;position:relative;z-index:1}
body:not([data-page="solutions-page"]) .visual-intro h1{font-size:clamp(2.7rem,5.3vw,5.4rem)!important}
body:not([data-page="solutions-page"]) .visual-intro .lead{max-width:520px!important;font-size:1.05rem!important;line-height:1.7!important;color:#e4edf1!important}
body:not([data-page="solutions-page"]) p.concept-caption{position:absolute;right:6.5vw;bottom:24px;max-width:48ch;color:#becfda!important;font-size:.75rem;line-height:1.5;z-index:2}
@keyframes cinema-drift{from{transform:scale(1.02)}to{transform:scale(1.09) translateX(-1%)}}
body.ambient-paused .visual-intro-media img{animation-play-state:paused}
@media(max-width:760px){
  body:not([data-page="solutions-page"]) .visual-intro{min-height:630px;padding-block:65px 95px!important;align-items:flex-end}
  .visual-intro-media img{object-position:64% center}
  .visual-intro-media:after{background:linear-gradient(0deg,#091f32,rgba(9,31,50,.8) 35%,rgba(9,31,50,.12)),linear-gradient(90deg,rgba(9,31,50,.3),transparent)}
  .visual-intro-content{max-width:100%}
  body:not([data-page="solutions-page"]) .visual-intro h1{font-size:clamp(2.6rem,10vw,4rem)!important}
  body:not([data-page="solutions-page"]) p.concept-caption{left:24px;right:24px;bottom:20px;font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){.visual-intro-media img{animation:none!important}}

/* A short product film turns the renewable-energy vision into a concrete offer. */
.energy-landscape{position:relative;margin:35px 0 15px;--scene-accent:#ffda42}
.landscape-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:32px 8vw;align-items:end;padding-block:28px 38px}
.landscape-heading>p{font-size:1.05rem;line-height:1.7;color:#bed0dc;max-width:34ch}
body:not([data-page="solutions-page"]) .landscape-heading h2{max-width:780px;font-size:clamp(2.4rem,4.5vw,4.5rem)!important}
.landscape-stage{position:relative;min-height:650px;height:76vh;max-height:880px;isolation:isolate;overflow:hidden;--scene-scale:1.03;--scene-origin:50% 50%}
.landscape-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--scene-scale));transform-origin:var(--scene-origin);transition:transform 2.3s cubic-bezier(.2,.7,.2,1),transform-origin 2.3s;animation:landscape-breathe 20s ease-in-out infinite alternate;animation-play-state:paused}
.energy-landscape.cinema-visible .landscape-image{animation-play-state:running}
@keyframes landscape-breathe{from{translate:-.5% 0}to{translate:.5% -.6%}}
.landscape-shade{position:absolute;inset:-24px;background:linear-gradient(0deg,rgba(9,31,50,.97),rgba(9,31,50,.64) 25%,transparent 68%),linear-gradient(180deg,rgba(9,31,50,.35),transparent 20%);pointer-events:none}
.landscape-topline{position:absolute;top:27px;left:6.5vw;right:6.5vw;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;font-size:.875rem;text-shadow:0 1px 8px #000}
.landscape-topline>span{letter-spacing:.12em;text-transform:uppercase}
.landscape-pause{padding:10px 15px;border:1px solid #f0f4f477;border-radius:2px;background:#091f3260;color:#fff;font:inherit;cursor:pointer;backdrop-filter:blur(10px)}
.landscape-pause:disabled{opacity:.65;cursor:default}
.landscape-bottom{position:absolute;bottom:45px;left:6.5vw;right:6.5vw;display:grid;grid-template-columns:1.25fr 1fr;align-items:end;gap:50px}
body:not([data-page="solutions-page"]) .landscape-caption h3{font-size:clamp(2.5rem,4.2vw,4.6rem)!important;line-height:1.03!important;letter-spacing:-.055em!important;font-weight:600!important;margin:13px 0 20px;max-width:620px}
.landscape-source{font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--scene-accent)!important;font-weight:700}
.landscape-description{max-width:43ch;color:#e4edf1;font-size:1rem;line-height:1.6;min-height:3.2em}
.source-controls{display:flex;gap:25px;justify-content:flex-end;flex-wrap:wrap;padding-bottom:18px}
.source-controls button{position:relative;min-height:52px;padding:9px 0;font:500 1.06rem "COMJESA Sans",sans-serif;color:#e9eff2;background:transparent;border:0;border-bottom:1px solid #ffffff55;cursor:pointer;transition:color .25s,border-color .25s}
.source-controls button[aria-pressed="true"]{color:var(--scene-accent);border-bottom:3px solid var(--scene-accent)}
.source-controls button:hover{color:#ffda42}
.energy-landscape[data-source="solar"]{--scene-accent:#ffda42}
.energy-landscape[data-source="solar"] .landscape-stage{--scene-scale:1.55;--scene-origin:6% 65%}
.energy-landscape[data-source="wind"]{--scene-accent:#a6ed9a}
.energy-landscape[data-source="wind"] .landscape-stage{--scene-scale:1.5;--scene-origin:100% 20%}
.energy-landscape[data-source="water"]{--scene-accent:#83d9ec}
.energy-landscape[data-source="water"] .landscape-stage{--scene-scale:1.4;--scene-origin:95% 84%}
.landscape-footnote{display:flex;justify-content:space-between;align-items:start;gap:32px;padding-block:20px 15px}
.landscape-footnote p{font-size:.8rem;line-height:1.65;color:#afc3d1;max-width:75ch}
.landscape-current{flex-shrink:0;color:#ffda42;border:0;border-bottom:1px solid #ffda4270;background:none;cursor:pointer;font:500 .9rem "COMJESA Sans",sans-serif;padding:0 0 7px}
.energy-landscape.landscape-paused .landscape-image,body.ambient-paused .landscape-image{animation-play-state:paused!important}

.solar-film .landscape-heading{padding-block:28px 34px;grid-template-columns:1.4fr .6fr;gap:40px}
body:not([data-page="solutions-page"]) .solar-film .landscape-heading h2{font-size:clamp(2.25rem,4vw,4rem)!important}
.film-stage{position:relative;isolation:isolate;overflow:hidden;background:#070f17;aspect-ratio:16/9;max-height:82vh;width:100%}
.film-stage video{display:block;width:100%;height:100%;object-fit:contain;background:#070f17}
.film-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#071828a8,transparent 25%,transparent 85%,#07182866)}
.film-topline,.film-bottom{position:absolute;left:6.5vw;right:6.5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#fff}
.film-topline{top:25px;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;text-shadow:0 1px 8px #000}
.film-duration{letter-spacing:.05em;white-space:nowrap;color:#d3e3ec}
.film-bottom{bottom:25px;align-items:end}
body:not([data-page="solutions-page"]) .film-chapter-title{font-size:clamp(1rem,1.8vw,1.8rem)!important;font-weight:600;color:#fff!important;margin:0;text-shadow:0 2px 12px #000}
.film-playback{display:flex;gap:10px;flex-shrink:0}
.film-playback button{font:500 .85rem "COMJESA Sans",sans-serif;background:#06111cc4;border:1px solid #d5e7ef80;color:#fff;border-radius:3px;padding:11px 16px;cursor:pointer;min-height:44px;backdrop-filter:blur(10px)}
.film-playback button:hover{border-color:#ffda42;color:#ffda42}
.film-playback button:disabled{opacity:.6;cursor:default}
.film-progress{position:absolute;inset:auto 0 0;height:3px;background:#ffffff25}
.film-progress span{display:block;height:100%;background:linear-gradient(90deg,#20b9ed,#89d746,#ffda42);transform:scaleX(0);transform-origin:left}
.film-offer{padding-block:0 30px}
.film-chapters{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;border-bottom:1px solid #bdd9ec30}
.film-chapters button{font:500 .95rem "COMJESA Sans",sans-serif;min-height:58px;border:0;border-bottom:2px solid transparent;background:transparent;color:#c4d6e1;cursor:pointer;text-align:left;padding:12px 0}
.film-chapters button[aria-pressed="true"]{color:#ffda42;border-bottom-color:#ffda42}
.film-conversion{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:30px 18px}
body:not([data-page="solutions-page"]) .film-conversion h3{font:600 clamp(1.25rem,2.4vw,2rem)/1.2 "COMJESA Sans",sans-serif!important;letter-spacing:-.03em;margin:0 0 10px;color:#f2f7f9!important}
body:not([data-page="solutions-page"]) .film-conversion p{font-size:.9rem!important;color:#c4d6e1!important;line-height:1.6;margin:0;max-width:56ch}
.film-conversion .btn{flex-shrink:0}
.film-notes{display:flex;gap:25px;justify-content:space-between;align-items:start}
.film-notes details{max-width:680px;font-size:.75rem;line-height:1.65;color:#b3c9d7}
.film-notes summary{cursor:pointer;width:fit-content}
.film-notes p{font-size:.8rem!important;color:#b3c9d7!important;margin:12px 0 0}
.film-notes .landscape-current{font-size:.8rem;margin-top:1px}
.film-status{color:#ffda42!important;font-size:.9rem}
.solar-film :is(button,a,summary):focus-visible{outline:2px solid #ffda42;outline-offset:5px}

/* Short copy in front; the full engineering detail remains available on demand. */
.cinema-details{border:0;border-top:1px solid #bdd9ec30;background:transparent;padding:0;margin:0;box-shadow:none!important;border-radius:0!important;min-width:0}
.cinema-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:22px 0;font:600 1.1rem/1.4 "COMJESA Sans",sans-serif;color:#edf4f6;background:transparent!important;border:0!important}
.cinema-details>summary::-webkit-details-marker,.hero-considerations>summary::-webkit-details-marker{display:none}
.cinema-details>summary:after{content:"+";font-size:1.65rem;color:#ffda42;font-weight:400;flex-shrink:0}
.cinema-details[open]>summary:after{content:"−"}
.cinema-detail-body{padding:0 0 24px;color:#c5d7e1;min-width:0}
.cinema-detail-body p{max-width:65ch}
.cinema-details[open]>.cinema-detail-body{animation:detail-in .3s ease-out}
@keyframes detail-in{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.cinema-accordion{display:block!important}
.company-profile-intro{grid-template-columns:1.2fr .8fr}
.company-capabilities{max-width:1100px}
.company-principles.cinema-accordion{margin-top:30px!important;max-width:1100px}
.company-principles.cinema-accordion>.eyebrow{margin-bottom:18px}
#company-page #proceso{padding-top:0!important}
#company-page .experience{border-left:0!important}
#company-page .experience-number{color:#ffda42!important}
#company-page .experience p{display:none}
#company-page .company-profile{padding-top:24px!important}
.hero-considerations{max-width:530px;color:#d4e4ec;margin-top:19px}
.hero-considerations>summary{font:500 .875rem/1.5 "COMJESA Sans",sans-serif;cursor:pointer;list-style:none;border-bottom:1px solid #ffffff55;width:fit-content;padding-bottom:4px}
.hero-considerations>summary:after{content:" +";color:#ffda42}
.hero-considerations[open]>summary:after{content:" −"}
.hero-considerations .cinema-detail-body{padding-top:10px;padding-bottom:0}
.hero-considerations .micro{margin-top:0!important}
body[data-page="home"] .hero-copy .lead{max-width:480px!important;font-size:clamp(1rem,1.4vw,1.25rem)!important}
body[data-page="home"] .hero-copy h1 span{color:#ffdf69!important}
body[data-page="home"] .home-conversion{padding-block:55px!important;align-items:center}
.comjesa-indicators{padding-block:30px 45px!important}
.indicator-grid .cinema-details{border:0;margin-top:15px}
.indicator-grid .cinema-details summary{font-size:.875rem;padding:8px 0}
.indicator-grid .cinema-details summary:after{font-size:1.2rem}
.indicator-grid strong,.indicator-grid strong>span{color:#ffda42!important}
.indicator-grid strong small{color:#adc2d1!important}

/* Equipment browsing: show one category, preserve every official brand logo. */
.portfolio-controls{display:flex;gap:12px 30px;flex-wrap:wrap;margin:6px 0 30px;border-bottom:1px solid #bdd9ec30}
.portfolio-controls button{font:500 1rem "COMJESA Sans",sans-serif;color:#c6d7e0;background:none;border:0;border-bottom:3px solid transparent;min-height:52px;padding:12px 0;cursor:pointer}
.portfolio-controls button[aria-pressed="true"]{color:#ffda42;border-color:#ffda42}
.brand-portfolio .manufacturer-group[hidden]{display:none!important}
.brand-portfolio .manufacturer-group{min-height:240px;border:0!important;padding-top:0!important}
.brand-portfolio .manufacturer-heading .eyebrow{display:none}
.brand-portfolio .manufacturer-heading{display:block!important}
.brand-portfolio .manufacturer-heading p:last-child{max-width:60ch;font-size:1rem!important}
#technology-page .technology-overview{padding-top:10px!important}
.technology-overview>.cinema-details>.cinema-detail-body>.technology-intro{padding-top:25px}
#technology-page .visual-intro{min-height:550px}

/* Solar opens on an application image, then moves immediately into the live 3D model. */
#solar .solar-photo-opening{position:relative;isolation:isolate;min-height:680px}
.solar-opening-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;animation:cinema-drift 26s ease-in-out infinite alternate;animation-play-state:paused}
#solar .solar-photo-opening:before{content:"";display:block!important;position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(9,31,50,.95),rgba(9,31,50,.73) 42%,rgba(9,31,50,.05)),linear-gradient(0deg,#091f32,transparent 45%)}
#solar .solar-photo-opening .hero{min-height:570px;padding-block:65px 75px!important;display:block}
#solar .solar-photo-opening h1{font-size:clamp(3.2rem,6vw,6.2rem)!important;max-width:700px}
#solar .solar-photo-opening .lead{max-width:450px}
#solar .solar-photo-opening .micro{max-width:490px}
.solar-opening-caption{position:absolute;bottom:18px;right:6.5vw;max-width:45ch;color:#b6cbd7;font-size:.75rem;line-height:1.5}
.offgrid-photo{position:relative;overflow:hidden;margin:28px 0 30px;aspect-ratio:2.4;background:#091f32}
.offgrid-photo img{width:100%;height:100%;object-fit:cover;object-position:center;animation:cinema-drift 24s ease-in-out infinite alternate;animation-play-state:paused}
.offgrid-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:50px 25px 16px;background:linear-gradient(0deg,#091f32c9,transparent);color:#e4edf1;font-size:.75rem;line-height:1.5}
#solar #off-grid>.cinema-details{margin-top:25px}
#solar #off-grid .two{gap:50px!important}
#solar .mode-comparison{margin-top:5px!important}
#solar #hybrid-backup{padding-block:15px 35px!important}
#solar #hybrid-backup .cinema-detail-body .section-heading{padding-top:20px}
.visual-intro-media img{animation-play-state:paused}
.visual-intro-media{mask-image:linear-gradient(180deg,#000 0%,#000 76%,transparent 100%)}
.cinema-visible .visual-intro-media img,.cinema-visible .solar-opening-image,.cinema-visible.offgrid-photo img{animation-play-state:running}
body.ambient-paused :is(.visual-intro-media img,.solar-opening-image,.offgrid-photo img){animation-play-state:paused!important}
@media(max-width:760px){
  .solar-film .landscape-heading{grid-template-columns:1fr;gap:15px;padding-block:12px 24px}
  body:not([data-page="solutions-page"]) .solar-film .landscape-heading h2{font-size:clamp(2rem,8.5vw,3rem)!important}
  .solar-film .landscape-heading>p{font-size:.95rem;max-width:37ch}
  .film-stage{max-height:none;aspect-ratio:auto;overflow:visible;background:transparent}
  .film-stage video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
  .film-vignette{display:none}
  .film-topline{top:12px;left:18px;right:18px;justify-content:flex-end}
  .film-topline>span:first-child{display:none}
  .film-duration{font-size:.65rem;background:#06111c99;padding:4px 7px;border-radius:2px}
  .film-bottom{position:relative;left:auto;right:auto;bottom:auto;display:flex;align-items:center;gap:12px;padding:14px 24px}
  .film-bottom{flex-wrap:wrap}
  .film-chapter-title{flex-basis:100%}
  .film-playback{flex:1;justify-content:flex-end}
  body:not([data-page="solutions-page"]) .film-chapter-title{font-size:.86rem!important;max-width:19ch;text-shadow:none;line-height:1.45}
  .film-playback{gap:7px}
  .film-playback button{font-size:.72rem;padding:8px 10px;min-height:44px}
  .film-replay span{display:none}
  .film-replay{min-width:44px;font-size:1.15rem!important}
  .film-progress{top:0;bottom:auto}
  .film-chapters{gap:10px}
  .film-chapters button{font-size:.76rem;min-height:48px;text-align:center;white-space:nowrap}
  .film-conversion{flex-direction:column;align-items:start;gap:19px;padding-block:25px 20px}
  .film-conversion .btn{width:100%;justify-content:center;font-size:.95rem}
  .film-notes{flex-direction:column;gap:15px}
  .landscape-heading{grid-template-columns:1fr;gap:15px;padding-block:15px 27px}
  .landscape-heading>p{max-width:37ch;font-size:1rem;margin:0}
  .landscape-stage{min-height:670px;height:82svh;max-height:850px}
  .landscape-image{object-position:55% center}
  .landscape-topline{top:22px;left:24px;right:24px;align-items:flex-start}
  .landscape-topline>span{max-width:15ch;font-size:.75rem}
  .landscape-pause{font-size:.8rem;padding:9px 10px;max-width:130px;min-height:44px;text-shadow:none}
  .landscape-bottom{left:24px;right:24px;bottom:26px;grid-template-columns:1fr;gap:15px}
  body:not([data-page="solutions-page"]) .landscape-caption h3{font-size:clamp(2.4rem,10vw,3.6rem)!important}
  .source-controls{justify-content:space-between;gap:12px;flex-wrap:nowrap;padding-bottom:0}
  .source-controls button{font-size:.94rem}
  .landscape-footnote{flex-direction:column;gap:13px}
  .landscape-footnote p{font-size:.75rem}
  .landscape-current{font-size:.875rem;white-space:normal;text-align:left}
  .company-profile-intro{grid-template-columns:1fr;gap:16px}
  .cinema-details>summary{font-size:1.05rem;padding-block:20px}
  .portfolio-controls{gap:5px 23px}
  .portfolio-controls button{font-size:.94rem}
  #technology-page .visual-intro{min-height:590px}
  #solar .solar-photo-opening{min-height:660px}
  #solar .solar-photo-opening .hero{padding-block:185px 70px!important;min-height:570px}
  #solar .solar-photo-opening:before{background:linear-gradient(0deg,#091f32,rgba(9,31,50,.8) 45%,rgba(9,31,50,.05))}
  .solar-opening-image{object-position:66% center}
  #solar .solar-photo-opening h1{font-size:clamp(3rem,12vw,4.6rem)!important}
  .solar-opening-caption{left:24px;right:24px;bottom:12px;font-size:.75rem}
  .offgrid-photo{aspect-ratio:1.3}
  #solar #off-grid .two{gap:20px!important}
  .hero-considerations{max-width:100%}
  .hero-slide .hero-copy{padding-bottom:160px!important}
  .comjesa-indicators .indicator-grid{gap:25px}
}
@media(prefers-reduced-motion:reduce){
  :is(.landscape-image,.visual-intro-media img,.solar-opening-image,.offgrid-photo img){animation:none!important;transition:none!important}
  .cinema-details[open]>.cinema-detail-body{animation:none}
}
