*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy-dark:#080F22;
  --navy:#162947;
  --navy-mid:#1d3557;
  --gold-start:#EB9E6E;
  --gold-end:#FFCF79;
  --gold:#FFCF79;
  --gold-muted:#d4a96a;
  --white:#FAFAF8;
  --white2:#e8e4dc;
  --gray:#8a9ab5;
  --gray2:#4a5a75;
  --ff:'Montserrat',sans-serif;
  --ff-serif:'Cormorant Garamond',Georgia,serif;
}
html{scroll-behavior:smooth}
body{background:var(--navy-dark);color:var(--white);font-family:var(--ff);font-weight:300;overflow-x:hidden;cursor:default}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--navy-dark)}
::-webkit-scrollbar-thumb{background:var(--gold-muted)}
a{text-decoration:none;color:inherit}

/* ── NOISE TEXTURE ── */
body::before{
  content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:.35;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 64px;height:80px;
  background:rgba(8,15,34,0.95);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,207,121,0.08);
  transition:height .3s,background .3s;
}
nav.shrunk{height:64px;background:rgba(8,15,34,0.97)}
.nav-logo img{height:44px;object-fit:contain;display:block;transition:height .3s}
nav.shrunk .nav-logo img{height:36px}
.nav-links{display:flex;gap:0;list-style:none}
.nav-links a{
  font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gray);padding:8px 20px;
  position:relative;transition:color .25s;
}
.nav-links a::after{
  content:'';position:absolute;bottom:0;left:20px;right:20px;
  height:1px;background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  transform:scaleX(0);transition:transform .3s;
}
.nav-links a:hover{color:var(--white)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-cta{
  font-size:.6rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  background:linear-gradient(135deg,var(--gold-start),var(--gold-end));
  color:var(--navy-dark);padding:11px 26px;
  transition:opacity .25s,transform .2s;
}
.nav-cta:hover{opacity:.88;transform:translateY(-1px)}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--gold);transition:.3s}

/* ── HERO ── */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;padding-top:80px;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg, rgba(8,15,34,0.96) 0%, rgba(8,15,34,0.82) 45%, rgba(8,15,34,0.40) 100%),
    url('../imagens/capa2.jpeg') center/cover no-repeat;
}
.hero-content{position:relative;z-index:2;padding:0 64px;max-width:760px}
.hero-eyebrow{
  display:flex;align-items:center;gap:14px;margin-bottom:32px;
  font-size:.58rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;
  color:transparent;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;
  animation:slideInLeft .9s ease both;
}
.hero-eyebrow::before{
  content:'';display:block;width:40px;height:1px;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));flex-shrink:0;
}
.hero-title{
  font-family:var(--ff-serif);
  font-size:clamp(3rem,6vw,5.4rem);
  font-weight:300;line-height:1.08;
  color:var(--white);
  animation:slideInLeft .9s .12s ease both;
}
.hero-title strong{
  display:block;font-weight:400;
  background:linear-gradient(135deg,var(--gold-start) 0%,var(--gold-end) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{
  margin-top:28px;
  font-size:.8rem;font-weight:300;line-height:1.95;
  color:var(--gray);max-width:520px;
  animation:slideInLeft .9s .24s ease both;
}
.hero-actions{
  display:flex;gap:16px;align-items:center;margin-top:44px;flex-wrap:wrap;
  animation:slideInLeft .9s .36s ease both;
}
.btn-gold{
  background:linear-gradient(135deg,var(--gold-start),var(--gold-end));
  color:var(--navy-dark);font-size:.62rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;padding:15px 34px;
  transition:transform .2s,opacity .2s;
  display:inline-flex;align-items:center;gap:10px;
}
.btn-gold:hover{transform:translateY(-2px);opacity:.92}
.btn-outline{
  color:var(--white2);font-size:.62rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;padding:15px 34px;
  border:1px solid rgba(255,207,121,0.25);
  transition:border-color .25s,color .25s,transform .2s;
}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.hero-stats{
  display:flex;gap:44px;margin-top:64px;
  animation:slideInLeft .9s .48s ease both;
}
.hero-stat-num{
  font-family:var(--ff-serif);font-size:2.4rem;font-weight:300;line-height:1;
  background:linear-gradient(135deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-stat-label{font-size:.58rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);margin-top:6px}
.hero-stat-div{width:1px;background:rgba(255,207,121,0.15);align-self:stretch}

@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}

/* ── SECTION SHARED ── */
.section-label{
  display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;
  font-size:.58rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.section-label::before{content:'';width:24px;height:1px;background:linear-gradient(90deg,var(--gold-start),var(--gold-end));flex-shrink:0}
.section-title{
  font-family:var(--ff-serif);
  font-size:clamp(2rem,3.5vw,3.2rem);
  font-weight:300;line-height:1.2;color:var(--white);
}
.section-title span{
  font-style:italic;
  background:linear-gradient(135deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.section-line{
  width:48px;height:2px;margin:24px 0;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
}

/* ── AREAS ── */
.areas{background:#060c1a;padding:110px 64px;position:relative;overflow:hidden}
.areas::before{
  content:'';position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,207,121,0.2),transparent);
}
.areas-header{margin-bottom:70px;max-width:600px}
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(255,207,121,0.06)}
.area-card{
  background:#060c1a;
  padding:44px 36px;
  position:relative;overflow:hidden;
  transition:background .35s;
  cursor:default;
}
.area-card:hover{background:#0f1e38}
.area-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  transform:scaleX(0);transform-origin:left;transition:transform .4s;
}
.area-card:hover::after{transform:scaleX(1)}
.area-icon{
  width:48px;height:48px;margin-bottom:24px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,207,121,0.2);
  background:rgba(255,207,121,0.04);
  color:var(--gold-muted);
  transition:border-color .3s,background .3s,color .3s;
}
.area-icon svg{width:22px;height:22px;flex-shrink:0}
.area-card:hover .area-icon{border-color:rgba(255,207,121,0.4);background:rgba(255,207,121,0.08);color:var(--gold)}
.area-title{
  font-family:var(--ff-serif);font-size:1.25rem;font-weight:400;
  color:var(--white);margin-bottom:14px;line-height:1.3;
}
.area-desc{font-size:.72rem;line-height:1.85;color:var(--gray);font-weight:300}

/* ── ABOUT ── */
.about{background:var(--navy-dark);padding:110px 64px;position:relative;overflow:hidden}
.about::before{
  content:'';position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,207,121,0.2),transparent);
}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.about-visual{position:relative}
.about-frame{
  aspect-ratio:4/5;
  background:linear-gradient(145deg,var(--navy) 0%,#0f1e38 100%);
  position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.about-frame-foto{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  display:block;
}
.about-frame::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 70%,rgba(235,158,110,0.08) 0%,transparent 55%),
    radial-gradient(ellipse at 80% 20%,rgba(22,41,71,0.5) 0%,transparent 50%);
}
.about-border{
  position:absolute;top:20px;left:20px;right:-20px;bottom:-20px;
  border:1px solid rgba(255,207,121,0.12);z-index:-1;
}
.about-badge{
  position:absolute;bottom:-20px;right:-20px;
  background:linear-gradient(135deg,var(--gold-start),var(--gold-end));
  color:var(--navy-dark);padding:22px 26px;text-align:center;
}
.about-badge-num{font-family:var(--ff-serif);font-size:2.8rem;font-weight:600;line-height:1}
.about-badge-text{font-size:.55rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-top:4px}
.about-text{font-size:.8rem;line-height:2;color:var(--gray);font-weight:300;margin-bottom:20px}
.about-values{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(255,207,121,0.06)}
.value-item{background:var(--navy-dark);padding:24px 22px;transition:background .3s}
.value-item:hover{background:var(--navy)}
.value-icon{
  width:32px;height:32px;margin-bottom:10px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-muted);
}
.value-icon svg{width:20px;height:20px}
.value-title{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--white2);margin-bottom:6px}
.value-desc{font-size:.7rem;color:var(--gray);line-height:1.7}

/* ── SÓCIOS ── */
.socios{background:#060c1a;padding:110px 64px;position:relative;overflow:hidden}
.socios::before{
  content:'';position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,207,121,0.2),transparent);
}
.socios-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:960px;margin:0 auto}
.socio-card{
  background:#0d1929;
  border:1px solid rgba(255,207,121,0.07);
  display:flex;flex-direction:column;
  transition:border-color .3s;
  overflow:hidden;
}
.socio-card:hover{border-color:rgba(255,207,121,0.2)}
.socio-foto{
  background:linear-gradient(145deg,#0f1e38 0%,#0a1525 100%);
  width:100%;aspect-ratio:3/4;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;flex-shrink:0;
}
.socio-foto img{
  width:100%;height:100%;object-fit:cover;object-position:top;
  display:block;
}
.socio-foto-placeholder{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
}
.socio-foto-placeholder svg{
  width:72px;height:72px;
  color:rgba(255,207,121,0.12);
}
.socio-info{padding:36px 32px;flex:1}
.socio-oab{
  font-size:.55rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:10px;
}
.socio-nome{
  font-family:var(--ff-serif);font-size:1.9rem;font-weight:300;
  color:var(--white);line-height:1.1;
}
.socio-linha{
  width:40px;height:2px;margin:18px 0;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
}
.socio-bio{
  font-size:.74rem;line-height:1.9;color:var(--gray);
  font-weight:300;margin-bottom:12px;
}
.socio-bio strong{color:var(--white2);font-weight:500}
.socio-tags{
  display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin-top:22px;
}
.socio-tags li{
  font-size:.54rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold-muted);
  border:1px solid rgba(255,207,121,0.18);
  padding:5px 12px;
  transition:border-color .25s,color .25s;
}
.socio-card:hover .socio-tags li{border-color:rgba(255,207,121,0.35);color:var(--gold)}

/* ── CONTACT ── */
.contact{background:#060c1a;padding:110px 64px;position:relative;overflow:hidden}
.contact::before{
  content:'';position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,207,121,0.2),transparent);
}
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start;margin-top:60px}
.contact-info-desc{font-size:.8rem;line-height:2;color:var(--gray);margin-bottom:40px}
.contact-items{list-style:none}
.contact-item{
  display:flex;align-items:flex-start;gap:18px;
  padding:18px 0;border-bottom:1px solid rgba(255,207,121,0.06);
}
.contact-item:last-child{border-bottom:none}
.contact-item-icon{
  width:40px;height:40px;flex-shrink:0;
  border:1px solid rgba(255,207,121,0.18);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-muted);
  background:rgba(255,207,121,0.03);
  transition:border-color .25s,background .25s,color .25s;
}
.contact-item-icon svg{width:18px;height:18px}
.contact-item:hover .contact-item-icon{border-color:rgba(255,207,121,0.4);background:rgba(255,207,121,0.07);color:var(--gold)}
.contact-item-label{
  font-size:.55rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:4px;
}
.contact-item-val{font-size:.78rem;color:var(--white2);font-weight:400}
.contact-form-wrap{background:rgba(8,15,34,0.6);padding:48px 44px;border:1px solid rgba(255,207,121,0.08)}
.form-title{font-family:var(--ff-serif);font-size:1.5rem;font-weight:300;color:var(--white);margin-bottom:32px}
.form-title span{
  font-style:italic;
  background:linear-gradient(135deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{margin-bottom:16px}
.form-label{
  display:block;font-size:.56rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:8px;
}
.form-input{
  width:100%;background:rgba(22,41,71,0.5);
  border:1px solid rgba(255,207,121,0.1);
  padding:13px 16px;font-family:var(--ff);font-size:.78rem;
  color:var(--white);outline:none;resize:none;
  transition:border-color .25s,background .25s;
}
.form-input::placeholder{color:var(--gray2)}
.form-input:focus{border-color:rgba(255,207,121,0.35);background:rgba(22,41,71,0.7)}
.form-select{
  width:100%;background:rgba(22,41,71,0.5);
  border:1px solid rgba(255,207,121,0.1);
  padding:13px 16px;font-family:var(--ff);font-size:.78rem;
  color:var(--white);outline:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23FFCF79' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  cursor:pointer;transition:border-color .25s;
}
.form-select:focus{border-color:rgba(255,207,121,0.35)}
.form-select option{background:var(--navy);color:var(--white)}
.form-btn{
  width:100%;margin-top:4px;
  background:linear-gradient(135deg,var(--gold-start),var(--gold-end));
  color:var(--navy-dark);border:none;
  padding:16px;font-family:var(--ff);font-size:.62rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;
  cursor:pointer;transition:opacity .25s,transform .2s;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
}
.form-btn:hover{opacity:.88;transform:translateY(-1px)}

/* ── FOOTER ── */
footer{
  background:var(--navy-dark);
  border-top:1px solid rgba(255,207,121,0.07);
}
.footer-top{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:60px;
  padding:72px 64px;
}
.footer-brand{}
.footer-logo img{height:160px;object-fit:contain;display:block;opacity:.9;transition:opacity .3s;margin-bottom:24px}
.footer-logo:hover img{opacity:1}
.footer-brand-desc{font-size:.72rem;line-height:1.85;color:var(--gray);font-weight:300;margin-bottom:28px;max-width:280px}
.footer-col-title{
  font-size:.58rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;
  background:linear-gradient(90deg,var(--gold-start),var(--gold-end));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin-bottom:20px;
}
.footer-links{display:flex;flex-direction:column;gap:12px;list-style:none}
.footer-links a{font-size:.72rem;font-weight:300;color:var(--gray);transition:color .25s}
.footer-links a:hover{color:var(--gold)}
.footer-contact-list{list-style:none;display:flex;flex-direction:column;gap:14px}
.footer-contact-list li{display:flex;align-items:flex-start;gap:10px;color:var(--gray);font-size:.72rem;font-weight:300}
.footer-contact-list svg{flex-shrink:0;margin-top:2px;color:var(--gold-muted)}
.footer-contact-list a{color:var(--gray);transition:color .25s}
.footer-contact-list a:hover{color:var(--gold)}
.footer-social{display:flex;gap:10px}
.social-link{
  width:36px;height:36px;border:1px solid rgba(255,207,121,0.12);
  display:flex;align-items:center;justify-content:center;
  color:var(--gray2);
  transition:border-color .25s,color .25s;
}
.social-link svg{width:15px;height:15px}
.social-link:hover{border-color:var(--gold);color:var(--gold)}
.footer-bottom{
  padding:24px 64px;
  border-top:1px solid rgba(255,207,121,0.06);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;
}
.footer-legal{font-size:.58rem;color:var(--gray2)}

/* ── COOKIE BANNER ── */
#cookie-banner{
  display:none;position:fixed;bottom:0;left:0;right:0;z-index:600;
  background:rgba(8,15,34,0.97);backdrop-filter:blur(16px);
  border-top:1px solid rgba(255,207,121,0.1);
  padding:18px 64px;
  align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
#cookie-banner.visible{display:flex}
.cookie-text{font-size:.72rem;font-weight:300;color:var(--gray);line-height:1.7;max-width:680px}
.cookie-text a{color:var(--gold-muted);border-bottom:1px solid rgba(212,169,106,0.3)}
.cookie-text a:hover{color:var(--gold)}
.cookie-actions{display:flex;gap:10px;flex-shrink:0}
.cookie-btn{
  font-family:var(--ff);font-size:.68rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  padding:9px 20px;cursor:pointer;border:none;transition:opacity .2s,transform .2s;
}
.cookie-btn:hover{opacity:.85;transform:translateY(-1px)}
.cookie-btn--ghost{background:transparent;color:var(--gray);border:1px solid rgba(255,255,255,.12)}
.cookie-btn--ghost:hover{color:var(--white);border-color:rgba(255,255,255,.3)}
.cookie-btn--gold{background:linear-gradient(90deg,var(--gold-start),var(--gold-end));color:var(--navy-dark)}
@media(max-width:900px){
  #cookie-banner{padding:16px 24px}
  .cookie-text{font-size:.7rem}
}

/* ── REVEAL ── */
.r{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s ease}
.r.on{opacity:1;transform:translateY(0)}
.r-d1{transition-delay:.1s}.r-d2{transition-delay:.2s}.r-d3{transition-delay:.3s}
.r-d4{transition-delay:.4s}.r-d5{transition-delay:.5s}.r-d6{transition-delay:.6s}

/* ── MOBILE MENU ── */
.mobile-nav{
  display:none;position:fixed;inset:0;z-index:490;
  background:rgba(8,15,34,0.98);backdrop-filter:blur(20px);
  flex-direction:column;align-items:center;justify-content:center;gap:32px;
}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:1rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--white2);transition:color .25s}
.mobile-nav a:hover{color:var(--gold)}
.mobile-nav .btn-gold{font-size:.7rem;padding:14px 36px}
.close-btn{position:absolute;top:24px;right:24px;background:none;border:none;cursor:pointer;color:var(--gray);font-size:1.4rem}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .areas-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  nav{padding:0 24px}
  .nav-links,.nav-cta{display:none}
  .nav-hamburger{display:flex}
  .hero-content{padding:0 24px}
  .hero-stats{gap:24px}
  .areas,.about,.contact,.socios{padding:80px 24px}
  .about-grid{grid-template-columns:1fr;gap:60px}
  .socios-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .areas-grid{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr;gap:40px;padding:48px 24px}
  .footer-bottom{padding:20px 24px;flex-direction:column;align-items:flex-start}
  .form-row{grid-template-columns:1fr}
  .about-values{grid-template-columns:1fr}
}
