
:root{
  --bg:#07111f;--bg2:#0a1524;--card:#0d1a2a;--card2:#101e31;
  --line:#263a50;--line2:#324961;--orange:#ff5b0b;--orange2:#ff7b22;
  --green:#22c768;--text:#f7f9fc;--muted:#a9b6c7;--muted2:#8392a4;
  --max:1190px;--shadow:0 28px 80px rgba(0,0,0,.28)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.56}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.wrap{width:min(var(--max),92%);margin:auto}
.topbar{position:sticky;top:0;z-index:70;background:rgba(7,17,31,.93);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:39px;height:39px;border:1px solid #33465d;border-radius:11px;display:grid;place-items:center;color:var(--orange);font-weight:950;font-size:13px;background:#0b1727}
.brand-copy b{font-size:22px;letter-spacing:-.045em}.brand-copy b span{color:var(--orange)}
.brand-copy small{display:block;color:#9aa8b8;font-size:8px;letter-spacing:.2em;text-transform:uppercase;margin-top:1px}

.brand-mark img{width:24px;height:24px;display:block;object-fit:contain}
.menu{display:flex;align-items:center;gap:22px;color:#cad2dc;font-size:13px;font-weight:750}
.menu a:hover{color:#fff}
.nav-actions{display:flex;gap:9px}
.btn{min-height:49px;padding:0 18px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:900;border:1px solid transparent;transition:.18s ease}
.btn:hover{transform:translateY(-2px)}
.btn svg{width:19px;height:19px}
.btn-green{background:var(--green);color:#fff;box-shadow:0 12px 28px rgba(34,199,104,.18)}.btn-green svg{fill:#fff}
.btn-orange{background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 12px 29px rgba(255,91,11,.20)}
.btn-dark{background:#101d2d;border-color:#344a62;color:#fff}
.hero{padding:72px 0 65px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:700px;height:700px;border-radius:50%;right:-170px;top:-300px;background:radial-gradient(circle,rgba(255,91,11,.15),transparent 67%)}
.hero-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;align-items:center;position:relative}
.kicker,.eyebrow{color:#ff7a20;text-transform:uppercase;font-size:11px;letter-spacing:.17em;font-weight:950;margin-bottom:13px}
h1{font-size:clamp(42px,4.9vw,61px);line-height:1.01;letter-spacing:-.048em;margin:0 0 18px;max-width:690px}
h1 span{color:var(--orange)}
.hero-copy>p{font-size:17px;line-height:1.72;color:#c1cbd7;max-width:650px;margin:0 0 25px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:23px;color:#d8e0e9;font-size:12px;font-weight:800}
.hero-points span:before{content:"✓";color:#ff721c;margin-right:7px}

/* 3 fotos de cidades no formato do primeiro conceito: 1 grande + 2 menores */
.city-collage{position:relative;min-height:510px}
.city-shot{position:absolute;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.11);box-shadow:0 20px 52px rgba(0,0,0,.28);background:#102034}
.city-shot img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.city-shot:hover img{transform:scale(1.035);filter:contrast(1.04)}
.city-shot:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,10,18,.82),rgba(4,10,18,.05) 62%)}
.city-shot.main{left:0;top:0;bottom:64px;width:64%}
.city-shot.small-a{right:0;top:28px;width:39%;height:205px}
.city-shot.small-b{right:0;bottom:0;width:42%;height:222px}
.city-caption{position:absolute;z-index:2;left:15px;bottom:13px}
.city-caption strong{display:block;font-size:18px;letter-spacing:-.02em}
.city-caption span{font-size:10px;color:#d1d9e4}

/* trust strip */
.trustbar{background:#0a1524;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:23px 20px;border-right:1px solid rgba(255,255,255,.07)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;font-size:20px;margin-bottom:2px}
.trust-item span{color:#95a5b8;font-size:11px}

section{padding:74px 0;scroll-margin-top:86px}
.section-alt{background:#0a1524}
.section-head{max-width:800px;margin-bottom:30px}
.section-head h2{font-size:clamp(32px,4vw,51px);line-height:1.04;letter-spacing:-.04em;margin:0 0 11px}
.section-head p{color:var(--muted);font-size:15px;margin:0;line-height:1.7}

/* serviços */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.service-card{background:linear-gradient(160deg,#111f32,#0b1726);border:1px solid var(--line);border-radius:17px;overflow:hidden;transition:.2s ease;min-height:320px}
.service-card:hover{transform:translateY(-4px);border-color:#415873;box-shadow:0 18px 38px rgba(0,0,0,.22)}
.service-photo{height:175px;position:relative;overflow:hidden}
.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.service-card:hover .service-photo img{transform:scale(1.04)}
.service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(6,13,23,.82),transparent 62%)}
.service-title{position:absolute;left:14px;bottom:12px;z-index:2;font-size:17px;font-weight:950;line-height:1.12;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.service-body{padding:17px 18px 19px}
.service-body p{color:#acb8c7;font-size:13px;margin:0 0 14px}
.service-body a{color:#ff7d25;font-size:12px;font-weight:900}

/* processo */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{background:#0d1929;border:1px solid var(--line);border-radius:17px;padding:23px}
.step .n{font-size:32px;font-weight:950;color:var(--orange);line-height:1;margin-bottom:13px}
.step h3{margin:0 0 7px;font-size:18px}.step p{margin:0;color:#9faebe;font-size:13px}

/* estrutura */
.structure-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:13px}
.structure-card{height:310px;position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#0c1726}
.structure-card img{width:100%;height:100%;object-fit:cover}
.structure-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,12,22,.74),transparent 60%)}
.structure-card figcaption{position:absolute;z-index:2;left:14px;bottom:12px;font-size:12px;font-weight:900}
.structure-copy{display:grid;grid-template-columns:1fr .9fr;gap:22px;align-items:center;margin-top:25px}
.info-panel{background:#0d1929;border:1px solid var(--line);border-radius:18px;padding:25px}
.info-panel h3{font-size:25px;margin:0 0 10px;letter-spacing:-.03em}
.info-panel p{color:#aab6c5;font-size:14px;margin:0 0 16px}
.info-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.info-list span{padding:11px 12px;border:1px solid #2c4057;background:#102036;border-radius:11px;font-size:11px;font-weight:850;color:#d9e1eb}
.video-wrap{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#03070c}
.video-wrap video{width:100%;height:300px;object-fit:cover;display:block}

/* para quem */
.audience{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.audience article{border:1px solid var(--line);background:#0d1929;border-radius:17px;padding:23px}
.audience h3{margin:0 0 7px;font-size:18px}.audience p{margin:0;color:#9fADbd;font-size:13px}

/* cidades inferiores */
.city-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.city-card{background:#0d1929;border:1px solid var(--line);border-radius:17px;overflow:hidden}
.city-card img{width:100%;height:210px;object-fit:cover}
.city-card .body{padding:18px}
.city-card h3{font-size:23px;margin:0 0 7px}
.city-card p{color:#a7b4c4;font-size:13px;margin:0 0 12px}
.city-card a{color:#ff7d25;font-weight:900;font-size:12px}
.city-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.city-pills a{padding:8px 11px;border-radius:999px;border:1px solid #30455e;background:#102037;color:#d5dee9;font-size:11px;font-weight:850}

/* mapa */
.map-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:23px;align-items:stretch}
.map-copy{background:#0d1929;border:1px solid var(--line);border-radius:19px;padding:27px}
.map-copy h2{font-size:39px;line-height:1.05;letter-spacing:-.035em;margin:0 0 11px}
.map-copy p{color:#a8b4c4;font-size:14px;margin:0 0 18px}
.map-frame{border:1px solid var(--line);border-radius:19px;overflow:hidden;min-height:430px;background:#0d1929}
.map-frame iframe{width:100%;height:100%;min-height:430px;border:0}

/* FAQ */
.faq{max-width:900px}
.faq details{border-bottom:1px solid #293b50;padding:18px 1px}
.faq summary{cursor:pointer;font-size:16px;font-weight:900}
.faq p{color:#a6b3c2;font-size:13px;margin-bottom:0}

/* CTA */
.final{background:linear-gradient(135deg,#111f32,#0a1625);border:1px solid #2e435b;border-radius:22px;padding:40px;text-align:center}
.final h2{font-size:clamp(31px,4.2vw,49px);margin:0 0 10px;letter-spacing:-.04em}
.final p{color:#b3bfce;max-width:680px;margin:0 auto 22px}

/* footer mais completo */
.footer{padding:50px 0 105px;border-top:1px solid rgba(255,255,255,.07);background:#050c16}
.footer-grid{display:grid;grid-template-columns:1.2fr .85fr .85fr .9fr;gap:30px}
.footer h4{margin:0 0 11px;font-size:13px;color:#fff}
.footer p,.footer a{color:#8f9dae;font-size:11px;line-height:1.8}
.footer a:hover{color:#fff}
.footer-brand{font-size:24px;font-weight:950;letter-spacing:-.04em;margin-bottom:9px}.footer-brand span{color:var(--orange)}
.footer-contact{margin-top:13px}
.footer-copy{margin-top:28px;padding-top:18px;border-top:1px solid #1d2d40;color:#667587;font-size:9px;line-height:1.65}

/* WhatsApp flutuante mais ativo */
.float-wa{position:fixed;right:19px;bottom:19px;z-index:95;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--green);box-shadow:0 16px 38px rgba(34,199,104,.42);animation:waJump 1.35s cubic-bezier(.22,.7,.3,1) infinite}
.float-wa svg{width:32px;height:32px;fill:#fff}
.float-wa:after{content:"";position:absolute;inset:-7px;border:2px solid rgba(34,199,104,.34);border-radius:50%;animation:waPulse 1.35s ease-out infinite}
@keyframes waJump{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(-16px) scale(1.08)}36%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.04)}65%{transform:translateY(0) scale(1)}}
@keyframes waPulse{0%,30%{opacity:.75;transform:scale(.88)}70%{opacity:0;transform:scale(1.2)}100%{opacity:0}}
.mobilebar{display:none}

/* créditos city */
.credits{font-size:8px;color:#5f6e80;margin-top:14px}

@media(max-width:1000px){
  .menu{display:none}
  .hero-grid,.map-grid,.structure-copy{grid-template-columns:1fr}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .steps,.audience{grid-template-columns:repeat(2,1fr)}
  .structure-grid{grid-template-columns:1fr 1fr}
  .structure-card:first-child{grid-column:1/-1}
  .city-cards{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .city-collage{min-height:470px}
}
@media(max-width:650px){
  .wrap{width:94%}
  .nav{height:68px}.brand-mark{width:34px;height:34px}.brand-copy b{font-size:19px}
  .nav-actions .btn-dark{display:none}.nav-actions .btn-green{padding:0 11px;font-size:11px}
  .hero{padding:50px 0 40px}.hero-grid{gap:30px}
  h1{font-size:40px}.hero-copy>p{font-size:15px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn{padding:0 9px;font-size:11px}
  .city-collage{min-height:370px}
  .city-shot.main{width:66%;bottom:50px}.city-shot.small-a{width:39%;height:145px;top:21px}.city-shot.small-b{width:43%;height:154px}
  .city-caption strong{font-size:14px}
  .trust-grid,.services-grid,.steps,.audience,.structure-grid,.footer-grid{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  .structure-card:first-child{grid-column:auto}.structure-card{height:260px}.video-wrap video{height:250px}
  .info-list{grid-template-columns:1fr}
  .map-copy h2{font-size:34px}
  section{padding:59px 0}
  .float-wa{bottom:84px;width:58px;height:58px}
  .mobilebar{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(7,17,31,.97);backdrop-filter:blur(12px);padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #263a50}
  .mobilebar .btn{min-height:47px;padding:0 8px;font-size:11px}
  .footer{padding-bottom:95px}
}
