/* Section composition: generous spacing, numbered content and a vertical journey. */
:root { --paper: #f8f6f1; --muted-ink: #626765; --line: #c69a4b40; }
.layout-container { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.editorial-section { padding: 104px 0; }
.section-dark { background: #080f12; color: #f8f6f1; }
.section-light { background: var(--paper); color: #152124; }
#areas, #sobre, #como-atuamos, #duvidas { background-image: none; }
main > .editorial-section::before { opacity: .35; }
.section-heading { max-width: 780px; }
.section-heading h2, #duvidas h2, #contato h2 { margin-top: 20px; font-family: 'Cormorant Garamond', serif; font-size: clamp(2.6rem, 4.1vw, 3.9rem); font-weight: 600; line-height: 1.04; letter-spacing: -.025em; }
.section-heading em, #duvidas em, #contato em, .landing-hero em { font-weight: 500; color: #d4ab61; }
.section-light .section-heading em, #duvidas em { color: #916528; }
.section-heading > p:not(.eyebrow), .heading-split > p { max-width: 580px; margin-top: 24px; font-size: .96rem; line-height: 1.85; color: #aeb4b4; }
.section-light .section-heading > p:not(.eyebrow), .section-light .heading-split > p { color: var(--muted-ink); }
.section-light .eyebrow { color: #916528; }
.eyebrow { font-size: .64rem; letter-spacing: .2em; }
.heading-split { max-width: none; display: grid; grid-template-columns: 1.35fr 1fr; gap: 64px; align-items: end; }
.btn-primary, .btn-secondary { border-radius: 4px; padding: 1rem 1.35rem; font-size: .8rem; }
.btn-primary { box-shadow: 0 5px 18px #c69a4b15; }
.landing-hero { background: #080f12; }
.landing-hero > .hero-grid { opacity: .1; }
.landing-hero > .mx-auto { max-width: 1244px; gap: 48px; padding-top: 64px; padding-bottom: 80px; }
.landing-hero h1 { font-size: clamp(3.4rem, 5.15vw, 5rem); line-height: 1.01; letter-spacing: -.035em; }
#inicio [data-reveal]:has(> img) { border-radius: 2px; }
.landing-hero img { border-radius: 2px; }
.landing-hero [data-reveal] > .absolute.border { border-radius: 2px; }
.situation-grid, .practice-grid, .values-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; margin-top: 48px; }
.situation-card { padding: 30px; border: 1px solid #ffffff1a; border-top: 2px solid #b58a45; background: linear-gradient(135deg,#ffffff04,transparent); }
.card-topline { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.index-number { color: #a8803f; font-family: 'Cormorant Garamond',serif; font-size: 2.5rem; font-weight: 500; line-height: 1; }
.card-topline > svg { width: 25px; height: 25px; color: #c69a4b; }
.situation-card h3, .values-grid h3 { margin-top: 28px; font-family: 'Cormorant Garamond',serif; font-size: 1.8rem; font-weight: 600; line-height: 1.2; }
.situation-card > p, .values-grid article > p { margin-top: 14px; color: #aeb4b4; font-size: .85rem; line-height: 1.8; }
.situation-card { display: flex; flex-direction: column; }
.situation-card > a, .text-link { display: inline-flex; align-items: center; gap: 12px; font-size: .76rem; font-weight: 600; color: #e0bb78; }
.situation-card > a { margin-top: auto; padding-top: 26px; }
.situation-card > a svg, .text-link svg { width: 17px; height: 17px; }
.practice-card { padding: 32px; background: #fff; border: 1px solid #dedbd3; border-radius: 3px; box-shadow: none; }
.practice-card .practice-icon { padding: 0; border: 0; background: none; border-radius: 0; width: 28px; height: 28px; }
.practice-card h3 { font-size: 2.05rem; margin-top: 28px; }
.practice-card > p { min-height: 3.1em; font-size: .86rem; color: var(--muted-ink); }
.practice-card ul { padding-block: 24px; border-top: 1px solid #e8e4dc; margin-top: 24px; font-size: .81rem; gap: 12px; }
.practice-card a { border-top: 1px solid #e8e4dc; font-size: .76rem; }
.values-grid { gap: 0; }
.values-grid article { padding: 8px 32px; border-left: 1px solid #ffffff26; }
.values-grid article:first-child { padding-left: 0; border-left: 0; }
.values-grid article:last-child { padding-right: 0; }
.values-grid .index-number { font-size: 1.8rem; }
.values-grid h3 { display: flex; gap: 12px; align-items: center; font-size: 1.65rem; }
.values-grid h3 svg { width: 22px; height: 22px; color: #d4ab61; }
.about-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.about-visual { position: relative; height: 560px; margin: 0 16px 16px 0; }
.about-visual::before { content: ''; position: absolute; inset: 20px -16px -16px 20px; border: 1px solid #b58a45; z-index: -1; }
.about-visual > img { width: 100%; height: 100%; object-fit: cover; }
.about-caption { position: absolute; inset: auto 0 0; padding: 50px 28px 28px; background: linear-gradient(transparent,#071014ee); color: white; }
.about-caption span { display: block; font-family: 'Cormorant Garamond',serif; font-size: 2rem; }
.about-caption small { display: block; margin-top: 6px; color: #d4ab61; font-size: .65rem; text-transform: uppercase; letter-spacing: .15em; }
.about-signature { display: flex; gap: 16px; align-items: center; border-top: 1px solid #dedbd3; padding-top: 24px; margin: 28px 0; font-size: .8rem; line-height: 1.6; color: #626765; }
.about-signature svg { width: 30px; height: 30px; color: #a8803f; }
.about-signature strong { color: #152124; font-weight: 600; }
.journey-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 96px; align-items: start; }
.journey-intro { position: sticky; top: 128px; }
.journey-intro .text-link { margin-top: 32px; }
.journey-list { list-style: none; padding: 0; margin: 0; }
.journey-list li { position: relative; padding: 0 0 40px 68px; min-height: 150px; }
.journey-list li::before { content: ''; position: absolute; left: 21px; top: 42px; bottom: 0; width: 1px; background: #c69a4b50; }
.journey-list li:last-child { padding-bottom: 0; }
.journey-list li:last-child::before { display: none; }
.journey-number { position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 43px; height: 43px; background: #c69a4b; border-radius: 50%; color: #071014; font-family: 'Cormorant Garamond',serif; font-weight: 700; font-size: 1.1rem; }
.journey-label { font-size: .64rem; color: #d4ab61; letter-spacing: .08em; text-transform: uppercase; }
.journey-list h3 { font-family: 'Cormorant Garamond',serif; font-size: 1.75rem; line-height: 1.18; margin-top: 10px; }
.journey-list h3 + p { color: #aeb4b4; font-size: .84rem; line-height: 1.8; margin-top: 12px; }
#duvidas > div { max-width: 1244px; gap: 80px; grid-template-columns: 1fr 1.15fr; }
.faq-intro { margin: 24px 0 28px; max-width: 420px; color: var(--muted-ink); font-size: .9rem; line-height: 1.85; }
.faq { border: 1px solid #243237; border-radius: 3px; background: #101b20; padding-inline: 24px; color: #f8f6f1; }
.faq summary { font-size: .85rem; gap: 20px; padding-block: 21px; line-height: 1.6; }
.faq summary svg { color: #d4ab61; }
.faq p { color: #b6bebf; padding-bottom: 24px; font-size: .83rem; }
#contato { padding: 104px 0 120px; background: #080f12; }
#contato > .relative { max-width: 1244px; align-items: center; gap: 80px; }
#contato .contact-link { border: 0; border-bottom: 1px solid #ffffff26; border-radius: 0; padding: 16px 0; }
#contato .contact-link span { font-size: .88rem; }
#contato .contact-link small { color: #aeb4b4; margin-bottom: 4px; }
#contactForm { border: 1px solid #c69a4b40; border-radius: 4px; background: #111b20; box-shadow: 0 20px 70px #0002; }
.form-heading { display: flex; gap: 14px; align-items: center; padding-bottom: 26px; margin-bottom: 26px; border-bottom: 1px solid #ffffff1a; }
.form-heading > svg { width: 24px; color: #d4ab61; }
.form-heading h3 { font-family: 'Cormorant Garamond',serif; font-size: 1.8rem; line-height: 1.2; }
.form-heading p { margin-top: 5px; font-size: .72rem; color: #aeb4b4; }
#contactForm input, #contactForm select, #contactForm textarea { border-radius: 3px; }
.site-footer > div:last-child { max-width: 1244px; padding: 32px 80px 32px 32px; }
@media (max-width: 1023px) {
  .editorial-section { padding: 76px 0; }
  .heading-split, .about-grid, .journey-layout { gap: 40px; }
  .situation-grid, .practice-grid { gap: 16px; }
  .situation-card, .practice-card { padding: 24px; }
  .about-visual { height: 480px; }
  .values-grid article { padding-inline: 20px; }
  .values-grid h3 { align-items: start; }
  #duvidas > div, #contato > .relative { gap: 40px; }
  #contato > .relative { grid-template-columns: 1fr 1.1fr; }
  .landing-hero > .mx-auto { grid-template-columns: 1.1fr .9fr; gap: 24px; min-height: auto; }
  .landing-hero h1 { font-size: 3.4rem; }
  .landing-hero { min-height: auto; }
}
@media (max-width: 767px) {
  .layout-container { width: calc(100% - 40px); }
  .editorial-section { padding: 64px 0; }
  .heading-split, .about-grid, .journey-layout, #duvidas > div, #contato > .relative { grid-template-columns: 1fr; gap: 36px; }
  .situation-grid, .practice-grid, .values-grid { grid-template-columns: 1fr; margin-top: 32px; }
  .situation-card, .practice-card { padding: 28px; }
  .values-grid article, .values-grid article:first-child, .values-grid article:last-child { padding: 28px 0; border-left: 0; border-top: 1px solid #ffffff26; }
  .values-grid h3 { margin-top: 18px; }
  .about-visual { height: 380px; }
  .about-copy { margin-top: 8px; }
  .journey-intro { position: static; }
  .journey-list li { padding-left: 60px; }
  .journey-list h3 { font-size: 1.65rem; }
  .landing-hero > .mx-auto { grid-template-columns: 1fr; padding-top: 48px; padding-bottom: 48px; gap: 36px; }
  .landing-hero h1 { font-size: clamp(2.9rem,10vw,4rem); }
  .landing-hero [data-reveal]:has(> img) { height: 380px; }
  #contato { padding: 64px 0 96px; }
  .site-footer > div:last-child { padding-left: 20px; }
}
/* Full-width hero and alternating practice sections. */
.landing-hero { isolation: isolate; min-height: 740px; }
.landing-hero .hero-background { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; z-index: -2; }
.hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #080b0dd9 0%, #080b0d80 43%, #080b0d08 75%); }
.landing-hero > .mx-auto { display: flex; min-height: 660px; }
.landing-hero > .mx-auto > [data-reveal] { width: 58%; max-width: 670px; }
.landing-hero h1 { font-size: clamp(3.4rem, 4.7vw, 4.7rem); }
.landing-hero .trust { color: #eee4d4; }
.situation-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.situation-card { position: relative; transition: border-color .2s, background .2s; }
.situation-card > a::after { content: ''; position: absolute; inset: 0; }
.situation-card:hover, .situation-card:focus-within { border-color: #d4ab61; background: #c69a4b0c; }
.situation-card:focus-within { outline: 2px solid #d4ab61; outline-offset: 4px; }
.practice-sections { margin-top: 64px; }
.practice-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; padding: 64px 0; border-top: 1px solid #dedbd3; scroll-margin-top: 100px; }
.practice-section:nth-child(even) .practice-visual { order: 2; }
.practice-visual { aspect-ratio: 1 / 1; overflow: hidden; background: #e8e4dc; }
.practice-visual img { width: 100%; height: 100%; object-fit: cover; }
.practice-section .practice-card { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.practice-section .practice-card:hover { transform: none; box-shadow: none; }
.practice-section .practice-card h3 { font-size: clamp(2.2rem, 3.5vw, 3.3rem); line-height: 1.1; margin-top: 28px; }
.practice-section .practice-card > p { font-size: 1rem; min-height: 0; margin-top: 22px; }
.practice-section .practice-card ul { font-size: .95rem; gap: 16px; padding-block: 28px; }
.practice-section .practice-card a { padding-top: 24px; font-size: .87rem; }
@media (max-width: 1023px) {
  .situation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-hero > .mx-auto > [data-reveal] { width: 70%; }
  .landing-hero .hero-background { object-position: 62% center; }
}
@media (max-width: 767px) {
  .landing-hero { min-height: auto; }
  .landing-hero > .mx-auto { min-height: 680px; padding-block: 56px; }
  .landing-hero > .mx-auto > [data-reveal] { width: 100%; }
  .landing-hero .hero-background { object-position: 72% center; }
  .hero-shade { background: linear-gradient(90deg, #080b0de8, #080b0d9c), linear-gradient(0deg, #080b0d80, transparent); }
  .landing-hero h1 { font-size: clamp(2.9rem, 10vw, 4rem); }
  .practice-sections { margin-top: 40px; }
  .practice-section { grid-template-columns: 1fr; gap: 32px; padding: 40px 0; }
  .practice-section:nth-child(even) .practice-visual { order: 0; }
  .practice-visual { aspect-ratio: 4 / 3; }
}
@media (max-width: 479px) { .situation-grid { grid-template-columns: 1fr; } }
