:root{color-scheme:light;--bg:#f6faf7;--panel:#ffffff;--line:#d6e5dc;--green:#146449;--muted:#435a50;--white:#172c23}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.6 system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,select,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #126249;outline-offset:4px}.shell{width:min(1180px,calc(100% - 56px));margin:auto}header{border-bottom:1px solid var(--line)}nav,footer .shell,.tech .shell{min-height:77px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:27px;font-weight:750;letter-spacing:-.065em}.brand span,.eyebrow,h1 em,.index h3{color:var(--green)}.brand span:first-child{margin-right:5px}.navlinks,.actions{display:flex;gap:24px;align-items:center}.navlinks,.secondary{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #5b7468;border-radius:100px;padding:12px 20px;font-weight:700;background:transparent;color:var(--white);white-space:nowrap}.small{font-size:14px}.primary{background:var(--green);color:#ffffff;border-color:var(--green)}.hero{display:grid;grid-template-columns:1fr 1.13fr;align-items:center;gap:32px;padding-block:70px}.eyebrow{font:700 12px/1.5 ui-monospace,monospace;letter-spacing:.13em}i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#146449;margin-right:7px;box-shadow:0 0 12px #146449}h1,h2,h3,p{margin:0}h1{font-size:clamp(50px,7.4vw,110px);line-height:.91;letter-spacing:-.082em;margin:25px 0}h1 em{font-style:normal}.intro p,.lede{color:var(--muted);max-width:620px;font-size:18px}.actions{margin-top:30px;flex-wrap:wrap}.visual{margin:0;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#d8eddf;aspect-ratio:1.09}.visual img{width:100%;height:100%;object-fit:cover}.visual figcaption{position:absolute;inset:auto 14px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f4fff8f2;padding:12px 16px;border:1px solid var(--line);border-radius:12px}.visual figcaption span{font:700 10px ui-monospace,monospace;color:var(--green)}.visual strong{font-size:23px}.visual small{font-size:12px;color:var(--muted)}.tech,.method,footer{background:#eaf5ee;border-block:1px solid var(--line)}.tech .shell{justify-content:center;gap:clamp(14px,5vw,70px)}.tech span,.result small{color:var(--muted);font-size:12px}.tech strong{font-size:clamp(16px,2vw,25px)}.section{padding-block:78px}h2{font-size:clamp(36px,5.6vw,72px);line-height:1;letter-spacing:-.065em;margin:13px 0 18px}h3{font-size:24px;line-height:1.25;letter-spacing:-.03em;margin-bottom:10px}.coverage,.cards,.portfolio{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:30px}.states,.result,article,.index,form,.portfolio-list{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px}.states{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:8px}.states button{min-height:44px;border-radius:8px;border:1px solid var(--line);background:#edf7f0;color:var(--white);font-weight:700}.states button[aria-pressed=true]{background:var(--green);color:#ffffff}.result strong{display:block;font-size:50px;line-height:1.2;color:var(--green)}.result small{display:block;margin-top:12px}.cards{grid-template-columns:1fr 1fr}article b{display:block;color:var(--green);font:700 12px ui-monospace,monospace;margin-bottom:24px}article p,.index p,.portfolio-list p{color:var(--muted)}.index{margin-top:18px;display:flex;gap:30px;justify-content:space-between}.legend{display:grid;gap:8px;min-width:130px}.portfolio form{display:grid;gap:8px}label{font-size:14px;font-weight:700}input,select{width:100%;background:#f6faf7;border:1px solid #607469;border-radius:8px;padding:10px;color:var(--white)}form button{justify-self:start;margin-top:8px}ul{padding:0;list-style:none}li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:9px;border-top:1px solid var(--line);overflow-wrap:anywhere}li button{color:var(--white);background:transparent;border:1px solid #607469;border-radius:8px;padding:6px 10px}footer .shell{flex-wrap:wrap;padding-block:16px;color:var(--muted)}@media(max-width:780px){.hero,.coverage,.cards,.portfolio{grid-template-columns:1fr}.hero{padding-block:44px}.navlinks{display:none}.shell{width:calc(100% - 36px)}.index{flex-direction:column}.section{padding-block:56px}.visual{aspect-ratio:1.35}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.visual{aspect-ratio:3/2}.visual img{object-fit:fill}.map-points{position:absolute;inset:0}.map-points span{position:absolute;width:var(--size);height:var(--size);transform:translate(-50%,-50%);border-radius:50%;background:#c7ffde;border:1px solid white;box-shadow:0 0 10px #79ffba,0 0 0 3px #85ffc14d}.visual figcaption{inset:auto 8px 8px auto;padding:7px 10px;flex-direction:column;align-items:flex-start;gap:0}.visual strong{font-size:19px}

.visual{box-shadow:0 18px 45px #173d2724}.visual img{opacity:.9}.states button:hover{border-color:var(--green)}i{background:#248360;box-shadow:0 0 10px #6ec7a280}

h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.055em}
h1{font-size:clamp(52px,7vw,100px);line-height:.98}
h1 em{font-style:italic}
h2{line-height:1.04}
.technology{background:#f0f8f2;border-block:1px solid var(--line)}
.tech-feature{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:18px;padding:clamp(20px,4vw,40px);align-items:start}
.tech-feature:first-of-type{margin-top:30px}
.tech-feature h3{font-size:clamp(25px,3vw,37px)}
.tech-example{background:#eaf5ee;border-radius:12px;padding:20px}
.tech-example b{margin-bottom:12px}
.tech-example ol{padding-left:24px;margin:0}
.tech-example li{display:list-item}
.tech-example details{border-top:1px solid var(--line);padding-block:9px}
.tech-example summary{cursor:pointer;font-weight:700}
.tech-example details p{margin-top:6px}
.text-link{display:inline-block;margin-top:16px;color:var(--green);font-weight:700;text-decoration:underline}
.tech-note{margin-top:18px;color:var(--muted);font-size:14px}
.workflow{display:grid;gap:10px;margin-top:26px}
.workflow details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:0 18px}
.workflow details[open]{background:#eaf5ee;border-color:#8bbca6}
.workflow summary{cursor:pointer;padding-block:15px;font-weight:700;font-size:clamp(17px,2vw,21px)}
.workflow summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.workflow p{margin:0 0 16px;color:var(--muted);max-width:680px}
.step-number{margin-inline:6px 8px;color:var(--green);font:700 13px ui-monospace,monospace}
@media(max-width:780px){.tech-feature{grid-template-columns:1fr}}

textarea{width:100%;background:var(--bg);border:1px solid #607469;border-radius:8px;padding:10px;color:var(--white);font:inherit;resize:vertical}
textarea:focus-visible{outline:3px solid var(--green);outline-offset:4px}
button:disabled{opacity:.55;cursor:default}
#contact-form .button{white-space:normal;text-align:center}
#contato .lede{margin-bottom:12px}

.review-strip{background:#eaf5ee;border-top:1px solid var(--line)}
.review-layout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding-block:23px}
.review-layout small{color:var(--muted)}
.review-stars{color:#805000;letter-spacing:.12em}
.review-text{max-width:620px;font-size:clamp(16px,2vw,20px);line-height:1.35}
.review-controls:not([hidden]){display:flex;gap:8px;flex-wrap:wrap}
.review-controls button{background:var(--panel);color:var(--green);border:1px solid #8bbca6;border-radius:100px;padding:6px 12px;font-weight:650}
@media(max-width:780px){.review-layout{grid-template-columns:1fr;gap:12px}}
