:root {
  --navy: #10243A;
  --navy-mid: #0C1E31;
  --navy-deep: #07131F;
  --marsala: #743640;
  --marsala-dark: #5D2932;
  --marsala-soft: #9A6269;
  --ink: #202A34;
  --muted: #68727C;
  --paper: #FBF8F2;
  --paper-2: #F6EFE4;
  --white: #ffffff;
  --line: #DED1C4;
  --gold: #B48A3C;
  --gold-dark: #8E6A2B;
  --gold-soft: #D7BF87;
  --max: 1180px;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:var(--sans); color:var(--ink); background:var(--paper); line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button, input, textarea { font:inherit; }
.container { width:min(calc(100% - 40px), var(--max)); margin-inline:auto; }
.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:700; color:var(--gold-dark); }
.display { font-family:var(--serif); font-weight:400; line-height:1.04; letter-spacing:-.025em; }
.section { padding:96px 0; }
.section-tight { padding:68px 0; }
.section-title { font-family:var(--serif); font-weight:400; font-size:clamp(2rem,4vw,3.3rem); line-height:1.1; margin:.5rem 0 1.2rem; }
.lead { font-size:1.08rem; color:var(--muted); max-width:68ch; }
.muted { color:var(--muted); }
.rule { width:38px; height:2px; background:var(--gold); margin:0 0 20px; }
.btn { display:inline-flex; align-items:center; gap:10px; border:1px solid var(--navy); background:var(--navy); color:white; padding:13px 18px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:.2s ease; }
.btn:hover { background:var(--navy-mid); transform:translateY(-1px); }
.btn-ghost { background:transparent; color:var(--navy); border-color:var(--line); }
.btn-ghost:hover { background:#f2e8dc; }
.arrow::after { content:'→'; font-size:1.05em; }

.site-header { position:sticky; top:0; z-index:40; background:rgba(251,248,242,.96); backdrop-filter: blur(10px); border-bottom:1px solid rgba(24,33,42,.08); }
.header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:38px; height:38px; border-radius:5px; }
.brand-name { font-family:var(--serif); font-size:1.25rem; letter-spacing:.06em; line-height:1; }
.brand-sub { display:block; color:var(--gold-dark); font-size:.55rem; text-transform:uppercase; letter-spacing:.16em; margin-top:5px; font-family:var(--sans); font-weight:700; }
.nav { display:flex; align-items:center; gap:20px; font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.nav a { padding:28px 0 24px; border-bottom:2px solid transparent; }
.nav a:hover, .nav a.active { border-color:var(--gold); }
.nav .nav-contact { padding:10px 14px; border:1px solid var(--navy); color:var(--navy); }
.nav .nav-contact:hover { background:var(--navy); color:white; }
.menu-toggle { display:none; border:0; background:transparent; width:42px; height:42px; font-size:1.35rem; }

.hero { background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy-mid) 58%,var(--navy) 100%); color:white; min-height:680px; position:relative; overflow:hidden; }
.hero-grid { min-height:680px; display:grid; grid-template-columns:1.02fr .98fr; }
.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:78px 50px 78px 0; position:relative; z-index:2; }
.hero .eyebrow { color:#D8BE78; }
.hero h1 { font-size:clamp(3rem,5.8vw,5.4rem); margin:12px 0 22px; max-width:10ch; }
.hero p { color:#DDE5EC; max-width:55ch; font-size:1.06rem; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.hero .btn { background:transparent; border-color:#c99a5c; color:#FFF5E8; }
.hero .btn:hover { background:var(--gold); color:var(--navy-deep); }
.hero .btn-ghost { border-color:rgba(215,191,135,.46); color:#FFF9F4; }
.hero-photo { position:relative; min-height:680px; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.hero-photo::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,var(--navy-mid) 0%,rgba(12,30,49,.48) 22%, transparent 58%); z-index:1; pointer-events:none; }

.statement { background:#fffdf9; border-bottom:1px solid var(--line); }
.statement-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }
.statement blockquote { margin:0; font-family:var(--serif); font-size:clamp(2rem,3.7vw,3.2rem); line-height:1.14; }
.statement p { margin-top:0; }

.practice-grid { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:#fffdf9; }
.practice { padding:30px 27px 28px; min-height:290px; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.practice:last-child { border-right:0; }
.practice-num { font-family:var(--serif); font-size:1.6rem; color:var(--gold-dark); }
.practice h3 { font-family:var(--serif); font-size:1.25rem; line-height:1.18; font-weight:400; margin:18px 0 12px; }
.practice p { font-size:.92rem; color:var(--muted); flex:1; }
.text-link { color:var(--gold-dark); font-weight:700; font-size:.74rem; text-transform:uppercase; letter-spacing:.06em; }

.about-band { background:linear-gradient(135deg,var(--navy-deep),var(--navy)); color:#FFF9F4; }
.about-grid { display:grid; grid-template-columns:.76fr 1.24fr; min-height:610px; }
.about-photo img { width:100%; height:100%; min-height:610px; object-fit:cover; object-position:center 20%; }
.about-copy { padding:72px 70px; align-self:center; }
.about-copy .section-title { color:white; }
.about-copy p { color:#D7E0E8; }
.credentials { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:30px 0 26px; border-top:1px solid #34506A; border-left:1px solid #34506A; }
.credential { padding:20px; border-right:1px solid #34506A; border-bottom:1px solid #34506A; }
.credential strong { display:block; color:white; font-size:.91rem; }
.credential span { color:#C2D0DB; font-size:.82rem; display:block; margin-top:4px; }
.now-box { border:1px solid var(--gold); padding:18px 20px; color:#EDF2F6; font-size:.9rem; }

.content-head { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:30px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card { background:#fffdf9; border:1px solid var(--line); min-height:100%; display:flex; flex-direction:column; transition:.2s ease; }
.card:hover { transform:translateY(-2px); box-shadow:0 12px 25px rgba(8,23,37,.07); }
.card-image { aspect-ratio:16/9; overflow:hidden; background:#ddd; }
.card-image img { width:100%; height:100%; object-fit:cover; transition:.35s ease; }
.card:hover .card-image img { transform:scale(1.02); }
.card-body { padding:23px; display:flex; flex-direction:column; flex:1; }
.card-meta { font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-dark); }
.card h3 { font-family:var(--serif); font-size:1.45rem; line-height:1.18; font-weight:400; margin:10px 0; }
.card p { color:var(--muted); font-size:.9rem; flex:1; }

.dossiers { background:var(--paper-2); }
.dossier-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.dossier { min-height:360px; background:linear-gradient(145deg,var(--navy),var(--navy-deep)); color:white; padding:30px; border:1px solid rgba(255,255,255,.12); display:flex; flex-direction:column; position:relative; overflow:hidden; }
.dossier::after { content:''; position:absolute; width:220px; height:220px; border:1px solid rgba(180,138,60,.22); border-radius:50%; right:-80px; bottom:-100px; box-shadow:0 0 0 35px rgba(180,138,60,.05),0 0 0 70px rgba(180,138,60,.035); }
.dossier .card-meta { color:#D8BE78; }
.dossier h3 { font-family:var(--serif); font-size:1.8rem; font-weight:400; line-height:1.14; margin:20px 0 15px; max-width:12ch; }
.dossier p { color:#C6D2DC; font-size:.9rem; flex:1; max-width:34ch; }
.dossier .text-link { color:#E1C77E; position:relative; z-index:1; }

.method-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.method { padding:30px 28px; position:relative; }
.method:not(:last-child)::after { content:'→'; position:absolute; right:-8px; top:45%; color:var(--gold); background:var(--paper); padding:0 4px; }
.method-num { font-family:var(--serif); font-size:1.8rem; color:var(--gold-dark); }
.method h3 { font-family:var(--serif); font-weight:400; font-size:1.18rem; margin:12px 0 8px; }
.method p { color:var(--muted); font-size:.88rem; }

.feature { background:#fffdf9; }
.feature-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:0; border:1px solid var(--line); }
.feature-image { min-height:360px; }
.feature-image img { width:100%; height:100%; object-fit:cover; }
.feature-copy { padding:55px 60px; }

.contact-band { background:#f7efe7; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
.contact-list { display:grid; gap:14px; }
.contact-row { padding:17px 0; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; }
.contact-row span:first-child { text-transform:uppercase; font-size:.72rem; letter-spacing:.08em; font-weight:700; color:var(--gold-dark); }
.contact-row a { font-weight:600; }
.contact-note { font-size:.82rem; color:var(--muted); margin-top:22px; }

.site-footer { background:var(--navy-deep); position:relative; color:#C5D0D9; padding:48px 0 25px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:60px; }
.footer-brand { font-family:var(--serif); color:white; font-size:1.35rem; letter-spacing:.05em; }
.footer-label { color:#D8BE78; font-size:.66rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; margin-bottom:11px; }
.footer-links { display:grid; gap:7px; font-size:.84rem; }
.footer-bottom { border-top:1px solid #31465A; margin-top:35px; padding-top:20px; font-size:.75rem; display:flex; justify-content:space-between; gap:20px; color:#AEBCC8; }

.page-hero { background:linear-gradient(135deg,var(--navy-deep),var(--navy)); color:white; padding:105px 0 85px; }
.page-hero h1 { font-size:clamp(3rem,6vw,5rem); margin:10px 0 18px; max-width:13ch; }
.page-hero p { color:#D7E0E8; max-width:65ch; }
.two-col { display:grid; grid-template-columns:.88fr 1.12fr; gap:80px; align-items:start; }
.prose { max-width:760px; }
.prose h2, .prose h3 { font-family:var(--serif); font-weight:400; }
.prose h2 { font-size:2rem; margin-top:2.5rem; }
.prose h3 { font-size:1.35rem; margin-top:2rem; }
.prose p, .prose li { color:#465461; }
.timeline { border-left:1px solid var(--line); }
.timeline-item { padding:0 0 34px 28px; position:relative; }
.timeline-item::before { content:''; width:9px; height:9px; border-radius:50%; background:var(--gold); position:absolute; left:-5px; top:7px; }
.timeline-item h3 { font-family:var(--serif); font-weight:400; margin:0 0 6px; }
.timeline-item p { margin:0; color:var(--muted); }
.notice { border-left:3px solid var(--gold); background:#fffdf9; padding:20px 22px; color:var(--muted); }
.empty-card { border:1px dashed #b7aea2; padding:35px; background:#fffdf9; }


/* Identidade visual alinhada aos documentos institucionais */
.site-header::after {
  content:'';
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,var(--navy) 0 72%,var(--marsala) 72% 88%,var(--gold) 88% 100%);
  opacity:.82;
}
.brand-mark { border:1px solid rgba(184,134,11,.38); border-radius:50%; }
.nav .nav-contact { border-color:var(--navy); color:var(--navy); }
.nav .nav-contact:hover { background:var(--navy); color:white; }
.hero::after {
  content:'';
  position:absolute;
  left:0; right:0; bottom:0;
  height:7px;
  background:linear-gradient(90deg,var(--navy) 0 72%,var(--marsala) 72% 88%,var(--gold) 88% 100%);
  z-index:3;
}
.practice { position:relative; }
.practice::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:var(--marsala);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
}
.practice:hover::before { transform:scaleX(1); }
.practice:hover { background:#fffaf3; }
.about-band .eyebrow, .page-hero .eyebrow { color:var(--gold-soft); }
.dossier { box-shadow:inset 0 4px 0 rgba(180,138,60,.82); }
.dossier::after { border-color:rgba(216,190,120,.27); box-shadow:0 0 0 35px rgba(216,190,120,.055),0 0 0 70px rgba(216,190,120,.035); }
.feature-grid { border-top:4px solid var(--marsala); }
.feature-copy { position:relative; }
.feature-copy::before {
  content:'';
  position:absolute;
  left:60px; top:33px;
  width:42px; height:2px;
  background:var(--gold);
}
.contact-band { border-top:1px solid rgba(116,54,64,.18); }
.timeline-item::before { background:var(--marsala); box-shadow:0 0 0 3px #F3E6D7,0 0 0 4px var(--gold); }
.notice { border-left-color:var(--marsala); }
.site-footer::before {
  content:'';
  display:block;
  position:absolute;
  top:0; left:0; right:0;
  height:10px;
  background:
    linear-gradient(135deg, transparent 0 45%, rgba(116,54,64,.34) 45% 55%, transparent 55% 100%),
    linear-gradient(45deg, transparent 0 45%, rgba(184,134,11,.45) 45% 55%, transparent 55% 100%),
    #F2E5D8;
  background-size:20px 10px;
}
.footer-label { color:var(--gold-soft); }
.footer-brand { color:#FFF9F4; }

@media (max-width: 980px) {
  .nav { display:none; position:absolute; top:78px; left:0; right:0; background:var(--paper); padding:18px 20px 26px; flex-direction:column; align-items:stretch; border-bottom:1px solid var(--line); }
  .nav.open { display:flex; }
  .nav a { padding:10px 0; }
  .menu-toggle { display:block; }
  .hero-grid { grid-template-columns:1fr; min-height:auto; }
  .hero-copy { padding:70px 0 48px; }
  .hero-photo { min-height:520px; }
  .hero-photo::before { background:linear-gradient(180deg,var(--navy-mid) 0%,rgba(12,30,49,.22) 22%,transparent 50%); }
  .statement-grid, .about-grid, .two-col, .contact-grid, .feature-grid { grid-template-columns:1fr; gap:40px; }
  .practice-grid, .method-grid { grid-template-columns:1fr 1fr; }
  .practice:nth-child(2) { border-right:0; }
  .practice:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .cards, .dossier-grid { grid-template-columns:1fr 1fr; }
  .about-photo img { min-height:480px; max-height:620px; }
  .about-copy { padding:55px 30px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .section { padding:72px 0; }
  .header-inner { min-height:70px; }
  .nav { top:70px; }
  .brand-name { font-size:1.05rem; }
  .brand-sub { font-size:.5rem; }
  .brand-mark { width:34px; height:34px; }
  .hero-copy { padding:58px 0 38px; }
  .hero h1 { font-size:3.05rem; }
  .hero-photo { min-height:440px; }
  .statement-grid { gap:30px; }
  .practice-grid, .method-grid, .cards, .dossier-grid, .credentials, .footer-grid { grid-template-columns:1fr; }
  .practice { border-right:0; border-bottom:1px solid var(--line); min-height:auto; }
  .practice:last-child { border-bottom:0; }
  .method:not(:last-child)::after { display:none; }
  .method { border-bottom:1px solid var(--line); }
  .content-head { align-items:start; flex-direction:column; }
  .about-copy { padding:45px 20px; }
  .feature-copy { padding:35px 25px; }
  .footer-bottom { flex-direction:column; }
}

/* Biblioteca, estudos e artigos */
.footer-copy{max-width:42ch;font-size:.84rem}.footer-oab{font-size:.78rem;color:#D8BE78;margin:.45rem 0 0}.credential-line{color:var(--gold-dark);font-weight:700;margin-top:-.5rem;margin-bottom:1.4rem}.library-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:36px}.study-library-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.study-card{display:grid;grid-template-columns:210px 1fr;background:#fffdf9;border:1px solid var(--line);min-height:305px;transition:.2s ease}.study-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(8,23,37,.07)}.study-cover{background:#eee;overflow:hidden}.study-cover img{width:100%;height:100%;object-fit:cover;object-position:top}.study-card-body{padding:30px;display:flex;flex-direction:column}.study-card-body h2{font-family:var(--serif);font-size:1.65rem;line-height:1.15;font-weight:400;margin:10px 0}.study-card-body p{color:var(--muted);flex:1}.library-note{margin-top:34px}.study-hero{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:white}.study-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;min-height:650px;align-items:stretch}.study-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:78px 70px 78px 0}.study-hero h1{font-size:clamp(3rem,5vw,4.8rem);margin:12px 0 20px;max-width:12ch}.study-subtitle{color:#D7E0E8;font-size:1.12rem;max-width:55ch}.study-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.study-hero .btn{border-color:#D8BE78;background:#D8BE78;color:var(--navy-deep)}.study-hero .btn:hover{background:#E5CF98}.study-hero .btn-ghost{background:transparent;color:white;border-color:rgba(255,255,255,.35)}.study-hero-cover{padding:55px 0 55px 35px;display:flex;align-items:center;justify-content:center}.study-hero-cover img{max-height:535px;width:auto;box-shadow:0 24px 55px rgba(0,0,0,.28)}.study-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:start}.check-list{padding-left:1.2rem}.check-list li{margin:.65rem 0}.study-aside,.article-aside{display:grid;gap:18px;position:sticky;top:105px}.aside-box{border:1px solid var(--line);background:#fffdf9;padding:24px}.aside-box ul{padding-left:1.1rem;margin-bottom:0}.aside-box li{margin:.45rem 0;color:#52606d}.aside-box p{color:#52606d}.current-contact a,.article-aside a{display:block;margin-top:8px;overflow-wrap:anywhere}.related-band{background:var(--paper-2);border-top:1px solid var(--line)}.compact-title{font-size:2rem;margin-bottom:0}.article-hero{background:#fffdf9;border-bottom:1px solid var(--line);padding:95px 0 70px}.article-head{max-width:920px}.article-head h1{font-size:clamp(3rem,5.5vw,5rem);margin:12px 0 20px;max-width:14ch}.article-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.article-meta span:not(:last-child)::after{content:'•';margin-left:18px;color:var(--gold)}.article-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:start}.article-prose{max-width:780px}.analysis-card .card-image{aspect-ratio:4/3}.analysis-card .card-image img{object-position:top}.error-hero{min-height:68vh;display:flex;align-items:center}
@media (max-width:980px){.library-intro,.study-detail-grid,.article-layout{grid-template-columns:1fr;gap:36px}.study-library-grid{grid-template-columns:1fr}.study-hero-grid{grid-template-columns:1fr}.study-hero-copy{padding:65px 0 40px}.study-hero-cover{padding:10px 0 60px}.study-hero-cover img{max-height:500px}.study-aside,.article-aside{position:static}.study-card{grid-template-columns:180px 1fr}}
@media (max-width:640px){.study-card{grid-template-columns:1fr}.study-cover{max-height:360px}.study-card-body{padding:24px}.study-hero h1{font-size:3rem}.study-hero-cover img{max-height:420px}.article-head h1{font-size:3rem}.article-meta{display:grid;gap:5px}.article-meta span::after{display:none}}

/* Refinamentos operacionais para mobile */
@media (max-width:640px){
  .header-inner{gap:12px}
  .menu-toggle{width:44px;height:44px;min-width:44px}
  .nav a{padding:13px 0}
  .contact-row{flex-direction:column;align-items:flex-start;gap:4px}
  .contact-row a,.contact-row strong,.footer-links a,.footer-links span{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
  .hero-actions,.study-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .btn,.study-actions .btn{width:100%;justify-content:center}
}
@media (max-width:420px){
  .hero h1,.study-hero h1,.article-head h1,.page-hero h1{font-size:2.55rem}
  .hero-photo{min-height:400px}
  .section{padding:64px 0}
  .section-tight{padding:56px 0}
}

/* Link local em destaque discreto no menu principal */
.nav .nav-local{white-space:nowrap;}

/* Local SEO content cluster */
.cluster-band{background:#fffdf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cluster-intro{max-width:760px;margin:0 0 30px}
.cluster-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.cluster-card{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid var(--line);background:white;text-decoration:none;color:inherit;transition:.2s ease}
.cluster-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(8,23,37,.07)}
.cluster-card h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1.18;margin:2px 0}
.cluster-card p{color:var(--muted);margin:0;flex:1}
.source-block{margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.source-block h2{margin-top:0;font-size:1.55rem}
.source-list{padding-left:1.15rem}
.source-list li{margin:.7rem 0}
.source-list a{text-decoration:underline;text-decoration-color:rgba(169,135,54,.45);text-underline-offset:3px}
.related-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.related-link{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding:18px 0;text-decoration:none;color:inherit}
.related-link strong{font-family:var(--serif);font-size:1.2rem;font-weight:400}
.related-link span{font-size:.9rem;color:var(--muted)}
@media (max-width:760px){.cluster-grid,.related-links{grid-template-columns:1fr}}
