
:root{
  --bg:#F5F6F8; --surface:#FFFFFF; --ink:#111111; --muted:#5A5F66; --line:#E0E4EA;
  --accent:#FFCF00; --accent-ink:#0A0A0A; --accent-text:#7A5C00; --deep:#050505; --deep-ink:#F2F5F9;
  --display:'Poppins','Helvetica Neue',Arial,sans-serif;
  --body:'Urbanist','Helvetica Neue',Arial,sans-serif;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--bg:#0B0B0B;--surface:#161616;--ink:#EAF0F7;--muted:#9AA9BA;--line:#2A2A2A;--accent:#FFCF00;--accent-ink:#0A0A0A;--accent-text:#FFCF00;--deep:#000;color-scheme:dark}
}
:root[data-theme="dark"]{--bg:#0B0B0B;--surface:#161616;--ink:#EAF0F7;--muted:#9AA9BA;--line:#2A2A2A;--accent:#FFCF00;--accent-ink:#0A0A0A;--accent-text:#FFCF00;--deep:#000;color-scheme:dark}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 4.5rem);scroll-behavior:smooth;height:auto}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--surface);z-index:20}
a{color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--accent)}
.wrap{max-width:1160px;margin:0 auto;padding-left:max(1.5rem,env(safe-area-inset-left,0px));padding-right:max(1.5rem,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.1}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:.95rem;text-decoration:none;padding:.8rem 1.35rem;border-radius:8px;transition:filter .2s,transform .2s}
.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.btn.out{background:transparent;color:inherit;border:1px solid currentColor;opacity:.95}
/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--surface);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:4rem}
.logo{font-family:var(--display);font-size:1.4rem;text-decoration:none;letter-spacing:-.03em}
.logo b{font-weight:700}.logo span{font-weight:500;color:var(--muted)}
nav{display:flex;align-items:center;gap:1.75rem}
nav a:not(.btn){text-decoration:none;font-size:.95rem;color:var(--muted);font-weight:500}
nav a:not(.btn):hover{color:var(--ink)}
nav .btn{padding:.6rem 1.1rem}
/* hero */
.hero{position:relative;background:var(--deep);color:var(--deep-ink);overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(95deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.7) 48%,rgba(0,0,0,.25) 100%)}
.hero .wrap{position:relative;z-index:1}
.hero .in{padding:6rem 0 3.5rem}
.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--accent);margin:0 0 1.25rem}
.hero h1{font-size:clamp(2.2rem,5.2vw,4rem);max-width:18ch}
.hero p.lead{max-width:54ch;font-size:1.15rem;color:#C9D3DF;margin:1.5rem 0 2rem}
.cta{display:flex;gap:.75rem;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:4rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.18)}
.stats b{display:block;font-family:var(--display);font-weight:600;font-size:2.2rem;letter-spacing:-.02em}
.stats span{color:#B3C0CF;font-size:.92rem}
/* sections */
section{padding:5.5rem 0}
.head{max-width:640px;margin-bottom:3rem}
.head .eyebrow{color:var(--accent-text)}
.head h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
.head p{color:var(--muted);margin:1rem 0 0;font-size:1.08rem}
.cards{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.card figure{margin:0;position:relative;aspect-ratio:16/10;background:var(--deep)}
.card figure img,.card figure video{width:100%;height:100%;object-fit:cover;display:block}
.badge{position:absolute;left:.9rem;top:.9rem;background:rgba(0,0,0,.8);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .6rem;border-radius:4px}
.cb{padding:1.4rem;display:flex;flex-direction:column;flex:1}
.tag{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-weight:600}
.card h3{font-size:1.4rem}
.addr{margin:.35rem 0 1.1rem;color:var(--muted);font-size:.92rem}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1rem;padding:1rem 0;border-block:1px solid var(--line)}
.meta dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.meta dd{margin:.2rem 0 0;font-weight:500}
.meta .big{font-family:var(--display);font-size:1.6rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.d{margin:0 0 1.25rem;color:var(--muted);font-size:.95rem}
.act{display:flex;align-items:center;gap:1.25rem;margin-top:auto;padding-top:.5rem}
.lnk{font-size:.92rem;font-weight:600;color:var(--muted);text-underline-offset:4px}
.lnk:hover{color:var(--ink)}
.svc{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.svc article{padding:0}
.svc figure{margin:0 0 1.5rem;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--deep)}
.svc figure img{width:100%;height:100%;object-fit:cover;display:block}
.svc .n{font-size:.85rem;color:var(--accent-text);font-weight:600;letter-spacing:.08em}
.svc h3{font-size:1.5rem;margin:.5rem 0 1rem}
.svc ul{list-style:none;margin:0;padding:0;color:var(--muted)}
.svc li{padding:.55rem 0;border-bottom:1px solid var(--line)}
.svc li b{color:var(--ink);font-weight:600}
.alt{background:var(--surface);border-block:1px solid var(--line)}
.contact{background:var(--deep);color:var(--deep-ink);text-align:left}
.contact h2{font-size:clamp(1.9rem,4vw,3rem);max-width:20ch}
.contact p{color:#B3C0CF;max-width:52ch;margin:1.25rem 0 2rem;font-size:1.1rem}
.contact .info{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.75rem;border-top:1px solid rgba(255,255,255,.18);color:#B3C0CF;font-size:.95rem}
.contact .info b{display:block;color:#fff;font-weight:600}
footer{background:var(--deep);color:#8696A8;font-size:.88rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.1)}
.split{display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:center}
.split img{width:100%;display:block;border-radius:12px;aspect-ratio:4/3;object-fit:cover}
.split .head{margin:0}
.ben{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:3.5rem 0 4.5rem}
.ben div{border-left:3px solid var(--accent);padding:.15rem 0 .15rem 1.1rem}
.ben b{display:block;font-family:var(--display);font-size:1.1rem;font-weight:600}
.ben span{color:var(--muted);font-size:.95rem}
.sub{font-family:var(--display);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0 0 1.5rem}
.chips{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;gap:.5rem;flex-wrap:wrap}
.chips li{border:1px solid var(--line);background:var(--surface);padding:.35rem .85rem;border-radius:99px;font-size:.9rem}
.band{background:var(--deep);color:var(--deep-ink);border-radius:14px;padding:2.5rem;margin:4.5rem 0}
.band h3{font-size:1.6rem;margin:0 0 .5rem}.band>p{color:#B8B8B8;margin:0 0 2rem;max-width:56ch}
.band .g{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.band .g div{border-top:2px solid var(--accent);padding-top:1rem}
.band .g b{display:block}.band .g span{color:#B8B8B8;font-size:.95rem}
.plans{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0;overflow:hidden;display:flex;flex-direction:column}
.pf{margin:0;position:relative;aspect-ratio:16/10;background:var(--deep)}
.pf img{width:100%;height:100%;object-fit:cover;display:block}
.pb{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.sz{height:120px;display:flex;align-items:flex-end;margin-bottom:1.25rem}
.sz i{display:block;background:var(--deep);border:2px solid var(--accent);border-radius:3px;max-height:100%}
.plan h3{font-size:1.3rem}.plan .f{font-weight:600;margin:.4rem 0 .15rem}.plan .a{color:var(--muted);font-size:.9rem;margin:0 0 1rem}
.plan p.d{flex:1}.plan .ok{font-size:.88rem;font-weight:600;margin:0 0 1.25rem}
.cabs{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:3rem}
.cab{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:1.5rem;text-align:center}
.cv{height:160px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.cv svg{max-height:100%;width:auto}
.cab h3{font-size:1.1rem}.cab .a{color:var(--muted);margin:.2rem 0 .6rem;font-size:.9rem}.cab .d{margin:0;font-size:.88rem;color:var(--muted)}
.tbls{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start}
.tw{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow-x:auto}
.th{padding:1.25rem 1.25rem .5rem}.th h3{font-size:1.2rem}.th p{margin:.4rem 0 0;color:var(--muted);font-size:.85rem}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl th,.tbl td{padding:.75rem 1.25rem;text-align:left;border-top:1px solid var(--line)}
.tbl th{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:600}
.tbl th:last-child,.tbl td:last-child{text-align:right;white-space:nowrap}
.tbl td.p{font-family:var(--display);font-weight:600}
.nota{color:var(--muted);font-size:.9rem;margin:1.75rem 0 1.25rem}
nav a[aria-current="page"]{color:var(--ink)!important;box-shadow:inset 0 -2px 0 var(--accent)}
.crumb{display:flex;gap:.6rem;padding-top:1.75rem;font-size:.9rem;color:var(--muted)}.crumb a{text-decoration:none}.crumb a:hover{color:var(--ink)}.crumb b{color:var(--ink);font-weight:600}
.crumb+section{padding-top:2.5rem}
.sc{text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}.sc:hover{transform:translateY(-3px);border-color:var(--ink)}
.more{margin-top:auto;padding-top:1rem;font-weight:600}
.card figure.vf{display:flex;align-items:center;justify-content:center}.vf svg{height:78%;width:auto}
[hidden]{display:none!important}
.why{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.why div{border-top:2px solid var(--ink);padding-top:1rem}.why b{display:block;font-family:var(--display);font-size:1.1rem;font-weight:600;margin-bottom:.3rem}.why span{color:var(--muted);font-size:.95rem}
.sim{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}
.box{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:1.5rem}
.fg{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.fg label{display:block;font-size:.85rem;font-weight:600}.fg label:nth-child(2){grid-column:1/-1}
.fg select,.fg input{display:block;width:100%;margin-top:.35rem;padding:.7rem .8rem;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.out{margin:0;display:grid;gap:1rem}.out dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.out dd{margin:.15rem 0 0;font-weight:600;font-size:1.05rem}.out dd.big{font-family:var(--display);font-size:1.7rem;letter-spacing:-.02em}
details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;padding:1.1rem 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.4rem;line-height:1}details[open] summary::after{content:"\2212"}
details p{margin:0 0 1.25rem;color:var(--muted)}details a{font-weight:600}
.apps .card figure{aspect-ratio:auto;flex:1 1 auto;min-height:230px}
.apps .card figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.apps .cb{flex:none}
.cv{height:230px;background:#fff;border-radius:8px;padding:.6rem}
.cv img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
@media (max-width:700px){.hero .in{padding:4rem 0 2.5rem}section{padding:4rem 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

@media (max-width:760px){.bar{flex-wrap:wrap;gap:.25rem 1rem;padding-top:.6rem;padding-bottom:.6rem}nav{width:100%;overflow-x:auto;gap:1.25rem;white-space:nowrap;padding:.35rem 0 .25rem;-webkit-overflow-scrolling:touch}nav .btn{padding:.45rem .9rem}}
footer{padding:3rem 0 1.5rem}footer .fg2{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}footer b{display:block;color:#fff;font-weight:600;margin-bottom:.5rem}footer a{display:block;color:#B3C0CF;text-decoration:none;padding:.2rem 0}footer a:hover{color:#fff}footer .copy{margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}
.card figure.vf{background:#fff}.vf img{object-fit:contain}
.split img{height:auto}

/* imagens dos cartões sempre cortadas no mesmo formato */
.card figure,.pf,.svc figure{position:relative}
.card figure img,.pf img,.svc figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card figure.vf img{object-fit:contain}

.svc{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2rem 1.5rem}.svc .sd{color:var(--ink);font-weight:500;margin:0 0 .75rem}.svc .more{display:inline-block;margin-top:1rem;font-weight:600}.svc li{padding:.4rem 0;font-size:.95rem}
.svc{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.svc h3{margin:0 0 .5rem}.svc .sd{color:var(--muted);font-weight:400}.svc .more{margin-top:.5rem}

footer .fg2{grid-template-columns:1.4fr 1fr 1.2fr;gap:2.5rem}footer .fg2>*{min-width:0}footer p{margin:.25rem 0 0;line-height:1.55}footer .fb p{max-width:34ch}footer .flogo{display:inline-block;font-family:Poppins,sans-serif;font-size:1.4rem;color:#fff;padding:0;margin-bottom:.5rem}footer .flogo b{display:inline;color:var(--accent);margin:0}footer nav b,footer .fg2>div>b{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#fff}
@media(max-width:760px){footer .fg2{grid-template-columns:1fr;gap:1.75rem}}
footer nav{display:block;position:static;flex:none;gap:0}footer nav a{display:block}
footer nav a{color:#B3C0CF;opacity:1;font-weight:400}footer nav a:hover{color:#fff}
footer a:not(.btn):hover,footer nav a:not(.btn):hover,footer .flogo:hover{color:#FFCF00}footer a:focus-visible{color:#FFCF00;outline:2px solid #FFCF00;outline-offset:2px}
footer nav a:not(.btn){color:#B3C0CF;opacity:1}footer nav a:not(.btn):hover{color:#FFCF00}
/* rodapé: estados dos links, sempre legíveis sobre o fundo escuro */
footer a,footer a:visited{-webkit-tap-highlight-color:rgba(255,207,0,.25)}
footer nav a:not(.btn):hover,footer nav a:not(.btn):focus,footer nav a:not(.btn):active,footer nav a:not(.btn):visited:hover,
footer .fg2 a:not(.btn):hover,footer .fg2 a:not(.btn):focus,footer .fg2 a:not(.btn):active,footer .flogo:hover,footer .flogo:focus,footer .flogo:active{color:#FFCF00;outline:none;box-shadow:none}
footer nav a:not(.btn):focus-visible,footer .fg2 a:not(.btn):focus-visible{color:#FFCF00;outline:2px solid #FFCF00;outline-offset:3px;box-shadow:none}
footer nav a:not(.btn):visited,footer .fg2>div a:not(.btn):visited{color:#B3C0CF}
/* cabeçalho no celular: mantém a margem lateral */


footer a:not(.btn):hover,footer a:not(.btn):active,footer a:not(.btn):focus,footer a:not(.btn):focus-visible,footer .flogo:hover,footer .flogo:active,footer .flogo:focus{color:#FFCF00 !important;outline:none;box-shadow:none;opacity:1 !important}
footer a:not(.btn):focus-visible{outline:2px solid #FFCF00;outline-offset:3px}

.logo{display:inline-flex;align-items:center}.logo img{display:block;height:1.55rem;width:auto;max-width:100%}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo img{filter:invert(1)}}:root[data-theme="dark"] .logo img{filter:invert(1)}
footer .flogo{display:inline-block;margin-bottom:.75rem}footer .flogo img{display:block;height:1.9rem;width:auto}
