@font-face{font-family:Montserrat;src:url('assets/fonts/Montserrat-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Bonum;src:url('assets/fonts/TeXGyreBonum-BoldItalic.otf') format('opentype');font-weight:700;font-style:italic;font-display:swap}
:root{--green:#286443;--forest:#102f25;--navy:#071b3f;--earth:#6b332a;--mist:#edf3ef;--white:#fafcfa;--ink:#15231d;--muted:#5d6b64;--line:rgba(16,47,37,.16);--max:1240px;--pad:clamp(1.25rem,4vw,4rem);--radius:1.1rem;--shadow:0 24px 70px rgba(4,23,17,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;scrollbar-color:var(--green) var(--mist);scrollbar-width:thin}html::-webkit-scrollbar{width:11px}html::-webkit-scrollbar-track{background:var(--mist)}html::-webkit-scrollbar-thumb{background:var(--green);border:3px solid var(--mist);border-radius:99px}html::-webkit-scrollbar-thumb:hover{background:var(--forest)}body{margin:0;background:var(--white);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}button,a{touch-action:manipulation;cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:650;line-height:1.02;letter-spacing:-.045em}h1{font-size:clamp(3.25rem,7.5vw,7.4rem);max-width:950px;margin-bottom:1.6rem}h1 em{font-family:Bonum,Georgia,serif;color:#a9d0b5;font-weight:700}h2{font-size:clamp(2.45rem,5vw,5rem);max-width:850px;margin-bottom:1.4rem}h3{line-height:1.2}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem 1rem;z-index:99}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid #c99356;outline-offset:4px}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;transition:.3s;background:linear-gradient(180deg,rgba(7,27,63,.86),transparent)}.site-header.scrolled{height:74px;background:rgba(250,252,250,.94);box-shadow:0 8px 28px rgba(4,23,17,.08);backdrop-filter:blur(14px)}.brand{width:190px;display:block;transition:width .3s}.brand img{width:100%;height:auto;filter:brightness(0) invert(1)}.site-header.scrolled .brand{width:160px}.site-header.scrolled .brand img{filter:none}.main-nav{display:flex;align-items:center;gap:clamp(1rem,2.2vw,2rem);font-size:.82rem;font-weight:650;color:white}.site-header.scrolled .main-nav{color:var(--ink)}.main-nav a{text-decoration:none}.main-nav>a:not(.nav-cta){position:relative}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:2px;background:#9fc8ab;transform:scaleX(0);transform-origin:left;transition:.25s}.main-nav>a:hover::after{transform:scaleX(1)}.nav-cta{padding:.75rem 1rem;border:1px solid currentColor;border-radius:999px}.menu-toggle{display:none;background:none;border:0;width:46px;height:46px;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:currentColor;margin:5px}
.hero{position:relative;min-height:830px;height:100svh;overflow:hidden;background:linear-gradient(120deg,rgba(7,27,63,.98) 0%,rgba(8,31,45,.93) 55%,rgba(16,47,37,.9) 100%);color:white;padding:clamp(10rem,18vh,13rem) var(--pad) 5rem;display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:3rem;align-items:end}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 38%,rgba(69,143,94,.22),transparent 35%),linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.04) 50%,transparent 50.1%);pointer-events:none}.hero-copy,.hero-proof,.hero-coordinate{position:relative;z-index:2}.eyebrow{text-transform:uppercase;font-weight:750;letter-spacing:.19em;font-size:.72rem;color:var(--green);margin-bottom:1.35rem}.hero .eyebrow,.technology .eyebrow,.contact .eyebrow{color:#a9d0b5}.hero-lead{font-size:clamp(1rem,1.8vw,1.3rem);max-width:690px;color:rgba(255,255,255,.74);line-height:1.65}.hero-actions,.contact-actions{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap;margin-top:2.4rem}.button{display:inline-flex;align-items:center;gap:.8rem;min-height:52px;padding:.85rem 1.25rem;border-radius:999px;text-decoration:none;font-weight:750;font-size:.88rem;transition:.25s}.button-primary{background:#b5d8bc;color:var(--forest)}.button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.2)}.text-link{font-weight:680;text-underline-offset:7px;font-size:.9rem}.hero-proof{border-left:1px solid rgba(255,255,255,.2);padding-left:2rem}.hero-proof p{padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.13);margin:0}.hero-proof strong,.hero-proof span{display:block}.hero-proof strong{font-size:1rem}.hero-proof span{font-size:.75rem;color:rgba(255,255,255,.6)}.hero-coordinate{position:absolute;right:var(--pad);top:125px;font-size:.68rem;letter-spacing:.2em;color:rgba(255,255,255,.45)}.contours{position:absolute;width:min(72vw,900px);height:100%;right:-8%;top:0;opacity:.42}.contours svg{width:100%;height:100%}.contour-lines{fill:none;stroke:#94c5a5;stroke-width:1.25}.contour-lines path{stroke-dasharray:10 7;animation:drift 18s linear infinite}.contour-lines path:nth-child(even){animation-direction:reverse;animation-duration:22s}.survey-pulse{fill:#d7e9d7;animation:pulse 2.4s ease-out infinite}.crosshair{fill:none;stroke:#d7e9d7;stroke-width:1;opacity:.65}@keyframes drift{to{stroke-dashoffset:-220}}@keyframes pulse{0%,100%{r:7;opacity:1}50%{r:20;opacity:.15}}
.trust-strip{min-height:74px;background:#dce9df;display:grid;grid-template-columns:repeat(4,1fr);padding:0 var(--pad);align-items:center;text-align:center;color:var(--forest);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.14em}.trust-strip p{margin:0;border-right:1px solid rgba(16,47,37,.18)}.trust-strip p:last-child{border:0}.section{padding:clamp(6rem,11vw,10rem) var(--pad)}.section-intro{display:grid;grid-template-columns:1fr 2fr;column-gap:4rem;max-width:var(--max);margin:0 auto clamp(3.5rem,7vw,6rem)}.section-intro .eyebrow{grid-row:1 / span 2}.section-intro h2,.section-intro>p:last-child{grid-column:2}.section-intro>p:last-child{color:var(--muted);max-width:680px;font-size:1.05rem}.service-list{max-width:var(--max);margin:auto;border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:1fr 1.35fr 2fr;gap:2rem;padding:2.6rem 0;border-bottom:1px solid var(--line)}.service-title{display:flex;gap:1rem;align-items:flex-start}.service-title span{color:var(--green);font-size:1.35rem}.service-item h3{font-size:1.35rem;margin:0}.service-item>p{color:var(--muted)}.service-item ul{margin:0;columns:2;column-gap:2rem;padding-left:1.1rem}.service-item li{break-inside:avoid;margin-bottom:.55rem;font-size:.88rem}.service-drone{background:var(--mist);margin:0 calc(var(--pad)*-.45);padding-left:calc(var(--pad)*.45);padding-right:calc(var(--pad)*.45);border:0;border-radius:var(--radius)}.service-equipment{grid-column:2/-1;position:relative;min-height:230px;margin:0;border-radius:calc(var(--radius)*.7);overflow:hidden;background:linear-gradient(145deg,#d9e3dc,#f7faf7)}.service-equipment img{width:100%;height:230px;object-fit:cover}.service-equipment figcaption{position:absolute;left:1rem;bottom:1rem;max-width:320px;padding:.55rem .75rem;border-radius:.45rem;background:rgba(7,27,63,.88);color:white;font-size:.7rem;font-weight:650;letter-spacing:.02em}
.technology{background:var(--forest);color:white}.section-intro.light>p:last-child{color:rgba(255,255,255,.64)}.equipment-grid{max-width:var(--max);margin:auto;display:grid;gap:2.5rem}.equipment-card{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;background:#f7faf7;color:var(--ink);border-radius:var(--radius);overflow:hidden;min-height:420px}.equipment-card.reverse{grid-template-columns:1fr 1.2fr}.equipment-card.reverse .equipment-image{order:2}.equipment-image{height:100%;min-height:420px;display:grid;place-items:center;background:linear-gradient(145deg,#d9e3dc,#f7faf7);overflow:hidden}.equipment-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.equipment-card:hover img{transform:scale(1.025)}.drone-image img{object-position:center}.equipment-copy{padding:clamp(2rem,5vw,5rem)}.equipment-index{font-size:.68rem;letter-spacing:.18em;color:var(--green);font-weight:800}.equipment-copy h3{font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.03em}.equipment-copy>p:last-child{color:var(--muted)}
.clients{background:#f3f6f3}.client-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-grid>a,.client-grid>div{position:relative;min-height:118px;padding:1.4rem 3rem 1.4rem 1.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;background:rgba(255,255,255,.46)}.client-grid>a.has-logo{min-height:176px;gap:.7rem}.client-logo{width:auto;height:54px;max-width:165px;object-fit:contain;object-position:left center;padding:.35rem;background:white;border-radius:.4rem}.client-grid span{font-size:clamp(.92rem,1.4vw,1.12rem);font-weight:720;line-height:1.3}.client-grid small{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.13em}.client-grid>a::after{content:"↗";position:absolute;right:1.35rem;top:1.25rem;color:var(--green);font-weight:800}.client-grid>a{transition:background .25s,color .25s}.client-grid>a:hover{background:var(--forest);color:white}.client-grid>a:hover small{color:#a9d0b5}.clients-note{max-width:var(--max);margin:2rem auto 0;color:var(--muted);font-size:.85rem}
.process{background:var(--mist)}.process-list{list-style:none;padding:0;margin:0 auto;max-width:var(--max);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-list li{padding:2rem 1.6rem 1rem;border-right:1px solid var(--line)}.process-list li:last-child{border:0}.process-list span{font-size:.7rem;color:var(--green);font-weight:800}.process-list h3{margin:2.7rem 0 .7rem}.process-list p{font-size:.88rem;color:var(--muted)}
.about{max-width:calc(var(--max) + var(--pad)*2);margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,9rem);align-items:center}.about-year{border-right:1px solid var(--line);padding-right:4rem;text-align:right}.about-year span,.about-year strong{display:block}.about-year span{text-transform:uppercase;letter-spacing:.25em;color:var(--green);font-size:.7rem}.about-year strong{font-size:clamp(6rem,15vw,12rem);line-height:.8;letter-spacing:-.09em;color:transparent;-webkit-text-stroke:2px var(--green)}.about-copy p:not(.eyebrow){color:var(--muted);max-width:680px}.about-copy blockquote{font-family:Bonum,Georgia,serif;font-size:clamp(1.45rem,3vw,2.5rem);color:var(--earth);margin:2.4rem 0 0;padding-left:1.3rem;border-left:3px solid var(--earth)}
.team{background:var(--mist)}.team-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.team-member{min-height:285px;padding:clamp(1.6rem,4vw,3.2rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:92px 1fr;gap:clamp(1.3rem,3vw,2.4rem);background:rgba(255,255,255,.45)}.team-mark{font-family:Bonum,Georgia,serif;font-size:3.4rem;font-style:italic;line-height:1;color:transparent;-webkit-text-stroke:1px var(--green);letter-spacing:-.08em}.team-role{margin-bottom:1.35rem;color:var(--green);font-size:.65rem;font-weight:780;text-transform:uppercase;letter-spacing:.13em}.team-content h3{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.025em;margin-bottom:.9rem}.team-summary{color:var(--muted);margin:0;max-width:470px}.team-credential{margin:1rem 0 0;padding-top:.8rem;border-top:1px solid var(--line);color:var(--forest);font-size:.78rem;font-weight:720}.team-credential span{margin-right:.45rem;color:var(--green);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.team-credentials{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line)}.team-credentials p{margin:0;color:var(--forest);font-size:.72rem;font-weight:720;white-space:nowrap}.team-credentials span{margin-right:.22rem;color:var(--green);font-size:.58rem;font-weight:820;letter-spacing:.08em}
.contact{background:var(--navy);color:white;padding:clamp(6rem,11vw,9rem) var(--pad);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(3rem,8vw,8rem)}.contact-copy,.contact-details{max-width:780px}.contact h2{font-size:clamp(3rem,6vw,6rem)}.contact-copy>p:not(.eyebrow){color:rgba(255,255,255,.7);max-width:640px}.button-light{background:white;color:var(--navy)}.light-link{color:white}.contact-details{font-style:normal;border-top:1px solid rgba(255,255,255,.2)}.contact-details>div{padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.contact-details span{display:block;color:#a9d0b5;text-transform:uppercase;letter-spacing:.16em;font-size:.63rem;margin-bottom:.35rem}.contact-details a,.contact-details p{display:block;text-decoration:none;margin:0;color:rgba(255,255,255,.85)}.site-footer{padding:2.2rem var(--pad);display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:2rem;font-size:.7rem;color:var(--muted);background:#f0f4f0}.site-footer img{width:200px;height:auto}.site-footer p{margin:0}.whatsapp-float{position:fixed;right:1.2rem;bottom:1.2rem;z-index:45;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#1f9d57;color:white;font-weight:850;text-decoration:none;box-shadow:0 12px 35px rgba(0,0,0,.22)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:74px;background:rgba(250,252,250,.96);color:var(--ink)}.brand,.site-header.scrolled .brand{width:160px}.brand img{filter:none}.menu-toggle{display:block;color:var(--forest)}.main-nav{display:none;position:absolute;top:74px;left:0;width:100%;padding:1.5rem var(--pad) 2rem;background:var(--white);color:var(--ink);flex-direction:column;align-items:stretch;box-shadow:0 18px 30px rgba(0,0,0,.1)}.main-nav.open{display:flex}.hero{height:auto;min-height:850px;grid-template-columns:1fr;align-content:end;padding-top:9rem}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid rgba(255,255,255,.2);padding:0}.hero-proof p{padding:1rem}.hero-coordinate{display:none}.section-intro{grid-template-columns:1fr}.section-intro .eyebrow,.section-intro h2,.section-intro>p:last-child{grid-column:1;grid-row:auto}.service-item{grid-template-columns:1fr 1fr}.service-item ul,.service-equipment{grid-column:1/-1}.equipment-card,.equipment-card.reverse{grid-template-columns:1fr}.equipment-card.reverse .equipment-image{order:0}.client-grid{grid-template-columns:repeat(2,1fr)}.process-list{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr}.about-year{border-right:0;border-bottom:1px solid var(--line);padding:0 0 3rem;text-align:left}.team-member{grid-template-columns:70px 1fr}.contact{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;text-align:center;justify-items:center}}
@media(max-width:600px){h1{font-size:clamp(2.9rem,15vw,4.5rem)}.hero{min-height:760px;padding-bottom:2rem}.hero-proof{grid-template-columns:1fr}.hero-proof p{display:grid;grid-template-columns:1fr 1fr}.trust-strip{grid-template-columns:1fr 1fr;padding:1rem}.trust-strip p{padding:.55rem;border:0}.service-item{grid-template-columns:1fr;gap:.7rem;padding:2rem 0}.service-item ul{grid-column:auto;columns:1}.service-equipment{grid-column:1;min-height:190px;margin-top:1rem}.service-equipment img{height:190px}.service-drone{border-radius:0}.equipment-image{min-height:290px}.client-grid{grid-template-columns:1fr}.client-grid>a,.client-grid>div{min-height:96px}.process-list{grid-template-columns:1fr}.process-list li{border-right:0;border-bottom:1px solid var(--line)}.process-list h3{margin-top:1rem}.team-grid{grid-template-columns:1fr}.team-member{min-height:0;grid-template-columns:58px 1fr;padding:1.5rem}.team-mark{font-size:2.7rem}.contact-actions{align-items:flex-start;flex-direction:column}.site-footer{padding-bottom:5.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media(forced-colors:active){html{scrollbar-color:auto}.button,.nav-cta{border:1px solid ButtonText}}

/* Topografia Viva — assinatura visual TerraSat */
:root{--signal:#b9deb9;--survey:#d2aa72;--neon-survey:#7ee7d4}
body{overflow-x:hidden}
.topography-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.9;pointer-events:none}
.hero-grid{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 0%,#000 58%,#000 100%)}
.hero::after{content:"";position:absolute;z-index:1;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(3,17,34,.46));pointer-events:none}
.hero-copy{max-width:980px}
.hero-copy h1{position:relative;text-wrap:balance}
.hero-copy h1::after{content:"";display:block;width:clamp(82px,9vw,132px);height:2px;margin-top:1.4rem;background:linear-gradient(90deg,var(--signal),transparent)}
.hero-proof{backdrop-filter:blur(2px)}
.hero-coordinate{display:flex;gap:1.4rem}.hero-coordinate span:first-child{color:var(--signal)}
.survey-readout{position:absolute;z-index:2;right:clamp(3rem,12vw,12rem);top:38%;display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.62);font-size:.55rem;font-weight:700;line-height:1.45;letter-spacing:.16em}
.survey-readout i{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 8px rgba(185,222,185,.1);animation:surveyBeat 2.8s ease-in-out infinite}
@keyframes surveyBeat{50%{box-shadow:0 0 0 18px rgba(185,222,185,0);transform:scale(.82)}}
.trust-strip{position:relative;z-index:3;box-shadow:0 -1px rgba(255,255,255,.08)}
.section-intro h2{text-wrap:balance}
.services{position:relative;background:linear-gradient(90deg,transparent calc(50% - .5px),rgba(16,47,37,.045) 50%,transparent calc(50% + .5px))}
.service-item{position:relative;transition:background-color .35s ease,padding .35s ease}
.service-item::before{content:"";position:absolute;left:-1.1rem;top:3.12rem;width:5px;height:5px;border-radius:50%;background:var(--green);opacity:0;transition:opacity .3s,transform .3s}
.service-item:hover::before{opacity:1;transform:scale(1.6)}
.service-item:not(.service-drone):hover{background:rgba(237,243,239,.42)}
.process{position:relative;overflow:hidden}
.process::after{content:"";position:absolute;right:-9%;bottom:-52%;width:40vw;aspect-ratio:1;border:1px solid rgba(40,100,67,.1);border-radius:44% 56% 48% 52%;box-shadow:0 0 0 30px rgba(40,100,67,.035),0 0 0 70px rgba(40,100,67,.025);transform:rotate(18deg);pointer-events:none}

.terrain{position:relative;min-height:820px;padding:clamp(6rem,10vw,9rem) var(--pad);display:grid;grid-template-columns:minmax(290px,.72fr) minmax(520px,1.28fr);align-items:center;gap:clamp(3rem,7vw,8rem);overflow:hidden;background:#061b19;color:white}
.terrain::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 48%,rgba(47,118,79,.23),transparent 34%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,96px 100%;pointer-events:none}
.terrain-copy,.terrain-stage{position:relative;z-index:1}
.terrain-copy{max-width:560px}.terrain-copy h2{font-size:clamp(2.8rem,5.3vw,5.8rem);text-wrap:balance}.terrain-copy>p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.66);font-size:1.02rem}
.terrain-legend{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.14);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.terrain-legend span{display:flex;align-items:center;gap:.6rem}.terrain-legend i{display:block}.legend-point{width:5px;height:5px;border-radius:50%;background:var(--signal);box-shadow:8px 2px 0 rgba(185,222,185,.45),3px -7px 0 rgba(185,222,185,.7)}.legend-line{width:24px;height:1px;background:var(--survey)}
.terrain-stage{min-height:clamp(430px,52vw,680px);margin:0;border:1px solid rgba(185,222,185,.16);background:rgba(3,18,24,.58);overflow:hidden;box-shadow:0 38px 90px rgba(0,0,0,.22)}
.terrain-stage::before,.terrain-stage::after{content:"";position:absolute;width:26px;height:26px;z-index:2;pointer-events:none}.terrain-stage::before{left:14px;top:14px;border-left:1px solid var(--signal);border-top:1px solid var(--signal)}.terrain-stage::after{right:14px;bottom:46px;border-right:1px solid var(--signal);border-bottom:1px solid var(--signal)}
.terrain-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0}
.terrain-stage figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:rgba(3,18,24,.72);border-top:1px solid rgba(255,255,255,.1);font-size:.57rem;font-weight:720;letter-spacing:.13em;color:rgba(255,255,255,.55)}
.terrain-stage figcaption span:last-child{color:var(--signal)}
.terrain-axis{position:absolute;right:1.4rem;top:1.3rem;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;font-size:.55rem;color:rgba(255,255,255,.43)}
.terrain-axis span{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(255,255,255,.14)}
.about{position:relative}.about::before{content:"1987";position:absolute;right:0;top:10%;font-size:clamp(10rem,25vw,23rem);font-weight:800;line-height:.7;letter-spacing:-.1em;color:rgba(40,100,67,.025);pointer-events:none}
.client-grid>a,.client-grid>div,.team-member{transition:background-color .3s ease,transform .3s ease}
.team-member:hover{background:rgba(255,255,255,.8)}
.contact{position:relative;overflow:hidden}.contact::after{content:"";position:absolute;right:-10%;bottom:-80%;width:58vw;aspect-ratio:1;border:1px solid rgba(185,222,185,.08);border-radius:50%;box-shadow:0 0 0 42px rgba(185,222,185,.025),0 0 0 96px rgba(185,222,185,.018);pointer-events:none}
.contact-copy,.contact-details{position:relative;z-index:1}

@media(max-width:1050px){.terrain{grid-template-columns:1fr;min-height:0}.terrain-copy{max-width:760px}.terrain-stage{min-height:min(70vw,650px)}}
@media(max-width:900px){.hero-grid{background-size:54px 54px}.survey-readout{right:var(--pad);top:27%}.service-item::before{display:none}}
@media(max-width:600px){.hero-copy h1::after{margin-top:1rem}.survey-readout{top:22%;right:1.1rem;opacity:.78}.terrain{padding-left:0;padding-right:0;gap:2.5rem}.terrain-copy{padding:0 var(--pad)}.terrain-stage{min-height:125vw;border-left:0;border-right:0}.terrain-stage figcaption{font-size:.48rem}.terrain-legend{gap:1rem}.hero-grid{mask-image:linear-gradient(180deg,#000,transparent 76%)}}
@media(prefers-reduced-motion:reduce){.survey-readout i{animation:none}.topography-canvas,.terrain-stage canvas{opacity:.88}}

/* Curvas de nível — retorno à linguagem tracejada, com profundidade refinada */
.refined-contours{right:-4%;width:min(78vw,1040px);opacity:.62;z-index:0;filter:drop-shadow(0 12px 28px rgba(4,20,18,.12));mask-image:linear-gradient(90deg,transparent 1%,rgba(0,0,0,.35) 16%,#000 43%,#000 100%)}
.refined-contours .contour-lines,.refined-contours .contour-lines path{fill:none;stroke:var(--signal);stroke-width:1.08;vector-effect:non-scaling-stroke}
.refined-contours .contour-flow-a path{stroke-dasharray:8 8;animation:contourTravel 19s linear infinite}
.refined-contours .contour-flow-a path:nth-child(2n){stroke-dasharray:4 10;animation-direction:reverse;animation-duration:25s;opacity:.72}
.refined-contours .contour-flow-a path:nth-child(3n){stroke-width:1.65;stroke-dasharray:18 9;animation-duration:31s;opacity:.88}
.refined-contours .contour-flow-b{opacity:.52}.refined-contours .contour-flow-b path{stroke:var(--survey)}
.refined-contours .contour-flow-b path{stroke-dasharray:2 12;animation:contourTravelReverse 34s linear infinite}
.refined-contours .survey-ring{fill:none;stroke:var(--survey);stroke-width:.8;stroke-dasharray:3 6;transform-origin:474px 203px;animation:surveyOrbit 18s linear infinite}
.refined-contours .survey-pulse{fill:var(--signal)}
.refined-contours .crosshair{stroke:var(--survey)}
.refined-contours .survey-network{font-family:Montserrat,Arial,sans-serif;font-size:10px;font-weight:780;letter-spacing:1.4px}
.refined-contours .survey-node circle{fill:var(--signal);stroke:rgba(7,27,63,.75);stroke-width:2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:networkPoint 3.2s ease-in-out infinite}
.refined-contours .survey-node text{fill:rgba(255,255,255,.82);paint-order:stroke;stroke:rgba(7,27,63,.72);stroke-width:3px;stroke-linejoin:round}
.refined-contours .survey-node:nth-child(2) circle{animation-delay:-.45s}.refined-contours .survey-node:nth-child(3) circle{animation-delay:-.9s}.refined-contours .survey-node:nth-child(4) circle{animation-delay:-1.35s}.refined-contours .survey-node:nth-child(5) circle{animation-delay:-1.8s}.refined-contours .survey-node:nth-child(6) circle{animation-delay:-2.25s}
.refined-contours .node-base circle{fill:var(--survey)}
@keyframes contourTravel{to{stroke-dashoffset:-280}}
@keyframes contourTravelReverse{to{stroke-dashoffset:220}}
@keyframes surveyOrbit{to{transform:rotate(360deg)}}
@keyframes networkPoint{0%,100%{opacity:.68;transform:scale(.82)}50%{opacity:1;transform:scale(1.45)}}

/* Localização — croqui técnico + mapa navegável */
.location{padding:clamp(6rem,10vw,9rem) var(--pad);display:grid;grid-template-columns:minmax(280px,.68fr) minmax(620px,1.32fr);gap:clamp(3rem,7vw,7rem);align-items:center;background:#f4f7f4;position:relative;overflow:hidden}
.location::before{content:"";position:absolute;left:-14vw;bottom:-24vw;width:50vw;aspect-ratio:1;border:1px solid rgba(40,100,67,.07);border-radius:45% 55% 52% 48%;box-shadow:0 0 0 34px rgba(40,100,67,.025),0 0 0 82px rgba(40,100,67,.018);transform:rotate(-16deg);pointer-events:none}
.location-copy,.location-visual{position:relative;z-index:1}.location-copy{max-width:520px}.location-copy h2{font-size:clamp(2.7rem,5vw,5.3rem);text-wrap:balance}.location-copy>p:not(.eyebrow){color:var(--muted);max-width:480px}
.location-copy address{display:grid;gap:.25rem;margin:2rem 0;font-style:normal;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.location-copy address strong{font-size:.88rem}.location-copy address span{font-size:.78rem;color:var(--muted)}
.location-button{border:1px solid var(--forest);color:var(--forest);background:transparent}.location-button:hover{background:var(--forest);color:white}
.location-visual{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(350px,1.15fr);min-height:560px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(16,47,37,.1)}
.route-sketch{position:relative;min-height:560px;margin:0;overflow:hidden;background:var(--forest);color:white;border-right:1px solid rgba(255,255,255,.13)}
.route-sketch::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:44px 44px;opacity:.55}
.sketch-contours i{position:absolute;border:1px solid rgba(185,222,185,.17);border-radius:45% 55% 50% 50%;transform:rotate(-12deg)}.sketch-contours i:nth-child(1){width:360px;height:230px;left:-160px;bottom:32px}.sketch-contours i:nth-child(2){width:300px;height:182px;left:-130px;bottom:57px}.sketch-contours i:nth-child(3){width:238px;height:135px;left:-100px;bottom:81px}
.sketch-road{position:absolute;left:47%;top:-12%;width:42px;height:126%;border-left:1px dashed rgba(255,255,255,.36);border-right:1px dashed rgba(255,255,255,.36);background:rgba(255,255,255,.035);transform:rotate(8deg);transform-origin:center}
.sketch-road::after{content:"";position:absolute;left:50%;top:0;height:100%;border-left:1px solid rgba(210,170,114,.55)}
.sketch-road-name{position:absolute;left:31%;top:50%;font-size:.58rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.62);transform:rotate(-82deg);white-space:nowrap}
.sketch-origin{position:absolute;left:1.4rem;top:1.4rem;font-size:.69rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.sketch-origin small{font-size:.52rem;color:rgba(255,255,255,.5)}
.sketch-pin{position:absolute;right:1.2rem;top:37%;display:grid;justify-items:center;line-height:1.2}.sketch-pin i{width:24px;height:24px;margin-bottom:.8rem;border-radius:50% 50% 50% 0;background:var(--signal);transform:rotate(-45deg);box-shadow:0 0 0 9px rgba(185,222,185,.08)}.sketch-pin i::after{content:"";display:block;width:7px;height:7px;border-radius:50%;background:var(--forest);margin:8px}.sketch-pin strong{font-size:.7rem;letter-spacing:.1em}.sketch-pin span{font-size:.6rem;color:var(--signal)}
.route-sketch figcaption{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.14);font-size:.48rem;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.map-frame{position:relative;min-height:560px;background:#dfe7e1}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.75) contrast(1.04)}

@media(max-width:1120px){.location{grid-template-columns:1fr}.location-copy{max-width:760px}.location-visual{grid-template-columns:minmax(260px,.7fr) minmax(400px,1.3fr)}}
@media(max-width:720px){.refined-contours{width:142vw;right:-43%;opacity:.56;mask-image:linear-gradient(180deg,#000 0%,#000 70%,transparent 100%)}.location{padding-left:0;padding-right:0}.location-copy{padding:0 var(--pad)}.location-visual{grid-template-columns:1fr;border-left:0;border-right:0}.route-sketch{min-height:390px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.map-frame{min-height:430px}.sketch-road{height:140%;top:-20%}}
@media(prefers-reduced-motion:reduce){.refined-contours path,.refined-contours .survey-ring,.refined-contours .survey-node circle{animation:none!important}}

/* Públicos prioritários — quatro sinais gráficos inspirados no território. */
.audience-band{position:relative;isolation:isolate;padding:clamp(2.1rem,3.2vw,3rem) var(--pad) clamp(2.35rem,3.5vw,3.25rem);overflow:hidden;background:linear-gradient(112deg,#0c382c 0%,#0b3029 56%,#092a29 100%);color:#fff}
.audience-band::before{content:"";position:absolute;z-index:-1;right:-9%;top:-68%;width:48vw;aspect-ratio:1;border:1px solid rgba(185,222,185,.065);border-radius:46% 54% 48% 52%;box-shadow:0 0 0 38px rgba(185,222,185,.028),0 0 0 78px rgba(185,222,185,.02),0 0 0 122px rgba(185,222,185,.014);transform:rotate(-12deg);pointer-events:none}
.audience-heading{display:grid;grid-template-columns:minmax(150px,.42fr) minmax(360px,1.18fr) minmax(250px,.7fr);gap:clamp(1.2rem,3vw,3.4rem);align-items:end;padding-bottom:1.35rem;border-bottom:1px solid rgba(255,255,255,.16)}
.audience-heading .eyebrow{margin:0 0 .25rem;color:var(--signal)}.audience-heading h2{max-width:680px;margin:0;font-size:clamp(1.72rem,2.45vw,2.75rem);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}.audience-heading>p:last-child{max-width:350px;margin:0;color:rgba(255,255,255,.62);font-size:.72rem;line-height:1.55}
.audience-list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0}
.audience-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;min-width:0;padding:1.35rem clamp(.9rem,1.7vw,1.55rem) .35rem;border-right:1px solid rgba(255,255,255,.13);transition:background-color .25s ease,transform .25s ease}.audience-card:first-child{padding-left:0}.audience-card:last-child{padding-right:0;border-right:0}.audience-card:hover{background:linear-gradient(180deg,rgba(185,222,185,.055),transparent 86%);transform:translateY(-2px)}
.audience-card-copy{display:flex;min-width:0;flex-direction:column}.audience-card strong{font-size:.83rem;line-height:1.25}.audience-card-copy>span{min-height:3.65em;margin-top:.42rem;color:rgba(255,255,255,.64);font-size:.65rem;line-height:1.52}.audience-card small{display:block;margin-top:auto;padding-top:.72rem;color:var(--signal);font-size:.45rem;font-weight:760;line-height:1.3;letter-spacing:.11em;text-transform:uppercase}
.audience-icon{position:relative;display:block;width:64px;height:64px;overflow:hidden;border:1px solid rgba(185,222,185,.31);border-radius:49% 51% 45% 55%/54% 45% 55% 46%;background:radial-gradient(circle at 68% 24%,rgba(126,231,212,.14),transparent 30%),rgba(3,24,29,.5);box-shadow:inset 0 0 22px rgba(126,231,212,.04),0 10px 24px rgba(0,0,0,.12);color:#aee8cf}
.audience-icon i,.audience-icon b{position:absolute;display:block;box-sizing:border-box}.audience-icon::after{content:"";position:absolute;right:8px;top:8px;width:7px;height:7px;border-top:1px solid rgba(210,170,114,.75);border-right:1px solid rgba(210,170,114,.75)}
.audience-icon-rural i{left:9px;border:1px solid currentColor;border-bottom-color:transparent;border-radius:50%;transform:rotate(-9deg)}.audience-icon-rural i:nth-child(1){top:20px;width:47px;height:25px;opacity:.42}.audience-icon-rural i:nth-child(2){left:14px;top:27px;width:38px;height:19px;opacity:.66}.audience-icon-rural i:nth-child(3){left:20px;top:34px;width:28px;height:13px}.audience-icon-rural b{left:30px;top:15px;width:7px;height:7px;border:2px solid #d2aa72;border-radius:50%;box-shadow:0 0 0 4px rgba(210,170,114,.1)}
.audience-icon-business::before{content:"";position:absolute;left:13px;right:13px;top:30px;border-top:1px solid currentColor;transform:rotate(-24deg);transform-origin:center}.audience-icon-business b{left:17px;top:38px;width:29px;height:17px;border-top:1px solid rgba(174,232,207,.36);border-right:1px solid rgba(174,232,207,.36);transform:skewY(-24deg)}.audience-icon-business i{width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;background:#0a312a}.audience-icon-business i:nth-child(1){left:12px;top:38px}.audience-icon-business i:nth-child(2){left:25px;top:31px}.audience-icon-business i:nth-child(3){left:38px;top:25px}.audience-icon-business i:nth-child(4){left:49px;top:18px;border-color:#d2aa72;box-shadow:0 0 0 4px rgba(210,170,114,.08)}
.audience-icon-engineering::before{content:"";position:absolute;left:15px;bottom:14px;width:33px;height:35px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(174,232,207,.16) 7px 8px),repeating-linear-gradient(90deg,transparent 0 7px,rgba(174,232,207,.16) 7px 8px)}.audience-icon-engineering::after{right:11px;top:13px;width:28px;height:28px;border:1px solid #d2aa72;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(-9deg)}.audience-icon-engineering i:nth-child(1){left:12px;bottom:22px;width:7px;border-top:1px solid currentColor}.audience-icon-engineering i:nth-child(2){left:12px;bottom:31px;width:7px;border-top:1px solid currentColor}.audience-icon-engineering i:nth-child(3){left:12px;bottom:40px;width:7px;border-top:1px solid currentColor}.audience-icon-engineering b{right:14px;bottom:17px;width:20px;border-top:1px dashed rgba(210,170,114,.75);transform:rotate(-43deg)}
.audience-icon-territory{padding:13px}.audience-icon-territory i{width:17px;height:15px;border:1px solid rgba(174,232,207,.64)}.audience-icon-territory i:nth-child(1){left:12px;top:13px}.audience-icon-territory i:nth-child(2){left:31px;top:13px;width:20px}.audience-icon-territory i:nth-child(3){left:12px;top:30px;width:23px;height:20px}.audience-icon-territory i:nth-child(4){left:37px;top:30px;width:14px;height:20px}.audience-icon-territory b{left:30px;top:22px;width:13px;height:13px;border:2px solid #d2aa72;border-radius:50% 50% 50% 0;background:#0a312a;box-shadow:0 0 0 4px rgba(210,170,114,.08);transform:rotate(-45deg)}.audience-icon-territory b::after{content:"";position:absolute;left:3px;top:3px;width:3px;height:3px;border-radius:50%;background:#d2aa72}
@media(max-width:1050px){.audience-heading{grid-template-columns:150px minmax(0,1fr)}.audience-heading>p:last-child{display:none}.audience-list{grid-template-columns:repeat(2,minmax(0,1fr))}.audience-card{padding:1.2rem}.audience-card:nth-child(2){border-right:0}.audience-card:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}.audience-card:first-child{padding-left:0}.audience-card:nth-child(3){padding-left:0}}
@media(max-width:620px){.audience-band{padding-block:2rem 2.25rem}.audience-heading{grid-template-columns:1fr;gap:.55rem;padding-bottom:1rem}.audience-heading h2{font-size:clamp(1.8rem,8.7vw,2.45rem)}.audience-list{grid-template-columns:1fr}.audience-card{grid-template-columns:56px minmax(0,1fr);padding:.95rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.audience-card:nth-child(3){padding-left:0}.audience-card:last-child{border-bottom:0}.audience-icon{width:56px;height:56px;transform:scale(.9);transform-origin:left top}.audience-card-copy>span{min-height:0}.audience-card small{margin-top:.1rem;padding-top:.55rem}}
@media(prefers-reduced-motion:reduce){.audience-card{transition:none}.audience-card:hover{transform:none}}

/* Evidências técnicas — experiência, documentação e fluxo cartográfico */
.service-visual,.inspection-scope{grid-column:2/-1}
.service-visual{margin:1rem 0 0;border:1px solid var(--line);overflow:hidden}
.proof-kicker{display:block;font-size:.58rem;font-weight:760;letter-spacing:.18em;text-transform:uppercase}

.agrim-proof{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(420px,1.28fr);position:relative;min-height:390px;background:var(--forest);color:#fff;border-color:rgba(16,47,37,.18)}
.agrim-proof::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.08) 50%,transparent 50.1%);pointer-events:none}
.agrim-impact{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4rem)}
.agrim-impact .proof-kicker{color:var(--signal)}
.agrim-impact strong{margin:.45rem 0 -.15rem;font-size:clamp(5rem,9vw,8.6rem);font-weight:760;line-height:.9;letter-spacing:-.08em}
.agrim-impact sup{font-size:.28em;vertical-align:top;position:relative;top:.18em;margin-left:.1em;color:var(--signal)}
.agrim-impact p{max-width:260px;margin:.8rem 0;font-size:1.08rem;font-weight:680;line-height:1.25}
.agrim-impact small{max-width:290px;color:rgba(255,255,255,.6);font-size:.68rem;line-height:1.55}
.document-stack{position:relative;min-height:390px;background-color:#dfe9e2;background-image:linear-gradient(rgba(16,47,37,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,47,37,.06) 1px,transparent 1px);background-size:32px 32px;overflow:hidden}
.document-card{position:absolute;width:45%;min-height:220px;padding:1.25rem;background:#fbfcf8;color:var(--forest);box-shadow:0 24px 50px rgba(16,47,37,.2);border:1px solid rgba(16,47,37,.14)}
.document-card>span{display:block;padding-bottom:.7rem;border-bottom:1px solid rgba(16,47,37,.16);font-size:.56rem;font-weight:780;letter-spacing:.13em}
.document-card>small{position:absolute;left:1.25rem;right:1.25rem;bottom:1rem;padding-top:.55rem;border-top:1px solid rgba(16,47,37,.12);font-size:.48rem;letter-spacing:.05em;color:rgba(16,47,37,.58)}
.document-sigef{left:8%;top:14%;z-index:3;transform:rotate(-5deg)}
.document-sigef div{display:flex;align-items:center;gap:.85rem;margin-top:1.3rem}.document-sigef img{width:58px;height:58px;object-fit:contain}.document-sigef b{display:block;font-size:1.15rem}.document-sigef em{display:block;margin-top:.2rem;font-size:.5rem;font-style:normal;letter-spacing:.08em;color:var(--muted)}
.document-plan{right:8%;top:8%;z-index:2;transform:rotate(5deg)}
.parcel-shape{position:relative;width:72%;height:105px;margin:1.25rem auto;background:rgba(40,100,67,.08);border:2px solid var(--green);clip-path:polygon(13% 8%,82% 0,100% 42%,76% 96%,17% 83%,0 42%)}
.parcel-shape::before,.parcel-shape::after{content:"";position:absolute;border:1px solid rgba(107,51,42,.55);border-radius:48%}
.parcel-shape::before{inset:20px 10px 14px 18px;transform:rotate(-8deg)}.parcel-shape::after{inset:38px 24px 28px 5px;transform:rotate(9deg)}
.parcel-shape i{position:absolute;z-index:2;width:5px;height:5px;border-radius:50%;background:var(--earth)}.parcel-shape i:nth-child(1){left:14%;top:28%}.parcel-shape i:nth-child(2){right:16%;top:20%}.parcel-shape i:nth-child(3){right:25%;bottom:13%}.parcel-shape b{position:absolute;z-index:2;right:13%;top:35%;font-size:.52rem;color:var(--forest)}
.document-memorial{right:24%;bottom:-18%;z-index:4;transform:rotate(-1.5deg)}
.document-memorial i{display:block;height:4px;margin-top:.72rem;background:linear-gradient(90deg,rgba(16,47,37,.22) 76%,transparent 76%)}
.document-memorial i:nth-of-type(2){width:86%}.document-memorial i:nth-of-type(3){width:93%}.document-memorial i:nth-of-type(4){width:78%}.document-memorial i:nth-of-type(5){width:89%}
.agrim-proof figcaption{position:absolute;z-index:8;right:1rem;bottom:.7rem;max-width:58%;font-size:.48rem;line-height:1.45;letter-spacing:.05em;color:rgba(255,255,255,.6)}

.service-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.service-item{grid-column:span 2;display:flex;flex-direction:column;gap:1rem;min-height:440px;padding:clamp(1.6rem,3vw,2.4rem);border:0;background:rgba(250,252,250,.98)}
.service-item:nth-child(4),.service-item:nth-child(5){grid-column:span 3}
.service-item::before{display:none}.service-item:not(.service-drone):hover{background:#f4f8f4}.service-item>p{min-height:78px;margin:0}.service-item ul{columns:1;padding-left:1rem;margin-top:auto}.service-item li{margin-bottom:.62rem}
.service-evidence{display:grid;gap:clamp(1.5rem,3vw,2.5rem);max-width:var(--max);margin:clamp(2.5rem,5vw,4.5rem) auto 0}.service-evidence .service-visual{grid-column:auto;width:100%;margin:0}

.geo-workflow{position:relative;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(270px,.52fr);background:#071b3f;color:#fff;border-color:rgba(7,27,63,.15);isolation:isolate}
.geo-workflow::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 29% 64%,rgba(69,126,94,.22),transparent 34%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,44px 100%;pointer-events:none}
.processing-pipeline{min-width:0;padding:1.6rem 1.4rem 1.3rem}
.layer-stage-heading{display:flex;justify-content:space-between;gap:1rem;padding:.2rem .2rem 1rem;border-bottom:1px solid rgba(255,255,255,.13)}
.layer-stage-heading span{font-size:.62rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase;color:var(--signal)}.layer-stage-heading small{font-size:.58rem;color:rgba(255,255,255,.52)}
.pipeline-steps{display:grid;grid-template-columns:.75fr 1fr 1.25fr 1fr;gap:1px;margin-top:1rem;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}
.pipeline-phase{position:relative;display:flex;flex-direction:column;gap:.55rem;min-width:0;padding:.85rem;background:rgba(5,25,50,.83)}
.pipeline-phase:not(:last-child)::after{content:"→";position:absolute;z-index:4;right:-10px;top:24px;width:20px;height:20px;display:grid;place-items:center;border:1px solid rgba(185,222,185,.35);border-radius:50%;background:var(--navy);color:var(--signal);font-size:.6rem}
.pipeline-phase>span{display:block;min-height:26px;padding-bottom:.55rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.5rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.map-layer{position:relative;display:grid;grid-template-columns:38px 24px minmax(0,1fr);align-items:center;gap:.5rem;width:100%;min-height:58px;padding:.48rem;border:1px solid transparent;background:rgba(255,255,255,.025);color:#fff;text-align:left;transition:background-color .25s,border-color .25s,transform .25s}
.map-layer:hover{background:rgba(255,255,255,.075);border-color:rgba(185,222,185,.28)}.map-layer:focus-visible{outline:2px solid var(--survey);outline-offset:2px}.map-layer.is-active{border-color:var(--signal);background:rgba(185,222,185,.1);transform:translateY(-2px)}
.map-layer small{font-size:.48rem;font-weight:800;letter-spacing:.12em;color:var(--signal)}.map-layer strong{font-size:.61rem;line-height:1.25}.layer-swatch{display:block;width:38px;height:38px;border:1px solid rgba(255,255,255,.2);background:var(--layer-texture)}
.layer-aerial{--layer-texture:linear-gradient(58deg,transparent 44%,#d4ad70 45% 50%,transparent 51%),repeating-linear-gradient(12deg,#244b31 0 8px,#5f7950 8px 17px)}
.layer-cloud{--layer-texture:radial-gradient(circle,#b9deb9 1px,transparent 1.6px),#153d47;background-size:auto}.layer-cloud .layer-swatch{background-size:8px 7px}
.layer-model{--layer-texture:repeating-radial-gradient(ellipse at 45% 55%,transparent 0 5px,rgba(255,255,255,.42) 6px 7px),linear-gradient(135deg,#745b3e,#315840)}
.layer-dsm{--layer-texture:radial-gradient(circle at 72% 30%,#74905d 0 18%,transparent 19%),linear-gradient(135deg,#8c704a,#315840 62%,#a18a56)}
.layer-ortho{--layer-texture:linear-gradient(90deg,transparent 38%,#dfc68e 39% 44%,transparent 45%),repeating-linear-gradient(105deg,#315a37 0 9px,#71834e 9px 18px)}
.layer-dtm{--layer-texture:repeating-radial-gradient(ellipse at 48% 52%,transparent 0 6px,rgba(255,255,255,.38) 7px 8px),linear-gradient(145deg,#9e8055,#6f875f 55%,#70583d)}
.layer-contours{--layer-texture:repeating-radial-gradient(ellipse at 45% 58%,transparent 0 5px,#d2aa72 6px 7px),#143b32}
.layer-products{--layer-texture:linear-gradient(90deg,transparent 47%,#b9deb9 48% 51%,transparent 52%),linear-gradient(0deg,transparent 47%,#b9deb9 48% 51%,transparent 52%),#173e34}
.product-viewport{position:relative;min-height:270px;margin-top:1rem;border:1px solid rgba(255,255,255,.14);overflow:hidden;background:#0a2631}
.product-viewport::before,.product-viewport::after{content:"";position:absolute;z-index:3;pointer-events:none}.product-viewport::before{inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:34px 34px}.product-viewport::after{left:14px;top:14px;width:22px;height:22px;border-left:1px solid var(--signal);border-top:1px solid var(--signal)}
.preview-surface{position:absolute;inset:8% 7% 17%;border:1px solid rgba(255,255,255,.2);box-shadow:0 24px 50px rgba(0,0,0,.3);transform:perspective(850px) rotateX(52deg) rotateZ(-3deg) scale(.92);transition:background .4s,filter .4s,transform .4s}
.product-viewport:hover .preview-surface{transform:perspective(850px) rotateX(49deg) rotateZ(-2deg) scale(.95)}
.product-viewport>span{position:absolute;z-index:4;left:1rem;right:1rem;bottom:.75rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.12);font-size:.5rem;font-weight:760;letter-spacing:.13em;color:var(--signal)}
[data-layer-preview="aerial"] .preview-surface{background:linear-gradient(60deg,transparent 43%,rgba(224,192,133,.8) 44% 49%,transparent 50%),repeating-linear-gradient(13deg,#244d31 0 19px,#567749 19px 40px),#3b653d}
[data-layer-preview="cloud"] .preview-surface{background-color:#153d47;background-image:radial-gradient(circle,rgba(185,222,185,.95) 1px,transparent 1.7px),radial-gradient(circle,rgba(210,170,114,.72) 1px,transparent 1.7px);background-size:11px 9px,17px 14px;background-position:0 0,5px 7px}
[data-layer-preview="model"] .preview-surface{background:repeating-radial-gradient(ellipse at 42% 56%,transparent 0 12px,rgba(255,255,255,.24) 13px 14px),linear-gradient(135deg,#72593d,#2d5740 65%,#76603f)}
[data-layer-preview="dsm"] .preview-surface{background:radial-gradient(ellipse at 26% 64%,#486f4c 0 14%,transparent 15%),radial-gradient(ellipse at 70% 34%,#78945f 0 18%,transparent 19%),linear-gradient(135deg,#a08451,#315b43 58%,#887144)}
[data-layer-preview="ortho"] .preview-surface{background:linear-gradient(92deg,transparent 38%,rgba(221,196,139,.9) 39% 43%,transparent 44%),linear-gradient(12deg,transparent 57%,rgba(231,218,181,.48) 58% 61%,transparent 62%),repeating-linear-gradient(103deg,#315936 0 28px,#718451 28px 54px),#496b40}
[data-layer-preview="dtm"] .preview-surface{background:repeating-radial-gradient(ellipse at 48% 52%,rgba(255,255,255,.22) 0 1px,transparent 1px 14px),linear-gradient(145deg,#a38457,#71885f 52%,#745b3f)}
[data-layer-preview="contours"] .preview-surface{background:repeating-radial-gradient(ellipse at 45% 58%,transparent 0 12px,rgba(210,170,114,.9) 13px 14px,transparent 15px 23px),#143b32}
[data-layer-preview="products"] .preview-surface{background:linear-gradient(90deg,transparent 48%,rgba(185,222,185,.55) 49% 50%,transparent 51%),linear-gradient(0deg,transparent 48%,rgba(185,222,185,.55) 49% 50%,transparent 51%),radial-gradient(circle at 25% 33%,#d2aa72 0 8px,transparent 9px),radial-gradient(circle at 68% 66%,#b9deb9 0 10px,transparent 11px),linear-gradient(135deg,#173e34,#0b2a2a)}
.layer-inspector{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(2.2rem,4vw,3.8rem);border-left:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(4,18,42,.42),rgba(4,18,42,.76))}
.layer-inspector .proof-kicker{color:var(--signal)}.layer-detail-number{margin:1.6rem 0 .6rem;font-size:.58rem;font-weight:780;letter-spacing:.18em;color:rgba(255,255,255,.5)}
.layer-inspector>strong{font-size:clamp(1.7rem,2.6vw,2.45rem);line-height:1.04;letter-spacing:-.045em;overflow-wrap:anywhere;hyphens:auto}.layer-inspector>p{min-height:132px;margin:1.25rem 0 2rem;color:rgba(255,255,255,.7);font-size:.78rem;line-height:1.65}
.layer-output-list{display:grid;border-top:1px solid rgba(255,255,255,.13)}.layer-output-list span{padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:.61rem;color:rgba(255,255,255,.65)}
.geo-workflow figcaption{grid-column:1/-1;padding:.85rem 1.4rem;border-top:1px solid rgba(255,255,255,.1);font-size:.48rem;line-height:1.45;letter-spacing:.05em;color:rgba(255,255,255,.52)}

.inspection-scope{display:grid;grid-template-columns:repeat(2,1fr);margin-top:1rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.inspection-scope>div{min-height:160px;padding:1.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(237,243,239,.48)}
.inspection-scope span{display:block;margin-bottom:.8rem;font-size:.6rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.inspection-scope p{margin:0!important;max-width:440px!important;font-size:.72rem!important;line-height:1.6!important;color:var(--muted)!important}

@media(max-width:1050px){.service-item,.service-item:nth-child(4),.service-item:nth-child(5){grid-column:span 3}.geo-workflow{grid-template-columns:1fr}.pipeline-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-inspector{border-left:0;border-top:1px solid rgba(255,255,255,.13)}.layer-inspector>p{min-height:0;max-width:640px}.layer-output-list{grid-template-columns:repeat(2,1fr);column-gap:1.5rem}}
@media(max-width:900px){.service-visual,.inspection-scope{grid-column:1/-1}.agrim-proof{grid-template-columns:1fr}.agrim-proof::before{display:none}.agrim-impact{min-height:330px}.agrim-proof figcaption{max-width:70%}}
@media(max-width:680px){.service-item,.service-item:nth-child(4),.service-item:nth-child(5){grid-column:1/-1;min-height:0}.service-item>p{min-height:0}.agrim-proof{min-height:0}.agrim-impact{min-height:310px;padding:2rem}.document-stack{min-height:350px}.document-card{width:58%;min-height:205px;padding:1rem}.document-card>small{left:1rem;right:1rem}.document-sigef{left:4%;top:11%}.document-plan{right:3%;top:8%}.document-memorial{right:17%;bottom:-16%}.agrim-proof figcaption{left:1rem;right:1rem;max-width:none}.processing-pipeline{padding:1.25rem .8rem}.layer-stage-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.pipeline-steps{grid-template-columns:1fr}.pipeline-phase:not(:last-child)::after{content:"↓";right:calc(50% - 10px);top:auto;bottom:-10px}.product-viewport{min-height:230px}.preview-surface{inset:8% 4% 19%}.layer-inspector{padding:2rem 1.25rem}.layer-output-list{grid-template-columns:1fr}.geo-workflow figcaption{padding:.85rem 1.25rem}.inspection-scope{grid-template-columns:1fr}.inspection-scope>div{min-height:0}}

/* Ritmo global — menos vazio, mais continuidade entre conteúdo e prova */
.section{padding-block:clamp(5.25rem,8vw,8rem)}
.section-intro{row-gap:.3rem;margin-bottom:clamp(3rem,5vw,4.75rem)}
.service-item{padding-block:clamp(2.35rem,4vw,3.15rem)}
.equipment-grid{gap:clamp(1.5rem,3vw,2.5rem)}
.button:active{transform:translateY(0);box-shadow:none}
.client-grid>a:focus-visible,.location-button:focus-visible,.text-link:focus-visible{position:relative;z-index:2}
@media(max-width:600px){.section{padding-block:clamp(4.25rem,14vw,5.5rem)}.section-intro{margin-bottom:2.7rem}.service-item{padding-block:2.15rem}.reveal{transform:translateY(14px)}}
@media(forced-colors:active){.map-layer{border-color:ButtonText}.map-layer.is-active{outline:2px solid Highlight;outline-offset:2px}.layer-swatch,.product-viewport{border-color:ButtonText}}

/* MDS autoral: superfície fotogramétrica com elementos acima do terreno. */
.layer-dsm{--layer-texture:url('assets/geoprocessing/mds-superficie-terrasat.webp') center/cover no-repeat}
[data-layer-preview="dsm"] .preview-surface{inset:5% 3% 18%;background:linear-gradient(180deg,rgba(7,27,63,.04),rgba(7,27,63,.18)),url('assets/geoprocessing/mds-superficie-terrasat.webp') center/cover no-repeat;filter:saturate(.96) contrast(1.04);transform:none}
.product-viewport[data-layer-preview="dsm"]:hover .preview-surface{transform:scale(1.015)}

/* MDT autoral: solo nu interpolado, sem vegetação ou estruturas elevadas. */
.layer-dtm{--layer-texture:url('assets/geoprocessing/mdt-terreno-terrasat.webp') center/cover no-repeat}
[data-layer-preview="dtm"] .preview-surface{inset:5% 3% 18%;background:linear-gradient(180deg,rgba(7,27,63,.04),rgba(7,27,63,.18)),url('assets/geoprocessing/mdt-terreno-terrasat.webp') center/cover no-repeat;filter:saturate(.96) contrast(1.04);transform:none}
.product-viewport[data-layer-preview="dtm"]:hover .preview-surface{transform:scale(1.015)}

/* Curvas de nível derivadas do mesmo MDT, acompanhando o relevo do solo nu. */
.layer-contours{--layer-texture:url('assets/geoprocessing/curvas-nivel-mdt-terrasat.webp') center/cover no-repeat}
[data-layer-preview="contours"] .preview-surface{inset:5% 3% 18%;background:linear-gradient(180deg,rgba(7,27,63,.04),rgba(7,27,63,.18)),url('assets/geoprocessing/curvas-nivel-mdt-terrasat.webp') center/cover no-repeat;filter:saturate(.94) contrast(1.08);transform:none}
.product-viewport[data-layer-preview="contours"]:hover .preview-surface{transform:scale(1.015)}

/* Modelo 3D derivado do MDS: malha TIN preservando terreno e objetos elevados. */
.layer-model{--layer-texture:url('assets/geoprocessing/modelo-3d-mds-terrasat.webp') center/cover no-repeat}
[data-layer-preview="model"] .preview-surface{inset:5% 3% 18%;background:linear-gradient(180deg,rgba(7,27,63,.04),rgba(7,27,63,.18)),url('assets/geoprocessing/modelo-3d-mds-terrasat.webp') center/cover no-repeat;filter:saturate(.93) contrast(1.08);transform:none}
.product-viewport[data-layer-preview="model"]:hover .preview-surface{transform:scale(1.015)}

/* Ortomosaico RGB: vista nadiral ortorretificada da mesma estrutura do MDS. */
.layer-ortho{--layer-texture:url('assets/geoprocessing/ortomosaico-rgb-terrasat.webp') center/cover no-repeat}
[data-layer-preview="ortho"] .preview-surface{inset:5% 3% 18%;background:linear-gradient(180deg,rgba(7,27,63,.03),rgba(7,27,63,.1)),url('assets/geoprocessing/ortomosaico-rgb-terrasat.webp') center/cover no-repeat;filter:saturate(.9) contrast(1.05);transform:none}
.product-viewport[data-layer-preview="ortho"]:hover .preview-surface{transform:scale(1.015)}
.geo-workflow:has([data-layer-preview="ortho"]) .layer-inspector>strong{font-size:clamp(1.7rem,2.15vw,2rem);overflow-wrap:normal;hyphens:none}

/* Fotografias aéreas: posições de câmera, linhas de voo e sobreposição. */
.layer-aerial{--layer-texture:url('assets/geoprocessing/fotografias-aereas-processamento-terrasat.webp') center/cover no-repeat}
[data-layer-preview="aerial"] .preview-surface{inset:5% 3% 18%;background:linear-gradient(180deg,rgba(7,27,63,.02),rgba(7,27,63,.12)),url('assets/geoprocessing/fotografias-aereas-processamento-terrasat.webp') center/cover no-repeat;filter:saturate(.98) contrast(1.06);transform:none}
.product-viewport[data-layer-preview="aerial"]:hover .preview-surface{transform:scale(1.015)}
/* Reconstrução fotogramétrica: nuvem densa de pontos e posições de câmera. */
.layer-cloud{
  --layer-texture:url('assets/geoprocessing/nuvem-pontos-fotogrametrica-terrasat-optimized.webp') center/cover no-repeat;
}
.layer-cloud .layer-swatch{background-size:cover}
[data-layer-preview="cloud"] .preview-surface{
  inset:5% 3% 18%;
  background:
    linear-gradient(180deg,rgba(0,15,70,.04),rgba(0,15,70,.16)),
    url('assets/geoprocessing/nuvem-pontos-fotogrametrica-terrasat-optimized.webp') center/cover no-repeat;
  filter:saturate(.98) contrast(1.08);
  transform:none;
}
.product-viewport[data-layer-preview="cloud"]:hover .preview-surface{transform:scale(1.015)}

/* Explorador integrado: pilha territorial à esquerda, seleção à direita. */
.geo-workflow{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)}
.processing-pipeline{padding:1.6rem 1.5rem 1.35rem}
.layer-control-panel{min-width:0;padding:1.6rem 1.35rem 1.35rem;border-left:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(4,18,42,.36),rgba(4,18,42,.76))}
.layer-stack-visual{position:relative;min-height:460px;margin-top:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.13);background:radial-gradient(circle at 50% 74%,rgba(185,222,185,.12),transparent 42%),linear-gradient(180deg,#06142e,#09283a)}
.layer-stack-visual::before{content:"MESMA ÁREA DE LEVANTAMENTO";position:absolute;left:1rem;top:.8rem;font-size:.47rem;font-weight:780;letter-spacing:.16em;color:rgba(255,255,255,.42)}
.layer-stack-visual::after{content:"Z";position:absolute;right:1rem;top:1rem;width:24px;height:90px;border-right:1px solid rgba(185,222,185,.5);color:var(--signal);font-size:.52rem;text-align:right}
.stack-sheet{position:absolute;left:10%;right:10%;height:118px;transform:perspective(800px) rotateX(58deg) rotateZ(-2deg);transform-origin:center;transition:transform .35s,filter .35s,opacity .35s;filter:saturate(.72) brightness(.68);opacity:.72}
.stack-sheet i{position:absolute;inset:0;border:1px solid rgba(255,255,255,.24);background:var(--layer-texture);box-shadow:0 18px 28px rgba(0,0,0,.35)}
.stack-sheet span{position:absolute;z-index:2;left:-2.4rem;top:50%;transform:translateY(-50%) rotateX(-58deg);width:9rem;padding:.32rem .45rem;border-left:2px solid rgba(185,222,185,.45);background:rgba(3,15,34,.84);font-size:.51rem;font-weight:700;color:rgba(255,255,255,.68)}
.stack-sheet span b{margin-right:.38rem;color:var(--signal);font-size:.46rem}
.stack-sheet:nth-child(1){top:26px}.stack-sheet:nth-child(2){top:72px}.stack-sheet:nth-child(3){top:118px}.stack-sheet:nth-child(4){top:164px}.stack-sheet:nth-child(5){top:210px}.stack-sheet:nth-child(6){top:256px}.stack-sheet:nth-child(7){top:302px}.stack-sheet:nth-child(8){top:348px}
.stack-sheet.is-active{z-index:12;filter:saturate(1.08) brightness(1.08);opacity:1;transform:perspective(800px) rotateX(53deg) rotateZ(-1deg) translateY(-7px) scale(1.025)}
.stack-sheet.is-active i{border-color:var(--signal);box-shadow:0 0 0 1px rgba(185,222,185,.25),0 24px 38px rgba(0,0,0,.5)}
.stack-sheet.is-active span{border-left-color:var(--survey);color:#fff;background:rgba(4,20,43,.96)}
.layer-control-panel .pipeline-steps{grid-template-columns:1fr 1fr;margin-top:1rem}
.layer-control-panel .pipeline-phase{padding:.65rem;gap:.42rem}
.layer-control-panel .pipeline-phase:not(:last-child)::after{display:none}
.layer-control-panel .pipeline-phase>span{min-height:22px;padding-bottom:.35rem}
.layer-control-panel .map-layer{grid-template-columns:34px 20px minmax(0,1fr);min-height:50px;padding:.35rem}
.layer-control-panel .layer-swatch{width:34px;height:34px}
.layer-control-panel .layer-inspector{margin-top:1rem;padding:1.35rem 1.25rem;border:1px solid rgba(255,255,255,.13);background:rgba(3,17,38,.58)}
.layer-control-panel .layer-detail-number{margin:.8rem 0 .35rem}
.layer-control-panel .layer-inspector>strong{font-size:clamp(1.4rem,2vw,1.9rem)}
.layer-control-panel .layer-inspector>p{min-height:0;margin:.75rem 0 1rem}
.layer-control-panel .layer-output-list{grid-template-columns:1fr 1fr;column-gap:1rem}
.processing-pipeline .product-viewport{min-height:300px}

@media(max-width:1050px){
  .geo-workflow{grid-template-columns:1fr}
  .layer-control-panel{border-left:0;border-top:1px solid rgba(255,255,255,.13)}
  .layer-control-panel .pipeline-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .layer-stack-visual{min-height:400px}
  .stack-sheet{left:13%;right:5%;height:94px}
  .stack-sheet:nth-child(1){top:28px}.stack-sheet:nth-child(2){top:67px}.stack-sheet:nth-child(3){top:106px}.stack-sheet:nth-child(4){top:145px}.stack-sheet:nth-child(5){top:184px}.stack-sheet:nth-child(6){top:223px}.stack-sheet:nth-child(7){top:262px}.stack-sheet:nth-child(8){top:301px}
  .stack-sheet span{left:-2rem;width:7.3rem;font-size:.46rem}
  .layer-control-panel{padding:1.25rem .8rem}
  .layer-control-panel .pipeline-steps{grid-template-columns:1fr}
  .layer-control-panel .layer-output-list{grid-template-columns:1fr}
}

/* Serviços — quatro áreas, imagens equivalentes e alternância editorial. */
.service-feature-list{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,5vw,4.75rem);border:0;background:transparent}
.service-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);align-items:stretch;width:100%;min-width:0;min-height:430px;border:1px solid var(--line);background:#f7faf7;overflow:hidden}
.service-feature:nth-child(odd) .service-feature-media{order:2}
.service-feature-media{position:relative;min-width:0;min-height:430px;height:100%;margin:0;overflow:hidden;background:var(--forest);isolation:isolate}
.service-feature-media>figcaption{position:absolute;z-index:8;left:1rem;right:1rem;bottom:1rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.28);color:rgba(255,255,255,.8);font-size:.55rem;font-weight:720;letter-spacing:.13em;text-transform:uppercase}
.photo-media>picture{display:block;width:100%;height:100%}.photo-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.service-feature:hover .photo-media img{transform:scale(1.025)}
.photo-media::after{content:"";position:absolute;z-index:1;inset:50% 0 0;background:linear-gradient(transparent,rgba(4,20,30,.68));pointer-events:none}
.service-feature-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,4.2rem)}
.service-index{display:block;margin-bottom:1rem;color:var(--green);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.service-feature-copy h3{max-width:560px;margin-bottom:1rem;font-size:clamp(1.75rem,3vw,3rem);letter-spacing:-.04em}
.service-feature-copy>p{max-width:570px;margin-bottom:1.5rem;color:var(--muted);font-size:.91rem}
.service-deliveries{display:block;margin:0 0 .75rem;color:var(--forest);font-size:.57rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.service-feature-copy ul{display:grid;gap:.58rem;margin:0;padding:0;list-style:none}
.service-feature-copy li{position:relative;padding-left:1.15rem;font-size:.78rem;line-height:1.48;color:#35463e}
.service-feature-copy li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--green)}
.service-proof{display:flex;align-items:center;gap:.9rem;margin:-.35rem 0 1.25rem;padding:.9rem 1rem;border-left:3px solid var(--green);border-radius:.35rem;background:rgba(185,222,185,.25);box-shadow:inset 0 0 0 1px rgba(40,100,67,.08);color:var(--forest)}
.service-proof strong{flex:0 0 auto;font-family:Bonum,Georgia,serif;font-size:2rem;font-style:italic;line-height:1;color:var(--green)}.service-proof span{max-width:280px;font-size:.62rem;font-weight:780;line-height:1.4;letter-spacing:.075em;text-transform:uppercase}
.service-feature-action{align-self:flex-start;display:inline-flex;align-items:center;gap:.55rem;min-height:44px;margin-top:1.6rem;padding:.68rem .95rem;border:1px solid rgba(40,100,67,.34);border-radius:999px;color:var(--forest);font-size:.69rem;font-weight:760;text-decoration:none;transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}.service-feature-action:hover{background:var(--forest);border-color:var(--forest);color:#fff;transform:translateY(-2px)}.service-feature-action:active{transform:translateY(0)}
.service-feature-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:1.6rem}.service-feature-actions .service-feature-action{margin-top:0}.service-feature-action-secondary{border-color:transparent;color:var(--green)}
.service-evidence{display:none}

.regularization-media{background:linear-gradient(145deg,#e8eee9,#f8faf7)}
.regularization-media::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,47,37,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(16,47,37,.055) 1px,transparent 1px);background-size:28px 28px}
.rural-plan{position:absolute;inset:3% 1% 14%;width:82%;height:82%;filter:drop-shadow(0 16px 18px rgba(16,47,37,.12))}.parcel-fill{fill:rgba(117,145,92,.19)}.parcel-boundary{fill:none;stroke:#102f25;stroke-width:3}.internal-line{fill:none;stroke:#6b332a;stroke-width:1.1;stroke-dasharray:7 6;opacity:.62}.water-line{fill:none;stroke:#347493;stroke-width:3}.plan-vertices circle{fill:#4f1811;stroke:#fff;stroke-width:2}.plan-labels{font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:740;fill:#102f25}.plan-labels .north{font-size:18px;fill:#4f1811}
.regularization-docs{position:absolute;z-index:4;right:2.5%;top:5.5%;width:42%;height:76%;font-family:Montserrat,Arial,sans-serif}.sigef-cert-card,.memorial-table-doc,.trt-doc{position:absolute;background:#fff;border:1px solid rgba(16,47,37,.18);box-shadow:0 18px 34px rgba(16,47,37,.2)}.sigef-cert-card{z-index:3;right:0;top:0;width:72%;min-height:94px;padding:.7rem .78rem;transform:rotate(2.2deg)}.sigef-brand{display:flex;align-items:center;gap:.55rem}.sigef-brand img{flex:0 0 auto;width:48px;height:48px;object-fit:cover}.sigef-brand span,.sigef-cert-card>b,.sigef-cert-card>small{display:block}.sigef-brand strong{display:block;color:var(--forest);font-size:.82rem;letter-spacing:.06em}.sigef-brand small{display:block;color:var(--muted);font-size:.35rem;line-height:1.3}.sigef-cert-card>b{margin-top:.48rem;color:var(--green);font-size:.45rem;letter-spacing:.08em;text-transform:uppercase}.sigef-cert-card>small{color:var(--muted);font-size:.36rem}.memorial-table-doc{z-index:4;right:0;top:28%;width:100%;height:58%;padding:.66rem .7rem;transform:rotate(-1.1deg);color:var(--forest)}.memorial-table-doc>strong,.memorial-table-doc>span{display:block}.memorial-table-doc>strong{font-size:.62rem;letter-spacing:.045em;text-transform:uppercase}.memorial-table-doc>span{margin:.12rem 0 .48rem;color:var(--muted);font-size:.34rem;letter-spacing:.04em;text-transform:uppercase}.memorial-table-doc table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.29rem;line-height:1.28}.memorial-table-doc th,.memorial-table-doc td{overflow:hidden;padding:.2rem .18rem;border:1px solid rgba(16,47,37,.18);text-align:left;white-space:nowrap;text-overflow:ellipsis}.memorial-table-doc th{background:rgba(40,100,67,.1);color:var(--green);font-size:.27rem;letter-spacing:.035em;text-transform:uppercase}.memorial-table-doc th:nth-child(1){width:27%}.memorial-table-doc th:nth-child(2){width:20%}.memorial-table-doc th:nth-child(3){width:18%}.trt-doc{z-index:5;left:-22%;bottom:-8%;display:grid;grid-template-columns:auto 1fr;gap:.08rem .48rem;width:76%;min-height:74px;padding:.68rem .78rem;background:linear-gradient(135deg,#071b3f,#102f25);border-color:rgba(210,170,114,.48);color:#fff;transform:rotate(2.8deg)}.trt-doc span{grid-row:1;color:var(--signal);font-size:.36rem;font-weight:760;letter-spacing:.12em}.trt-doc strong{grid-row:1/3;align-self:center;color:#fff;font-size:1.15rem;letter-spacing:.08em}.trt-doc small,.trt-doc i{grid-column:2;display:block}.trt-doc small{font-size:.35rem;font-weight:760;line-height:1.28;letter-spacing:.055em;text-transform:uppercase}.trt-doc i{color:rgba(255,255,255,.55);font-size:.31rem;font-style:normal;letter-spacing:.045em;text-transform:uppercase}.regularization-media>figcaption{color:rgba(16,47,37,.7);border-color:rgba(16,47,37,.2)}

/* Prancha fundiária refinada — planta, certificação, memorial e responsabilidade. */
.regularization-media{background:linear-gradient(142deg,#edf3ee 0%,#f8faf7 48%,#e4ece6 100%)}
.regularization-media::before{background-image:linear-gradient(rgba(16,47,37,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(16,47,37,.05) 1px,transparent 1px);background-size:24px 24px}
.regularization-media::after{content:"";position:absolute;z-index:0;left:-18%;top:5%;width:72%;height:84%;border-radius:50%;background:repeating-radial-gradient(ellipse at 50% 54%,transparent 0 25px,rgba(40,100,67,.09) 26px 27px,transparent 28px 45px);transform:rotate(-8deg);opacity:.72;pointer-events:none}
.regularization-context{position:absolute;z-index:3;left:3.2%;top:3.5%;display:flex;gap:.35rem;flex-wrap:wrap;max-width:48%}.regularization-context span{padding:.32rem .42rem;border:1px solid rgba(16,47,37,.16);background:rgba(248,250,247,.78);color:rgba(16,47,37,.72);font-size:.36rem;font-weight:780;line-height:1;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 5px 12px rgba(16,47,37,.05);backdrop-filter:blur(5px)}
.rural-plan{z-index:2;inset:8% auto 14% 0;width:78%;height:78%;filter:drop-shadow(0 18px 22px rgba(16,47,37,.13))}.parcel-fill{fill:rgba(117,145,92,.24)}.parcel-boundary{stroke-width:3.3}.internal-line{stroke-width:1.15;stroke-dasharray:6 5;opacity:.57}.water-line{stroke:#28779a;stroke-width:3.5;filter:drop-shadow(0 1px 0 rgba(255,255,255,.75))}.plan-vertices circle{stroke-width:2.5}.plan-labels{font-size:11px}.plan-labels .north{font-size:19px}
.regularization-docs{right:2.2%;top:4.5%;width:47%;height:82%}.sigef-cert-card,.memorial-table-doc,.trt-doc{box-shadow:0 15px 34px rgba(16,47,37,.17)}.sigef-cert-card{right:0;top:0;width:63%;min-height:80px;padding:.6rem .68rem;transform:rotate(1.35deg)}.sigef-brand{gap:.48rem}.sigef-brand img{width:42px;height:42px}.sigef-brand strong{font-size:.73rem}.sigef-cert-card>b{margin-top:.3rem}.memorial-table-doc{right:0;top:25%;width:96%;height:62%;padding:.72rem .76rem;transform:rotate(-.55deg)}.memorial-table-doc>strong{font-size:.65rem}.memorial-table-doc>span{margin:.12rem 0 .42rem}.memorial-table-doc table{font-size:.28rem;line-height:1.2}.memorial-table-doc th,.memorial-table-doc td{padding:.17rem .16rem}.memorial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.28rem;margin-top:.5rem;padding-top:.42rem;border-top:1px solid rgba(16,47,37,.16)}.memorial-summary span{display:grid;gap:.1rem;color:rgba(16,47,37,.63);font-size:.28rem;line-height:1.25;text-transform:uppercase}.memorial-summary b{color:var(--green);font-size:.25rem;letter-spacing:.06em}.trt-doc{left:-25%;bottom:-4%;grid-template-columns:44px 1fr;width:64%;min-height:82px;padding:.65rem .72rem;transform:rotate(1.8deg)}.trt-doc strong{font-size:1.05rem}.trt-status{grid-column:1/-1;margin-top:.34rem;padding-top:.32rem;border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.62);font-size:.29rem;letter-spacing:.065em;text-transform:uppercase}
.plan-sheet-data{position:absolute;z-index:3;left:3.2%;bottom:13.5%;display:grid;gap:.12rem;width:31%;padding:.62rem .72rem;border-left:2px solid var(--green);background:rgba(248,250,247,.86);box-shadow:0 12px 26px rgba(16,47,37,.11);color:var(--forest);backdrop-filter:blur(6px)}.plan-sheet-data strong{font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}.plan-sheet-data span{font-size:.38rem;font-weight:720}.plan-sheet-data small{color:var(--muted);font-size:.31rem;line-height:1.35;letter-spacing:.04em;text-transform:uppercase}.regularization-media>figcaption{z-index:8;background:linear-gradient(90deg,rgba(248,250,247,.94),rgba(248,250,247,.68),transparent);text-shadow:0 1px 0 #fff}
.regularization-feature .service-feature-copy{padding:clamp(1.65rem,2.8vw,2.8rem) clamp(2rem,3.5vw,3.6rem)}.regularization-feature .service-index{margin-bottom:.65rem}.regularization-feature .service-feature-copy h3{max-width:520px;margin-bottom:.7rem;font-size:clamp(1.7rem,2.65vw,2.65rem)}.regularization-feature .service-feature-copy>p{margin-bottom:1rem}.regularization-feature .service-deliveries{margin-bottom:.55rem}.regularization-feature .service-feature-copy ul{gap:.38rem}.regularization-feature .service-feature-copy li{font-size:.74rem;line-height:1.4}.regularization-feature .service-feature-action{margin-top:1.15rem}
.regularization-feature .regularization-docs{height:66%}.regularization-proof{position:absolute;z-index:7;right:2.2%;bottom:12.5%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.1rem .72rem;width:47%;min-height:62px;padding:.62rem .75rem;background:linear-gradient(115deg,#0b3a2d,#092a2d);border:1px solid rgba(210,170,114,.42);box-shadow:0 14px 30px rgba(16,47,37,.2);color:#fff}.regularization-proof::before{content:"";position:absolute;right:9px;top:9px;width:9px;height:9px;border-top:1px solid rgba(210,170,114,.7);border-right:1px solid rgba(210,170,114,.7)}.regularization-proof>strong{grid-row:1/3;color:var(--signal);font-family:Bonum,Georgia,serif;font-size:2.25rem;font-style:italic;font-weight:700;line-height:.8;letter-spacing:-.055em}.regularization-proof>strong i{font-size:.62em;font-style:normal;vertical-align:.18em}.regularization-proof>span{display:grid;gap:.18rem}.regularization-proof b{font-size:.48rem;line-height:1.25;letter-spacing:.06em;text-transform:uppercase}.regularization-proof small{color:rgba(255,255,255,.6);font-size:.37rem;font-weight:780;letter-spacing:.13em}

.mapping-media img{object-position:center}.mapping-overlay{position:absolute;z-index:3;left:1rem;top:1rem;display:flex;gap:.45rem;flex-wrap:wrap}.mapping-overlay span{padding:.42rem .58rem;border:1px solid rgba(255,255,255,.35);background:rgba(7,27,63,.7);backdrop-filter:blur(7px);color:white;font-size:.48rem;font-weight:760;letter-spacing:.1em}

.reports-document-media{background:#13251f}.reports-document-media picture{display:block;width:100%;height:100%}.reports-document-media img{object-position:center}.reports-document-media::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(125deg,rgba(7,27,63,.08),transparent 48%,rgba(16,47,37,.1));pointer-events:none}

@media(max-width:900px){.service-feature{grid-template-columns:minmax(0,1fr);min-height:0}.service-feature:nth-child(odd) .service-feature-media{order:0}.service-feature-media{min-height:0;height:auto}.service-feature-copy{padding:2.4rem}.service-evidence{display:none}}
@media(max-width:600px){.service-feature-list{gap:1.5rem}.service-feature-media{aspect-ratio:4/3}.service-feature-copy{padding:1.8rem 1.4rem}.service-feature-copy h3{font-size:1.85rem}.service-feature-copy li{font-size:.75rem}.service-feature-action{width:100%;justify-content:space-between}.service-feature-actions{width:100%;flex-direction:column;align-items:stretch}.service-proof{align-items:center}.regularization-docs{right:1.5%;width:48%;height:74%}.sigef-cert-card{width:70%;min-height:78px;padding:.5rem}.sigef-brand{gap:.38rem}.sigef-brand img{width:36px;height:36px}.sigef-brand strong{font-size:.62rem}.sigef-brand small,.sigef-cert-card>small{display:none}.memorial-table-doc{top:27%;padding:.5rem}.memorial-table-doc>span{margin-bottom:.3rem}.memorial-table-doc table{font-size:.25rem}.memorial-table-doc th,.memorial-table-doc td{padding:.15rem .12rem}.trt-doc{left:-17%;bottom:-7%;width:76%;min-height:62px;padding:.5rem}.trt-doc strong{font-size:.9rem}.rural-plan{width:88%;left:-7%}}
@media(max-width:600px){.regularization-context{left:2.5%;top:2.5%;max-width:54%;gap:.22rem}.regularization-context span{padding:.25rem .3rem;font-size:.27rem}.regularization-context span:last-child{display:none}.rural-plan{left:-10%;top:8%;width:94%;height:78%}.regularization-docs{right:1.5%;top:4%;width:52%;height:80%}.sigef-cert-card{width:67%;min-height:66px;padding:.42rem}.sigef-brand img{width:31px;height:31px}.sigef-brand strong{font-size:.56rem}.sigef-cert-card>b{font-size:.34rem}.memorial-table-doc{top:24%;height:63%;padding:.45rem}.memorial-table-doc>strong{font-size:.5rem}.memorial-table-doc table{font-size:.22rem}.memorial-table-doc th,.memorial-table-doc td{padding:.11rem .1rem}.memorial-table-doc tbody tr:nth-child(n+5){display:none}.memorial-summary{gap:.14rem;margin-top:.28rem;padding-top:.25rem}.memorial-summary span{font-size:.21rem}.memorial-summary span:last-child{display:none}.trt-doc{left:-30%;bottom:-5%;grid-template-columns:34px 1fr;width:68%;min-height:58px;padding:.38rem .44rem}.trt-doc strong{font-size:.78rem}.trt-doc small{font-size:.25rem}.trt-doc i,.trt-status{display:none}.plan-sheet-data{left:2.5%;bottom:14%;width:34%;padding:.42rem .48rem}.plan-sheet-data strong{font-size:.4rem}.plan-sheet-data span{font-size:.29rem}.plan-sheet-data small{display:none}}
@media(max-width:600px){.regularization-feature .service-feature-copy{padding:1.65rem 1.4rem}.regularization-feature .regularization-docs{right:1.5%;top:4%;width:52%;height:64%}.regularization-proof{right:1.5%;bottom:12.5%;width:52%;min-height:48px;gap:.08rem .4rem;padding:.4rem .45rem}.regularization-proof::before{right:6px;top:6px;width:6px;height:6px}.regularization-proof>strong{font-size:1.45rem}.regularization-proof b{font-size:.34rem}.regularization-proof small{font-size:.28rem}.regularization-feature .service-feature-copy li{font-size:.72rem}}

/* Processamento cinematográfico — continuação direta do mapeamento. */
.terrain-cinematic{min-height:760px;background:linear-gradient(115deg,#041d1a 0%,#051b25 46%,#020d17 100%)}
.terrain-cinematic::before{background:radial-gradient(circle at 72% 44%,rgba(50,128,92,.24),transparent 30%),radial-gradient(circle at 86% 25%,rgba(40,105,132,.13),transparent 24%),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);background-size:auto,auto,86px 100%}
.terrain-cinematic::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 18%,transparent 72%,rgba(0,0,0,.38)),linear-gradient(90deg,rgba(2,15,24,.16),transparent 43%);pointer-events:none}
.terrain-cinematic .terrain-copy,.terrain-cinematic .terrain-stage{z-index:2}
.terrain-cinematic .terrain-stage{border-color:rgba(185,222,185,.22);background:radial-gradient(circle at 50% 42%,rgba(28,76,66,.2),transparent 48%),#020f18;box-shadow:0 44px 110px rgba(0,0,0,.42),0 0 0 1px rgba(185,222,185,.035) inset}
.terrain-cinematic .terrain-stage::before{width:42px;height:42px}.terrain-cinematic .terrain-stage::after{width:42px;height:42px}
.terrain-cinematic .terrain-stage canvas{filter:saturate(1.18) contrast(1.06)}
.terrain-hud{position:absolute;z-index:3;left:1.1rem;top:1rem;display:flex;gap:.45rem;flex-wrap:wrap}.terrain-hud span{padding:.38rem .5rem;border:1px solid rgba(185,222,185,.18);background:rgba(2,15,24,.58);color:rgba(185,222,185,.62);font-size:.45rem;font-weight:760;letter-spacing:.11em;backdrop-filter:blur(8px)}
.legend-point-rgb{background:#4c8852;box-shadow:8px 2px 0 #9a784b,3px -7px 0 #3c7180,-6px -2px 0 #6a9d63}
.terrain-cinematic .terrain-stage figcaption{background:linear-gradient(90deg,rgba(2,15,24,.9),rgba(3,24,29,.76));backdrop-filter:blur(10px)}
@media(max-width:600px){.terrain-cinematic{padding-top:4.5rem}.terrain-hud{right:1rem}.terrain-hud span{font-size:.4rem}.terrain-cinematic .terrain-stage figcaption{align-items:flex-start;flex-direction:column}}

/* Explorador fotogramétrico — oito produtos, um único território. */
.terrain-product-detail{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;margin-top:2rem;padding-top:1.35rem;border-top:1px solid rgba(255,255,255,.14)}
.terrain-detail-index{padding-top:.18rem;color:var(--signal);font-size:.58rem;font-weight:780;letter-spacing:.14em}
.terrain-product-detail strong{display:block;margin-bottom:.35rem;color:#fff;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.terrain-product-detail p{max-width:510px;margin:0;color:rgba(255,255,255,.61);font-size:.82rem;line-height:1.65}
.terrain-product-nav{position:absolute;z-index:6;left:0;right:0;top:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(2,15,24,.91);border-bottom:1px solid rgba(185,222,185,.15);backdrop-filter:blur(14px)}
.terrain-product-nav button{min-width:0;min-height:46px;padding:.58rem .72rem;border:0;border-right:1px solid rgba(185,222,185,.1);border-bottom:1px solid rgba(185,222,185,.1);background:transparent;color:rgba(255,255,255,.64);font:inherit;font-size:.66rem;font-weight:740;letter-spacing:.06em;text-align:left;text-transform:uppercase;transition:background-color .22s ease,color .22s ease,box-shadow .22s ease}
.terrain-product-nav button:nth-child(4n){border-right:0}.terrain-product-nav button:nth-child(n+5){border-bottom:0}
.terrain-product-nav button span{display:inline-block;min-width:1.6rem;color:rgba(185,222,185,.72);font-size:.55rem;letter-spacing:.08em;transition:color .22s ease}
.terrain-product-nav button:hover{background:rgba(185,222,185,.075);color:#fff}.terrain-product-nav button:active{background:rgba(185,222,185,.12)}
.terrain-product-nav button[aria-pressed="true"]{background:linear-gradient(90deg,rgba(185,222,185,.14),rgba(185,222,185,.055));color:#fff;box-shadow:inset 0 -2px 0 var(--signal)}
.terrain-product-nav button[aria-pressed="true"] span{color:var(--signal)}
.terrain-product-nav button:focus-visible{position:relative;z-index:2;outline:2px solid var(--survey);outline-offset:-3px}

/* Seletores como painel de levantamento: sinal luminoso, sem estética gamer. */
.terrain-product-nav{isolation:isolate;overflow:hidden;background:linear-gradient(110deg,rgba(2,15,24,.97),rgba(4,28,34,.94) 54%,rgba(2,15,24,.97));border-bottom-color:rgba(126,231,212,.24);box-shadow:0 12px 34px rgba(0,0,0,.22),inset 0 -1px 0 rgba(126,231,212,.08)}
.terrain-product-nav::before{content:"";position:absolute;z-index:-1;inset:-40% -12%;background:radial-gradient(ellipse at 18% 50%,rgba(126,231,212,.1),transparent 25%),radial-gradient(ellipse at 73% 50%,rgba(185,222,185,.07),transparent 28%);transform:translateX(-4%);animation:layerFieldDrift 8s ease-in-out infinite alternate;pointer-events:none}
.terrain-product-nav button{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(126,231,212,.11);text-shadow:0 0 12px transparent;transition:background-color .24s ease,color .24s ease,box-shadow .28s ease,text-shadow .28s ease,border-color .28s ease}
.terrain-product-nav button::before{content:"";position:absolute;z-index:-1;top:-35%;bottom:-35%;left:-24%;width:18%;background:linear-gradient(90deg,transparent,rgba(185,255,225,.2),transparent);filter:blur(2px);transform:translateX(-220%) skewX(-14deg);transition:transform .7s cubic-bezier(.2,.72,.2,1);pointer-events:none}
.terrain-product-nav button::after{content:"";position:absolute;right:.62rem;top:.58rem;width:4px;height:4px;border-radius:50%;background:rgba(126,231,212,.34);box-shadow:0 0 0 0 rgba(126,231,212,0);transition:background-color .25s ease,box-shadow .25s ease,transform .25s ease;pointer-events:none}
.terrain-product-nav button:hover{z-index:1;background:linear-gradient(105deg,rgba(126,231,212,.1),rgba(185,222,185,.035));border-color:rgba(126,231,212,.32);color:#fff;text-shadow:0 0 14px rgba(185,255,225,.28);box-shadow:inset 0 0 20px rgba(126,231,212,.045)}
.terrain-product-nav button:hover::before,.terrain-product-nav button:focus-visible::before{transform:translateX(820%) skewX(-14deg)}
.terrain-product-nav button:hover::after,.terrain-product-nav button:focus-visible::after{background:var(--neon-survey);box-shadow:0 0 8px rgba(126,231,212,.8);transform:scale(1.25)}
.terrain-product-nav button[aria-pressed="true"]{z-index:2;background:radial-gradient(circle at 18% 50%,rgba(126,231,212,.18),transparent 48%),linear-gradient(105deg,rgba(185,222,185,.12),rgba(126,231,212,.055));border-color:rgba(126,231,212,.45);color:#fff;text-shadow:0 0 15px rgba(185,255,225,.42);box-shadow:inset 0 -2px 0 var(--neon-survey),inset 0 0 26px rgba(126,231,212,.09),0 7px 22px rgba(0,0,0,.2),0 0 16px rgba(126,231,212,.12)}
.terrain-product-nav button[aria-pressed="true"] span{color:#d5ffe2;text-shadow:0 0 9px rgba(185,255,225,.82)}
.terrain-product-nav button[aria-pressed="true"]::after{background:#c9ffdc;box-shadow:0 0 5px #c9ffdc,0 0 12px rgba(126,231,212,.9),0 0 0 4px rgba(126,231,212,.08);animation:layerBeacon 2.6s ease-in-out infinite}
@keyframes layerFieldDrift{to{transform:translateX(5%)}}
@keyframes layerBeacon{0%,100%{transform:scale(.82);opacity:.62}50%{transform:scale(1.18);opacity:1}}
@media(prefers-reduced-motion:reduce){.terrain-product-nav::before,.terrain-product-nav button[aria-pressed="true"]::after{animation:none}.terrain-product-nav button::before{display:none}}
@media(forced-colors:active){.terrain-product-nav button[aria-pressed="true"]{border:2px solid Highlight;box-shadow:none}.terrain-product-nav button::before,.terrain-product-nav button::after{display:none}}
.terrain-cinematic .terrain-stage canvas{inset:92px 0 47px;height:calc(100% - 139px);transition:opacity .28s ease,visibility .28s ease}
.terrain-stage[data-product]:not([data-product="cloud"]):not([data-product="model"]) canvas{opacity:0;visibility:hidden}
.terrain-stage[data-product]:not([data-product="cloud"]):not([data-product="model"]) .terrain-axis{opacity:0;visibility:hidden}
.terrain-map-view{position:absolute;z-index:1;inset:92px 0 47px;overflow:hidden;background:radial-gradient(circle at 52% 46%,rgba(35,88,70,.19),transparent 46%)}
.terrain-map-view[hidden]{display:none}.terrain-map-view svg{display:block;width:100%;height:100%;overflow:visible}
.terrain-visual[hidden]{display:none}
.terrain-map-view::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(185,222,185,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(185,222,185,.035) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}
.terrain-visual{transform-origin:center;animation:terrainProductIn .5s cubic-bezier(.2,.72,.2,1) both}
.terrain-visual text{fill:rgba(255,255,255,.58);font-family:Montserrat,Arial,sans-serif;font-size:10px;font-weight:720;letter-spacing:1.3px}
.terrain-visual .map-sheet,.terrain-visual .relief-sheet{stroke:rgba(185,222,185,.24);stroke-width:1.2}
.flight-route{animation:flightTrace 9s linear infinite}.flight-points circle{animation:surveyPulse 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.flight-points circle:nth-child(3n){animation-delay:.7s}.flight-points circle:nth-child(3n+2){animation-delay:1.4s}
.surface-rings path,.contour-map path{vector-effect:non-scaling-stroke}.contour-map path{stroke-width:1.25}.contour-map path:nth-child(2n){stroke:var(--survey);stroke-opacity:.68}.contour-labels text{fill:var(--signal);font-size:9px}
.map-legend rect{fill:rgba(2,15,24,.82);stroke:rgba(185,222,185,.22)}.map-legend text{font-size:8px}
.terrain-hud{top:6.65rem}.terrain-axis{top:6.55rem}.terrain-cinematic .terrain-stage figcaption{z-index:7}
@keyframes terrainProductIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes flightTrace{to{stroke-dashoffset:-60}}
@keyframes surveyPulse{0%,100%{transform:scale(.72);opacity:.48}50%{transform:scale(1.18);opacity:1}}

@media(max-width:1050px){.terrain-product-detail{max-width:720px}.terrain-product-nav button{font-size:.68rem}}
@media(max-width:600px){.terrain-product-detail{margin-top:1.45rem}.terrain-product-nav{grid-auto-flow:column;grid-template-columns:none;grid-template-rows:repeat(2,46px);grid-auto-columns:minmax(128px,1fr);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(185,222,185,.42) rgba(2,15,24,.9)}.terrain-product-nav::-webkit-scrollbar{height:4px}.terrain-product-nav::-webkit-scrollbar-track{background:rgba(2,15,24,.9)}.terrain-product-nav::-webkit-scrollbar-thumb{background:rgba(185,222,185,.42)}.terrain-product-nav button{border-right:1px solid rgba(185,222,185,.1);border-bottom:1px solid rgba(185,222,185,.1)}.terrain-product-nav button:nth-child(4n){border-right:1px solid rgba(185,222,185,.1)}.terrain-product-nav button:nth-child(n+5){border-bottom:1px solid rgba(185,222,185,.1)}.terrain-map-view{inset:96px 0 63px}.terrain-cinematic .terrain-stage canvas{inset:96px 0 63px;height:calc(100% - 159px)}.terrain-hud{top:6.85rem;left:.75rem}.terrain-axis{display:none}.terrain-cinematic .terrain-stage figcaption{min-height:63px;padding:.7rem .85rem}.terrain-visual{transform:scale(1.08);transform-origin:center}}
@media(prefers-reduced-motion:reduce){.terrain-visual,.flight-route,.flight-points circle{animation:none}.terrain-cinematic .terrain-stage canvas{transition:none}}

/* Visor técnico com os produtos fotogramétricos aprovados. */
.terrain-product-gallery{position:absolute;z-index:1;inset:92px 0 47px;overflow:hidden;background:#03111a;transition:background-color .35s ease}
.terrain-product-gallery::before{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,rgba(1,10,16,.12),transparent 18%,transparent 76%,rgba(1,10,16,.28)),radial-gradient(circle at 50% 48%,transparent 45%,rgba(0,8,14,.22) 100%);pointer-events:none}
.terrain-product-media{position:absolute;inset:0;margin:0;overflow:hidden;animation:terrainMediaIn .55s cubic-bezier(.2,.72,.2,1) both}
.terrain-product-media[hidden]{display:none}.terrain-product-media>img,.terrain-product-media>picture,.terrain-product-media>picture>img{display:block;width:100%;height:100%}
.terrain-product-media>img,.terrain-product-media>picture>img{object-fit:contain;object-position:center;filter:saturate(.98) contrast(1.04)}
.terrain-stage[data-product="flight"] .terrain-product-gallery,.terrain-stage[data-product="cloud"] .terrain-product-gallery{background:#020817}
.terrain-stage[data-product="model"] .terrain-product-gallery,.terrain-stage[data-product="dsm"] .terrain-product-gallery,.terrain-stage[data-product="dtm"] .terrain-product-gallery,.terrain-stage[data-product="planialtimetric"] .terrain-product-gallery{background:#e6e8e7}
.terrain-stage[data-product="ortho"] .terrain-product-media>img,.terrain-stage[data-product="thematic"] .terrain-product-media>picture>img{object-fit:cover}
.terrain-stage[data-product="ortho"] .terrain-product-gallery,.terrain-stage[data-product="thematic"] .terrain-product-gallery{background:#1b3025}
.terrain-stage[data-product="cloud"] .terrain-product-media>img{filter:saturate(1.08) contrast(1.08) brightness(1.04)}
.terrain-stage[data-product="flight"] .terrain-product-media>img{filter:saturate(1.04) contrast(1.06)}
.terrain-stage[data-product="model"] .terrain-product-media>img,.terrain-stage[data-product="dsm"] .terrain-product-media>img,.terrain-stage[data-product="dtm"] .terrain-product-media>img,.terrain-stage[data-product="planialtimetric"] .terrain-product-media>img{filter:saturate(.92) contrast(1.03) brightness(.94)}
.terrain-stage[data-product="model"] .terrain-product-media>img{filter:saturate(1.02) contrast(1.02) brightness(.98)}
.terrain-stage[data-product="planialtimetric"] .terrain-product-media>picture>img{filter:saturate(.98) contrast(1.06) brightness(.98)}
.terrain-coordinate-frame{position:absolute;z-index:4;inset:14px;pointer-events:none}.terrain-coordinate-frame i{position:absolute;width:24px;height:24px;border-color:rgba(185,222,185,.58)}.terrain-coordinate-frame i:nth-child(1){left:0;top:0;border-left:1px solid;border-top:1px solid}.terrain-coordinate-frame i:nth-child(2){right:0;top:0;border-right:1px solid;border-top:1px solid}.terrain-coordinate-frame i:nth-child(3){right:0;bottom:0;border-right:1px solid;border-bottom:1px solid}.terrain-coordinate-frame i:nth-child(4){left:0;bottom:0;border-left:1px solid;border-bottom:1px solid}
.terrain-stage[data-product="model"] .terrain-coordinate-frame i,.terrain-stage[data-product="dsm"] .terrain-coordinate-frame i,.terrain-stage[data-product="dtm"] .terrain-coordinate-frame i,.terrain-stage[data-product="planialtimetric"] .terrain-coordinate-frame i{border-color:rgba(16,47,37,.45)}
.terrain-product-contours>picture{position:absolute;inset:0}.planialtimetric-overlay{position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none}.index-contour-labels rect,.spot-elevations rect{fill:rgba(248,250,247,.88);stroke:rgba(79,24,17,.5);stroke-width:1;vector-effect:non-scaling-stroke}.index-contour-labels text,.spot-elevations text{fill:#4f1811;font-family:Montserrat,Arial,sans-serif;font-size:20px;font-weight:820;letter-spacing:.025em;paint-order:stroke;stroke:rgba(248,250,247,.7);stroke-width:1}.spot-elevations path{fill:none;stroke:#4f1811;stroke-width:2;vector-effect:non-scaling-stroke}.spot-elevations circle{fill:#fff;stroke:#4f1811;stroke-width:2;vector-effect:non-scaling-stroke}.planialtimetric-legend{position:absolute;z-index:5;right:1rem;bottom:1rem;display:grid;grid-template-columns:1fr;gap:.34rem;min-width:158px;padding:.7rem .78rem;background:rgba(248,250,247,.88);border:1px solid rgba(16,47,37,.2);box-shadow:0 12px 28px rgba(16,47,37,.16);color:#102f25;backdrop-filter:blur(8px)}.planialtimetric-legend strong{margin-bottom:.08rem;font-size:.48rem;letter-spacing:.09em;text-transform:uppercase}.planialtimetric-legend span{display:flex;align-items:center;gap:.48rem;font-size:.4rem;font-weight:720;letter-spacing:.045em;text-transform:uppercase}.planialtimetric-legend i{display:block;width:28px;height:0;border-top:2px solid #4f1811}.planialtimetric-legend span:nth-of-type(2) i{border-top-width:1px;opacity:.65}.planialtimetric-legend b{display:grid;place-items:center;width:28px;color:#4f1811;font-size:.72rem;line-height:1}
@media(max-width:600px){.planialtimetric-legend{right:.65rem;bottom:.65rem;min-width:132px;gap:.25rem;padding:.5rem .58rem}.planialtimetric-legend strong{font-size:.4rem}.planialtimetric-legend span{gap:.34rem;font-size:.33rem}.planialtimetric-legend i,.planialtimetric-legend b{width:22px}}
.terrain-landuse>picture{position:absolute;inset:0}.terrain-landuse>picture>img{filter:saturate(.72) contrast(1.02) brightness(.72)}
.terrain-landuse>picture[hidden],.thematic-overlay[hidden]{display:none}.thematic-overlay{position:absolute;z-index:2;inset:0;width:100%;height:100%;animation:terrainMediaIn .42s cubic-bezier(.2,.72,.2,1) both}
.thematic-raster{overflow:hidden;background:#183126}.terrain-landuse>.thematic-raster>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.94) contrast(1.04) brightness(.9)}
.landuse-classification{position:absolute;z-index:2;inset:0;width:100%;height:100%}.landuse-polygons path{stroke:rgba(255,255,255,.72);stroke-width:2.2;vector-effect:non-scaling-stroke;transition:opacity .25s ease}.landuse-pasture{fill:#9bbd63;fill-opacity:.44}.landuse-native{fill:#176747;fill-opacity:.68}.landuse-exposed{fill:#b7774c;fill-opacity:.58}.landuse-infrastructure{fill:#b9aaa0;fill-opacity:.84}.landuse-network path{fill:none;stroke:#e2c58d;stroke-width:10;stroke-opacity:.82;vector-effect:non-scaling-stroke}.landuse-boundaries path{fill:none;stroke:rgba(255,255,255,.82);stroke-width:1.5;stroke-dasharray:8 6;vector-effect:non-scaling-stroke}
.thematic-map-nav{position:absolute;z-index:8;left:1rem;right:4rem;top:.8rem;display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:rgba(126,231,212,.45) rgba(2,15,24,.55);background:rgba(2,15,24,.82);border:1px solid rgba(126,231,212,.2);box-shadow:0 12px 30px rgba(0,0,0,.2);backdrop-filter:blur(12px)}.thematic-map-nav::-webkit-scrollbar{height:3px}.thematic-map-nav::-webkit-scrollbar-track{background:rgba(2,15,24,.55)}.thematic-map-nav::-webkit-scrollbar-thumb{background:rgba(126,231,212,.45)}
.thematic-map-nav button{position:relative;flex:1 0 170px;min-height:46px;padding:.58rem .72rem;border:0;border-right:1px solid rgba(126,231,212,.13);background:transparent;color:rgba(255,255,255,.72);font:inherit;font-size:.62rem;font-weight:760;line-height:1.3;letter-spacing:.045em;text-align:left;text-transform:uppercase;transition:background-color .22s ease,color .22s ease,box-shadow .22s ease}.thematic-map-nav button:last-child{border-right:0}.thematic-map-nav button span{margin-right:.4rem;color:rgba(126,231,212,.72);font-size:.53rem}.thematic-map-nav button::after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:0;height:1px;background:var(--neon-survey);box-shadow:0 0 8px rgba(126,231,212,.8);transform:scaleX(0);transition:transform .24s ease}
.thematic-map-nav button:hover,.thematic-map-nav button:focus-visible{background:rgba(126,231,212,.08);color:#fff}.thematic-map-nav button:focus-visible{z-index:2;outline:2px solid var(--survey);outline-offset:-3px}.thematic-map-nav button[aria-pressed="true"]{background:linear-gradient(100deg,rgba(126,231,212,.16),rgba(185,222,185,.05));color:#fff;box-shadow:inset 0 0 18px rgba(126,231,212,.08)}.thematic-map-nav button[aria-pressed="true"]::after{transform:scaleX(1)}.thematic-map-nav button[aria-pressed="true"] span{color:#d5ffe2;text-shadow:0 0 8px rgba(126,231,212,.75)}
.landuse-map-title{position:absolute;z-index:5;left:1.15rem;top:4.25rem;display:grid;gap:.18rem;padding:.72rem .86rem;background:rgba(3,18,24,.84);border-left:2px solid var(--signal);box-shadow:0 10px 26px rgba(0,0,0,.22);backdrop-filter:blur(10px)}.landuse-map-title strong{color:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.landuse-map-title span{color:rgba(255,255,255,.56);font-size:.5rem;letter-spacing:.06em;text-transform:uppercase}
.landuse-legend{position:absolute;z-index:5;right:1.1rem;bottom:1rem;display:grid;gap:.48rem;min-width:185px;padding:.82rem .9rem;background:rgba(3,18,24,.87);border:1px solid rgba(185,222,185,.2);box-shadow:0 14px 34px rgba(0,0,0,.28);backdrop-filter:blur(10px)}.landuse-legend span{display:flex;align-items:center;gap:.55rem;color:rgba(255,255,255,.76);font-size:.48rem;font-weight:720;letter-spacing:.055em;text-transform:uppercase}.landuse-legend b{font:inherit}.landuse-legend i{flex:0 0 auto;width:10px;height:10px;border:1px solid rgba(255,255,255,.45)}.swatch-native{background:#176747}.swatch-pasture{background:#9bbd63}.swatch-exposed{background:#b7774c}.swatch-infrastructure{background:#b9aaa0}.landuse-legend .swatch-road{height:3px;border:0;background:#e2c58d}
.landuse-north{position:absolute;z-index:5;right:1.3rem;top:4.55rem;display:grid;justify-items:center;color:#fff}.landuse-north b{font-size:.62rem;letter-spacing:.1em}.landuse-north i{width:1px;height:30px;margin-top:.2rem;background:linear-gradient(#fff,transparent);transform-origin:top}.landuse-north i::before{content:"";display:block;width:7px;height:7px;border-left:1px solid #fff;border-top:1px solid #fff;transform:translate(-3px,1px) rotate(45deg)}
.landuse-scale{position:absolute;z-index:5;left:1.15rem;bottom:1rem;color:#fff}.landuse-scale i{display:block;width:92px;height:7px;border-left:1px solid;border-right:1px solid;border-bottom:2px solid}.landuse-scale span{font-size:.42rem;font-weight:750;letter-spacing:.12em}
.runoff-map #flow-arrow path{fill:#9de8ef}.watershed-boundary{fill:rgba(126,231,212,.055);stroke:#d2aa72;stroke-width:2;stroke-dasharray:12 9;vector-effect:non-scaling-stroke}.flow-main,.flow-secondary path{fill:none;marker-end:url(#flow-arrow);vector-effect:non-scaling-stroke}.flow-main{stroke:#7ee7ef;stroke-width:6;filter:drop-shadow(0 0 7px rgba(126,231,239,.72))}.flow-secondary path{stroke:#b8f3e2;stroke-width:2.8;stroke-dasharray:7 5;opacity:.88}.flow-accumulation circle{fill:#d5ffe2;stroke:#237e8f;stroke-width:5;filter:drop-shadow(0 0 9px rgba(126,231,239,.86))}
.slope-map path{vector-effect:non-scaling-stroke}.slope-flat{fill:#439b74;fill-opacity:.62}.slope-gentle{fill:#9cbd55;fill-opacity:.58}.slope-moderate{fill:#ebc34d;fill-opacity:.58}.slope-steep{fill:#df7b3f;fill-opacity:.7}.slope-mountain{fill:#a94335;fill-opacity:.78}.slope-lines path{fill:none;stroke:rgba(255,255,255,.72);stroke-width:1.5}
.custom-boundary{fill:rgba(126,231,212,.06);stroke:#d5ffe2;stroke-width:3;stroke-dasharray:13 8;vector-effect:non-scaling-stroke}.custom-buffer{fill:none;stroke:rgba(210,170,114,.4);stroke-width:46;vector-effect:non-scaling-stroke}.custom-route{fill:none;stroke:#d2aa72;stroke-width:5;stroke-dasharray:12 8;vector-effect:non-scaling-stroke}.custom-points circle{fill:#d5ffe2;stroke:#286443;stroke-width:5;filter:drop-shadow(0 0 8px rgba(126,231,212,.9))}.custom-zones path{fill:rgba(89,154,111,.32);stroke:#7ee7d4;stroke-width:2;vector-effect:non-scaling-stroke}
.swatch-watershed{background:transparent;border-color:#d2aa72!important;border-style:dashed!important}.swatch-flow-main{height:3px!important;border:0!important;background:#7ee7ef}.swatch-flow-secondary{height:3px!important;border:0!important;background:#b8f3e2}.swatch-accumulation{border-radius:50%;background:#d5ffe2;border-color:#237e8f!important}.swatch-flow-direction{background:linear-gradient(135deg,transparent 43%,#9de8ef 44% 57%,transparent 58%)}
.swatch-slope-flat{background:#439b74}.swatch-slope-gentle{background:#9cbd55}.swatch-slope-moderate{background:#ebc34d}.swatch-slope-steep{background:#df7b3f}.swatch-slope-mountain{background:#a94335}
.terrain-landuse>.custom-raster-map>img{object-position:center;filter:saturate(.9) contrast(1.08) brightness(.88)}
.swatch-custom-zone{background:linear-gradient(135deg,rgba(45,112,71,.88) 0 50%,rgba(203,158,48,.88) 50%);border-color:#b9dece!important}.swatch-custom-boundary{background:transparent;border-style:solid!important;border-color:#9ed9df!important}.swatch-custom-point{border-radius:50%;background:#efc65d;border-color:#102f25!important}.swatch-custom-buffer{background:repeating-linear-gradient(90deg,rgba(210,170,114,.78) 0 3px,transparent 3px 6px);border-color:#d2aa72!important}.swatch-custom-route{height:3px!important;border:0!important;background:#e8b537}
.terrain-landuse>.dam-projection-map>img{object-position:center 54%;filter:saturate(.96) contrast(1.08) brightness(.86)}
.swatch-dam-structure{background:#a68863;border-color:#d9c09b!important}.swatch-dam-water{background:#125c83;border-color:#76c6e4!important}.swatch-dam-level{background:linear-gradient(180deg,transparent 38%,#8de5f0 39% 61%,transparent 62%);border-color:rgba(141,229,240,.45)!important}.swatch-dam-terrain{background:#708255;border-color:#a8bd83!important}.swatch-dam-drainage{height:3px!important;border:0!important;background:#62b7d2}
.terrain-stage[data-product="thematic"] .terrain-hud{opacity:0;visibility:hidden}
.terrain-cinematic .terrain-map-view{display:none}.terrain-cinematic .terrain-stage canvas{display:none}
@keyframes terrainMediaIn{from{opacity:0;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}
@media(max-width:600px){.terrain-product-gallery{inset:96px 0 63px}.terrain-product-media>img{object-fit:contain}.thematic-map-nav{left:.65rem;right:3rem;top:.6rem}.thematic-map-nav button{flex-basis:146px;min-height:46px}.landuse-map-title{left:.7rem;top:4.35rem;max-width:220px}.landuse-legend{right:.7rem;bottom:.7rem;min-width:145px;padding:.64rem .7rem;gap:.35rem}.landuse-legend span{font-size:.4rem}.landuse-scale{left:.75rem;bottom:.75rem}.landuse-north{right:.9rem;top:4.55rem}.terrain-coordinate-frame{inset:9px}.terrain-cinematic .terrain-stage figcaption span{max-width:100%;line-height:1.4;overflow-wrap:anywhere}.terrain-cinematic .terrain-stage figcaption span:first-child{display:none}}
@media(prefers-reduced-motion:reduce){.terrain-product-media{animation:none}.landuse-polygons path{transition:none}}

/* Croqui urbano detalhado — quarteirões e referências próximas. */
.route-sketch-detailed{background:linear-gradient(145deg,#0a3027,#071f29)}
.route-sketch-detailed::before{background-size:28px 28px;opacity:.34}
.city-sketch{position:absolute;inset:0;width:100%;height:calc(100% - 54px)}
.city-blocks path{fill:rgba(185,222,185,.05);stroke:rgba(185,222,185,.15);stroke-width:1.1}.landmark-blocks path,.terminal-area path{vector-effect:non-scaling-stroke}.landmark-blocks .building-bakery{fill:rgba(210,170,114,.13);stroke:rgba(210,170,114,.62);stroke-width:1.4}.landmark-blocks .building-icecream{fill:rgba(232,154,89,.12);stroke:rgba(232,154,89,.76);stroke-width:1.5}.landmark-blocks .building-pharmacy{fill:rgba(185,222,185,.13);stroke:rgba(185,222,185,.72);stroke-width:1.5}.landmark-blocks .block-police{fill:rgba(126,231,212,.09);stroke:rgba(126,231,212,.5);stroke-width:1.4}.terminal-area .block-terminal{fill:rgba(185,222,185,.1);stroke:rgba(210,170,114,.52);stroke-width:1.5}.terminal-area>path:not(:first-child){fill:none;stroke:rgba(185,222,185,.13);stroke-width:1}
.city-roads path{fill:none;stroke:rgba(255,255,255,.105);stroke-width:18;stroke-linecap:butt}.city-roads .street-domingos{stroke:rgba(255,255,255,.19);stroke-width:22}.city-roads .street-avenue{stroke:rgba(210,170,114,.32);stroke-width:38}.city-roads .street-arthur{stroke:rgba(255,255,255,.19);stroke-width:23}
.avenue-axis path{fill:none;vector-effect:non-scaling-stroke}.avenue-axis path:first-child{stroke:rgba(255,255,255,.19);stroke-width:1}.avenue-axis path:last-child{stroke:rgba(210,170,114,.72);stroke-width:1.25;stroke-linecap:round}
.city-road-labels{font-family:Montserrat,Arial,sans-serif;font-size:8px;font-weight:800;letter-spacing:1.05px;fill:rgba(255,255,255,.9)}.city-road-labels text{paint-order:stroke;stroke:#092820;stroke-width:4px;stroke-linejoin:round}.city-road-labels .street-domingos-label{fill:#eef8f0}.city-road-labels .avenue-label{fill:#e5bf88}.city-road-labels .street-arthur-label{fill:#fff;font-size:8.4px;font-weight:850}
.sketch-route{fill:none;stroke:var(--survey);stroke-width:2.1;stroke-dasharray:7 7;filter:drop-shadow(0 0 4px rgba(126,231,212,.32));animation:routeFlow 9s linear infinite}.city-sketch marker path{fill:var(--survey)}
.map-landmark circle{fill:#0b302b;stroke:rgba(185,222,185,.74);stroke-width:1.5}.map-landmark .symbol{font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:850;text-anchor:middle;fill:var(--signal)}
.map-landmark .name,.map-landmark .detail{font-family:Montserrat,Arial,sans-serif;paint-order:stroke;stroke:#092820;stroke-width:3px;stroke-linejoin:round}.map-landmark .name{font-size:9px;font-weight:820;letter-spacing:.7px;fill:#fff}.map-landmark .detail{font-size:7px;font-weight:620;fill:rgba(255,255,255,.58)}
.landmark-terrasat .terrasat-label-bg{fill:rgba(4,23,26,.94);stroke:rgba(185,222,185,.66);stroke-width:1;filter:drop-shadow(0 8px 14px rgba(0,0,0,.3))}.landmark-terrasat circle{fill:var(--signal);stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 12px rgba(185,222,185,.42))}.landmark-terrasat .terrasat-halo{fill:none;stroke:rgba(185,222,185,.45);stroke-width:1.4;filter:drop-shadow(0 0 8px rgba(185,222,185,.38))}.landmark-terrasat path{fill:var(--forest)}.landmark-terrasat .site-kicker{font-family:Montserrat,Arial,sans-serif;font-size:4.8px;font-weight:850;letter-spacing:1.2px;fill:rgba(185,222,185,.78)}.landmark-terrasat .name{font-size:11px;fill:var(--signal);letter-spacing:.9px}.landmark-terrasat .detail{font-size:5.7px;fill:rgba(255,255,255,.86)}.landmark-terrasat .detail-location{font-size:5.2px;fill:rgba(255,255,255,.58)}
.map-landmark.label-left .name,.map-landmark.label-left .detail{text-anchor:end}.landmark-reference circle{fill:#173d32;stroke:rgba(210,170,114,.72)}.landmark-reference .symbol{font-size:7px;fill:#d2aa72}.landmark-terminal circle{stroke:#d2aa72}.landmark-terminal .symbol{fill:#d2aa72}
.map-landmark-area text{font-family:Montserrat,Arial,sans-serif;text-anchor:middle;paint-order:stroke;stroke:#092820;stroke-width:3px;stroke-linejoin:round}.map-landmark-area .area-kicker{font-size:6px;font-weight:780;letter-spacing:1px;fill:rgba(210,170,114,.88)}.map-landmark-area .area-name{font-size:9px;font-weight:850;letter-spacing:.65px;fill:#fff}.map-landmark-area .area-detail{font-size:6px;font-weight:650;letter-spacing:.55px;fill:rgba(255,255,255,.62)}.area-police .area-kicker{fill:rgba(126,231,212,.82)}.area-pharmacy .area-kicker{fill:rgba(185,222,185,.9)}.area-icecream .area-kicker{fill:rgba(241,177,112,.94)}
.route-sketch-detailed .sketch-origin{z-index:4;padding:.55rem .65rem;background:rgba(4,23,26,.7);backdrop-filter:blur(7px)}
.sketch-legend{position:absolute;z-index:5;left:1rem;right:1rem;bottom:3.7rem;display:flex;gap:1rem;font-size:.43rem;font-weight:720;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.48)}.sketch-legend span{display:flex;align-items:center;gap:.4rem}.sketch-legend i{display:block}.legend-route{width:20px;border-top:1px dashed var(--survey)}.legend-place{width:7px;height:7px;border:1px solid var(--signal);border-radius:50%}
@keyframes routeFlow{to{stroke-dashoffset:-140}}
@media(max-width:720px){.city-sketch{height:calc(100% - 48px)}.sketch-legend{bottom:3.35rem}.route-sketch-detailed .sketch-origin{left:.8rem;top:.8rem}}
@media(prefers-reduced-motion:reduce){.sketch-route{animation:none}}

/* Desempenho progressivo: posterga pintura de seções distantes sem alterar o layout. */
@supports(content-visibility:auto){.service-evidence,.terrain-cinematic,.clients,.process,.team,.location,.contact{content-visibility:auto;contain-intrinsic-size:auto 820px}.site-footer{content-visibility:auto;contain-intrinsic-size:auto 180px}}

/* Processo — síntese das quatro etapas em uma faixa mais compacta. */
.process{padding-block:clamp(3.6rem,5vw,5rem)}
.process .section-intro{grid-template-columns:.72fr 1.28fr;column-gap:clamp(2rem,4vw,4rem);row-gap:.15rem;margin-bottom:clamp(1.8rem,3vw,2.6rem);align-items:start}
.process .section-intro .eyebrow{margin-bottom:0}
.process .section-intro h2{max-width:720px;margin-bottom:.8rem;font-size:clamp(2.35rem,3.9vw,3.8rem);line-height:1.01}
.process .section-intro>p:last-child{max-width:650px;margin-bottom:0;font-size:.96rem;line-height:1.55}
.process-list li{min-height:0;padding:1.25rem 1.35rem 1.3rem}
.process-list span{font-size:.62rem}
.process-list h3{margin:1.25rem 0 .45rem;font-size:clamp(1rem,1.35vw,1.16rem)}
.process-list p{margin-bottom:0;font-size:.8rem;line-height:1.55}
@media(max-width:900px){.process{padding-block:3.5rem}.process .section-intro{grid-template-columns:1fr;margin-bottom:2rem}.process .section-intro .eyebrow{margin-bottom:.7rem}.process .section-intro h2{max-width:650px}}
@media(max-width:600px){.process{padding-block:3rem}.process .section-intro h2{font-size:clamp(2.15rem,11vw,3rem)}.process-list li{padding:1.05rem .9rem 1.15rem}.process-list h3{margin-top:.75rem}}

/* Clientes — parede compacta e faixa nominal navegável. */
.clients{padding-block:clamp(4.5rem,7vw,6.5rem);overflow:hidden}
.clients .clients-intro{margin-bottom:clamp(2.2rem,4vw,3.4rem)}
.clients .clients-intro h2{max-width:720px;font-size:clamp(2.35rem,4.4vw,4.25rem)}
.client-showcase{max-width:var(--max);margin:auto}
.client-logo-wall{grid-template-columns:repeat(6,minmax(0,1fr));border:0;gap:1px;background:var(--line)}
.client-logo-wall>a,.client-logo-wall>div{min-height:82px;padding:.72rem .82rem;border:0;background:rgba(255,255,255,.72);gap:.3rem;justify-content:center}
.client-logo-wall>a.has-logo,.client-logo-wall>div.has-logo{min-height:88px;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:.62rem;align-content:center;align-items:center}
.client-logo-wall .client-logo{grid-row:1/-1;width:42px;height:32px;max-width:none;padding:.2rem;border-radius:.28rem;object-position:center;background:#fff;box-shadow:0 0 0 1px rgba(16,47,37,.08)}
.client-logo-wall span{font-size:clamp(.68rem,.86vw,.8rem);line-height:1.2}
.client-logo-wall small{font-size:.48rem;letter-spacing:.12em}
.client-logo-wall>a::after{right:.7rem;top:.6rem;font-size:.7rem;opacity:.42}
.client-logo-wall>a:hover{background:var(--forest);transform:none}.client-logo-wall>a:hover .client-logo{box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.private-clients{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;margin-top:1px;background:var(--forest);color:#fff}
.private-clients-heading{padding:1.15rem 1.25rem;border-right:1px solid rgba(255,255,255,.12)}.private-clients-heading span,.private-clients-heading small{display:block}.private-clients-heading span{font-size:.65rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase;color:var(--signal)}.private-clients-heading small{margin-top:.3rem;font-size:.5rem;color:rgba(255,255,255,.45)}
.private-client-rail{display:flex;gap:0;min-width:0;padding:.8rem 1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(185,222,185,.38) transparent;mask-image:linear-gradient(90deg,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent)}
.private-client-rail::-webkit-scrollbar{height:3px}.private-client-rail::-webkit-scrollbar-track{background:transparent}.private-client-rail::-webkit-scrollbar-thumb{background:rgba(185,222,185,.38)}
.private-client-rail>span{flex:0 0 auto;position:relative;padding:.65rem 1.4rem;font-size:.7rem;line-height:1.2;color:rgba(255,255,255,.68);white-space:nowrap}.private-client-rail>span::after{content:"";position:absolute;right:0;top:50%;width:3px;height:3px;border-radius:50%;background:var(--survey)}.private-client-rail>span small{display:inline;margin-left:.3rem;font-size:.48rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.38)}
.private-client-rail:focus-visible{outline:2px solid var(--survey);outline-offset:-4px}.private-client-rail>span:hover{color:#fff}
.clients .clients-note{margin-top:1.1rem;font-size:.68rem;color:rgba(21,35,29,.58)}
@media(min-width:681px) and (max-width:1050px){.client-logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.client-logo-wall>:last-child:nth-child(3n+2){grid-column:span 2}}
@media(max-width:680px){.clients{padding-block:3.8rem}.client-logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.client-logo-wall>:last-child:nth-child(odd){grid-column:1/-1}.client-logo-wall>a,.client-logo-wall>div{min-height:72px;padding:.62rem}.client-logo-wall>a.has-logo,.client-logo-wall>div.has-logo{min-height:78px;grid-template-columns:40px minmax(0,1fr);column-gap:.5rem}.client-logo-wall .client-logo{width:38px;height:29px;padding:.16rem}.private-clients{grid-template-columns:1fr}.private-clients-heading{padding:.85rem 1rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.private-client-rail{padding:.55rem .4rem}.private-client-rail>span{padding:.6rem 1rem}}

/* Contato — triagem local sem armazenamento ou dependência de formulário externo. */
.contact{align-items:start}
.contact-copy{max-width:860px}
.contact-form{margin-top:2rem;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid rgba(255,255,255,.15);border-radius:.45rem;background:rgba(255,255,255,.045);box-shadow:0 24px 70px rgba(0,0,0,.13);backdrop-filter:blur(8px)}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.contact-field{display:grid;gap:.48rem;min-width:0}
.contact-field-wide{grid-column:1/-1}
.contact-field>span{color:#b5d8bc;font-size:.62rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:50px;border:1px solid rgba(255,255,255,.2);border-radius:.25rem;padding:.78rem .9rem;background:rgba(4,20,34,.42);color:#fff;font:inherit;font-size:.88rem;line-height:1.45;outline:0;transition:border-color .2s,background .2s,box-shadow .2s}
.contact-field textarea{min-height:116px;resize:vertical}
.contact-field select{cursor:pointer;color-scheme:dark}
.contact-field select option{background:#071b3f;color:#fff}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:rgba(255,255,255,.4)}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--survey);background:rgba(4,20,34,.68);box-shadow:0 0 0 3px rgba(126,231,212,.12)}
.contact-submit{margin-top:1.2rem;border:0;cursor:pointer}
.contact-submit:disabled{cursor:not-allowed;opacity:.56;box-shadow:none;transform:none}
.contact-noscript{margin:.85rem 0 0;color:#f2d3a8;font-size:.72rem;line-height:1.55}
.contact-privacy{margin:.8rem 0 0;color:rgba(255,255,255,.48);font-size:.66rem;line-height:1.5}
.contact-feedback{min-height:1.3em;margin:.45rem 0 0;color:var(--signal);font-size:.7rem;font-weight:650}
.contact-details{margin-top:clamp(8rem,14vw,12rem)}
.contact-details a+a{margin-top:.38rem}
.contact-details a{transition:color .2s}
.contact-details a:hover{color:var(--signal)}
@media(max-width:900px){.contact-details{margin-top:0}.contact-form{max-width:760px}}
@media(max-width:600px){.contact-form-grid{grid-template-columns:1fr}.contact-field-wide{grid-column:auto}.contact-submit{width:100%;justify-content:space-between;text-align:left}.contact-form{padding:1.15rem}}

/* Versículo — assinatura espiritual mínima junto às informações legais. */
.footer-legal{justify-self:end;display:grid;gap:.32rem;max-width:410px;text-align:right}
.footer-verse{margin:0;font-style:normal}
.footer-verse p{margin:0;color:rgba(16,47,37,.52);font-family:Bonum,Georgia,serif;font-size:.57rem;line-height:1.45;font-style:italic;letter-spacing:.01em}
.footer-verse cite{display:block;margin-top:.08rem;color:rgba(93,107,100,.54);font-family:Montserrat,Arial,sans-serif;font-size:.42rem;line-height:1.35;font-style:normal;font-weight:670;letter-spacing:.11em;text-transform:uppercase}
@media(max-width:900px){.footer-legal{justify-self:center;text-align:center}}

/* Marco histórico — varredura de levantamento sobre o ano de fundação. */
.about-year{position:relative;isolation:isolate;overflow:visible;min-width:0;padding-top:1.25rem;padding-right:clamp(2rem,3vw,3.5rem);padding-bottom:1.25rem;background:radial-gradient(ellipse at 66% 56%,rgba(185,222,185,.2),transparent 58%)}
.about-year::after{content:"";position:absolute;z-index:0;left:4%;right:1.5rem;top:61%;height:1px;background:linear-gradient(90deg,transparent,rgba(40,100,67,.72),rgba(185,222,185,.9),transparent);transform:translateX(-118%);animation:yearSurveyLine 6.8s cubic-bezier(.55,0,.35,1) infinite}
.about-year span{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:.65rem;color:var(--forest);font-size:clamp(.78rem,1vw,.95rem);font-weight:900;letter-spacing:.3em}
.about-year span::before{content:"";width:8px;height:8px;border:2px solid var(--green);border-radius:50%;box-shadow:0 0 0 0 rgba(40,100,67,.22);animation:yearSurveyPulse 3.4s ease-out infinite}
.about-year strong{position:relative;z-index:1;width:max-content;max-width:100%;margin-left:auto;padding:0 .12em .08em 0;font-size:clamp(7.25rem,12.6vw,11.25rem);line-height:.8;letter-spacing:-.085em;background:linear-gradient(105deg,rgba(40,100,67,.025) 0 37%,rgba(40,100,67,.3) 48%,rgba(185,222,185,.16) 54%,rgba(40,100,67,.025) 65% 100%);background-size:250% 100%;background-position:130% 0;-webkit-background-clip:text;background-clip:text;animation:yearFillSweep 6.8s cubic-bezier(.55,0,.35,1) infinite;filter:drop-shadow(0 9px 24px rgba(16,47,37,.07))}
@keyframes yearSurveyLine{0%,16%{transform:translateX(-118%);opacity:0}24%{opacity:.75}58%{opacity:.5}72%,100%{transform:translateX(118%);opacity:0}}
@keyframes yearFillSweep{0%,16%{background-position:130% 0}72%,100%{background-position:-125% 0}}
@keyframes yearSurveyPulse{0%,45%,100%{box-shadow:0 0 0 0 rgba(40,100,67,.22)}68%{box-shadow:0 0 0 8px rgba(40,100,67,0)}}
@media(max-width:900px){.about-year{padding-top:.75rem;padding-right:0;padding-bottom:2.5rem}.about-year::after{right:0}.about-year span{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.about-year::after,.about-year span::before,.about-year strong{animation:none}.about-year strong{background-position:50% 0}}

/* Assinatura do slogan — brilho de precisão e linha de levantamento, executados uma única vez. */
.hero-copy h1{overflow:visible}
.hero-copy h1 em{position:relative;display:inline-block;overflow:visible;padding:.14em .1em .18em;margin:-.14em -.1em -.18em;color:#b9d9c1;background:linear-gradient(105deg,#a9d0b5 0 38%,#f4fff6 49%,#b9d9c1 60% 100%);background-size:240% 100%;background-position:110% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 28px rgba(185,222,185,.08)}
.hero-copy h1::after{transform:scaleX(0);transform-origin:left center}
.hero-copy.visible h1 em{animation:sloganPrecisionSweep 1.85s cubic-bezier(.2,.72,.2,1) .2s both}
.hero-copy.visible h1::after{animation:sloganSurveyBaseline 1.2s cubic-bezier(.2,.72,.2,1) .48s forwards}
@keyframes sloganPrecisionSweep{0%{background-position:110% 0;opacity:.78;transform:translateY(.05em)}55%{opacity:1}100%{background-position:-105% 0;opacity:1;transform:none}}
@keyframes sloganSurveyBaseline{0%{transform:scaleX(0);opacity:.25}100%{transform:scaleX(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-copy h1 em{animation:none!important;background-position:50% 0;opacity:1;transform:none}.hero-copy h1::after{animation:none!important;transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.private-client-rail{scroll-behavior:auto}}
@media(max-width:900px){.hero-coordinate,.survey-readout,.refined-contours .survey-node text{display:none}}
