:root{
  --bg:#05111f;
  --bg-2:#091a31;
  --surface:rgba(255,255,255,.05);
  --surface-2:rgba(255,255,255,.07);
  --surface-3:rgba(6,17,31,.8);
  --border:rgba(255,255,255,.1);
  --text:#f3f8ff;
  --muted:#a9bad1;
  --muted-2:#87a0bf;
  --cyan:#32d6ff;
  --cyan-2:#8af3ff;
  --gold:#f0c764;
  --gold-2:#f7dfa0;
  --green:#25d366;
  --danger:#ff5b6b;
  --shadow:0 25px 90px rgba(0,0,0,.33);
  --shadow-sm:0 18px 45px rgba(0,0,0,.25);
  --radius:26px;
  --radius-sm:18px;
  --container:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at 0% 0%, rgba(50,214,255,.1), transparent 28%),
    radial-gradient(circle at 100% 15%, rgba(240,199,100,.09), transparent 26%),
    linear-gradient(180deg,#04101c 0%,#081523 18%,#08172b 44%,#091b33 100%);
  min-height:100vh;
}
body::before{
  content:"";
  position:fixed; inset:0;
  background-image: radial-gradient(rgba(255,255,255,.05) .7px, transparent .7px);
  background-size: 22px 22px;
  opacity:.12;
  pointer-events:none;
  mix-blend-mode:soft-light;
}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
.container{width:min(calc(100% - 34px), var(--container));margin:0 auto}
.section{position:relative;padding:98px 0}
.section--compact{padding:70px 0}
.section-title{margin:0 0 14px;font-size:clamp(2rem,3vw,3.4rem);line-height:1.02;letter-spacing:-.035em;max-width:900px}
.section-lead{margin:0;max-width:760px;color:var(--muted);line-height:1.8;font-size:1.02rem}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 15px;border-radius:999px;
  border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);
  color:#dff1ff;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em
}
.eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:linear-gradient(180deg,var(--cyan-2),var(--cyan));box-shadow:0 0 18px rgba(50,214,255,.7)}
.grid-2,.grid-3,.grid-4,.masonry,.logos{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stack{display:grid;gap:18px}
.kicker{color:#dff3ff;font-weight:800;letter-spacing:-.02em}
.card,.glass-card,.stat-card,.info-card,.gallery-card{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.035));
  border:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.card,.glass-card,.info-card,.stat-card{border-radius:var(--radius);padding:30px}
.card::before,.glass-card::before,.stat-card::before,.info-card::before,.gallery-card::before{
  content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg, rgba(50,214,255,.5), rgba(255,255,255,.06), rgba(240,199,100,.4));opacity:.8
}
.card::after,.glass-card::after,.stat-card::after,.info-card::after{
  content:"";position:absolute;right:-80px;bottom:-80px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, rgba(50,214,255,.14), rgba(50,214,255,0) 70%);pointer-events:none
}
.icon-badge{
  width:58px;height:58px;border-radius:18px;display:inline-grid;place-items:center;
  background:linear-gradient(180deg, rgba(50,214,255,.18), rgba(255,255,255,.04));
  border:1px solid rgba(50,214,255,.25);box-shadow:0 10px 28px rgba(0,0,0,.2)
}
.icon-badge svg{width:28px;height:28px}
.header{position:sticky;top:0;z-index:1100;background:rgba(5,17,31,.68);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:84px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand__mark{width:58px;height:58px;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-sm)}
.brand__text{display:grid;gap:4px}
.brand__text strong{font-size:1rem;line-height:1.05}
.brand__text span{color:var(--muted);font-size:.82rem}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.nav a{padding:12px 15px;border-radius:999px;font-size:.95rem;color:#dce9fb;transition:.22s ease}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(255,255,255,.07);color:#fff}
.header__cta{display:flex;align-items:center;gap:10px}
.btn{
  min-height:54px;padding:0 24px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow-sm);font-weight:800;letter-spacing:.01em;transition:.22s ease;cursor:pointer
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:linear-gradient(135deg,#19cfff 0%, #1678ff 100%);color:#fff;border-color:rgba(50,214,255,.45)}
.btn--gold{background:linear-gradient(135deg,#f0c764 0%,#d79e2b 100%);color:#081321;border-color:rgba(240,199,100,.55)}
.btn--ghost{background:rgba(255,255,255,.04);color:#fff}
.btn--white{background:#fff;color:#081321;border-color:#fff}
.burger{display:none;width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff}
.mobile-menu{display:none;padding:0 0 18px}
.mobile-menu.is-open{display:grid;gap:10px}
.mobile-menu a{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.hero{position:relative;overflow:hidden}
.hero--home{min-height:calc(100svh - 84px);display:flex;align-items:center}
.hero--mini{padding:76px 0 56px}
.hero__bg{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.03)}
.hero__bg::before{content:"";position:absolute;inset:0;background:
  linear-gradient(100deg, rgba(4,12,22,.94) 0%, rgba(4,12,22,.8) 35%, rgba(4,12,22,.5) 60%, rgba(4,12,22,.85) 100%),
  linear-gradient(180deg, rgba(4,12,22,.05), rgba(4,12,22,.78) 100%)}
.hero__bg::after{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 24% 25%, rgba(50,214,255,.2), transparent 30%),
  radial-gradient(circle at 78% 28%, rgba(240,199,100,.18), transparent 24%),
  linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:auto, auto, 46px 46px, 46px 46px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.8), rgba(0,0,0,1))
}
.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;width:100%;padding:54px 0}
.hero__copy h1{margin:18px 0 18px;font-size:clamp(3rem,6.3vw,5.9rem);line-height:.93;letter-spacing:-.05em;max-width:780px}
.hero__copy p{margin:0;max-width:700px;color:#dbe8fb;font-size:clamp(1.02rem,1.8vw,1.15rem);line-height:1.85}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0 26px}
.hero__chips{display:flex;gap:12px;flex-wrap:wrap}
.hero__chips span{padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:#dbe8fb}
.hero__aside{display:grid;gap:18px;justify-self:end;width:min(100%,430px)}
.hero-panel{
  border-radius:30px;padding:26px;background:linear-gradient(180deg, rgba(7,20,38,.72), rgba(7,20,38,.9));border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);backdrop-filter:blur(16px)
}
.hero-panel__logos{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.hero-panel__logos img{max-height:62px;width:auto;object-fit:contain}
.hero-panel__title{font-size:1.12rem;font-weight:800;margin-bottom:8px}
.hero-panel__desc{color:var(--muted);line-height:1.7;font-size:.95rem}
.hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hero-stat{padding:18px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.hero-stat strong{display:block;font-size:1rem;margin-bottom:8px}
.hero-stat span{color:var(--muted);line-height:1.65;font-size:.92rem}
.scroll-indicator{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:#d6e7ff;font-size:.92rem;opacity:.9}
.scroll-indicator::before{content:"";width:26px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.22);position:relative;display:inline-block;background:rgba(255,255,255,.02)}
.scroll-indicator::after{content:"";position:absolute}
.hero--mini .hero__inner{grid-template-columns:1fr;padding:38px 0 10px}
.hero--mini .hero__copy h1{font-size:clamp(2.4rem,5vw,4.8rem);max-width:900px}
.hero--mini .hero__copy p{max-width:820px}
.highlight-band{padding:30px 0}
.highlight-band__inner{padding:28px 30px;border-radius:30px;background:linear-gradient(135deg, rgba(50,214,255,.12), rgba(240,199,100,.08)), rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow-sm)}
.highlight-band strong{display:block;font-size:clamp(1.5rem,2.2vw,2.5rem);line-height:1.12;letter-spacing:-.03em}
.highlight-band p{margin:12px 0 0;color:var(--muted);line-height:1.85;max-width:940px}
.stat-card strong{display:block;font-size:2.2rem;line-height:1;color:#fff;margin-bottom:12px}
.stat-card span{display:block;font-weight:800;margin-bottom:10px}
.stat-card p{margin:0;color:var(--muted);line-height:1.75}
.media-card{position:relative;min-height:480px;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow)}
.media-card img{width:100%;height:100%;object-fit:cover}
.media-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.72))}
.media-card__content{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;padding:20px 22px;border-radius:22px;background:rgba(5,17,31,.76);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.media-card__content strong{display:block;margin-bottom:8px;font-size:1.08rem}
.media-card__content span{color:#dce9ff;line-height:1.7;font-size:.95rem}
.feature-list{display:grid;gap:16px;margin-top:22px}
.feature-list li{list-style:none;display:flex;gap:12px;color:var(--muted);line-height:1.78}
.feature-list li::before{content:"";width:11px;height:11px;border-radius:50%;margin-top:10px;flex:0 0 11px;background:linear-gradient(180deg,var(--gold),var(--gold-2));box-shadow:0 0 18px rgba(240,199,100,.4)}
.info-card h3,.card h3,.glass-card h3{margin:16px 0 12px;font-size:1.3rem;letter-spacing:-.02em}
.info-card p,.card p,.glass-card p{margin:0;color:var(--muted);line-height:1.78}
.value-grid .info-card:nth-child(2)::after,.value-grid .info-card:nth-child(4)::after{background:radial-gradient(circle, rgba(240,199,100,.12), rgba(240,199,100,0) 70%)}
.split-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}
.timeline{display:grid;gap:16px;margin-top:18px}
.timeline-item{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07)}
.timeline-item__dot{width:18px;height:18px;border-radius:50%;margin-top:5px;background:linear-gradient(180deg,var(--cyan-2),var(--cyan));box-shadow:0 0 18px rgba(50,214,255,.55)}
.timeline-item strong{display:block;margin-bottom:7px}
.timeline-item p{margin:0;color:var(--muted);line-height:1.72}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:start}
.map-wrap{border-radius:32px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);min-height:560px;background:#0b182d}
.map-wrap iframe{display:block;width:100%;height:100%;min-height:560px;border:0}
.contact-card .meta{display:grid;gap:14px;margin-top:20px}
.meta-item{padding:18px 18px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.meta-item small{display:block;color:#dce9ff;font-weight:800;letter-spacing:.02em;margin-bottom:8px}
.meta-item span,.meta-item a{color:var(--muted);line-height:1.7}
.quote-card{padding:26px 28px;border-radius:28px;background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08)}
.quote-card strong{display:block;font-size:1.25rem;line-height:1.35;letter-spacing:-.02em}
.quote-card p{margin:10px 0 0;color:var(--muted);line-height:1.75}
.masonry{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.gallery-card{grid-column:span 4;border-radius:28px}
.gallery-card--large{grid-column:span 8}
.gallery-card--medium{grid-column:span 6}
.gallery-card img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.gallery-card--large img{aspect-ratio:16/10}
.gallery-card__body{padding:18px 20px 22px}
.gallery-card__body strong{display:block;margin-bottom:7px;font-size:1.08rem}
.gallery-card__body span{display:block;color:var(--muted);line-height:1.7;font-size:.95rem}
.gallery-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.gallery-meta span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:.78rem;color:#dcebff}
.cta-panel{padding:38px;border-radius:34px;background:linear-gradient(135deg, rgba(50,214,255,.14), rgba(240,199,100,.1)), rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);box-shadow:var(--shadow);display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:center}
.cta-panel h2{margin:0 0 14px;font-size:clamp(2rem,2.8vw,3.1rem);line-height:1.05;letter-spacing:-.03em}
.cta-panel p{margin:0;color:var(--muted);line-height:1.82}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.logos{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:30px}
.logo-box{min-height:108px;border-radius:24px;display:grid;place-items:center;padding:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-sm)}
.logo-box img{max-width:100%;max-height:54px;object-fit:contain}
.footer{margin-top:20px;padding:34px 0 44px;border-top:1px solid rgba(255,255,255,.08);background:rgba(4,12,22,.45)}
.footer__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:26px}
.footer-brand{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.footer-brand img{max-height:72px;width:auto}
.footer h3{margin:0 0 12px;font-size:1.08rem}
.footer p,.footer li,.footer small{color:var(--muted);line-height:1.8}
.footer-links{display:grid;gap:10px}
.footer-links a{color:#dce9ff}
.site-credit{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);font-size:.88rem;color:#8fa4c0}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:1200;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#34e26f,#14ba4d);color:#fff;border:3px solid rgba(255,255,255,.18);box-shadow:0 18px 34px rgba(18,184,75,.34);transition:.22s ease}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:30px;height:30px}
.glow-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(10px)}
.glow-orb--a{width:280px;height:280px;left:-120px;bottom:10%;background:radial-gradient(circle, rgba(50,214,255,.2), rgba(50,214,255,0) 70%)}
.glow-orb--b{width:260px;height:260px;right:-90px;top:12%;background:radial-gradient(circle, rgba(240,199,100,.18), rgba(240,199,100,0) 70%)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (max-width:1100px){
  .nav,.header__cta .btn{display:none}
  .burger{display:grid;place-items:center}
  .hero__inner,.grid-2,.grid-3,.grid-4,.split-panel,.contact-grid,.cta-panel,.footer__inner{grid-template-columns:1fr}
  .cta-actions{justify-content:flex-start}
  .hero__aside{justify-self:stretch;width:100%}
  .logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery-card,.gallery-card--large,.gallery-card--medium{grid-column:span 6}
}
@media (max-width:780px){
  .section{padding:74px 0}
  .section--compact{padding:54px 0}
  .header__inner{min-height:76px}
  .brand__mark{width:52px;height:52px}
  .hero--home{min-height:calc(100svh - 76px)}
  .hero__inner{padding:34px 0 46px}
  .hero__copy h1{font-size:clamp(2.4rem,12vw,4.1rem)}
  .hero__actions .btn,.cta-actions .btn{width:100%}
  .hero-stats{grid-template-columns:1fr}
  .card,.glass-card,.info-card,.stat-card,.hero-panel,.cta-panel,.highlight-band__inner{padding:24px}
  .gallery-card,.gallery-card--large,.gallery-card--medium{grid-column:span 12}
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .map-wrap,.map-wrap iframe{min-height:390px}
  .wa-float{width:60px;height:60px}
}


/* =========================================================
   Ajuste mobile - hero da página O Projeto
   ========================================================= */
.hero-mobile-visual{display:none}

@media (max-width:780px){
  .hero--mini{
    min-height:auto;
    padding:0 0 28px;
  }

  .hero--mini .hero__bg{
    display:none !important;
  }

  .hero-mobile-visual--project{
    display:flex;
    align-items:center;
    justify-content:center;
    width:min(calc(100% - 22px), 470px);
    height:250px;
    margin:14px auto 16px;
    overflow:hidden;
    border-radius:26px;
    border:1px solid rgba(255,255,255,.10);
    background:linear-gradient(180deg, rgba(7,20,38,.72), rgba(7,20,38,.92));
    box-shadow:0 16px 40px rgba(0,0,0,.24);
  }

  .hero-mobile-visual--project img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
    background:#081321;
  }

  .hero--mini .hero__inner{
    width:min(calc(100% - 22px), 470px);
    margin:0 auto;
    padding:0 0 34px;
  }

  .hero--mini .hero__copy{
    max-width:none;
    padding:0 6px;
  }

  .hero--mini .hero__copy h1{
    font-size:clamp(2rem, 9.6vw, 3rem);
    line-height:1.02;
    margin:14px 0 14px;
  }

  .hero--mini .hero__copy p{
    font-size:.98rem;
    line-height:1.74;
    max-width:100%;
  }

  .hero--mini .hero__actions{
    margin:22px 0 14px;
  }
}
