
:root{--paper:#F4F6F7;--sheet:#FFFFFF;--ink:#14212C;--muted:#55636F;--grid:#D9E0E4;--grid-strong:#BFC9CF;--marco:#C1272D;--marco-dark:#9E1D22;--fix:#2E6B57;--maxw:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Archivo",system-ui,sans-serif;font-size:18px;line-height:1.55;font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--marco);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.num{font-variant-numeric:tabular-nums}
/* cabeçalho */
.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:22px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;font-size:21px;font-variation-settings:"wdth" 112}
.brand svg{flex:none}
.nav{display:flex;gap:26px;align-items:center;font-size:16px}
.nav a{text-decoration:none;color:var(--muted)}
.nav .links{display:flex;gap:26px}
.nav a:hover{color:var(--ink)}
.langs{display:flex;gap:4px}
.langs a{font-size:14px;padding:4px 8px;border-radius:4px;text-decoration:none;color:var(--muted);border:1px solid transparent}
.langs a[aria-current]{border-color:var(--grid-strong);color:var(--ink)}
@media (max-width:860px){.nav .links{display:none}}
/* hero */
.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding-top:40px;padding-bottom:88px}
.hero h1{font-size:clamp(36px,4.6vw,58px);line-height:1.04;letter-spacing:-.015em;margin:0 0 24px;font-weight:760;font-variation-settings:"wdth" 88}
.hero p.lead{font-size:21px;color:var(--muted);max-width:34em;margin:0 0 34px}
.ctas{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-block;padding:14px 22px;border-radius:6px;font-weight:600;text-decoration:none;font-size:17px}
.btn.primary{background:var(--marco);color:#fff}
.btn.primary:hover{background:var(--marco-dark)}
.btn.ghost{border:1.5px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.plot{background:var(--sheet);border:1px solid var(--grid-strong);border-radius:10px;padding:14px 14px 10px;box-shadow:0 1px 0 var(--grid)}
.plot svg{display:block;width:100%;height:auto}
.plot figcaption{font-size:14px;color:var(--muted);padding:8px 4px 2px}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:36px;padding-bottom:64px}}
@media (max-width:520px){.wrap{padding-left:20px;padding-right:20px}.ctas .btn{flex:1 1 100%;text-align:center}}
/* animação do levantamento: um único momento orquestrado */
.pt{opacity:0;transform-box:fill-box;transform-origin:center;animation:drop .45s ease-out forwards}
.lbl{opacity:0;animation:fade .4s ease-out forwards}
.parcel{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 1.6s ease-in-out forwards;animation-delay:3.4s}
.parcel-fill{opacity:0;animation:fade .8s ease-out forwards;animation-delay:4.8s}
.status{opacity:0;animation:fade .5s ease-out forwards;animation-delay:5.1s}
@keyframes drop{from{opacity:0;transform:scale(2.2)}to{opacity:1;transform:scale(1)}}
@keyframes fade{to{opacity:1}}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.pt,.lbl,.parcel-fill,.status{animation:none;opacity:1}.parcel{animation:none;stroke-dashoffset:0}}
/* secções */
section{padding:84px 0;border-top:1px solid var(--grid)}
h2{font-size:clamp(30px,3.4vw,42px);line-height:1.1;margin:0 0 18px;letter-spacing:-.01em;font-weight:720;font-variation-settings:"wdth" 92}
.sub{color:var(--muted);max-width:40em;margin:0 0 48px;font-size:19px}
/* destaques */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.feat{padding:8px 32px 8px 0}
.feat+.feat{padding-left:32px;border-left:1px solid var(--grid)}
.feat svg{display:block;margin-bottom:20px}
.feat h3{font-size:23px;line-height:1.2;margin:0 0 12px;font-weight:680;font-variation-settings:"wdth" 96}
.feat p{margin:0;color:var(--muted)}
.feat.free h3{color:var(--marco)}
@media (max-width:900px){.feats{grid-template-columns:1fr}.feat,.feat+.feat{padding:28px 0;border-left:0;border-top:1px solid var(--grid)}.feat:first-child{border-top:0;padding-top:0}}
/* poligonal (passos) */
.traverse{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;list-style:none;margin:0;padding:0}
.traverse:before{content:"";position:absolute;left:12px;right:12px;top:11px;height:2px;background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 16px)}
.traverse li{position:relative;padding-top:44px}
.traverse .st{position:absolute;top:0;left:0;width:24px;height:24px;border-radius:50%;background:var(--sheet);border:3px solid var(--ink)}
.traverse li:last-child .st{background:var(--marco);border-color:var(--marco)}
.traverse .k{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.traverse h3{font-size:21px;margin:4px 0 8px;font-weight:680}
.traverse p{margin:0;color:var(--muted);font-size:17px}
@media (max-width:900px){.traverse{grid-template-columns:1fr;gap:34px;padding-left:44px}.traverse:before{left:11px;right:auto;top:12px;bottom:12px;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--ink) 0 10px,transparent 10px 16px)}.traverse li{padding-top:0}.traverse .st{left:-44px}}
/* vídeo */
.video{background:var(--ink);border-radius:10px;overflow:hidden;aspect-ratio:16/9}
.video video{width:100%;height:100%;display:block}
.note{font-size:15px;color:var(--muted);margin-top:12px}
/* equipamento */
.eq{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:start}
.photo{aspect-ratio:1;background:#fff;border:1px solid var(--grid-strong);border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--muted);font-size:15px}
.photo img{width:100%;height:100%;object-fit:contain;background:#fff}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.thumbs img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid var(--grid-strong);border-radius:8px}
.specs{width:100%;border-collapse:collapse;margin:8px 0 30px;font-size:16.5px}
.specs th{text-align:left;font-weight:600;padding:12px 18px 12px 0;vertical-align:top;white-space:nowrap;width:1%}
.specs td{padding:12px 0;color:var(--muted)}
.specs tr{border-bottom:1px solid var(--grid)}
.specs tr.hl th{color:var(--marco)}
.links-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.links-row a.plain{color:var(--muted);font-size:16px}
@media (max-width:900px){.eq{grid-template-columns:1fr;gap:32px}.photo{aspect-ratio:1}.specs th{white-space:normal;width:34%}}
/* instalação */
.inst{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.box{background:var(--sheet);border:1px solid var(--grid-strong);border-radius:10px;padding:30px}
.box h3{margin:0 0 10px;font-size:22px;font-weight:680}
.box p{margin:0 0 22px;color:var(--muted)}
@media (max-width:760px){.inst{grid-template-columns:1fr}}
/* perguntas */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--grid);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;font-size:19px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary:after{transform:translateY(-30%) rotate(-135deg)}
@media (prefers-reduced-motion:reduce){.faq summary:after{transition:none}}
.faq details p{margin:0 0 20px;color:var(--muted);max-width:44em}
/* contacto e rodapé */
.contact a{font-size:24px;font-weight:600;color:var(--marco)}
footer{border-top:1px solid var(--grid);padding:34px 0 48px;font-size:15px;color:var(--muted)}
footer .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px}
footer nav{display:flex;flex-wrap:wrap;gap:22px}
/* páginas legais */
.legal{max-width:760px;padding-top:30px;padding-bottom:80px}
.legal h1{font-size:44px;margin:10px 0 6px;font-variation-settings:"wdth" 92}
.legal h2{font-size:23px;margin:36px 0 8px}
.legal p{color:#2B3843}
.legal .back{font-size:16px;color:var(--muted)}
