/* One luminous midnight canvas; the circuitry carries COMJESA's colour. */
@font-face{font-family:"COMJESA Editorial";src:url("assets/fonts/bodoni-moda-600.woff") format("woff");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"COMJESA Sans";src:url("assets/fonts/manrope-400.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"COMJESA Sans";src:url("assets/fonts/manrope-500.woff") format("woff");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"COMJESA Sans";src:url("assets/fonts/manrope-600.woff") format("woff");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"COMJESA Sans";src:url("assets/fonts/manrope-700.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
:root{--cinema-bg:#091f32;--cinema-text:#f7f5ef;--cinema-copy:#d3dfe7;--cinema-muted:#adc2d1;--cinema-line:rgba(190,217,236,.22);--cinema-yellow:#ffda42;--daylight-blue:#f7f5ef}
.cinematic-energy{background:radial-gradient(ellipse at 78% 40%,rgba(23,84,119,.55),transparent 72%),linear-gradient(150deg,#091f32,#10364f 58%,#091f32)}
.cinematic-energy canvas{opacity:.92}
body:not([data-page="solutions-page"]) :is(#solar,#company-page,#technology-page)>section,
body:not([data-page="solutions-page"]) #solar .advanced-body>section{background:transparent!important;background-image:none!important;border-color:var(--cinema-line)!important}
body:not([data-page="solutions-page"]) :is(h1,h2) span{color:var(--daylight-blue)!important}
body:not([data-page="solutions-page"]) :is(.micro,.source){color:var(--cinema-muted)!important}
body:not([data-page="solutions-page"]) :is(.eyebrow,.kicker),#solar p.eyebrow,#company-page p.eyebrow,#technology-page p.eyebrow{color:var(--cinema-text)!important;font-size:.75rem!important;letter-spacing:.16em!important}
body:not([data-page="solutions-page"]) .btn:not(.primary){color:var(--cinema-text)!important;border-color:#809caf!important}
body:not([data-page="solutions-page"]) .btn.primary{color:#17202a!important}
body:not([data-page="solutions-page"]) .btn:focus-visible,body:not([data-page="solutions-page"]) :is(input,select,textarea,summary):focus-visible{outline-color:#ffda42!important}

/* Preserve the image-led opening; dissolve its lower edge into the page. */
body[data-page="home"] .hero-copy :is(h1,h1 span){color:#fff!important}
body[data-page="home"] .hero-copy p.eyebrow{color:#ffe372!important;max-width:620px;line-height:1.6}
body[data-page="home"] .hero-copy .lead{color:#f1f4f4!important}
body[data-page="home"] .hero-copy .micro{color:#e3eaed!important}
body[data-page="home"] .hero-copy .btn:not(.primary){color:#fff!important;border-color:#d1dfe5!important}
.hero-slide .hero-shade{background:linear-gradient(0deg,#091f32 0%,rgba(9,31,50,.9) 7%,rgba(9,31,50,0) 30%),linear-gradient(90deg,rgba(9,29,41,.76),rgba(9,29,41,.1) 88%)!important}
.scene-navigation{color:var(--cinema-text)!important}
.scene-help{color:var(--cinema-muted)!important}
.scene-selector,.scene-selector[aria-pressed="true"]{color:var(--cinema-text)!important}
.scene-selector[aria-pressed="true"]{box-shadow:0 2px 0 #ffda42!important}
.scene-arrows button,.scene-arrows span{color:var(--cinema-text)!important;border-color:#8fa8ba!important}
.image-disclosure{color:#eef4f5!important}
body[data-page="home"] .conversion-copy h2,body[data-page="home"] .indicator-heading h2,body[data-page="home"] .indicator-grid h3{color:var(--cinema-text)!important}
.conversion-steps b{color:var(--cinema-text)!important;font-weight:700!important}
.indicator-grid strong,.indicator-grid strong>span,#company-page .experience-number{color:var(--cinema-text)!important;font-weight:600!important}
.indicator-grid strong small{color:var(--cinema-muted)!important}
.indicator-grid article{border-top-color:#577487!important}
body[data-page="home"] .home-routes button,body[data-page="home"] .home-routes b{color:var(--cinema-text)!important}
body[data-page="home"] .home-routes small{color:var(--cinema-muted)!important}
body[data-page="home"] .home-routes i{color:var(--cinema-text)!important}

/* Every solar section, including Off-grid, uses the same background. */
#solar :is(.breadcrumb,.breadcrumb button){color:var(--cinema-muted)!important}
#solar :is(.alert,.tagline,.location-tag),#company-page .location-tag{color:var(--cinema-muted)!important}
#solar .loads span{background:#13354a!important;color:var(--cinema-text)!important}
#solar .energy-controls button{color:var(--cinema-muted)!important}
#solar .energy-controls button[aria-pressed=true]{color:var(--cinema-text)!important;box-shadow:inset 0 -2px var(--cinema-text)!important}
#solar .energy-label{background:rgba(9,31,50,.92)!important;border-color:#4d7188!important;color:var(--cinema-text)!important}
#solar .energy-label.secondary,#solar .energy-view{color:var(--cinema-muted)!important}
#solar .energy-view button{color:var(--cinema-text)!important;border-color:#4d7188!important}
#solar .energy-explanation ol{color:var(--cinema-muted)!important}
#solar .energy-explanation #energy-state{color:var(--cinema-text)!important}
#solar .application-grid figcaption :is(b,span){color:white!important}
#company-page .step b{color:var(--cinema-muted)!important}

/* Open editorial columns, not the old numbered card grid. */
#solar .architecture-heading{max-width:none;margin:0 0 34px}
#solar .architecture-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 56px}
#solar .architecture-grid a{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0;padding:0!important;border:0!important;transform:none!important}
#solar .architecture-grid :is(b,small){display:block;grid-column:auto;grid-row:auto;min-width:0;width:auto;margin:0;position:static}
#solar .architecture-grid b{font-size:clamp(1.55rem,2.2vw,2rem);font-weight:700;line-height:1.2;letter-spacing:-.035em;color:var(--cinema-text)!important}
#solar .architecture-grid small{font-size:1rem;font-weight:500;line-height:1.65;color:var(--cinema-copy)!important;max-width:34ch}
#solar .architecture-grid a:hover b{color:#70d4ef!important}
#solar .architecture-grid a:focus-visible{outline:2px solid #70d4ef!important;outline-offset:10px!important}
#solar .architecture-strip{padding-block:48px!important}
#solar :is(.feature,.benefit,.quality-item,.card),.company-capabilities article,.technology-grid article,#company-page .steps .step{border:0!important}
#solar .mode-comparison article{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
#solar .mode-comparison b{font-weight:700;line-height:1.3}
#solar .mode-comparison :is(b,p){min-width:0}
@media(max-width:760px){#solar .architecture-grid{grid-template-columns:1fr;gap:30px}#solar .architecture-grid a{gap:9px}#solar .architecture-grid b{font-size:1.65rem}#solar .architecture-grid small{max-width:40ch}#solar .architecture-strip{padding-block:36px!important}}

/* Contact is an open composition; fields retain a clearly visible boundary. */
.contact form,.contact form>p:first-child,.contact form :is(label,legend,summary){color:var(--cinema-text)!important}
.contact form>p:first-child{font-weight:700!important}
.contact form :is(label,legend,summary){font-weight:600!important}
.contact form :is(p,small){color:var(--cinema-muted)!important}
.contact :is(input,select,textarea){background:rgba(6,27,44,.78)!important;color:var(--cinema-text)!important;-webkit-text-fill-color:var(--cinema-text)!important;border-color:#678599!important;color-scheme:dark}
.contact :is(input,textarea)::placeholder{color:#afc3d1!important;-webkit-text-fill-color:#afc3d1!important}
.contact select:disabled{color:#afc3d1!important;-webkit-text-fill-color:#afc3d1!important;background:#102a3d!important}
.contact option{background:#0c263b;color:var(--cinema-text)}
.contact-channels a,.contact-channels a b{color:var(--cinema-text)!important}
.contact-channels a b{font-weight:700!important}
.contact-channels a span{color:var(--cinema-muted)!important}
.contact .nis-required,.required-badge{color:#ffda42!important}
#mensaje{background:#123349!important;color:var(--cinema-text)!important;border-color:#648399!important}

/* The header's original navy and original wordmark remain unchanged. */
header,header.is-scrolled,body:not([data-page="home"]) header{background:#090f14!important}
.primary-nav :is(button,a){border-bottom:0!important;box-shadow:none!important}
.primary-nav :is(button,a):focus-visible{outline:2px solid #ffda42!important;outline-offset:4px!important;box-shadow:none!important}
.site-footer{background:#090f14!important;color:white!important}
.site-footer .footer-content{border-top-color:#263843!important}
.site-footer .footer-brand strong{color:white!important}
.site-footer .footer-brand span,.site-footer .ambient-pause{color:#acbcc8!important}
.site-footer .footer-contact a{color:#d6e1e8!important}
.site-footer .footer-whatsapp{color:#ffdf63!important}

/* Manufacturer logos are a portfolio, not a featured-brand advertisement. */
#technology-page .brand-portfolio{padding-block:58px 95px!important}
.portfolio-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:24px 9vw;align-items:end;margin-bottom:50px}
.portfolio-intro>.eyebrow{grid-column:1/-1;margin:0}
.portfolio-intro h2{max-width:700px}
.portfolio-intro>p:last-child{font-size:1.05rem}
.brand-portfolio .manufacturer-group{padding:34px 0 38px;margin:0!important;border:0!important;border-top:1px solid var(--cinema-line)!important;background:transparent!important}
.brand-portfolio .manufacturer-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px 7vw;align-items:start;margin:0 0 28px!important;padding:0!important;border:0!important}
#technology-page .brand-portfolio .manufacturer-heading .eyebrow{font-size:1.18rem!important;line-height:1.3;letter-spacing:-.02em!important;text-transform:none;color:var(--cinema-text)!important}
.brand-portfolio .manufacturer-heading p:last-child{font-size:.9rem;line-height:1.6!important}
.brand-portfolio :is(.manufacturer-grid,.pv-manufacturer){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:28px 42px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
.brand-portfolio .manufacturer-tile{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:16px!important;min-width:0!important;min-height:112px!important;padding:16px 12px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;text-decoration:none!important;color:var(--cinema-muted)!important;transition:transform .25s ease}
.brand-portfolio .manufacturer-tile:hover{transform:translateY(-3px)!important;background:transparent!important}
.brand-portfolio .manufacturer-tile img{display:block;width:100%!important;max-width:180px!important;height:73px!important;object-fit:contain!important;margin:0!important;filter:none!important;opacity:1!important;mix-blend-mode:normal;background:#fff;border-radius:2px;padding:10px 14px;box-sizing:border-box}
.brand-portfolio .manufacturer-tile>span{font-size:.8rem!important;font-weight:500!important;line-height:1.5;color:var(--cinema-muted)!important}
.brand-portfolio .manufacturer-tile>span span{display:none!important}
.portfolio-note{max-width:880px;font-size:.85rem!important;margin-top:24px;color:var(--cinema-muted)!important}
.equipment-jump{display:inline-block;margin-top:25px;padding-bottom:5px;border-bottom:2px solid #ffda42;color:var(--cinema-text);font-size:.94rem;text-decoration:none}

@media(max-width:760px){.cinematic-energy canvas{opacity:.92}.portfolio-intro,.brand-portfolio .manufacturer-heading{grid-template-columns:1fr;gap:14px}.portfolio-intro{margin-bottom:35px}.brand-portfolio :is(.manufacturer-grid,.pv-manufacturer){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 22px!important}.brand-portfolio .manufacturer-tile{padding:12px 4px!important}.brand-portfolio .manufacturer-tile img{height:66px!important;max-width:152px!important}.hero-slide .hero-shade{background:linear-gradient(0deg,#091f32 0%,rgba(9,31,50,.9) 9%,rgba(9,31,50,0) 30%),linear-gradient(90deg,rgba(9,29,41,.76),rgba(9,29,41,.2) 100%)!important}}

/* Keep the tonal atmosphere continuous; only the electrical paths animate. */
.cinematic-energy canvas{position:relative}
/* Text can slide into place without disappearing or losing contrast on scroll. */
html.motion-ready body:not([data-page="solutions-page"]) [data-reveal],
html.motion-enhanced body:not([data-page="solutions-page"]) [data-scroll-reveal]{opacity:1!important}
html.motion-enhanced body:not([data-page="solutions-page"]) [data-scroll-reveal]{transition:transform .45s cubic-bezier(.2,.7,.2,1)}

/* A quieter corporate type scale, with less empty space between ideas. */
body:not([data-page="solutions-page"]) main{font-family:"Avenir Next","Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
body:not([data-page="solutions-page"]) :is(h1,h2,h3){font-weight:700;letter-spacing:-.04em!important;text-wrap:balance}
body:not([data-page="solutions-page"]) h2{font-size:clamp(2.15rem,3.65vw,3.5rem)!important;line-height:1.12!important}
body:not([data-page="solutions-page"]) :is(.lead,.about-copy){font-size:clamp(1rem,1.3vw,1.17rem)!important;line-height:1.7!important;color:var(--cinema-copy)!important;font-weight:450}
body:not([data-page="solutions-page"]) :is(.section-heading>p,.conversion-copy>p:not(.eyebrow),.conversion-steps span,.indicator-heading>p:not(.eyebrow),.indicator-grid p,.contact p,.company-capabilities p,.technology-grid p){color:var(--cinema-copy)!important;font-weight:450}
body:not([data-page="solutions-page"]) :is(.eyebrow,.kicker){font-size:.78rem!important;letter-spacing:.14em!important}
body:not([data-page="solutions-page"]) .page-intro{padding-block:64px 36px}
body:not([data-page="solutions-page"]) .page-intro h1{font-size:clamp(2.8rem,5.6vw,5.3rem)!important;line-height:1.04!important;max-width:1050px}
body:not([data-page="solutions-page"]) .page-intro .lead{max-width:690px;margin-top:24px}
body:not([data-page="solutions-page"]) .section{padding-block:clamp(48px,5vw,72px)}
#company-page p,#technology-page p{line-height:1.65}
#company-page .page-intro .eyebrow,#technology-page .page-intro .eyebrow{display:flex;align-items:center;gap:14px}
#company-page .page-intro .eyebrow:before,#technology-page .page-intro .eyebrow:before{content:"";width:42px;height:3px;background:linear-gradient(90deg,#f4c620 65%,#29b2d4 65%)}
#company-page #nosotros{padding-top:30px}
#company-page #nosotros .about-copy{margin-top:24px}
#company-page #nosotros h2{font-size:clamp(1.8rem,2.75vw,2.6rem)!important}
#company-page .experience{padding-block:4px 12px!important}
#company-page .experience-number{font-size:5.5rem;line-height:1.12}
.company-profile-intro,.technology-intro{margin-bottom:32px;gap:18px 7vw}
.company-capabilities article,.technology-grid article{padding-block:24px 28px!important}
.company-capabilities h3,.technology-grid h3{font-size:1.35rem!important;line-height:1.3;margin-bottom:12px}
.company-principles{margin-top:44px;gap:25px 38px}
.company-principles p,.company-capabilities p,.technology-grid p{font-size:1rem}
#company-page .steps{gap:26px}
#company-page .steps h3{font-size:1.2rem}
#company-page .steps p{font-size:1rem}
.technology-standard{margin-top:30px;padding-block:28px!important}
#technology-page .brand-portfolio{padding-block:35px 58px!important}
.portfolio-intro{margin-bottom:32px}
.brand-portfolio .manufacturer-group{padding-block:25px 28px}
.brand-portfolio .manufacturer-heading p:last-child,.portfolio-note,.brand-portfolio .manufacturer-tile>span{font-size:.875rem!important}
.brand-portfolio .manufacturer-tile{min-height:102px!important}
.equipment-jump{font-size:1rem}

/* Company and equipment pages end with an invitation, not a persistent form. */
.project-evaluation{border:0;background:transparent}
.evaluation-summary{display:flex;align-items:center;justify-content:space-between;gap:30px;list-style:none;cursor:pointer}
.evaluation-summary::-webkit-details-marker{display:none}
.evaluation-invitation{display:grid;gap:10px}
.evaluation-invitation .eyebrow{margin:0}
.evaluation-invitation strong{font-size:clamp(1.65rem,2.5vw,2.4rem);font-weight:700;letter-spacing:-.035em;line-height:1.2;color:var(--cinema-text)}
.evaluation-invitation>span:last-child{font-size:1rem;color:var(--cinema-muted)}
.evaluation-action{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;flex-shrink:0;min-height:50px;padding:12px 20px;background:#ffda42;color:#17202a;font-size:.94rem;font-weight:500;border-radius:3px}
.evaluation-action i{font-style:normal;font-size:1.5rem;line-height:1}
.evaluation-close{display:none}
.project-evaluation[open] .evaluation-open{display:none}
.project-evaluation[open] .evaluation-close{display:inline}
.project-evaluation[open] .evaluation-action i{transform:rotate(45deg)}
.contact-optional .project-evaluation[open]>.contact-grid{margin-top:36px}
body:not([data-page="solutions-page"]) .contact.contact-optional{padding-block:36px 52px!important}
.contact-optional .evaluation-summary{position:relative;padding-top:28px}
.contact-optional .evaluation-summary:before{content:"";position:absolute;top:0;left:clamp(24px,5vw,76px);right:clamp(24px,5vw,76px);height:1px;background:var(--cinema-line)}
.contact :is(input,select,textarea){font-family:"Helvetica Neue","Segoe UI",Arial,sans-serif!important}

@media(max-width:760px){
  #solar .mode-comparison article{grid-template-columns:1fr;gap:12px}
  body:not([data-page="solutions-page"]) .page-intro{padding-block:34px 24px}
  body:not([data-page="solutions-page"]) .page-intro h1{font-size:clamp(2.45rem,10.2vw,3.65rem)!important}
  body:not([data-page="solutions-page"]) h2{font-size:clamp(1.95rem,7.8vw,3rem)!important}
  body:not([data-page="solutions-page"]) .section{padding-block:36px}
  body:not([data-page="solutions-page"]) .page-intro .lead{margin-top:20px}
  #company-page #nosotros{padding-top:22px}
  #company-page .split{gap:25px}
  #company-page .experience{display:grid;grid-template-columns:125px 1fr;gap:9px 16px;align-items:center;padding-top:22px!important}
  #company-page .experience-number{grid-row:1/3;font-size:4.3rem;letter-spacing:-.07em}
  #company-page .experience h3{font-size:1.08rem;margin:0}
  #company-page .experience p{grid-column:1/-1;font-size:1rem}
  #company-page .experience .location-tag{grid-column:1/-1;font-size:.875rem}
  .company-profile-intro,.technology-intro{gap:14px;margin-bottom:22px}
  .company-capabilities article,.technology-grid article{padding-block:21px!important}
  .company-principles{gap:23px;margin-top:29px}
  #company-page .steps{gap:16px;margin-top:24px}
  #company-page .steps .step{padding-block:20px!important}
  #company-page .steps .step b{margin-bottom:10px;font-size:.75rem}
  .brand-portfolio .manufacturer-group{padding-block:22px 25px}
  .brand-portfolio .manufacturer-heading{margin-bottom:18px!important}
  .brand-portfolio .manufacturer-tile{min-height:96px!important;gap:11px!important}
  .evaluation-summary{align-items:stretch;flex-direction:column;gap:22px}
  .evaluation-action{align-self:flex-start}
  .evaluation-invitation strong{font-size:1.8rem}
  body:not([data-page="solutions-page"]) .contact.contact-optional{padding-block:18px 36px!important}
}

/* Editorial display typography with precise, contemporary product information. */
body:not([data-page="solutions-page"]) main{font-family:"COMJESA Sans","Avenir Next",sans-serif;font-weight:400;letter-spacing:0;line-height:1.7}
body:not([data-page="solutions-page"]) :is(h1,h2),body:not([data-page="solutions-page"]) .evaluation-invitation strong{font-family:"COMJESA Editorial",Georgia,serif!important;font-weight:600!important;letter-spacing:-.035em!important;font-optical-sizing:auto;line-height:1.12!important;text-wrap:balance}
body:not([data-page="solutions-page"]) :is(h3,h4,.architecture-grid b,.mode-comparison b){font-family:"COMJESA Sans","Avenir Next",sans-serif;font-weight:600!important;letter-spacing:-.035em!important}
body:not([data-page="solutions-page"]) :is(.eyebrow,.kicker){font-family:"COMJESA Sans","Avenir Next",sans-serif;font-weight:700!important;letter-spacing:.16em!important}
body:not([data-page="solutions-page"]) :is(.btn,.contact input,.contact select,.contact textarea,.contact label,.evaluation-action),.primary-nav :is(button,a),.site-menu :is(button,a){font-family:"COMJESA Sans","Avenir Next",sans-serif!important}
body:not([data-page="solutions-page"]) .contact :is(label,legend,summary){font-weight:600!important}
body:not([data-page="solutions-page"]) .advanced-information>details>summary strong{font-family:"COMJESA Sans","Avenir Next",sans-serif;font-weight:600;letter-spacing:-.025em}
