:root{
  --bg:#0f1418;
  --surface:#1b242b;
  --panel:#dbdcd7;         /* #DBDCD7 */
  --ink:#e9edf1;
  --muted:#a7b0b7;
  --brand:#26333e;         /* primário */
  --brand-2:#465964;       /* secundário */
  --accent:#d2b14e;        /* #D2B14E */
  --accent-2:#f7dc8a;      /* #F7DC8A */
  --radius:16px;
  --radius-xl:24px;
  --shadow:0 10px 30px rgba(0,0,0,.25);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font:16px/1.6 "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji";
  color:#e6eaee;
  background:#0b0f13;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:where(a,button,input,textarea):focus{outline: none;}
:where(a,button,input,textarea):focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.nav-list a:focus-visible{outline:none}
.visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;white-space:nowrap}
.skip-link{
  position:absolute;left:-9999px;top:0;background:#000;color:#fff;padding:.5rem 1rem;border-radius:8px
}
.skip-link:focus{left:1rem;top:1rem;z-index:9999}

.container{width:min(1120px, 92vw);margin-inline:auto}

.site-header{position:relative}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-float{
  position:fixed;top:60px;left:50%;transform:translateX(-50%);
  background:rgba(22,36,48,.60);
  border-radius:16px;z-index:200;box-shadow:var(--shadow);
  backdrop-filter:saturate(140%) blur(6px);
}
.nav-toggle{ position:relative; z-index:210; }
.nav-float .brand{display:none}
.brand{font-weight:800;letter-spacing:.04em}
.nav-toggle{
  cursor:pointer;background:transparent;border:0;display:none;flex-direction:column;gap:6px
}
.nav-toggle span{width:26px;height:2px;background:#fff;display:block;border-radius:2px}

.nav-list{list-style:none;display:flex;gap:2rem;margin:0;padding: 40px;}
.nav-list a{
  color:#E5E5E5;font-size:16px;font-weight:500;letter-spacing:.02em;
  text-transform:uppercase;
  padding:0;border-radius:12px;opacity:.95;
  display:flex;align-items:center;height:100%;
}
.nav-list a:hover{opacity:1}
.nav-list a[aria-current="page"], .nav-list a.active{
  color:#D2B14E;font-weight:700;
}
@media (min-width: 769px){
  .nav-float{
    width:673px;height:59px;padding:0;
  }
  .nav-list{
    width:100%;height:100%;
    justify-content:space-between;
    gap:0;
  }
}
@media (max-width: 768px){
  .nav-toggle{display:flex}
  .nav-float{width:auto;height:auto;padding:.5rem 1rem; left: 35px; top: 0}

  .nav-float .nav-list{
    position: fixed;
    left: 0; right: 0; top: 0;
    width: 100vw;
    max-height: 100vh;
    overflow:auto;
    background:#12171c;
    padding: 25px; 
    padding-top: calc(25px + env(safe-area-inset-top, 0px));
    margin: 0;
    display:flex; flex-direction:column; gap:.75rem;
    box-shadow: var(--shadow);
    border-bottom: 1px solid #1f2730;
    z-index: 205;

    transform: translateY(-100%);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: transform .25s ease, opacity .2s ease, visibility 0s linear .2s;
  }
  .nav-float .nav-list.open{
    transform: translateY(0);
    opacity: 1; visibility: visible; pointer-events: auto;
    transition: transform .25s ease, opacity .2s ease;
  }

  .nav-float .nav-list a{
    display:block;
    width:100%;
    padding:12px 6px;
  }
}

body.menu-open{ overflow:hidden; }

.hero{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.hero-content{
  position:relative;text-align:right;margin-left:auto;align-self:end;
  padding-bottom:100px;
}
.hero-title{
  font-size: clamp(2.2rem, 6.5vw + 1rem, 7.5rem);
  font-weight:800;letter-spacing:.02em;line-height:1.05;max-width:18ch
}
.accent{color:var(--accent-2)}
.btn{
  background:#191d22;border:1px solid #222831;color:#fff;padding:.8rem 1.1rem;border-radius:14px;
  display:inline-flex;align-items:center;gap:.5rem;font-weight:600;cursor:pointer
}
.btn:hover{filter:brightness(1.1)}
.hero .btn-lg{padding:1.1rem 1.55rem;font-size:clamp(1rem, 3.2vw + .5rem, 3.125rem);
  font-weight:500;border-radius:16px}

.section-title{
  color:#e6eaee;font-size: clamp(1.6rem, 1.6rem + 1.6vw, 3rem);
  letter-spacing:.02em;margin:2.75rem 0 1rem;font-weight:800
}

.about{
  background:#DBDCD7 url('img/history.svg') center/90% no-repeat;
  background-position-y: 50px;
  min-height:100vh;
  padding: clamp(2rem, 4vw, 3rem) 90px;
  padding-inline: clamp(24px, 6vw, 90px);
  overflow-x: clip; 
  display:block;
}
.about-wrap{max-width:1600px;margin:0 auto}
.about-title{
  color:#26333E;
  font-size: clamp(2.2rem, 5vw + 1rem, 6.25rem);
  font-weight:800;
  margin: 1rem 0 1.5rem;
}
.about-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:22px;
  align-items:start
}
.about-text{
  grid-column:1 / span 7;
  background:#eaebe3;
  color:#465964;
  border-radius:18px;
  padding:4rem;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight: 500;
  font-size:18px;line-height:1.55;
}
.about-text strong{font-weight:700;color:#26333E}
.about-text p{margin:.5rem 0 1rem}

.img-rect{
  width:min(100%, 365px);
  height:auto;
  aspect-ratio:365 / 272;
  border-radius:14px;
  overflow:hidden;
  background:#ECEDE8;
  padding:6px;
  box-shadow:0 10px 30px rgba(0,0,0,.12)
}
.img-rect img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:10px;
  display:block
}

.about-gallery{
  grid-column: 1 / -1;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:22px;
  align-items:start;
}
.about-gallery .img-rect{
  width:100% !important;
  height:auto;
}
.about-gallery .img-rect img{
  width:100%;
  height:auto;
  object-fit:cover;
}

.top-right{grid-column:9 / span 4; justify-self:end}
.i-left{  grid-column:1 / span 4}
.i-center{grid-column:5 / span 4}
.i-right{ grid-column:9 / span 4; justify-self:end}

@media (max-width: 1500px){
    .img-rect{
        width:min(100%, 320px);
    }
}

@media (max-width: 1200px){
  .img-rect{
        width:min(100%, 280px);
    }
  .about-grid{grid-template-columns:repeat(8,1fr)}
  .about-text{grid-column:1 / span 8}
  .top-right{grid-column:5 / span 4}
}
@media (max-width: 768px){
  .about{padding-inline:24px;background-size:900px}
  .about-grid{grid-template-columns:1fr}
  .about-text{grid-column:1; margin-bottom:.5rem}
  .img-rect,.img-rect img{width:100%;height:auto}
  .top-right{grid-column:1;justify-self:stretch;margin-left: 0;}
}
@media (max-width: 1024px){
  .about-text{grid-column:1/-1}
  .about-gallery{display:none}
  .top-right{
    grid-column:1 / -1;
    justify-self:stretch;
  }
  .card-img{grid-column: span 6}
}
@media (max-width: 768px){
  .card-img{grid-column:1/-1}
}

.partners{
  background:#26333E;
  padding:120px 90px 40px;
  height:680px;
  width:100%;
  display:flex;flex-direction:column;justify-content:flex-start;
}
.partners-title{
  color:#fff;text-align:center;margin:0 0 40px 0;
  font-weight:700;letter-spacing:.06em;font-size:18px;
}
.logo-row{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4, minmax(0,1fr));
  gap:min(6vw,80px);
  align-items:center;justify-items:center;
}
.logo-row img{
  width:240px;height:auto;display:block;opacity:.98;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.15));
}
@media (max-width: 1024px){
  .partners{height:auto;padding:90px 40px}
  .logo-row{grid-template-columns:repeat(2,1fr);row-gap:40px}
}
@media (max-width: 640px){
  .partners{padding:70px 24px}
}

.clients{
  background:#dbdcd7;
  min-height:100vh;
  display:grid;place-items:center;
  padding:60px 0;
}
.clients-wrap{width:100%}
.client-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 520px));
  justify-content:center;
  gap:50px;
}
.client-card{
  background:#eaebe3;
  border-radius:12px;
  color:#26333e;
  padding:70px 40px;
  display:grid;place-items:center;gap:28px;
  box-shadow:5px 5px 5px rgba(0,0,0,.18);
}
.client-logo{
  width:unset;
  height:318px;
  object-fit:contain;
  opacity:.98;
}
.btn-cta{
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:500;
  font-size:16px;
  background:#1E1E1E;border:0;border-radius:10px;
  padding:20px 40px;color:#fff;
  float: right;
}
@media (max-width: 1024px){
  .client-grid{grid-template-columns:1fr}
}

.contact{background:linear-gradient(180deg,#10151a,#0c1015), url('img/hero.jpg') center/cover no-repeat fixed;padding:4rem 0}
.contact-wrap{display:grid;place-items:center}
.contact-card{
  width:min(760px, 95vw);background:#f4f6f8;color:#26333e;border-radius:22px;padding:1.5rem 1.5rem 1.25rem;
  box-shadow:var(--shadow)
}
.contact-title{margin:.25rem 0 1rem;font-weight:800}
.field{display:grid;gap:.35rem;margin:1.5rem 0}
.field input, .field textarea {
    border: 0;
    border-bottom: 1px solid #cfd6dc;
    background: transparent;
    font: inherit;
    color: #26333e;
    outline: none;
}
.actions{margin-top:.75rem}
.form-status{min-height:1.25rem;margin-top:.5rem;font-weight:600}

.hp{position:absolute;left:-9999px;opacity:0}

.site-footer{width:100%;background:#1e1e1e;color:#fff}
.footer-top{
  width:100%;
  padding:48px 90px 32px;
  background:#1e1e1e;
}
.footer-grid{
  max-width:1600px;margin:0 auto;
  display:grid;grid-template-columns:3fr 1fr 1fr 1fr;gap:48px;
}
.footer-grid section h3{
  margin:0 0 16px;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:600;font-size:20px;color:#fff;
}
.footer-grid section p{
  margin:0 0 20px;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:400;font-size:14px;line-height:1.7;color:#fff;opacity:.9;
  max-width:540px;
}
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:0}
.footer-links a{
  display:block;height:48px;line-height:48px;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-weight:400;font-size:14px;color:#fff;opacity:.9
}
.footer-links a:hover{color:var(--accent)}
.footer-links .disabled{opacity:.6;cursor:not-allowed}

.social{max-width: 1600px;margin: 0 auto;}
.social a{display:inline-flex;align-items:center;justify-content:center;opacity:.95}
.social a:hover{opacity:1;transform:translateY(-1px)}

.footer-bottom{
  background:#171717;
  color:#fff;
  width:100%;
  padding:50px 0 30px;
}
.footer-bottom-inner{
  padding:0 90px;max-width:1600px;margin:0 auto;
  display:flex;justify-content:flex-end;
}
.lang-switch{display:flex;gap:12px}
.lang-btn{
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:14px;font-weight:500;color:#fff;
  background:transparent;border:1px solid transparent;padding:8px 14px;cursor:pointer;border-radius:0
}
.lang-btn.is-active{background:#4584FF;color:#fff}
.footer-line{height:1px;background:rgba(255,255,255,.35);margin:18px 90px 14px}
.legal{
  text-align:center;margin:0;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:14px;font-weight:400;color:#fff;opacity:.9
}

@media (max-width: 1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width: 640px){
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom-inner{justify-content:center}
}

.noscript{padding:1rem;background:#f9e5a6;color:#242424}

@media (max-width: 1024px){
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .footer-grid{grid-template-columns:1fr}
}
