:root{
  --txt:#e6f0f7; --muted:#a9bed0; --brand:#3bb7db; --brand-2:#35a2c2;
}
*{box-sizing:border-box}
html, body { height: 100%; }
html { background: #202948; }
body { margin: 0; background: #202948; overflow-x: hidden; }
.container{width:min(1100px,92%);margin-inline:auto;font-family:Inter,system-ui,sans-serif}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#202948;border-bottom:1px solid rgba(255,255,255,.08)}
.header-inner{display:flex;justify-content:space-between;align-items:center;padding:14px 0}
.logo{height:46px;width:auto;display:block}
.nav .btn{margin-left:10px}

/* Single background for hero + features */
.mast{position:relative;background:url('assets/hero-bg.jpg') center center / cover no-repeat;min-height:100vh;padding-top:90px;padding-bottom:60px}
.mast .overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.35));pointer-events:none}
.mast .hero, .mast .features{position:relative;z-index:1}

/* Hero */
.hero{text-align:center}
.hero-inner{max-width:800px;margin:0 auto}
.hero h1{font-size:clamp(32px,4vw,52px);line-height:1.1;margin:0 0 12px;color:#fff}
.hero p{margin:0 0 16px;color:#fff}
.cta-row{display:flex;justify-content:center;gap:12px;margin-top:10px}

/* Buttons */
.btn{display:inline-block;border:1px solid transparent;border-radius:999px;padding:12px 18px;font-weight:600;cursor:pointer;transition:.2s transform ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--brand);color:#062133;border-color:var(--brand-2)}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-ghost{background:transparent;color:#fff;border-color:transparent}

/* Features */
.features{padding:40px 0 80px}
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:rgba(18,37,54,.82);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px;backdrop-filter:saturate(1.1) blur(2px);color:#fff}
.card h3{margin:0 0 6px;color:#fff}
.card p{margin:0;color:#d4e2ee}

/* Footer */
.site-footer{background:#202948;border-top:1px solid rgba(255,255,255,.08);padding:36px 0 12px}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.footer-col h4{color:var(--brand);margin:0 0 12px;letter-spacing:.5px}
.footer-col ul{list-style:none;margin:0;padding:0}
.footer-col li{margin:10px 0;color:#e6f0f7}
.footer-col a{color:#cfe9f5;text-decoration:none}
.footer-col a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:18px;margin-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.footer-bottom p{margin:0;color:#a9bed0}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr}}

/* ---- Contact page styles ---- */
.sub-hero{background:#202948;padding:60px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.sub-hero-inner{max-width:900px;margin:0 auto;text-align:left;color:#e6f0f7}
.sub-hero h1{margin:0 0 6px;font-size:clamp(28px,4vw,42px)}
.sub-hero p{margin:0;color:#a9bed0}

.contact-grid{background:#111a28;padding:40px 0 60px}
.contact-grid .grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card.soft{background:rgba(18,37,54,.9);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px;color:#e6f0f7}
.contact-list{list-style:none;margin:0;padding:0}
.contact-list li{margin:10px 0}
.social-list{list-style:none;margin:0;padding:0}
.social-list li{margin:8px 0}
.quick-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}

.contact-form .row{display:flex;flex-direction:column;margin:10px 0}
.contact-form label{font-weight:600;margin-bottom:6px}
.contact-form input,
.contact-form textarea{border:1px solid rgba(255,255,255,.12);background:#0f2031;color:#e6f0f7;border-radius:10px;padding:12px;outline:none}
.contact-form input:focus,
.contact-form textarea:focus{border-color:#3bb7db;box-shadow:0 0 0 3px rgba(59,183,219,.2)}
.contact-form .form-note{color:#a9bed0;font-size:.9rem;margin-top:8px}

.map{background:#101a29;padding:0 0 60px}
.map-embed{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.map-embed iframe{width:100%;height:420px;border:0;display:block}

@media (max-width:900px){
  .contact-grid .grid{grid-template-columns:1fr}
}


/* ---- About page ---- */
.about-block{background:#111a28;padding:40px 0}
.about-intro{max-width:900px;margin:0 auto}
.about-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.about-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bullets{margin:0;padding-left:18px}
.bullets li{margin:6px 0}
.about-cta{background:#101a29;padding:40px 0 60px}
.about-cta-inner{text-align:center}
@media (max-width:900px){
  .about-grid-3{grid-template-columns:1fr}
  .about-grid-2{grid-template-columns:1fr}
}


/* ---- About gallery ---- */
.about-gallery{background:#0f1826;padding:30px 0 50px}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  grid-auto-rows: 16vw;
  gap:14px;
}
.gallery-item{
  grid-column: span 4;
  border-radius:16px;
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.06);
}
.gallery-item.wide{ grid-column: span 8; }
.gallery-item.tall{ grid-row: span 2; grid-column: span 6; }
.gallery-item img{
  width:100%; height:100%;
  object-fit: cover; display:block;
  transition: transform .35s ease, filter .35s ease;
  filter: saturate(1.05) contrast(1.02);
}
.gallery-item:hover img{ transform: scale(1.03); }
@media (max-width: 1000px){
  .gallery-grid{ grid-auto-rows: 36vw; }
  .gallery-item{ grid-column: span 12; grid-row: auto; }
  .gallery-item.wide, .gallery-item.tall{ grid-column: span 12; }
}


/* ---- About split sections (imagem + texto lado a lado) ---- */
.about-split{background:#0f1826;padding:36px 0}
.split-inner{
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  align-items: center;
}
.about-split.reverse .split-inner{ grid-template-columns: 1fr 1.2fr; }
.about-image{border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.06)}
.about-image img{ display:block; width:100%; height:100%; object-fit:cover }
.about-copy h3{ margin-top:0 }
@media (max-width: 980px){
  .split-inner{ grid-template-columns: 1fr; }
  .about-split.reverse .split-inner{ grid-template-columns: 1fr; }
}


/* --- Sobre nós (layout tipo referência) --- */
.about-intro-hero{background:#0f1826;padding:40px 0 20px}
.about-intro-hero-inner{max-width:980px;margin:0 auto;text-align:center}
.about-intro-hero h1{color:#cfe0ff;letter-spacing:1px;margin:0 0 8px}
.about-intro-hero p{color:#e6f0f7;margin:0 auto;max-width:900px}

.about-split.clean{background:#0f1826;padding:26px 0}
.split-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center}
.about-split .about-copy.light{background:#142338;color:#e6f0f7}
.about-split .about-copy.light .bullets{padding-left:18px}
.about-split .about-copy.light .bullets li{margin:8px 0}
.about-image{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.about-image img{display:block;width:100%;height:100%;object-fit:cover}
.ratio-4x3{aspect-ratio:4/3}
.ratio-16x9{aspect-ratio:16/9}

.about-collage{display:grid;grid-template-rows:auto auto;gap:12px}
.about-collage .collage-main{width:100%;display:block;border-radius:12px;border:1px solid rgba(255,255,255,.06);object-fit:cover}
.about-collage .collage-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.about-collage .collage-row img{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.06);object-fit:cover}

@media (max-width: 1000px){
  .split-inner{grid-template-columns:1fr}
}


/* --- Ajustes de simetria e collage simples --- */
.about-split.clean{padding:32px 0}
.split-inner{gap:28px}

.about-collage.vstack{
  display:grid;
  grid-template-rows:auto auto;
  gap:14px;
}
.about-collage.vstack .collage-main,
.about-collage.vstack .collage-secondary{
  width:100%;
  display:block;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.06);
  object-fit:cover;
}

/* Harmonizar raios e sombras das imagens em toda a página */
.about-image,
.about-collage.vstack img{ box-shadow:0 10px 30px rgba(0,0,0,.25); border-radius:16px }






/* Fundo geral alterado de azul escuro para branco */
body {
  background-color: #ffffff;
}



/* ---- FAQs ---- */
.faqs{background:#0f1826;padding:32px 0 60px}
.faqs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.faq-card{background:rgba(18,37,54,.9);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:14px;color:#e6f0f7}
.faq-card details{border-radius:12px}
.faq-card summary{cursor:pointer;list-style:none;font-weight:700;padding:10px 12px;border-radius:10px;color:#fff}
.faq-card summary::-webkit-details-marker{display:none}
.faq-card details[open] summary{background:rgba(255,255,255,.05)}
.faq-card .answer{padding:6px 12px 12px;color:#d6e6f3}
.faq-card ol{padding-left:18px;margin:8px 0}


/* Fundo azul escuro fixo em todas as páginas */
html, body {
  background-color: #0f1826;
  margin: 0;
  padding: 0;
  min-height: 100%;
}

main {
  flex: 1;
}


/* Sticky footer + full-height page */
html, body { height: 100%; }
body {
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  background-color: #0f1826; /* tema escuro */
}
main { flex: 1 0 auto; }
.site-footer { margin-top: auto; }


/* ---- Política de Privacidade ---- */
.policy{background:#0f1826;padding:30px 0 60px}
.policy-inner{display:grid;grid-template-columns:1fr;gap:20px;max-width:900px;margin:0 auto}
.policy h2{margin-top:0;color:#cfe9f5}
.policy h3{margin-top:18px;color:#99d1e6}
.policy p, .policy li{color:#d6e6f3}
.policy ul{padding-left:20px}


/* --- Background video inside .mast --- */
.mast{position:relative; overflow:hidden;}
.mast .video-wrap{position:absolute; inset:0; z-index:0; overflow:hidden}
.mast .bg-video{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  min-width:100%; min-height:100%;
  width:auto; height:auto;
}
.mast .overlay{position:absolute; inset:0; z-index:1;}
.mast .hero, .mast .features{position:relative; z-index:2;}
@media (prefers-reduced-motion: reduce){
  .mast .bg-video{display:none;}
}
