*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#173b36;background:#fcfcf8;font:17px/1.55 "Avenir Next","Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #1389b9;outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:8px;background:white;z-index:2}:root{--page-width:min(89%,1420px);--page-inset:calc((100% - var(--page-width)) / 2)}.wrap,.bar{width:var(--page-width);margin:auto}header{background:#fff}.bar,nav,.actions,footer{display:flex;align-items:center}.bar{justify-content:space-between;gap:1.5rem;min-height:86px}.logo{width:174px;height:auto;display:block}nav{gap:clamp(15px,2.2vw,38px);font-size:15px;font-weight:600}.headcta,.btn{border-radius:6px;display:inline-flex;align-items:center;gap:12px;font-weight:700}.headcta{background:#103f39;color:white;padding:12px 18px;font-size:15px}.hero{background:#083c36;color:#fff;display:grid;grid-template-columns:1fr 1fr}.herocopy{padding:clamp(58px,7vw,115px) 3vw clamp(62px,7vw,115px) 5.5vw;align-self:center}.kicker,.place{text-transform:uppercase;font-size:12px;font-weight:750;letter-spacing:.15em;color:#176850;margin:0 0 16px}.kicker:before{content:"";display:inline-block;width:27px;height:2px;background:currentColor;vertical-align:middle;margin-right:12px}.hero .kicker,.contact .kicker{color:#8de3ad}h1,h2,h3{line-height:1.09;letter-spacing:-.045em;margin:0}h1{font-size:clamp(44px,5.3vw,88px);font-weight:600}em{font-family:Georgia,serif;font-weight:400;color:#9ce7ab}.lead{font-size:clamp(18px,1.4vw,24px);max-width:33rem;color:#dce8e2;margin:25px 0 32px}.actions{flex-wrap:wrap;gap:20px}.btn{background:#a5ecb7;color:#0b4035;padding:14px 19px;font-size:15px}.soft{font-size:15px;font-weight:600}.hero figure{position:relative;margin:0;min-height:360px}.hero figure img{position:absolute;width:100%;height:100%;object-fit:cover}.hero figcaption{position:absolute;bottom:24px;left:24px;color:white;background:#12392feb;border-left:3px solid #85dfa1;padding:9px 15px;display:grid;font-size:14px}.hero figcaption span{font-size:12px}.section{padding-block:clamp(55px,6vw,100px)}h2{font-weight:580;font-size:clamp(33px,3.6vw,60px)}h3{font-size:clamp(23px,2vw,34px);font-weight:620}.services,.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,56px);margin-top:35px}.services article{border-top:2px solid #78b99b;padding-top:23px;display:flex;flex-direction:column}.services p,.about>p{color:#465d55}.services a,.projects a{font-size:15px;font-weight:700;color:#0e634c;margin-top:auto}.works{background:#eaf1e9}.projects img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block;border-radius:4px}.place{margin:20px 0 8px;font-size:11px}.projects h3{margin-bottom:16px}.about,.contact{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:10%}.about>p{font-size:20px}#contato{background:#083c36;color:white}.contact p{color:#e0ece3}.contact address{font-style:normal;border-left:1px solid #73958a;padding-left:28px}.contact .btn{margin-top:8px}footer{justify-content:space-between;padding-block:26px;font-size:14px}footer .logo{width:135px}@media(max-width:850px){nav{display:none}.hero{grid-template-columns:1.1fr 1fr}.services,.projects{gap:18px}.actions{gap:12px}.contact,.about{gap:6%}}@media(max-width:650px){.bar{min-height:68px}.logo{width:132px}.headcta{font-size:13px;padding:10px}.hero{grid-template-columns:1fr}.herocopy{padding:42px 5.5vw 34px}h1{font-size:clamp(43px,10vw,60px)}.lead{margin:18px 0 23px}.hero figure{min-height:0;aspect-ratio:1.85}.hero figcaption{bottom:12px;left:5.5vw}.services,.projects,.about,.contact{grid-template-columns:1fr;gap:28px}.services p{margin:10px 0 14px}.about>p{margin:0}.contact address{padding:22px 0 0;border-left:0;border-top:1px solid #73958a}.section{padding-block:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero{background:#102e30}.herocopy{padding-right:2vw}h1{font-size:clamp(43px,4.85vw,82px);letter-spacing:-.06em}em{font:inherit;color:#88dab4}.kicker,.place,figcaption span{font-family:"SFMono-Regular",Consolas,monospace}.hero figcaption{background:#102e30f2;border-color:#88dab4}.btn,.headcta,.projects img{border-radius:2px}.services article{border-top:1px solid #6e9992}.works{background:#edf1ee}#contato{background:#102e30}@media(max-width:650px){h1{font-size:clamp(40px,9vw,58px)}}
.hero{background:#012735}.hero .solar-art{min-height:0;aspect-ratio:auto;display:grid;align-items:center;overflow:hidden}.artboard{width:100%;aspect-ratio:1284/1176;position:relative;isolation:isolate;overflow:hidden}.hero .panels{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.hero .leaves{position:absolute;left:50.1%;top:50%;width:39%;height:auto;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 8px #01273530)}.light{position:absolute;inset:15% 0;pointer-events:none;opacity:0;background:linear-gradient(104deg,transparent 39%,#f1fff628 48%,#fff6 50%,transparent 58%)}@media(prefers-reduced-motion:no-preference){.solar-art .artboard{animation:panel-entry 1.85s cubic-bezier(.22,.72,.24,1) both}.solar-art .leaves{animation:leaf-entry 1.6s .3s cubic-bezier(.22,.72,.24,1) both}.solar-art .light{animation:reflection 2.15s 1.25s ease-in-out both}@keyframes panel-entry{from{transform:scale(1.035);opacity:.72}to{transform:scale(1);opacity:1}}@keyframes leaf-entry{from{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes reflection{0%{transform:translateX(-80%);opacity:0}28%,65%{opacity:.62}100%{transform:translateX(80%);opacity:0}}}@media(max-width:650px){.hero .solar-art{width:100%;max-height:none}.solar-art .artboard{max-width:470px;margin:auto}}
.services details{margin:0 0 22px;border-block:1px solid #bdcec6;padding:12px 0}.services summary{cursor:pointer;font-size:15px;font-weight:650}.services details p{margin:12px 0 4px;font-size:16px}.works{background:#122e36;color:#f5fbf7}.works .kicker,.works .place{color:#8bdcb3}.projects.enhanced{grid-template-columns:minmax(0,1.9fr) minmax(245px,1fr);gap:0;background:#193d45}.projects .feature{padding:0 0 26px;display:grid;grid-template-columns:1fr auto;align-items:end}.projects .feature img{grid-column:1/-1;aspect-ratio:1.95;border-radius:0}.feature .place,.feature h3,.feature .project-note{margin-left:24px}.feature h3{grid-column:1;font-size:clamp(26px,3vw,48px);margin-bottom:8px}.feature .place{grid-column:1/-1}.projects .project-note{color:#deebe5;font-size:16px;max-width:48ch;margin-top:0}.feature .project-note{grid-column:1/-1;margin-right:24px}.works .projects article>a{color:#a5ecb7}.feature>a{margin-left:24px;grid-column:1/-1}.picker{display:flex;flex-direction:column;justify-content:center;gap:0;padding:24px}.picker button{display:grid;grid-template-columns:68px 1fr;align-items:center;gap:14px;padding:17px 8px;text-align:left;color:#d8e5e1;background:none;border:0;border-top:1px solid #547178;cursor:pointer;font:inherit}.picker button:last-child{border-bottom:1px solid #547178}.picker button[aria-pressed=true]{background:#234b50;box-shadow:inset 3px 0 #83dfa7;color:white}.picker img{width:68px;height:55px;border-radius:0}.picker small{display:block;color:#c4dad1;font-size:12px}.picker button:focus-visible,summary:focus-visible{outline:3px solid #20a3d2;outline-offset:2px}.route{border-top:1px solid #bfd0c6;padding-top:36px;margin-top:48px}.route h3{font-size:24px}.route ol{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0;list-style:none;counter-reset:step}.route li{counter-increment:step;position:relative;padding-left:35px;font-size:16px;color:#465d55}.route li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:3px;color:#176850;font:600 13px/1.5 monospace}.route b{display:block;color:#143e39}.projects [hidden]{display:none}.mobile-nav{display:none}@media(max-width:850px){.mobile-nav{display:flex;justify-content:center;gap:22px;border-top:1px solid #deebe3;padding:8px 4px;font-size:13px}.projects.enhanced{grid-template-columns:1fr}.picker{grid-row:1;flex-direction:row;padding:8px}.picker button{flex:1;display:block;text-align:center;border:0!important;padding:10px 3px;font-size:13px}.picker img,.picker small{display:none}.picker button[aria-pressed=true]{box-shadow:inset 0 -2px #83dfa7}.route ol{grid-template-columns:1fr}.feature .place,.feature h3,.feature .project-note,.feature>a{margin-left:16px}}@media(prefers-reduced-motion:no-preference){.feature{animation:gallery-in .4s ease-out}@keyframes gallery-in{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media(min-width:851px){.projects.enhanced .feature{grid-column:1;grid-row:1}.projects.enhanced .picker{grid-column:2;grid-row:1}}
nav [aria-current=page]{box-shadow:0 2px #1c9368}.mast{background:#092d38;color:white}.mast>.wrap{padding-block:26px clamp(45px,6vw,95px)}.mast .crumb{color:#c1d9d3;font-size:14px;margin-bottom:clamp(30px,4vw,75px)}.mast .kicker,.home-feature .kicker{color:#92dcae}.mast h1{max-width:22ch}.mast .lead{max-width:54ch;margin-bottom:0}.sitefoot{display:block;background:#e7eeea;color:#183b35}.sitefoot>.wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:24px}.sitefoot a,.sitefoot b{display:block;width:fit-content;margin-bottom:8px}.spec{margin:30px 0 0}.spec>div{display:grid;grid-template-columns:minmax(130px, .55fr) 1fr;gap:20px;border-top:1px solid #b7cabe;padding:20px 0}.spec dt{font-weight:700}.spec dd{margin:0;color:#405c55}.columns,.split{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:start}.split{grid-template-columns:1.3fr 1fr}.columns p,.reading,.questions p{font-size:19px;max-width:65ch}.service-art,.brief{background:#e9efea;padding:24px;margin:0}.service-art img,.project-photo img{display:block;width:100%;height:auto}.service-art{align-self:center}.project-photo{margin-top:32px}.project-photo img{max-height:620px;object-fit:contain;background:#0b2c34}.section+.section{border-top:1px solid #d1ded5}.textlink,.topic{font-weight:700;color:#116749}.home-feature{display:grid;grid-template-columns:1.2fr 1fr;background:#15373e;color:white}.home-feature>img{width:100%;height:100%;min-height:350px;object-fit:cover}.home-feature>div{padding:clamp(32px,5vw,85px);align-self:center}.questions{margin-top:28px;max-width:850px}.questions details,.topic{display:block;border-top:1px solid #afc7b7;padding:16px 0}.questions summary{cursor:pointer;font-weight:650}.call{background:#103b37;color:white;padding:45px 0}.call>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.call h2{font-size:clamp(26px,3vw,45px)}.service-index article{min-height:175px}.brief{padding:32px}.brief p{margin-bottom:26px}@media(max-width:700px){.columns,.split,.home-feature,.sitefoot>.wrap{grid-template-columns:1fr;gap:22px}.home-feature>img{min-height:0;max-height:270px}.columns p{margin:0}.call>.wrap{align-items:start;flex-direction:column}.spec>div{grid-template-columns:1fr;gap:5px}.service-index article{min-height:0}.sitefoot>.wrap{grid-template-columns:1fr 1fr}.sitefoot>.wrap>div:first-child{grid-column:1/-1}.sitefoot .logo{width:145px}}

/* The two leaves in the brand mark share a rounded upper-left and lower-right corner. */
:root {
  --bio-leaf: 58% 0 58% 0 / 92% 0 92% 0;
  --bio-blue: #0077bc;
  --bio-green: #00b975;
}
.mast {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse at 100% 55%, #124654, #092d38 65%);
}
.mast::before,
.mast::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  right: 5.5%;
  width: clamp(195px, 26vw, 410px);
  aspect-ratio: 1.6;
  border: 1.5px solid;
  border-radius: var(--bio-leaf);
}
.mast::before {
  bottom: 52%;
  border-color: #3387ad;
  background: linear-gradient(125deg, transparent 38%, #0077bc20);
}
.mast::after {
  top: 51%;
  border-color: #258c72;
  background: linear-gradient(125deg, transparent 38%, #00b97516);
}
.mast h1, .mast .lead { max-width: min(62vw, 54ch); }
header nav [aria-current] {
  box-shadow: none;
  font-weight: 750;
}
header nav [aria-current]::before,
.project-photo figcaption::before,
.projects .place::before,
.service-index article::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 9px;
  margin-right: 8px;
  border-radius: var(--bio-leaf);
  background: var(--bio-green);
}
.service-index article { position: relative; }
.service-index article::before {
  position: absolute;
  top: -5px;
  right: 0;
  margin: 0;
  width: 22px;
  height: 13px;
  background: var(--bio-blue);
}
.project-photo { margin-inline: auto; }
.project-photo figcaption {
  padding-block: 10px;
  font-size: 14px;
  color: #36574f;
}
@media (max-width: 700px) {
  .mast::before, .mast::after { width: 105px; right: -15px; opacity: .72; }
  .mast::before { bottom: auto; top: -39px; }
  .mast::after { top: 32px; }
  .mast h1, .mast .lead { max-width: 100%; }
  header nav [aria-current]::before { width: 10px; height: 7px; margin-right: 4px; }
}

.photo-mast.solar { --cover: url("/img/solar-em-campo.webp"); }
.photo-mast.eolica { --cover: url("/img/fundo-eolica.webp"); }
.photo-mast.recarga { --cover: url("/img/fundo-recarga.webp"); }
.photo-mast {
  background: linear-gradient(90deg, #061f2eee 0%, #061f2ebf 42%, transparent 78%), var(--cover) center right / cover no-repeat #092d38;
}
.photo-mast::before, .photo-mast::after { display: none; }
.photo-mast .lead { max-width: min(52vw, 50ch); }
.service-index .service-cover {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2.7;
  object-fit: cover;
  margin-bottom: 22px;
}
@media (max-width: 700px) {
  .photo-mast {
    background: linear-gradient(0deg, #061e2cfa 3%, #061e2cdb 44%, #061e2c08 85%), var(--cover) 78% top / auto 87% no-repeat #061e2c;
  }
  .photo-mast .crumb { margin-bottom: 100px; }
  .photo-mast .lead { max-width: 100%; }
}

/* Three editorial scenes share a single visitor-controlled stage. */
.energy-stage {
  position: relative;
  isolation: isolate;
  display: block;
  background: #012735;
  overflow: hidden;
}
.stage-sr {
  position: absolute; width: 1px; height: 1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.energy-scene {
  position: relative;
  display: grid;
  align-items: center;
  min-height: clamp(560px, 44vw, 720px);
}
.energy-stage [hidden] { display: none; }
.stage-visual { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.stage-visual .panorama { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.stage-visual::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, #021d2bee 0%, #032635b3 35%, transparent 65%);
}
.scene-solar .stage-visual { left: 44%; }
.scene-solar .stage-visual::after { background: linear-gradient(90deg, #012735 0%, transparent 16%); }
.energy-stage .solar-art { height: 100%; display: grid; place-items: center; }
.energy-stage .artboard { width: min(100%, 760px); }
.scene-copy {
  position: relative; z-index: 1; width: 48%;
  padding: 48px 0 108px var(--page-inset);
}
.scene-copy h2 { font-size: clamp(54px, 5.8vw, 96px); line-height: .98; letter-spacing: -.062em; }
.scene-copy .kicker { margin-bottom: 24px; }
.scene-description { color: #dbe9e7; font-size: clamp(17px,1.36vw,21px); max-width: 37ch; margin: 24px 0; }
.scene-link { color: white; display: inline-block; border-bottom: 1px solid #7fbbaa; padding: 3px 0; font-weight: 650; }
.stage-switch {
  position: absolute; z-index: 2; left: var(--page-inset); bottom: 28px;
  display: inline-flex; padding: 4px; border: 1px solid #658c92;
  border-radius: 28px; background: #082c37;
}
.stage-switch button {
  appearance: none; border: 0; background: transparent; color: white; font: inherit;
  font-size: 14px; min-height: 40px; padding: 8px 21px; border-radius: 24px; cursor: pointer;
}
.stage-switch button[aria-pressed=true] { color:#07362b; background:#a5ecb7; font-weight:700; }
.stage-switch button:focus-visible { outline: 2px solid white; outline-offset: 2px; }
@media (prefers-reduced-motion:no-preference) {
  .energy-scene .scene-copy { animation: scene-copy-in .65s ease-out both; }
  .energy-scene .panorama { animation: scene-image-in 1.25s cubic-bezier(.2,.7,.2,1) both; }
  @keyframes scene-copy-in { from { opacity:.3; transform:translateY(10px); } to { opacity:1; transform:none; } }
  @keyframes scene-image-in { from { opacity:.65; transform:scale(1.035); } to { opacity:1; transform:none; } }
}
@media(max-width:700px) {
  .energy-scene { display: flex; flex-direction: column; align-items: stretch; min-height: 0; }
  .stage-visual,.scene-solar .stage-visual { position: relative; left: auto; height:clamp(200px,56vw,295px); }
  .stage-visual .panorama { object-position: 78% 45%; }
  .stage-visual::after,.scene-solar .stage-visual::after { background:linear-gradient(0deg,#012735,transparent 25%); }
  .energy-stage .artboard { width: min(100%, 390px); max-width:none; position:absolute; top:50%; left:50%; translate:-50% -50%; }
  .scene-copy { width: 100%; min-height: 345px; padding: 8px 5.5vw 84px; }
  .scene-copy h2 { font-size:clamp(43px,10.4vw,67px); }
  .scene-copy .kicker { margin-bottom:14px; }
  .scene-description { margin:14px 0; font-size:16px; }
  .stage-switch { bottom:18px; }
}
@media(max-width:700px) {
  .scene-solar .artboard { width: min(74vw,340px); }
}

/* Place each signature in the image coordinate system so it follows the equipment. */
.energy-stage .scene-solar .stage-visual { left: 0; }
.scene-art { display: block; width: 100%; height: 100%; }
.scene-solar .signature { opacity: .36; }
.scene-vento .signature { opacity: .68; mix-blend-mode: soft-light; }
.scene-recarga .signature { opacity: .9; filter: sepia(1) saturate(4) hue-rotate(80deg) drop-shadow(0 0 2px #39ffa4); }
.stage-switch .rotation { margin-left: 3px; padding: 5px 12px; border-left: 1px solid #52747a; border-radius: 0 22px 22px 0; min-width: 44px; }
@media (prefers-reduced-motion:no-preference) {
  .scene-art { animation: scene-image-in 1s ease-out both; }
}
.battery-fill { transform-origin: center bottom; transform-box: fill-box; }
@media (prefers-reduced-motion:no-preference) {
  .battery-fill { animation: biolumini-charge 3.7s .3s cubic-bezier(.3,.1,.2,1) both; }
  @keyframes biolumini-charge {
    0% { transform: scaleY(.08); }
    55% { transform: scaleY(.52); }
    100% { transform: scaleY(1); }
  }
}

/* Currents follow the panel grid; streamlines converge ahead of the rotor. */
.cell-current, .wind-stream { stroke-dasharray: .12 .88; stroke-dashoffset: -.35; }
.wind-leaf { stroke-width: 1.2px; }
@media (prefers-reduced-motion:no-preference) {
  .cell-current, .wind-stream {
    animation: flow-trace 3.3s var(--lag) ease-in-out 2 both;
  }
  .wind-stream { animation-duration: 3.05s; }
  .wind-leaf {
    stroke-dasharray: 1;
    --contact: 1.91s;
    --leaf-light: #8ae4ff;
    animation: form-leaf .6s var(--contact) ease-out both,
               leaf-glint 3.05s var(--contact) ease-out 2 both;
  }
  .second-leaf { --contact: 2.37s; --leaf-light: #93ffd4; }
  .solar-etch { animation: glass-reveal 3s .7s ease-in-out both; }
  .sun-halo { animation: sun-glint 4.8s ease-out both; }
  @keyframes flow-trace {
    0% { stroke-dashoffset: .12; opacity: 0; }
    17%,78% { opacity: .95; }
    100% { stroke-dashoffset: -.94; opacity: 0; }
  }
  @keyframes form-leaf {
    from { stroke-dashoffset: 1; opacity: .12; fill-opacity: .08; }
    to { stroke-dashoffset: 0; opacity: 1; fill-opacity: .42; }
  }
  @keyframes leaf-glint {
    0%, 100% { filter: drop-shadow(0 0 0 transparent); }
    10% { filter: drop-shadow(0 0 2px var(--leaf-light)); }
    38% { filter: drop-shadow(0 0 .6px var(--leaf-light)); }
  }
  @keyframes glass-reveal {
    0% { opacity: 0; } 66% { opacity: 1; } 100% { opacity: .74; }
  }
  @keyframes sun-glint {
    0% { opacity: .3; } 46% { opacity: .95; } 100% { opacity: .45; }
  }
}

.company-opening {
  color: #f5faf7;
  background: radial-gradient(ellipse at 83% 45%, #195156, #092e39 58%, #072832);
}
.company-intro, .story, .home-company {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: clamp(28px, 7vw, 110px);
}
.company-intro { padding-block: clamp(30px, 5vw, 80px); }
.company-intro .crumb { font-size: 14px; color: #c3dbd6; margin-bottom: 32px; }
.company-intro .kicker { color: #9ce4bb; }
.company-intro h1 { font-size: clamp(45px, 5.4vw, 88px); max-width: 14ch; }
.company-intro .lead { color: #e0eae6; max-width: 42ch; }
.company-origin { font-size: 14px; color: #b2cfc8; }
.brand-study { margin: 0; border-block: 1px solid #4b7978; padding: 18px 0; }
.brand-study svg { display: block; width: 100%; }
.brand-study figcaption { text-align: center; font-size: 13px; color: #c1dfd8; }
.story { align-items: start; }
.story p:not(.kicker), .home-company p:not(.kicker) { font-size: clamp(17px,1.4vw,21px); color: #405c55; }
.story p:first-child { margin-top: 0; }
.project-window { position: relative; width: 100%; aspect-ratio: 1.8; overflow: hidden; }
.project-window img { position: absolute; width: 100%; height: 100%; object-fit: cover; clip-path: url(#company-leaves); }
@media(prefers-reduced-motion:no-preference) {
  .brand-guides path { stroke-dasharray: 1; animation: draw-guide 1.4s ease-out both; }
  .brand-reveal { animation: ink-in 1.35s .65s ease-out both; }
  @keyframes draw-guide { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
  @keyframes ink-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
}
@media(max-width:700px) {
  .company-intro, .story, .home-company { grid-template-columns: 1fr; gap: 26px; }
  .company-intro .lead { margin-bottom: 12px; }
  .brand-study svg { max-height: 245px; }
  .home-company .project-window { max-height: 220px; }
}

.wa-float {
  position: fixed;
  z-index: 8;
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(60px + env(safe-area-inset-bottom));
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 2px solid white;
  border-radius: 50%;
  background: #087d4e;
  color: white;
  box-shadow: 0 3px 14px #032b2a40;
}
.wa-float:hover { background: #066840; }
.wa-float svg { width: 34px; height: 34px; }
.sitefoot .footer-instagram { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; }
.footer-instagram svg { width: 19px; height: 19px; }
@media(max-width:700px) { .sitefoot { padding-bottom: 124px; } }

.insta-band { background: #eaf1eb; }
.insta-heading { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.insta-heading a { color: #126649; font-weight: 650; }
.insta-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 26px; }
.insta-grid a { display: block; position: relative; overflow: hidden; background: #123a3c; }
.insta-grid img { display: block; width: 100%; aspect-ratio: 1.15; object-fit: cover; }
.insta-grid span { position: absolute; right: 8px; bottom: 8px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: white; background: #123a3ce8; }
@media(max-width:700px){ .insta-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } }

header { position: sticky; top: 0; z-index: 20; box-shadow: 0 1px 0 #133c351a; }
html { scroll-padding-top: 90px; }
.nav-toggle { display: none; }
.skip:focus { position: fixed; z-index: 30; }
@media(max-width:850px) {
  html { scroll-padding-top: 80px; }
  .bar { gap: 10px; }
  .bar .headcta { margin-left: auto; }
  .nav-toggle { display: block; }
  .nav-toggle summary { width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; list-style: none; color: #103f39; }
  .nav-toggle summary::-webkit-details-marker { display: none; }
  .burger,.burger::before,.burger::after { width: 22px; height: 2px; display: block; background: currentColor; }
  .burger { position: relative; }
  .burger::before,.burger::after { content: ""; position: absolute; left: 0; }
  .burger::before { top: -7px; }
  .burger::after { top: 7px; }
  .nav-toggle[open] .burger { background: transparent; }
  .nav-toggle[open] .burger::before,.nav-toggle[open] .burger::after { top: 0; transform: rotate(45deg); }
  .nav-toggle[open] .burger::after { transform: rotate(-45deg); }
  .nav-toggle .mobile-nav { position: absolute; inset: 100% 0 auto; display: grid; gap: 0; background: white; padding: 8px 5.5% 16px; box-shadow: 0 12px 18px #122f361a; max-height: 65vh; overflow: auto; }
  .nav-toggle:not([open]) .mobile-nav { display: none; }
  .mobile-nav a { display: block; padding: 12px 4px; border-bottom: 1px solid #e0e8e3; font-size: 16px; }
}
@media(max-width:370px) {
  .bar { gap: 4px; }
  .bar .logo { width: 113px; }
  .bar .headcta { padding: 9px 8px; }
}
.insta-grid img, .projects article > img { height: auto; }
.scene-solar .stage-visual::after { background: linear-gradient(90deg,#041d2df7 0%,#092331cc 33%,transparent 66%); }
@media(max-width:700px) { .scene-solar .stage-visual::after { background: linear-gradient(0deg,#012735,transparent 22%); } }
.scene-solar .current-glow { stroke: #71e9ed; stroke-opacity: .6; }

.solar-pulse { stroke: #edffff; stroke-width: 1.45; stroke-dasharray: .095 1; opacity: 0; }
.solar-bloom { stroke: #6af7ec; stroke-width: 3; filter: url(#brilho-trilha); }
.solar-aura { opacity: .32; filter: blur(3px); }
@media (prefers-reduced-motion:no-preference) {
  .solar-pulse { animation: collect-light var(--travel) var(--start) linear both; }
  .solar-ignition { animation: energize-mark 6s ease-out both; }
  .solar-aura { animation: illuminate-glass 6s ease-out both; }
  @keyframes collect-light {
    0% { stroke-dashoffset: .095; opacity: 0; }
    8%,94% { opacity: 1; }
    100% { stroke-dashoffset: -1; opacity: 0; }
  }
  @keyframes energize-mark { 0%, 42.5% { opacity: .08; } 46.67%, 51.25% { opacity: .40; } 55.42%, 60% { opacity: .70; } 64.17%, 100% { opacity: 1; } }
  @keyframes illuminate-glass { 0%, 42.5% { opacity: 0; } 46.67%, 51.25% { opacity: .18; } 55.42%, 60% { opacity: .45; } 64.17%, 100% { opacity: .85; } }
}

.obra-destaque{background:#002832;align-items:center}
.obra-aro{width:min(100%,740px);margin:0 auto;padding:clamp(18px,3vw,48px) 0}
.obra-aro svg{display:block;width:100%;height:auto}
@media(max-width:760px){.obra-destaque{gap:0}.obra-aro{padding:22px 0 0}}

.aro-reflexo{animation:aro-circular 6s linear infinite}
@keyframes aro-circular{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
@media(prefers-reduced-motion:reduce){.aro-reflexo{display:none}}
