/* EnergySteel 2026: identidade #55a0b9 + #f58220 + branco puro */
:root,:root[data-theme="light"]{
  --brand-blue:#55a0b9;--brand-orange:#f58220;--brand-white:#fff;
  --bg:#fff;--bg-2:#f3f9fb;--surface:#fff;--surface-raised:#edf6f9;--surface-soft:#f7fbfc;
  --text:#163541;--muted:#44616c;--subtle:#52717d;
  --line:rgba(43,104,127,.14);--line-strong:rgba(41,114,140,.26);
  --accent:#55a0b9;--accent-bright:#2b7c99;--accent-dark:#e2f3f7;--green:#f58220;
  --button:#f58220;--button-text:#172e37;--nav:rgba(255,255,255,.94);
  --card:#fff;--glow:rgba(85,160,185,.19);
}
:root[data-theme="dark"]{
  --brand-blue:#55a0b9;--brand-orange:#f58220;--brand-white:#fff;
  --bg:#0c222c;--bg-2:#102b36;--surface:#14333e;--surface-raised:#1d4350;--surface-soft:#12303b;
  --text:#fff;--muted:#bdd1da;--subtle:#a3c1cc;
  --line:rgba(174,224,235,.15);--line-strong:rgba(174,224,235,.27);
  --accent:#55a0b9;--accent-bright:#9addf0;--accent-dark:#14313c;--green:#f58220;
  --button:#f58220;--button-text:#152c33;--nav:rgba(15,43,53,.95);
  --card:#14313c;--glow:rgba(85,160,185,.23);
}
body::selection{background:#f58220;color:#172f3a}
.reading-progress{height:3px;background:linear-gradient(90deg,#55a0b9 4%,#fff 46%,#f58220);box-shadow:0 0 12px rgba(245,130,32,.3)}
.brand-symbol{background:linear-gradient(140deg,#55a0b9,#277b96);border-color:transparent;color:#fff;box-shadow:0 6px 20px rgba(85,160,185,.22)}
.brand-name{color:var(--brand-blue)}.brand-name>span{color:var(--brand-orange);font-weight:800}
.nav-links{border-color:var(--line-strong);box-shadow:0 8px 36px rgba(42,96,115,.07)}
.nav-links a.active{background:var(--surface-raised)}.nav-links a:hover,.nav-quote:hover{color:var(--accent-bright)}
.nav-quote{border-color:var(--brand-orange)}.nav-quote svg{color:var(--brand-orange)}
.icon-button:hover{border-color:var(--brand-blue);color:var(--brand-orange)}
.section-eyebrow,.eyebrow-accent{color:var(--accent-bright)}
.dot,.status-light{background:var(--brand-orange);box-shadow:0 0 0 4px rgba(245,130,32,.15),0 0 12px rgba(245,130,32,.35)}
.text-shine,:root[data-theme="light"] .text-shine{
  background:linear-gradient(115deg,#206b86 5%,#55a0b9 45%,#f58220 94%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
:root[data-theme="dark"] .text-shine{background:linear-gradient(110deg,#fff,#78c4dd 48%,#f8ad70);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero::before{background:radial-gradient(ellipse at 55% 35%,rgba(85,160,185,.18),transparent 60%),radial-gradient(ellipse at 75% 75%,rgba(245,130,32,.12),transparent 55%)}
.art-glow{background:radial-gradient(ellipse,rgba(85,160,185,.24),rgba(245,130,32,.07) 45%,transparent 75%)}
.hero-image-main,.hero-image-secondary{border-color:rgba(85,160,185,.5);box-shadow:0 24px 70px rgba(25,83,105,.18)}
.hero-image-main img,.hero-image-secondary img{filter:saturate(.95) contrast(1.02)}
.hero-image-label{background:#fff;color:#1d586d;border:1px solid rgba(85,160,185,.4);box-shadow:0 10px 28px rgba(35,99,118,.15)}
.art-corner{border-color:var(--brand-orange)}.hero-caption .caption-rule{background:var(--brand-orange)}
.button-primary{background:var(--brand-orange);color:#1c2b31;box-shadow:0 8px 27px rgba(245,130,32,.22)}
.button-primary:hover{background:#ff983d;box-shadow:0 14px 36px rgba(245,130,32,.28)}
.button-text:hover,.inline-link:hover{border-color:var(--brand-orange)}.inline-link svg{color:var(--brand-orange)}
.signal-icon,.approach-icon,.value-icon,.contact-method-icon{color:var(--accent-bright)}
.section-heading h2 em,.philosophy-copy h2 em,.page-intro em{color:var(--brand-blue)}
.experience-number>span,.company-visual-badge>span span{color:var(--brand-orange)}
.project-media,.solution-row-image,.detail-visual,.related-card{background:var(--surface-raised)}
.project-media img,.solution-row-image img,.detail-visual>img,.related-card img,.company-visual-photo img{filter:saturate(.95) contrast(1.02)}
.project-card:hover img,.solution-row-image:hover img{filter:saturate(1.12) contrast(1.02)}
.project-media::after{background:linear-gradient(180deg,rgba(13,41,51,.16),transparent 45%,rgba(4,24,33,.52))}
.project-badge{background:rgba(20,53,64,.9);border-color:rgba(85,160,185,.5);color:#fff}
.project-card-wide{background:var(--surface-soft)}.round-arrow{background:var(--brand-orange);color:#152d38}
.approach-card,.value-card,.company-visual-badge,.contact-form-wrap{border-color:var(--line-strong)}
.footer{background:#0d3341;color:#fff;border-top:3px solid var(--brand-orange)}
.footer-cta{background:linear-gradient(108deg,#17627b,#277e97 60%,#2f859a);border:1px solid rgba(255,255,255,.23)}
.footer-cta-glow{background:radial-gradient(circle,rgba(245,130,32,.25),transparent 67%)}
.footer-cta h2,.footer-cta h2 em,.footer-cta .eyebrow{color:#fff}
.footer-cta p{color:#e8f6fa}.button-light{background:#fff;color:#1b5568}
.button-light:hover{background:#fbe8d7;color:#173745}
.footer .footer-col a:hover,.footer-bottom a:hover{color:#f8a75f}
/* Interações nos cards */
.project-card,.approach-card,.value-card,.related-card,.contact-method,.solution-row-image{position:relative;isolation:isolate}
.project-card .project-media,.project-card-wide .project-media,.solution-row-image,.related-card{transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s,border-color .42s}
.project-card .project-media:hover,.project-card:focus-visible .project-media,.solution-row-image:hover,.related-card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(41,112,138,.2);border-color:var(--brand-blue)}
.project-card .project-media::before,.solution-row-image::before{
  content:"";position:absolute;inset:-50% auto -50% -45%;width:26%;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:rotate(22deg) translateX(-250%);transition:transform .8s cubic-bezier(.17,.67,.2,1)
}
.project-card:hover .project-media::before,.project-card:focus-visible .project-media::before,.solution-row-image:hover::before{transform:rotate(22deg) translateX(820%)}
.project-media img,.solution-row-image img{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s}
.project-card:hover .project-media img,.solution-row-image:hover img{transform:scale(1.075)}
.approach-card,.value-card{overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s,background .4s}
.approach-card::before,.value-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--brand-blue),#fff,var(--brand-orange));
  transform:scaleX(0);transform-origin:left;transition:transform .47s cubic-bezier(.2,.8,.2,1)
}
.approach-card::after,.value-card::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(420px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(85,160,185,.14),transparent 55%);
  opacity:0;transition:opacity .3s
}
.approach-card:hover,.value-card:hover,.approach-card:focus-within,.value-card:focus-within{border-color:var(--brand-blue);box-shadow:0 18px 46px rgba(38,106,130,.13);background:var(--surface)}
.approach-card:hover::before,.value-card:hover::before{transform:scaleX(1)}
.approach-card:hover::after,.value-card:hover::after{opacity:1}
.js .approach-card.is-visible:hover,.js .value-card.is-visible:hover{transform:translateY(-9px)}
.approach-card:hover .approach-icon,.value-card:hover .value-icon{color:var(--brand-orange);transform:translateY(-3px) rotate(-7deg)}
.approach-icon,.value-icon{transition:transform .38s,color .3s}
.project-card:hover .project-description h3,.related-card:hover h3{color:var(--accent-bright)}
.project-card:hover .round-arrow{transform:rotate(45deg) scale(1.12)}
/* Rastro elétrico junto ao scroll, sempre sem intercepção de toque/clique */
.electric-trail{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60;opacity:1;contain:strict}
@media(max-width:600px){.electric-trail{opacity:.76}.project-card .project-media:hover,.solution-row-image:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){
  .electric-trail{display:none}
  .project-card .project-media,.project-card .project-media img,.approach-card,.value-card,.related-card{transition:none!important;transform:none!important}
  .project-card .project-media::before,.approach-card::after,.value-card::after{display:none!important}
}
