:root {
  --bg-primary: #f3efe7;
  --bg-secondary: #fbfaf6;
  --color-primary: #123c3d;
  --color-primary-light: #1d5150;
  --color-accent: #ba8f58;
  --color-accent-dark: #8f6738;
  --color-sage: #d9e2dc;
  --text-primary: #173c3b;
  --text-secondary: #5c6966;
  --text-muted: #7b8581;
  --font-serif: 'Newsreader', Georgia, serif;
  --font-sans: 'DM Sans', Arial, sans-serif;
  --radius: 18px;
  --shadow-soft: 0 24px 70px rgba(18, 60, 61, .09);
}
body { background: var(--bg-secondary); }
.container { max-width: 1180px; }
.header { padding: 18px 0; }
.header.scrolled { background: rgba(12,45,46,.97); padding: 12px 0; }
.brand { display: inline-flex; align-items: center; gap: 13px; color: #fff; }
.brand__mark { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(186,143,88,.8); color: #e0bd8c; font: 500 18px/1 var(--font-serif); letter-spacing: -.04em; }
.brand__copy { display: grid; line-height: 1.1; }
.brand__copy strong { font-size: 17px; letter-spacing: .02em; }
.brand__copy small { margin-top: 5px; color: rgba(255,255,255,.62); font-size: 9px; text-transform: uppercase; letter-spacing: .18em; }
.nav { gap: 24px; }
.nav__link { font-size: 11px; letter-spacing: .11em; }
.btn { border-radius: 999px; padding: 13px 22px; font-size: 11px; letter-spacing: .08em; }
.btn--primary { background: #c19864; color: #153a3a; border-color: #c19864; }
.btn--primary:hover { background: #d0aa77; color: #123c3d; transform: translateY(-2px); }
.btn--ghost { border-color: rgba(255,255,255,.35); color: #fff; background: transparent; }
.btn--ghost:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,.06); }
.btn--dark { background: var(--color-primary); color: #fff; }
.btn--dark:hover { background: var(--color-primary-light); color: #fff; }
.btn--light { background: #fff; color: var(--color-primary); }
.btn--light:hover { background: #f4eadb; color: var(--color-primary); transform: translateY(-2px); }
.eyebrow { margin: 0 0 18px; color: #d4b184; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow--dark { color: var(--color-accent-dark); }
.hero-v4 { position: relative; overflow: hidden; min-height: 760px; padding: 150px 0 88px; color: #fff; background: radial-gradient(circle at 75% 20%, rgba(186,143,88,.18), transparent 24%), linear-gradient(120deg,#0b2d2f 0%,#123c3d 58%,#1b4b49 100%); }
.hero-v4::after { content: ''; position: absolute; width: 650px; height: 650px; right: -330px; bottom: -350px; border: 1px solid rgba(205,166,116,.19); border-radius: 50%; box-shadow: 0 0 0 92px rgba(205,166,116,.025), 0 0 0 184px rgba(205,166,116,.018); }
.hero-v4__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.72fr); gap: 86px; align-items: center; }
.hero-v4 h1 { max-width: 670px; margin: 0 0 28px; color: #fff; font-size: clamp(54px,6.3vw,84px); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
.hero-v4 h1 em { color: #ddb986; font-weight: 400; }
.hero-v4__lead { max-width: 650px; margin-bottom: 34px; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.8; }
.hero-v4__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-v4__assurances { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 30px; color: rgba(255,255,255,.63); font-size: 12px; }
.hero-v4__assurances i { margin-right: 6px; color: #d9b47f; }
.situation-panel { padding: 34px; border: 1px solid rgba(221,185,134,.34); border-radius: var(--radius); background: rgba(6,30,31,.48); box-shadow: 0 32px 80px rgba(0,0,0,.24); backdrop-filter: blur(12px); }
.situation-panel__kicker { margin: 0 0 8px; color: #d8b27c; font-size: 10px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.situation-panel h2 { margin-bottom: 21px; color: #fff; font-size: 31px; font-weight: 500; }
.situation-panel__links { border-top: 1px solid rgba(255,255,255,.12); }
.situation-panel__links a { display: flex; justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.84); font-size: 14px; }
.situation-panel__links a:hover { color: #e1bd89; padding-left: 5px; }
.situation-panel__links i { margin-top: 4px; color: #c99f68; font-size: 11px; }
.situation-panel__note { margin: 18px 0 0; color: rgba(255,255,255,.48); font-size: 11px; line-height: 1.6; }
.trust-bar { background: #f8f5ef; border-bottom: 1px solid #ded8cd; }
.trust-bar__inner { display: grid; grid-template-columns: repeat(3,1fr); }
.trust-bar__inner > div { display: flex; align-items: center; gap: 17px; padding: 27px 30px; border-right: 1px solid #ded8cd; }
.trust-bar__inner > div:last-child { border-right: 0; }
.trust-bar strong { color: var(--color-accent-dark); font: 500 25px/1 var(--font-serif); }
.trust-bar span { color: var(--color-primary); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.section-v4 { padding: 112px 0; }
.section-intro { max-width: 760px; margin-bottom: 54px; }
.section-intro--split { display: grid; grid-template-columns: 1.15fr .75fr; gap: 80px; max-width: none; align-items: end; }
.section-intro h2, .method h2, .professional h2, .faq-v4 h2, .contact-band h2 { margin: 0; font-size: clamp(42px,4.5vw,62px); font-weight: 500; letter-spacing: -.035em; line-height: 1.04; }
.section-intro > p, .section-intro > div > p:last-child { color: var(--text-secondary); line-height: 1.8; }
.situations { background: var(--bg-secondary); }
.situation-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #d8d4ca; border: 1px solid #d8d4ca; }
.situation-card { min-height: 340px; padding: 34px; background: #fbfaf6; display: flex; flex-direction: column; }
.situation-card--featured { background: #e2e9e3; }
.situation-card__number { color: var(--color-accent-dark); font: 500 17px/1 var(--font-serif); }
.situation-card__label { margin: auto 0 10px; color: var(--text-muted); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.situation-card h3 { margin-bottom: 14px; font-size: 30px; font-weight: 500; }
.situation-card > p:not(.situation-card__label) { color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.situation-card a, .article-card a { display: inline-flex; align-items: center; gap: 9px; margin-top: 16px; color: var(--color-primary); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.situation-card a i, .article-card a i { color: var(--color-accent-dark); transition: transform .2s ease; }
.situation-card a:hover i, .article-card a:hover i { transform: translateX(4px); }
.method { color: #fff; background: #123c3d; }
.method__grid { display: grid; grid-template-columns: .8fr 1.15fr; gap: 100px; }
.method__intro { position: sticky; top: 130px; align-self: start; }
.method h2, .faq-v4 h2 { color: #fff; }
.method__intro > p:not(.eyebrow) { margin: 28px 0; color: rgba(255,255,255,.65); line-height: 1.8; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: #dab784; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.text-link--dark { color: var(--color-primary); }
.method__steps { border-top: 1px solid rgba(255,255,255,.15); }
.method__steps li { display: grid; grid-template-columns: 56px 1fr; gap: 24px; padding: 29px 0; border-bottom: 1px solid rgba(255,255,255,.15); }
.method__steps li > span { color: #d1aa75; font: 500 21px/1 var(--font-serif); }
.method__steps h3 { margin: 0 0 8px; color: #fff; font-size: 23px; font-weight: 500; }
.method__steps p { margin: 0; color: rgba(255,255,255,.58); font-size: 14px; }
.professional { background: #e8e3d9; }
.professional__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 78px; align-items: stretch; }
.about-signature { min-height: 590px; padding: 54px; background: #143f40; border-radius: 0; }
.professional__copy { display: flex; flex-direction: column; justify-content: center; }
.professional__copy h2 { margin-bottom: 18px; color: var(--color-primary); }
.professional__copy > p { color: var(--text-secondary); line-height: 1.8; }
.professional-registration { color: var(--color-accent-dark) !important; font-size: 13px; letter-spacing: .05em; }
.professional__note { padding-left: 18px; border-left: 2px solid var(--color-accent); font-size: 13px; }
.professional__copy .btn { align-self: flex-start; margin-top: 18px; }
.insights { background: #fbfaf6; }
.article-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 18px; }
.article-card { min-height: 340px; padding: 32px; border: 1px solid #ded9cf; display: flex; flex-direction: column; background: #fff; }
.article-card--lead { background: #dbe5df; border-color: #dbe5df; }
.article-card__meta { color: var(--color-accent-dark); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.article-card h3 { margin: auto 0 17px; font-size: 31px; font-weight: 500; }
.article-card > p:not(.article-card__meta) { color: var(--text-secondary); font-size: 14px; line-height: 1.7; }
.faq-v4 { background: #0d2f30; color: #fff; }
.faq-v4__grid { display: grid; grid-template-columns: .75fr 1.2fr; gap: 90px; }
.faq-v4__grid > div:first-child > p:last-child { margin-top: 24px; color: rgba(255,255,255,.6); }
.faq-list { border-top: 1px solid rgba(255,255,255,.16); }
.faq-list details { border-bottom: 1px solid rgba(255,255,255,.16); }
.faq-list summary { padding: 23px 42px 23px 0; cursor: pointer; list-style: none; position: relative; font-weight: 600; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; position: absolute; right: 5px; color: #d1aa75; font: 400 25px/1 var(--font-serif); }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { padding: 0 42px 24px 0; color: rgba(255,255,255,.63); font-size: 14px; line-height: 1.75; }
.contact-band { padding: 82px 0; color: #fff; background: #a87842; }
.contact-band__inner { display: flex; justify-content: space-between; align-items: center; gap: 70px; }
.contact-band h2 { color: #fff; max-width: 720px; }
.contact-band p:not(.eyebrow) { max-width: 720px; margin: 18px 0 0; color: rgba(255,255,255,.72); }
.contact-band .eyebrow { color: #f5dfc1; }
.footer-v4 { padding: 76px 0 26px; border-top: 0; background: #082728; }
.footer-v4__grid { display: grid; grid-template-columns: 1.2fr .7fr .9fr; gap: 80px; }
.footer-v4__grid > div { display: flex; flex-direction: column; align-items: flex-start; }
.footer-v4__grid > div:first-child > p { max-width: 360px; margin-top: 24px; color: rgba(255,255,255,.55); font-size: 13px; }
.footer-v4 h2 { margin-bottom: 20px; color: #d4b184; font: 700 10px/1 var(--font-sans); letter-spacing: .15em; text-transform: uppercase; }
.footer-v4__grid a:not(.brand) { margin-bottom: 12px; color: rgba(255,255,255,.64); font-size: 13px; }
.footer-v4__grid a:hover { color: #fff; }
.footer-v4__bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 55px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.4); font-size: 11px; }
@media (max-width: 980px) {
  .hero-v4 { min-height: auto; }
  .hero-v4__grid, .method__grid, .professional__grid, .faq-v4__grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-v4__copy { text-align: center; }
  .hero-v4__lead { margin-left: auto; margin-right: auto; }
  .hero-v4__actions, .hero-v4__assurances { justify-content: center; }
  .situation-panel { max-width: 640px; margin: auto; text-align: left; }
  .section-intro--split { grid-template-columns: 1fr; gap: 24px; }
  .situation-grid, .article-grid { grid-template-columns: repeat(2,1fr); }
  .method__intro { position: static; }
  .footer-v4__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .header { padding: 13px 0; }
  .brand__copy { display: none; }
  .hero-v4 { padding: 120px 0 60px; }
  .hero-v4__grid { grid-template-columns: 1fr; }
  .hero-v4 h1 { font-size: 48px; }
  .hero-v4__lead { font-size: 16px; }
  .hero-v4__actions .btn { width: 100%; justify-content: center; }
  .hero-v4__assurances { display: grid; grid-template-columns: 1fr; width: max-content; margin-left: auto; margin-right: auto; text-align: left; }
  .situation-panel { padding: 25px; }
  .trust-bar__inner { grid-template-columns: 1fr; padding: 7px 0; }
  .trust-bar__inner > div { border-right: 0; border-bottom: 1px solid #ded8cd; padding: 19px 16px; }
  .trust-bar__inner > div:last-child { border-bottom: 0; }
  .section-v4 { padding: 76px 0; }
  .section-intro h2, .method h2, .professional h2, .faq-v4 h2, .contact-band h2 { font-size: 40px; }
  .situation-grid, .article-grid { grid-template-columns: 1fr; }
  .situation-card { min-height: 300px; }
  .professional__grid { gap: 42px; }
  .about-signature { min-height: 420px; padding: 34px; }
  .contact-band__inner { flex-direction: column; align-items: flex-start; gap: 32px; }
  .footer-v4__grid { grid-template-columns: 1fr; gap: 38px; }
  .footer-v4__bottom { flex-direction: column; }
}

/* Biblioteca e artigos autorais */
.article-header { position: relative; z-index: 10; padding: 15px 0; background: #0a3031; }
.article-header .header__inner { display: flex; }
.article-header nav { display: flex; align-items: center; gap: 24px; }
.article-header nav > a:not(.btn) { color: rgba(255,255,255,.68); font-size: 12px; }
.library-hero { padding: 110px 0 100px; color: #fff; background: radial-gradient(circle at 78% 17%,rgba(193,152,100,.17),transparent 25%),linear-gradient(120deg,#0a3031,#174545); }
.library-hero h1 { max-width: 850px; margin: 0 0 24px; color: #fff; font-size: clamp(52px,6vw,78px); font-weight: 500; letter-spacing: -.045em; line-height: .99; }
.library-hero > .container > p:last-child { max-width: 700px; color: rgba(255,255,255,.67); font-size: 17px; line-height: 1.8; }
.library-section { padding: 105px 0; background: #fbfaf6; }
.library-heading { max-width: 680px; margin-bottom: 50px; }
.library-heading h2 { font-size: clamp(40px,4.4vw,58px); font-weight: 500; letter-spacing: -.035em; }
.library-grid { display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 18px; }
.library-card { min-height: 390px; padding: 34px; display: flex; flex-direction: column; border: 1px solid #dad5cb; background: #fff; }
.library-card--featured { border-color: #dbe5df; background: #dbe5df; }
.library-card > p { color: var(--color-accent-dark); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.library-card h2 { margin: auto 0 16px; font-size: 33px; font-weight: 500; }
.library-card > span { color: var(--text-secondary); font-size: 14px; line-height: 1.75; }
.library-card > a { display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; color: var(--color-primary); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.library-card > a i { color: var(--color-accent-dark); }
.library-note { padding: 82px 0; color: #fff; background: #123c3d; }
.library-note > .container { display: flex; justify-content: space-between; align-items: center; gap: 80px; }
.library-note h2 { max-width: 680px; color: #fff; font-size: 46px; font-weight: 500; }
.library-note > .container > div > p:last-child { max-width: 690px; color: rgba(255,255,255,.62); }
.article-hero { padding: 100px 0 90px; color: #fff; background: #123c3d; }
.article-shell { width: min(820px,calc(100% - 48px)); margin: 0 auto; }
.article-hero h1 { margin: 0 0 26px; color: #fff; font-size: clamp(48px,6vw,74px); font-weight: 500; letter-spacing: -.045em; line-height: 1; }
.article-hero .article-shell > p:last-child { color: rgba(255,255,255,.7); font-size: 19px; line-height: 1.8; }
.article-body { padding: 82px 0 95px; }
.article-body > section { margin-bottom: 48px; }
.article-body h2 { margin-bottom: 18px; font-size: 35px; font-weight: 500; }
.article-body p { color: var(--text-secondary); font-size: 17px; line-height: 1.9; }
.article-checklist { margin: 70px 0 42px; padding: 36px; background: #e3e9e4; }
.article-checklist h2 { font-size: 31px; }
.article-checklist ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; }
.article-checklist li { color: var(--text-secondary); font-size: 14px; }
.article-checklist i { margin-right: 9px; color: var(--color-accent-dark); }
.article-source { padding-top: 25px; border-top: 1px solid #d8d3ca; font-size: 12px !important; }
.article-source a { color: var(--color-primary); text-decoration: underline; }
.article-contact { padding: 75px 0; color: #fff; background: #a87943; }
.article-contact .article-shell { display: flex; align-items: center; justify-content: space-between; gap: 55px; width: min(1050px,calc(100% - 48px)); }
.article-contact h2 { max-width: 700px; color: #fff; font-size: 45px; font-weight: 500; }
.article-contact p:not(.eyebrow) { max-width: 680px; color: rgba(255,255,255,.7); }
.article-footer { padding: 45px 0; color: #fff; background: #082728; }
.article-footer > div { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.article-footer p { margin: 0; color: rgba(255,255,255,.45); font-size: 11px; }
.article-footer > div > a:last-child { color: rgba(255,255,255,.62); font-size: 12px; }
@media (max-width: 850px) {
  .library-grid { grid-template-columns: 1fr; }
  .library-card { min-height: 330px; }
  .library-note > .container, .article-contact .article-shell, .article-footer > div { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 650px) {
  .article-header nav > a:not(.btn) { display: none; }
  .article-header .btn { padding: 11px 14px; }
  .library-hero, .article-hero { padding: 72px 0; }
  .library-hero h1, .article-hero h1 { font-size: 46px; }
  .library-section { padding: 75px 0; }
  .article-body { padding: 65px 0 75px; }
  .article-body p { font-size: 16px; }
  .article-checklist { padding: 26px; }
  .article-checklist ul { grid-template-columns: 1fr; }
}
