:root{
  --ink:#1C1A17; --ink-2:#28241E;
  --parchment:#F2EBDA; --parchment-2:#E9E0C9;
  --brass:#8C7029; --brass-light:#BC9B57; --brass-dark:#6B5124;
  --line:#DCD0AE; --line-dark:rgba(242,235,218,0.14);
  --whatsapp:#25D366;
  --font-display:'Cinzel', serif; --font-script:'Pinyon Script', cursive;
  --font-body:'Inter', sans-serif; --font-mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--parchment);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1160px;margin:0 auto;padding:0 40px;}

.topbar{position:sticky;top:0;z-index:50;background:rgba(242,235,218,0.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand-mark{height:48px;width:auto;flex:none;}
.brand-text .wordmark-img{height:18px;width:auto;display:block;}
.brand-text .tag{font-family:var(--font-script);font-size:22px;color:var(--ink);line-height:1;display:block;margin-top:2px;}
nav{display:flex;align-items:center;gap:32px;}
nav a{font-size:14px;text-decoration:none;color:var(--ink);opacity:0.75;transition:opacity .15s;}
nav a:hover{opacity:1;}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:500;padding:11px 22px;border-radius:2px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s, background .15s;}
.btn:active{transform:scale(0.98);}
.btn-primary{background:var(--ink);color:var(--parchment);}
.btn-primary:hover{background:var(--ink-2);}
.btn-outline{border-color:var(--ink);color:var(--ink);}
.btn-outline:hover{background:var(--ink);color:var(--parchment);}
.btn-brass{background:var(--brass);color:#211804;font-weight:600;}
.btn-brass:hover{background:var(--brass-light);}
.btn-wa{background:var(--whatsapp);color:#fff;font-weight:600;}
.btn-wa:hover{background:#1ebe57;}
.btn-wa svg{width:16px;height:16px;fill:#fff;}

.hero{position:relative;padding:88px 0 60px;overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1fr 240px;gap:48px;align-items:start;}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--brass);margin:0 0 20px;}
h1{font-family:var(--font-display);font-size:42px;line-height:1.2;font-weight:600;margin:0 0 24px;max-width:640px;color:var(--ink);}
h1 span{color:var(--brass-dark);}
.hero-sub{font-size:17px;color:#4B453A;max-width:520px;margin:0 0 36px;}
.hero-ctas{display:flex;gap:14px;margin-bottom:56px;flex-wrap:wrap;}

.tab-index{position:sticky;top:104px;border-left:2px solid var(--brass);padding-left:18px;}
.tab-index .tab-label{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#8A8270;margin-bottom:12px;}
.tab-index ul{list-style:none;margin:0;padding:0;}
.tab-index li{margin-bottom:9px;}
.tab-index a{font-family:var(--font-mono);font-size:12.5px;text-decoration:none;color:var(--ink);letter-spacing:0.3px;transition:color .15s, padding-left .15s;display:inline-block;}
.tab-index a:hover{color:var(--brass-dark);padding-left:4px;}

.ribbon{background:var(--ink);color:var(--parchment);}
.ribbon .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:36px 0;gap:24px;}
.stat{border-left:1px solid var(--line-dark);padding-left:20px;}
.stat:first-child{border-left:none;padding-left:0;}
.stat .num{font-family:var(--font-display);font-size:30px;font-weight:600;color:var(--brass-light);}
.stat .lbl{font-size:13px;color:#C7C0AD;margin-top:4px;}

section{padding:84px 0;}
.section-head{max-width:560px;margin-bottom:48px;}
.section-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--brass);margin:0 0 12px;}
h2{font-family:var(--font-display);font-size:28px;font-weight:600;margin:0 0 12px;color:var(--ink);}
.section-desc{color:#5B5546;font-size:15px;margin:0;}

.areas{border-top:1px solid var(--line);}
.area-row{display:grid;grid-template-columns:240px 1fr;gap:32px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start;}
.area-row .area-name{font-family:var(--font-display);font-size:17px;font-weight:600;display:flex;align-items:center;gap:12px;color:var(--ink);}
.swatch{width:8px;height:20px;border-radius:1px;flex:none;}
.sw-a{background:var(--brass-dark);} .sw-b{background:var(--brass);} .sw-c{background:var(--brass-light);} .sw-d{background:#4A4535;}
.area-row p{margin:0;color:#5B5546;font-size:14px;max-width:560px;}

.about{background:var(--parchment-2);}
.about .wrap{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:start;}
.about-lg{padding:104px 0;}
.portrait{width:100%;aspect-ratio:3/4;background:var(--ink);border-radius:4px;position:relative;overflow:hidden;border:3px solid var(--brass);}
.portrait::after{content:'M';font-family:var(--font-display);font-size:120px;color:rgba(242,235,218,0.12);position:absolute;bottom:-18px;right:-6px;font-weight:600;}
.credential{font-family:var(--font-mono);font-size:12px;color:var(--brass-dark);letter-spacing:1px;margin-top:14px;}
.bio p{color:#5B5546;font-size:15px;max-width:600px;}
.bio-scroll{max-height:520px;overflow-y:auto;padding-right:18px;margin-bottom:8px;}
.bio-scroll::-webkit-scrollbar{width:8px;}
.bio-scroll::-webkit-scrollbar-track{background:transparent;}
.bio-scroll::-webkit-scrollbar-thumb{background:var(--brass-light);border-radius:4px;}
.bio-scroll{scrollbar-width:thin;scrollbar-color:var(--brass-light) transparent;}
.cred-list{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:12px;}
.cred-list li{font-size:12.5px;font-family:var(--font-mono);border:1px solid var(--line);padding:6px 12px;border-radius:2px;color:#5B5546;background:var(--parchment);}

/* ---------- PARA REFLETIR — carrossel vertical de citacoes ---------- */
.reflect{background:var(--ink);color:var(--parchment);}
.reflect .section-eyebrow{color:var(--brass-light);}
.reflect h2{color:var(--parchment);}
.reflect .section-desc{color:#C7C0AD;}
.reflect-carousel{position:relative;min-height:200px;padding:8px 0 48px;}
.reflect-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 40px;}
.reflect-slide.is-active{opacity:1;visibility:visible;position:relative;}
.reflect-slide blockquote{font-family:var(--font-display);font-style:italic;font-size:20px;font-weight:500;line-height:1.6;max-width:720px;margin:0 auto 16px;color:var(--parchment);}
.reflect-author{font-family:var(--font-mono);font-size:13px;color:var(--brass-light);letter-spacing:0.5px;margin:0;}
.reflect-dots{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px;}
.reflect-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--brass-light);background:transparent;padding:0;cursor:pointer;}
.reflect-dot.is-active{background:var(--brass-light);}

/* ---------- EQUIPE — carrossel horizontal (3 por vez), arrastável ---------- */
.team-viewport{overflow-x:auto;overflow-y:hidden;position:relative;max-width:672px;margin:0 auto;cursor:grab;user-select:none;-webkit-user-select:none;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.team-viewport::-webkit-scrollbar{display:none;}
.team-viewport.is-dragging{cursor:grabbing;scroll-behavior:auto;}
.team-track{display:flex;gap:24px;width:max-content;}
.team-card{text-align:center;width:200px;flex:none;}
.team-portrait{width:100%;aspect-ratio:3/4;background:var(--ink);border-radius:4px;position:relative;overflow:hidden;border:2px solid var(--brass);margin-bottom:14px;}
.team-portrait img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;}
.team-portrait span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:40px;font-weight:600;color:var(--brass-light);}
.team-card h3{font-family:var(--font-display);font-size:16px;font-weight:600;margin:0 0 4px;color:var(--ink);}
.team-card .role{font-size:12.5px;color:#5B5546;margin:0 0 4px;}
.team-card .oab{font-family:var(--font-mono);font-size:11.5px;color:var(--brass-dark);letter-spacing:0.5px;}

.testimonial-item{text-align:center;padding:32px 0;border-bottom:1px solid var(--line);}
.testimonial-item:last-child{border-bottom:none;}
blockquote{font-family:var(--font-display);font-size:20px;font-weight:500;line-height:1.6;max-width:720px;margin:0 auto 16px;color:var(--ink);}
.attrib{font-family:var(--font-mono);font-size:13px;color:#5B5546;letter-spacing:0.5px;}
.empty-state{text-align:center;padding:40px 20px;border:1px dashed var(--line);border-radius:4px;color:#8A8270;font-size:14px;}

/* ---------- NOTÍCIAS ---------- */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.news-card{border:1px solid var(--line);border-radius:2px;background:var(--parchment);transition:border-color .15s, transform .15s;text-decoration:none;color:var(--ink);display:block;overflow:hidden;}
.news-card:hover{border-color:var(--brass);transform:translateY(-2px);}
.news-card .news-photo{width:100%;aspect-ratio:16/10;background:var(--parchment-2);overflow:hidden;}
.news-card .news-photo img{width:100%;height:100%;object-fit:cover;}
.news-card .news-photo.no-photo{display:flex;align-items:center;justify-content:center;}
.news-card .news-photo.no-photo span{font-family:var(--font-display);font-size:32px;color:var(--brass-light);}
.news-card-body{padding:20px;}
.news-date{font-family:var(--font-mono);font-size:11px;color:var(--brass-dark);letter-spacing:1px;}
.news-card h3{font-family:var(--font-display);font-size:16px;font-weight:600;margin:10px 0 8px;color:var(--ink);}
.news-card p{font-size:13.5px;color:#5B5546;margin:0;}

.article{max-width:760px;margin:0 auto;}
.article .news-photo{width:100%;aspect-ratio:16/9;border-radius:4px;overflow:hidden;margin-bottom:28px;border:1px solid var(--line);}
.article .news-photo img{width:100%;height:100%;object-fit:cover;}
.article h1{font-size:32px;}
.article .meta{font-family:var(--font-mono);font-size:12px;color:var(--brass-dark);letter-spacing:1px;margin-bottom:16px;}
.article .content p{font-size:16px;color:#3A352C;margin:0 0 18px;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--brass-dark);text-decoration:none;margin-bottom:24px;}
.back-link:hover{text-decoration:underline;}

.contact{background:var(--ink);color:var(--parchment);}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.contact h2{color:var(--parchment);}
.contact .section-desc{color:#C7C0AD;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:12px;font-family:var(--font-mono);letter-spacing:1px;color:#C7C0AD;margin-bottom:6px;}
.field input, .field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-dark);color:var(--parchment);font-family:var(--font-body);font-size:15px;padding:8px 0;outline:none;}
.field input:focus, .field textarea:focus{border-bottom-color:var(--brass-light);}
.hp-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.contact-status{font-size:13.5px;margin-top:14px;min-height:18px;}
.contact-status.ok{color:#8FD19E;}
.contact-status.err{color:#E39A9A;}
.btn[disabled]{opacity:0.6;cursor:not-allowed;}

.contact-strip{position:relative;background:var(--parchment-2);border-radius:4px;overflow:hidden;padding:28px 28px 28px 96px;min-height:190px;}
.diagonal{position:absolute;left:0;top:0;bottom:0;width:150px;background:var(--ink);clip-path:polygon(0 0, 62% 0, 38% 100%, 0 100%);}
.icon-badge{position:absolute;left:26px;width:38px;height:38px;border-radius:50%;background:var(--brass);display:flex;align-items:center;justify-content:center;color:var(--ink);}
.icon-badge svg{width:18px;height:18px;}
.ib-1{top:24px;} .ib-2{top:76px;} .ib-3{top:128px;}
.strip-lines p{margin:0 0 10px;font-size:14px;color:var(--ink);}
.strip-lines p.email{font-weight:600;letter-spacing:0.5px;}
.strip-lines p:last-child{margin-bottom:0;}

footer{background:var(--ink);border-top:1px solid var(--line-dark);}
footer .wrap{padding:26px 0;display:flex;justify-content:space-between;align-items:center;color:#8A8270;font-size:12.5px;}
footer a{opacity:0.7;text-decoration:underline;}
footer a:hover{opacity:1;}

.wa-float{position:fixed;bottom:24px;right:24px;z-index:60;display:flex;align-items:center;gap:10px;background:var(--whatsapp);color:#fff;padding:14px 20px;border-radius:40px;text-decoration:none;font-weight:600;font-size:14px;box-shadow:0 6px 18px rgba(0,0,0,0.25);transition:transform .15s;}
.wa-float:hover{transform:scale(1.04);}
.wa-float svg{width:22px;height:22px;fill:#fff;flex:none;}

/* ---------- REVEAL AO ROLAR — leve fade + subida, uma vez por elemento ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform;}
.reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{transition:none;opacity:1;transform:none;}
}

@media (max-width:900px){
  .wrap{padding:0 20px;}
  .hero .wrap{grid-template-columns:1fr;}
  .tab-index{position:static;margin-top:32px;}
  h1{font-size:30px;}
  .ribbon .wrap{grid-template-columns:repeat(2,1fr);row-gap:24px;}
  .about .wrap{grid-template-columns:1fr;}
  .about-lg{padding:56px 0;}
  .bio-scroll{max-height:360px;}
  .team-viewport{max-width:100%;}
  .portrait{max-width:220px;}
  .news-grid{grid-template-columns:1fr;}
  .contact .wrap{grid-template-columns:1fr;}
  .contact-strip{padding-left:80px;}
  nav{display:none;}
  .wa-float span{display:none;}
  .wa-float{padding:14px;border-radius:50%;}
}
