
:root{
  --green:#29342E;
  --green-950:#101915;
  --green-900:#17231D;
  --green-800:#203129;
  --green-700:#33483D;
  --gold:#EAC55C;
  --gold-700:#C8A340;
  --gold-100:#F8EDC9;
  --white:#FFFFFF;
  --paper:#F8F7F3;
  --paper-2:#F1F0EB;
  --ink:#26302B;
  --muted:#68716C;
  --line:#E3E4DF;
  --danger:#A53C3C;
  --container:min(1180px,calc(100% - 40px));
  --shadow:0 22px 60px rgba(16,25,21,.12);
  --shadow-sm:0 10px 32px rgba(16,25,21,.07);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:var(--container);margin:auto}
.section{padding:clamp(76px,8vw,118px) 0}
.paper{background:var(--paper)}
.green-section{background:var(--green);color:#fff}
.green-section h2,.green-section h3{color:#fff}
h1,h2,h3,h4{font-family:"Cormorant Garamond",Georgia,serif;color:var(--green);line-height:1.03;margin:0 0 16px;text-wrap:balance}
h1{font-size:clamp(3rem,6.5vw,6rem);font-weight:600;letter-spacing:-.035em}
h2{font-size:clamp(2.4rem,4.5vw,4.4rem);font-weight:600;letter-spacing:-.025em}
h3{font-size:clamp(1.55rem,2.3vw,2rem);font-weight:600}
p{margin:0 0 1rem}
.lead{max-width:760px;font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--muted)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold-700);font-size:.76rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase;margin-bottom:15px}
.eyebrow:before{content:"";width:34px;height:1px;background:currentColor}
.btn{min-height:50px;padding:12px 20px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:.82rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;transition:.22s}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible{outline:3px solid rgba(234,197,92,.35);outline-offset:3px}
.btn-gold{background:var(--gold);color:var(--green);box-shadow:0 12px 30px rgba(234,197,92,.15)}
.btn-gold:hover{background:#F0D274}
.btn-outline{border-color:rgba(234,197,92,.68);color:var(--gold);background:transparent}
.btn-outline:hover{background:var(--gold);color:var(--green)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-700)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:3000;background:var(--gold);color:var(--green);padding:10px 14px;border-radius:6px;font-weight:800}
.skip-link:focus{top:16px}

/* Header */
.header{position:fixed;inset:0 0 auto;z-index:1200;height:88px;background:rgba(16,25,21,.34);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06);transition:.25s}
.header.scrolled{height:74px;background:rgba(16,25,21,.97);box-shadow:0 10px 40px rgba(0,0,0,.2)}
.header-inner{width:var(--container);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand img{width:190px;height:66px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:clamp(14px,1.7vw,26px)}
.nav>a:not(.btn){color:rgba(255,255,255,.88);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;position:relative}
.nav>a:not(.btn):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:.2s}
.nav>a:not(.btn):hover:after,.nav>a.active:after{width:100%}
.menu-btn{display:none;width:48px;height:48px;border:1px solid rgba(255,255,255,.22);border-radius:8px;background:transparent;color:#fff}
.menu-btn span,.menu-btn:before,.menu-btn:after{content:"";display:block;width:20px;height:2px;background:currentColor;margin:4px auto;transition:.25s}
.menu-btn.open span{opacity:0}
.menu-btn.open:before{transform:translateY(6px) rotate(45deg)}
.menu-btn.open:after{transform:translateY(-6px) rotate(-45deg)}
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:1180;opacity:0;visibility:hidden;transition:.25s}
.mobile-overlay.show{opacity:1;visibility:visible}
.mobile-menu{position:fixed;top:0;right:0;z-index:1190;width:min(430px,92vw);height:100dvh;background:var(--green-950);padding:112px 30px 30px;transform:translateX(100%);transition:.3s;box-shadow:-30px 0 70px rgba(0,0,0,.25)}
.mobile-menu.open{transform:none}
.mobile-menu nav{display:grid}
.mobile-menu nav a{padding:14px 0;color:#fff;border-bottom:1px solid rgba(255,255,255,.09);font-weight:800}

/* Hero */
.hero{min-height:92vh;padding:150px 0 90px;display:grid;align-items:center;position:relative;overflow:hidden;color:#fff;background:
radial-gradient(circle at 78% 35%,rgba(234,197,92,.15),transparent 27%),
linear-gradient(125deg,var(--green-950),var(--green) 55%,#1A2922)}
.hero:before{content:"";position:absolute;width:760px;height:760px;border:1px solid rgba(234,197,92,.15);border-radius:50%;right:-180px;top:-230px}
.hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(234,197,92,.11);border-radius:50%;right:120px;bottom:-420px}
.hero-grid{display:grid;grid-template-columns:1.06fr .76fr;gap:clamp(45px,7vw,100px);align-items:center;position:relative;z-index:1}
.hero h1{color:#fff;max-width:790px}
.hero h1 span{color:var(--gold)}
.hero .lead{color:rgba(255,255,255,.76)}
.hero-note{margin-top:22px;color:rgba(255,255,255,.6);font-size:.9rem}
.hero-visual{min-height:510px;display:grid;place-items:center;position:relative}
.hero-visual:before{content:"";position:absolute;width:370px;height:370px;border-radius:50%;border:2px solid rgba(234,197,92,.68);box-shadow:0 0 0 24px rgba(234,197,92,.025)}
.hero-visual:after{content:"";position:absolute;width:1px;height:560px;background:linear-gradient(transparent,var(--gold),transparent);transform:rotate(34deg)}
.hero-logo{width:min(340px,78%);position:relative;z-index:1;filter:drop-shadow(0 25px 55px rgba(0,0,0,.28))}

/* Office */
.office-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,7vw,90px);align-items:center}
.office-visual{min-height:520px;border-radius:22px;background:linear-gradient(140deg,var(--green-950),var(--green));position:relative;overflow:hidden;display:grid;place-items:center;box-shadow:var(--shadow)}
.office-visual:before,.office-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(234,197,92,.16)}
.office-visual:before{width:480px;height:480px;right:-210px;bottom:-250px}
.office-visual:after{width:330px;height:330px;left:-160px;top:-180px}
.office-visual img{width:min(330px,72%);position:relative;z-index:1}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}
.feature{border-top:1px solid var(--line);padding-top:14px}
.feature strong{display:block;color:var(--green);font-size:.84rem}
.feature span{font-size:.76rem;color:var(--muted)}

/* Practice */
.practice{background:linear-gradient(130deg,var(--green-950),var(--green));color:#fff;position:relative;overflow:hidden}
.practice:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(234,197,92,.07),transparent 26%)}
.practice h2{color:#fff}
.practice .eyebrow{color:var(--gold)}
.practice-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:38px;position:relative}
.practice-card{min-height:175px;border:1px solid rgba(234,197,92,.48);border-radius:12px;padding:22px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.025);transition:.25s}
.practice-card:hover{transform:translateY(-5px);background:rgba(234,197,92,.08);border-color:var(--gold)}
.practice-card svg{width:42px;height:42px;color:var(--gold);margin-bottom:15px}
.practice-card h3{color:#fff;font-size:1.35rem;margin:0}

/* Team */
.section-head{text-align:center;max-width:820px;margin:0 auto 44px}
.section-head .eyebrow{justify-content:center}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.team-card{display:grid;grid-template-columns:.98fr 1.02fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:.25s}
.team-card:hover{transform:translateY(-5px);border-color:rgba(234,197,92,.7);box-shadow:var(--shadow)}
.team-photo{min-height:330px;background:var(--green)}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.team-copy{padding:25px 22px;display:flex;flex-direction:column;justify-content:center}
.team-copy h3{font-size:1.7rem}
.team-oab{color:var(--gold-700);font-size:.82rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.team-line{width:42px;height:2px;background:var(--gold);margin:14px 0}
.small-link{margin-top:8px;color:var(--green);font-size:.78rem;font-weight:900;text-transform:uppercase}
.small-link:after{content:" →";color:var(--gold-700)}

/* Process */
.process{background:var(--green);color:#fff}
.process h2{color:#fff}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:36px}
.step{position:relative;padding-left:68px}
.step-number{position:absolute;left:0;top:0;width:50px;height:50px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-family:"Cormorant Garamond",serif;font-size:1.7rem}
.step h3{color:#fff;font-size:1.45rem}
.step p{color:rgba(255,255,255,.7);font-size:.9rem}

/* WhatsApp band */
.wa-band{background:linear-gradient(90deg,#CFA642,var(--gold),#D4AC4B);padding:28px 0}
.wa-inner{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.wa-band h3{color:var(--green);margin:0;font-size:2rem}
.wa-band p{margin:3px 0 0;color:rgba(41,52,46,.82)}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:.42fr 1fr;gap:55px;align-items:start}
.faq-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.faq-item+.faq-item{border-top:1px solid var(--line)}
.faq-btn{width:100%;border:0;background:#fff;text-align:left;padding:20px 22px;display:flex;justify-content:space-between;gap:16px;font-weight:800;color:var(--green)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:.28s}
.faq-answer>div{overflow:hidden;background:#fff}
.faq-answer p{padding:0 22px 20px;color:var(--muted);margin:0}
.faq-item.open .faq-answer{grid-template-rows:1fr}
.faq-symbol{color:var(--gold-700);font-size:1.2rem}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:50px;align-items:start}
.contact-list{list-style:none;margin:0;padding:0}
.contact-list li{padding:12px 0;border-bottom:1px solid var(--line)}
.contact-label{display:block;color:var(--gold-700);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.map{width:100%;min-height:400px;border:0;border-radius:16px;box-shadow:var(--shadow-sm)}

/* Internal pages */
.page-hero{padding:165px 0 78px;background:linear-gradient(130deg,var(--green-950),var(--green));color:#fff}
.page-hero h1{color:#fff;font-size:clamp(3rem,5.5vw,5.4rem)}
.crumb{font-size:.84rem;color:rgba(255,255,255,.65);margin-bottom:16px}
.crumb a{color:var(--gold)}
.detail{display:grid;grid-template-columns:1fr 320px;gap:55px;align-items:start}
.detail-copy{max-width:820px}
.detail-copy p,.detail-copy li{color:var(--muted)}
.side-card{position:sticky;top:105px;background:var(--green);color:#fff;border-top:3px solid var(--gold);border-radius:10px;padding:26px}
.side-card h3{color:#fff}
.profile-grid{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;gap:55px;align-items:start}
.profile-img{border-radius:18px;overflow:hidden;background:var(--green);box-shadow:var(--shadow)}
.profile-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}

/* Footer */
.footer{background:#101915;color:rgba(255,255,255,.72);padding:62px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr 1fr;gap:32px}
.footer-logo{width:205px;margin-bottom:15px}
.footer h4{font-family:Inter,sans-serif;color:#fff;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:7px}
.footer a:hover{color:var(--gold)}
.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:18px;font-size:.78rem}
.float-wa,.back-top{position:fixed;right:20px;z-index:1000;width:54px;height:54px;border-radius:50%;border:0;display:grid;place-items:center;box-shadow:0 12px 35px rgba(0,0,0,.2)}
.float-wa{bottom:20px;background:var(--gold);color:var(--green);font-weight:950}
.back-top{bottom:84px;background:var(--green);color:#fff;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s}
.back-top.show{opacity:1;visibility:visible;transform:none}
.cookie{position:fixed;left:18px;right:18px;bottom:18px;max-width:760px;margin:auto;background:#fff;border-top:3px solid var(--gold);box-shadow:0 20px 70px rgba(0,0,0,.25);padding:18px;z-index:1400;display:none}
.cookie.show{display:block}
.cookie p{color:var(--muted);font-size:.88rem;margin-bottom:10px}
.reveal{opacity:0;transform:translateY(22px);transition:.6s}
.reveal.in{opacity:1;transform:none}

@media(max-width:1100px){
  .nav{display:none}.menu-btn{display:block}
  .hero-grid,.office-grid,.faq-layout,.contact-grid,.detail,.profile-grid{grid-template-columns:1fr}
  .hero-visual{min-height:390px}
  .practice-grid{grid-template-columns:repeat(3,1fr)}
  .team-grid{grid-template-columns:1fr}
  .team-card{grid-template-columns:260px 1fr}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .side-card{position:static}
}
@media(max-width:720px){
  :root{--container:min(100% - 28px,1180px)}
  .section{padding:72px 0}
  .header{height:76px}.header.scrolled{height:70px}.brand img{width:150px;height:52px}
  .hero{min-height:auto;padding:126px 0 76px}
  .hero-visual{min-height:290px}.hero-visual:before{width:245px;height:245px}.hero-logo{width:220px}
  .features{grid-template-columns:1fr 1fr}
  .practice-grid{grid-template-columns:repeat(2,1fr)}
  .team-card{grid-template-columns:1fr}.team-photo{min-height:390px}
  .process-grid,.footer-grid{grid-template-columns:1fr}
  .wa-inner{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Nova logo DC integrada */
.brand img{width:220px!important;height:68px!important;object-fit:contain!important;object-position:left center!important}
.hero-logo{width:min(560px,95%)!important;filter:drop-shadow(0 28px 60px rgba(0,0,0,.25))}
.office-visual img{width:min(520px,90%)!important}
.footer-logo{width:235px!important;max-height:90px!important;object-fit:contain!important;object-position:left center!important}
@media(max-width:720px){
  .brand img{width:170px!important;height:54px!important}
  .hero-logo{width:min(430px,95%)!important}
}


/* ============================================================
   DUAS UNIDADES — NOVA CANTU + RONCADOR
   ============================================================ */
.locations-section{
  position:relative;
  overflow:hidden;
}
.locations-section::before{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  border:1px solid rgba(234,197,92,.12);
  border-radius:50%;
  right:-230px;
  top:-180px;
  pointer-events:none;
}
.locations-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:40px;
}
.location-card{
  position:relative;
  overflow:hidden;
  min-height:300px;
  padding:34px;
  border:1px solid rgba(234,197,92,.34);
  border-radius:16px;
  background:
    radial-gradient(circle at 88% 14%,rgba(234,197,92,.10),transparent 28%),
    linear-gradient(140deg,#17231D,#29342E);
  color:#fff;
  box-shadow:0 18px 52px rgba(16,25,21,.12);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.location-card:hover{
  transform:translateY(-5px);
  border-color:rgba(234,197,92,.75);
  box-shadow:0 24px 62px rgba(16,25,21,.18);
}
.location-card::after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  border:1px solid rgba(234,197,92,.16);
  border-radius:50%;
  right:-90px;
  bottom:-100px;
}
.location-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(234,197,92,.60);
  border-radius:50%;
  color:var(--gold);
  font-size:1.15rem;
  margin-bottom:22px;
}
.location-card h3{color:#fff;margin-bottom:9px}
.location-card .location-state{
  color:var(--gold);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-bottom:16px;
}
.location-card address{
  font-style:normal;
  color:rgba(255,255,255,.78);
  position:relative;
  z-index:1;
}
.location-card .actions{position:relative;z-index:1}
.location-card .btn-green{
  background:#fff;
  color:var(--green);
}
.location-card .btn-green:hover{background:var(--gold-soft,#F6E8B8)}

.location-local-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:16px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.location-local-link::after{content:"→"}

.map-switcher{
  margin-top:28px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
.map-tabs{
  display:flex;
  gap:0;
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.map-tab{
  flex:1;
  border:0;
  background:transparent;
  color:var(--green);
  padding:16px 18px;
  font-weight:900;
  letter-spacing:.035em;
  transition:.2s ease;
}
.map-tab + .map-tab{border-left:1px solid var(--line)}
.map-tab.active{
  background:var(--green);
  color:var(--gold);
}
.map-panel{display:none;padding:14px}
.map-panel.active{display:block}
.map-panel .map{box-shadow:none;border-radius:10px}

.branch-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid rgba(234,197,92,.42);
  border-radius:999px;
  color:var(--gold);
  font-size:.74rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:18px;
}
.branch-data{
  display:grid;
  gap:15px;
  margin:28px 0;
}
.branch-data-item{
  padding:15px 0;
  border-top:1px solid var(--line);
}
.branch-data-item strong{
  display:block;
  margin-bottom:3px;
  color:var(--green);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.branch-map{margin-top:28px}

.footer-locations{
  display:grid;
  gap:14px;
}
.footer-location{
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.footer-location:last-child{border-bottom:0}
.footer-location strong{color:var(--gold)}

@media(max-width:820px){
  .locations-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .map-tabs{display:grid;grid-template-columns:1fr}
  .map-tab + .map-tab{border-left:0;border-top:1px solid var(--line)}
  .location-card{padding:26px}
}


/* ============================================================
   WHATSAPP PREMIUM — DUARTE & COSTA
   Verde institucional #29342E + Dourado #EAC55C
   ============================================================ */
.float-wa{
  width:62px!important;
  height:62px!important;
  padding:0!important;
  border-radius:50%!important;
  background:#29342E!important;
  border:2px solid #EAC55C!important;
  box-shadow:0 12px 32px rgba(16,25,21,.28),0 0 0 6px rgba(234,197,92,.08)!important;
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease!important;
}
.float-wa img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.float-wa:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 16px 38px rgba(16,25,21,.34),0 0 0 8px rgba(234,197,92,.11)!important;
}
.float-wa:focus-visible{
  outline:3px solid rgba(234,197,92,.5);
  outline-offset:4px;
}
@media(max-width:720px){
  .float-wa{
    width:58px!important;
    height:58px!important;
    right:16px!important;
    bottom:16px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .float-wa{transition:none!important}
}
