
:root{--ivory:#f4f1ea;--paper:#fbf9f4;--ink:#171717;--navy:#0b2442;--navy2:#13365e;--gold:#ba9448;--stone:#c8c0b4;--muted:#68645e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button,a{transition:all .2s ease}a{color:inherit;text-decoration:none}button{cursor:pointer}.topbar{height:118px;padding:0 4vw;display:grid;grid-template-columns:310px 1fr auto;align-items:center;border-bottom:1px solid #ddd6ca;background:rgba(251,249,244,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px)}.brand{border-right:1px solid var(--stone);height:72px;display:flex;justify-content:center;flex-direction:column}.brand span,.footerBrand span{font:500 33px/1.1 Georgia,serif;letter-spacing:.02em}.brand small,.footerBrand small{text-transform:uppercase;letter-spacing:.32em;font-size:10px;margin-top:9px}.nav{display:flex;justify-content:center;gap:3.4vw}.nav a{font-size:14px;position:relative}.nav a:after{content:"";position:absolute;height:1px;background:var(--gold);bottom:-8px;left:0;width:0}.nav a:hover:after{width:100%}.utilities{display:flex;align-items:center;border-left:1px solid var(--stone);padding-left:24px;gap:16px}.textButton{border:0;background:none;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.outlineButton{height:46px;padding:0 20px;border:1px solid var(--navy);color:var(--navy);background:transparent}.outlineButton:hover{background:var(--navy);color:white}.menuButton{display:none}.languageWrap{position:relative}.languageMenu{position:absolute;right:0;top:34px;background:white;border:1px solid var(--stone);min-width:210px;padding:8px;box-shadow:0 15px 40px #0b24421c}.languageMenu button{display:block;width:100%;text-align:left;background:none;border:0;padding:10px;font-size:13px}.languageMenu button:disabled{opacity:.5}.hero{min-height:calc(100vh - 118px);display:grid;grid-template-columns:54% 46%;background:var(--ivory)}.heroCopy{padding:8vh 6vw 7vh 6vw;display:flex;flex-direction:column;justify-content:center;border-left:3px solid var(--navy);margin-left:3.5vw}.eyebrow,.sectionLabel{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:bold;color:var(--navy)}.hero h1{font:400 clamp(48px,4.5vw,76px)/1.04 Georgia,serif;letter-spacing:-.035em;max-width:850px;margin:28px 0 24px}.heroIntro{color:var(--muted);font:18px/1.6 Georgia,serif;max-width:620px}.heroActions{display:flex;gap:34px;align-items:center;margin-top:36px}.primaryButton{border:0;background:var(--navy);color:white;min-height:64px;padding:0 30px;display:inline-flex;align-items:center;justify-content:space-between;gap:40px}.primaryButton:hover{background:var(--navy2);transform:translateY(-1px)}.primaryButton span,.lineButton span{font-size:24px}.lineButton{height:58px;border:0;border-bottom:1px solid var(--navy);background:transparent;padding:0 4px;display:flex;align-items:center;gap:42px}.heroImage{min-height:650px;overflow:hidden}.heroImage img{width:100%;height:100%;object-fit:cover;object-position:center 27%}.manifesto{padding:130px 8vw;display:grid;grid-template-columns:1fr 2.4fr;gap:8vw}.sectionLabel{display:flex;gap:26px;align-items:flex-start}.sectionLabel span{color:var(--gold)}.manifestoText{display:grid;grid-template-columns:1.4fr 1fr;gap:7vw}.largeText{font:40px/1.2 Georgia,serif;margin:0}.manifestoText>p:last-child{color:var(--muted);font-size:16px;line-height:1.8;margin:10px 0}.profile{display:grid;grid-template-columns:48% 52%;min-height:720px;background:var(--navy);color:white}.profileImage{overflow:hidden}.profileImage img{width:100%;height:100%;object-fit:cover;object-position:center 25%;filter:saturate(.78)}.profileCopy{padding:10vw 9vw;display:flex;flex-direction:column;justify-content:center}.light{color:#d8c79f}.profile h2,.method h2,.securityBand h2{font:400 clamp(46px,5vw,74px)/1.05 Georgia,serif;margin:22px 0}.profileCopy>p:not(.eyebrow):not(.note){font:19px/1.7 Georgia,serif}.note{font-size:12px;line-height:1.6;color:#b8c2ce}.lightLink{margin-top:35px;border-bottom:1px solid var(--gold);padding-bottom:12px;width:max-content}.practices,.content,.contact{padding:130px 8vw}.sectionHeading{display:grid;grid-template-columns:1fr 2.4fr;gap:8vw;margin-bottom:80px}.sectionHeading h2,.contact h2{font:400 clamp(44px,5vw,72px)/1.05 Georgia,serif;max-width:800px;margin:0}.practiceGrid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--stone)}.practiceCard{padding:52px 4vw 48px 0;border-bottom:1px solid var(--stone);min-height:330px}.practiceCard:nth-child(odd){border-right:1px solid var(--stone)}.practiceCard:nth-child(even){padding-left:4vw}.practiceCard>span,.methodSteps span{font-size:11px;color:var(--gold);letter-spacing:.14em}.practiceCard h3,.articleGrid h3{font:400 32px/1.2 Georgia,serif;margin:25px 0 18px}.practiceCard p{color:var(--muted);line-height:1.7;max-width:540px}.practiceCard a{display:inline-block;margin-top:20px;border-bottom:1px solid var(--navy);padding-bottom:8px;font-size:13px}.method{background:var(--navy);color:white;padding:120px 8vw;display:grid;grid-template-columns:1.1fr 1fr;gap:10vw}.method h2{font-size:54px}.methodSteps{border-top:1px solid #ffffff45}.methodSteps div{padding:28px 0;border-bottom:1px solid #ffffff45;display:grid;grid-template-columns:40px 180px 1fr;align-items:baseline}.methodSteps h3{font:26px Georgia,serif;margin:0}.methodSteps p{font-size:13px;color:#c3cbd4;margin:0}.content{background:var(--ivory)}.articleGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--stone);border:1px solid var(--stone)}.articleGrid article{background:var(--ivory);padding:42px;min-height:390px;display:flex;flex-direction:column}.articleGrid article>span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--gold)}.articleGrid p{color:var(--muted);line-height:1.7}.articleGrid button{margin-top:auto;border:0;border-top:1px solid var(--stone);padding:18px 0 0;background:none;display:flex;justify-content:space-between}.legalNote{font-size:11px;color:var(--muted);margin-top:28px}.securityBand{background:#081d35;color:white;padding:80px 8vw;display:flex;align-items:flex-end;justify-content:space-between;gap:8vw}.securityBand h2{font-size:44px;max-width:850px}.securityIcon{font-size:36px;color:var(--gold)}.whiteButton{background:white;color:var(--navy);border:0;padding:22px 28px;white-space:nowrap}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact>div>p{max-width:570px;color:var(--muted);line-height:1.7}.contact form{display:grid;gap:20px}.contact label,.clientModal label{display:grid;gap:9px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.contact input,.contact select,.contact textarea,.clientModal input{border:0;border-bottom:1px solid var(--stone);background:transparent;padding:12px 0;outline:none;text-transform:none;letter-spacing:0}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:var(--navy)}.consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;line-height:1.5}.contact form small{color:var(--muted);line-height:1.5}footer{background:#06172b;color:white;padding:80px 8vw 35px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:5vw}footer>div:not(.footerBrand){display:flex;flex-direction:column;gap:13px;font-size:12px;color:#c2cad2}footer div>p{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:10px}footer button{padding:0;text-align:left;color:inherit;background:none;border:0}.footerBrand small{display:block;color:#c8b27c}.copyright{grid-column:1/-1;border-top:1px solid #ffffff30;padding-top:25px;margin-top:40px;font-size:10px;color:#9ca7b2}.modalBackdrop{position:fixed;inset:0;background:#06172bdd;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--paper);max-width:650px;width:100%;padding:55px;position:relative;box-shadow:0 30px 100px #0006}.modal h2{font:42px Georgia,serif;margin:20px 0}.modal p,.modal li{line-height:1.7;color:var(--muted)}.modal .close{position:absolute;right:25px;top:22px;border:0;background:none}.clientModal{max-width:520px}.clientModal label{margin:20px 0}.clientModal .primaryButton{width:100%;margin-top:18px}.clientModal .primaryButton:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:1120px){.topbar{grid-template-columns:250px 1fr}.utilities{display:none}.hero{grid-template-columns:1fr 44%}.hero h1{font-size:55px}.method{grid-template-columns:1fr}.method h2{max-width:800px}}
@media(max-width:760px){.topbar{height:88px;padding:0 22px;grid-template-columns:1fr auto}.brand{height:56px;border:0}.brand span{font-size:25px}.brand small{font-size:8px}.menuButton{display:block;border:1px solid var(--navy);background:transparent;padding:10px 14px;color:var(--navy)}.nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:32px;flex-direction:column;align-items:center;border-bottom:1px solid var(--stone)}.nav.open{display:flex}.hero{display:flex;flex-direction:column;min-height:auto}.heroCopy{margin:0 18px;padding:65px 24px 55px}.hero h1{font-size:43px}.heroIntro{font-size:16px}.heroActions{align-items:stretch;flex-direction:column;gap:14px}.lineButton{justify-content:space-between}.heroImage{min-height:520px}.manifesto,.sectionHeading,.contact{grid-template-columns:1fr;padding:85px 24px;gap:45px}.manifestoText{grid-template-columns:1fr;gap:22px}.largeText{font-size:34px}.profile{grid-template-columns:1fr}.profileImage{height:540px}.profileCopy{padding:80px 28px}.practiceGrid{grid-template-columns:1fr}.practices,.content{padding:85px 24px}.practiceCard,.practiceCard:nth-child(even){padding:42px 0;border-right:0!important}.method{padding:80px 24px}.method h2{font-size:42px}.methodSteps div{grid-template-columns:35px 1fr}.methodSteps p{grid-column:2}.articleGrid{grid-template-columns:1fr}.securityBand{padding:70px 24px;align-items:flex-start;flex-direction:column}.securityBand h2{font-size:39px}.whiteButton{white-space:normal}footer{grid-template-columns:1fr 1fr;padding:65px 24px 30px}.footerBrand{grid-column:1/-1}.modal{padding:48px 25px 30px}.modal h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.international{background:#102b4b;color:white;padding:120px 8vw;display:grid;grid-template-columns:1fr 2.2fr;gap:10vw;align-items:center}.internationalMark{font:400 46px/1.05 Georgia,serif;color:#f4f1ea;border-left:1px solid var(--gold);padding-left:35px}.internationalMark span{color:var(--gold)}.international h2{font:400 clamp(44px,5vw,70px)/1.05 Georgia,serif;margin:22px 0 35px;max-width:900px}.international>div:last-child>p:not(.eyebrow){color:#cbd3dc;line-height:1.75;max-width:780px}.footerBrand em{display:block;color:#9ca7b2;font-style:normal;font-size:10px;margin-top:18px;letter-spacing:.04em}
@media(max-width:760px){.international{grid-template-columns:1fr;padding:80px 24px;gap:45px}.internationalMark{font-size:38px}.international h2{font-size:41px}}

.hero h1{font-size:clamp(43px,3.9vw,66px);line-height:1.08;max-width:790px}.sectionHeading h2,.contact h2{font-size:clamp(40px,4.2vw,62px);line-height:1.09}.profile h2,.method h2,.securityBand h2{font-size:clamp(40px,4.2vw,62px)}.appointment{font:italic 19px/1.55 Georgia,serif!important;color:var(--navy)!important;border-left:2px solid var(--gold);padding-left:20px;margin:30px 0!important}.contactChannels{margin-top:38px;border-top:1px solid var(--stone)}.contactChannels>div{padding:18px 0;border-bottom:1px solid var(--stone);display:grid;grid-template-columns:150px 1fr;gap:18px}.contactChannels small{text-transform:uppercase;letter-spacing:.11em;color:var(--gold);font-size:9px}.contactChannels a,.contactChannels address{font-size:14px;line-height:1.55;font-style:normal}.contactChannels a:hover{text-decoration:underline}.officialChannels{margin-top:25px;padding-top:20px;border-top:1px solid var(--stone);display:grid;gap:8px}.officialChannels strong{text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--gold)}.officialChannels a{color:var(--navy);font-size:14px}
@media(max-width:1120px){.hero h1{font-size:50px}}
@media(max-width:760px){.hero h1{font-size:38px;line-height:1.1}.sectionHeading h2,.contact h2,.profile h2,.method h2,.securityBand h2{font-size:38px}.contactChannels>div{grid-template-columns:1fr;gap:7px}}

/* Direção visual reservada e editorial — julho de 2026 */
.hero{position:relative;display:block;min-height:calc(100vh - 118px);background:#071a30;color:white;overflow:hidden}
.heroImage{position:absolute;inset:0;min-height:0;z-index:0}
.heroImage:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,35,.18) 0%,rgba(4,18,35,.05) 48%,rgba(4,18,35,.08) 100%)}
.heroImage img{width:100%;height:100%;object-fit:cover;object-position:center}
.heroCopy{position:relative;z-index:1;min-height:calc(100vh - 118px);max-width:760px;margin:0;padding:9vh 6vw;justify-content:center;border:0;background:linear-gradient(90deg,rgba(4,18,35,.2),transparent)}
.hero .eyebrow{color:#d8c79f}.heroIntro{color:#e4e8ec;max-width:560px}.hero h1{font-size:clamp(42px,3.5vw,56px);line-height:1.12;letter-spacing:-.025em;max-width:690px}
.hero .primaryButton{background:#f4f1ea;color:#0b2442;min-height:56px}.hero .lineButton{color:white;border-color:#d8c79f}
.profile{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:7vw;min-height:0;padding:90px 8vw;align-items:center}
.profileImage{width:260px;aspect-ratio:3/4;max-height:350px;border:1px solid rgba(216,199,159,.5);align-self:center}
.profileImage img{object-position:center 22%}.profileCopy{padding:0;max-width:680px}.profileCopy>p:not(.eyebrow):not(.note){font-size:17px}
.sectionHeading h2,.contact h2{font-size:clamp(34px,3.5vw,48px);line-height:1.14}.profile h2,.method h2,.securityBand h2{font-size:clamp(34px,3.5vw,48px)}
.largeText{font-size:clamp(30px,3vw,38px)}.practiceCard h3,.articleGrid h3{font-size:28px}.international h2{font-size:clamp(34px,3.7vw,50px)}
.consent a{text-decoration:underline;text-underline-offset:3px;color:var(--navy)}
.privacyHeader{min-height:100px;padding:20px 8vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stone)}
.privacyHeader .brand{width:330px}.privacyLanguages{display:flex;gap:14px;font-size:12px}.privacyLanguages a{padding:8px;border-bottom:1px solid transparent}.privacyLanguages a:hover{border-color:var(--gold)}
.privacyPage{max-width:900px;margin:0 auto;padding:90px 28px 110px}.privacyPage h1{font:400 clamp(40px,5vw,62px)/1.08 Georgia,serif;color:var(--navy);margin:18px 0}.privacyUpdated{font-size:12px;color:var(--muted)}.privacyLead{font:22px/1.55 Georgia,serif;margin:45px 0 65px}.privacyPage section{padding:28px 0;border-top:1px solid var(--stone)}.privacyPage section h2{font:400 26px/1.25 Georgia,serif;color:var(--navy);margin:0 0 14px}.privacyPage section p{line-height:1.8;color:var(--muted);margin:0}.privacyPage section a{text-decoration:underline}.backLink{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--navy)}.privacyFooter{display:block;padding:32px 8vw}.privacyFooter p{margin:0;color:#9ca7b2;font-size:10px}
@media(max-width:760px){.hero{min-height:650px}.heroCopy{min-height:650px;margin:0;padding:70px 28px;background:linear-gradient(90deg,rgba(4,18,35,.28),rgba(4,18,35,.05))}.hero h1{font-size:34px}.heroImage{min-height:650px}.heroActions{max-width:330px}.profile{grid-template-columns:1fr;padding:70px 28px;gap:45px}.profileImage{width:190px;max-height:255px}.profileCopy{padding:0}.sectionHeading h2,.contact h2,.profile h2,.method h2,.securityBand h2{font-size:34px}.privacyHeader{padding:18px 24px;align-items:flex-start;gap:20px;flex-direction:column}.privacyHeader .brand{width:100%;border:0}.privacyPage{padding:65px 24px 85px}.privacyLead{font-size:19px;margin:35px 0 50px}.privacyLanguages{flex-wrap:wrap}}
@media(max-width:760px){.topbar{grid-template-columns:1fr auto auto}.utilities{display:flex;grid-column:2;grid-row:1;border:0;padding:0;gap:0}.utilities>.textButton,.utilities>.outlineButton{display:none}.menuButton{grid-column:3;grid-row:1}.languageSwitcher>div{right:0}}

.modalBackdrop[hidden]{display:none!important}

.languageSwitcher{position:relative;color:var(--navy);font-size:12px}.languageSwitcher summary{cursor:pointer;list-style:none;padding:10px}.languageSwitcher summary::-webkit-details-marker{display:none}.languageSwitcher>div{position:absolute;right:0;top:38px;background:white;border:1px solid var(--stone);min-width:120px;padding:8px;box-shadow:0 15px 40px #0b24421c;z-index:80}.languageSwitcher a{display:block;padding:9px 10px}.languageSwitcher a[aria-current="page"]{color:var(--gold);font-weight:bold}.languageSwitcher a:hover{background:var(--ivory)}

/* Refinamento executivo — hierarquia contida, leitura internacional e seletor com bandeiras reais */
.topbar{height:104px;grid-template-columns:290px 1fr auto}.brand{height:64px}.brand span,.footerBrand span{font-size:30px}.nav{gap:3vw}.nav a{font-size:13px}.outlineButton{height:44px;padding:0 18px;font-size:13px}.textButton{font-size:11px}
.hero{min-height:calc(100vh - 104px)}.heroCopy{min-height:calc(100vh - 104px);max-width:700px;padding:8vh 6vw}.hero h1{font-size:clamp(36px,2.95vw,46px);line-height:1.15;letter-spacing:-.02em;max-width:620px;margin:24px 0 20px}.heroIntro{font-size:16px;line-height:1.65;max-width:540px}.eyebrow,.sectionLabel{font-size:10px;letter-spacing:.18em}.heroActions{margin-top:30px}.primaryButton{min-height:54px;padding:0 25px}.lineButton{height:54px}
.manifesto{padding:110px 8vw}.largeText{font-size:clamp(28px,2.4vw,34px);line-height:1.28}.profile{padding:82px 8vw}.profile h2,.method h2,.securityBand h2{font-size:clamp(30px,2.65vw,40px);line-height:1.18}.profileCopy>p:not(.eyebrow):not(.note){font-size:16px;line-height:1.75}
.practices,.content,.contact{padding:110px 8vw}.sectionHeading{margin-bottom:65px}.sectionHeading h2,.contact h2{font-size:clamp(30px,2.65vw,40px);line-height:1.18;max-width:720px}.practiceCard{min-height:300px;padding-top:46px}.practiceCard h3,.articleGrid h3{font-size:24px;line-height:1.28}.method{padding:100px 8vw}.methodSteps h3{font-size:23px}.articleGrid article{min-height:360px}
.international{padding:100px 8vw}.internationalMark{font-size:39px}.international h2{font-size:clamp(30px,2.75vw,42px);line-height:1.18;max-width:760px}.securityBand h2{font-size:clamp(28px,2.5vw,38px);max-width:760px}.appointment{font-size:17px!important;line-height:1.62!important}.privacyPage h1{font-size:clamp(34px,3.5vw,48px);line-height:1.15}.privacyPage section h2{font-size:23px}
.flagIcon{display:block;width:20px;height:13px;flex:0 0 auto;object-fit:cover;border:1px solid rgba(11,36,66,.16);box-shadow:0 1px 2px rgba(11,36,66,.08)}.languageSwitcher summary{display:flex;align-items:center;gap:7px;min-height:40px;padding:9px 7px;font-weight:600;letter-spacing:.04em}.languageChevron{font-size:11px;font-weight:400;margin-left:-2px}.languageSwitcher>div{top:40px;min-width:190px;padding:7px}.languageSwitcher a{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:10px}.languageSwitcher a small{font-size:9px;letter-spacing:.12em;color:var(--muted)}.languageSwitcher a[aria-current="page"] small{color:var(--gold)}
.privacyLanguages a{display:flex;align-items:center;gap:6px}.privacyLanguages a[aria-current="page"]{border-color:var(--gold);color:var(--navy);font-weight:700}.articleStatus{margin-top:auto;border-top:1px solid var(--stone);padding-top:18px;font-size:10px!important;text-transform:uppercase;letter-spacing:.13em!important;color:var(--muted)!important}
@media(max-width:1120px){.topbar{grid-template-columns:245px 1fr}.hero h1{font-size:42px}}
@media(max-width:760px){.topbar{height:86px}.brand span{font-size:24px}.hero,.heroCopy,.heroImage{min-height:620px}.heroCopy{padding:66px 26px}.hero h1{font-size:30px;line-height:1.18;max-width:520px}.heroIntro{font-size:15px}.manifesto,.sectionHeading,.contact{padding-top:76px;padding-bottom:76px}.largeText{font-size:27px}.profile{padding:65px 26px}.practices,.content{padding-top:76px;padding-bottom:76px}.sectionHeading h2,.contact h2,.profile h2,.method h2,.securityBand h2{font-size:29px;line-height:1.2}.practiceCard h3,.articleGrid h3{font-size:23px}.international{padding:76px 24px}.international h2{font-size:30px}.internationalMark{font-size:34px}.languageSwitcher summary{padding:8px 5px}.languageSwitcher>div{right:-8px}.privacyLanguages{gap:8px}.privacyLanguages a{padding:7px}}
.profileImage{position:relative}.profileImageCaption{position:absolute;inset:auto 0 0;padding:38px 18px 16px;background:linear-gradient(180deg,transparent,rgba(4,18,35,.88));display:flex;flex-direction:column;gap:4px}.profileImageCaption strong{font:400 18px/1.15 Georgia,serif;letter-spacing:.02em}.profileImageCaption span{color:#d8c79f;font-size:9px;text-transform:uppercase;letter-spacing:.16em}.profileCopy>p:not(.eyebrow):not(.note){max-width:650px}

/* Sistema tipográfico editorial — aplicado a todas as páginas e idiomas */
:root {
  --font-display: Georgia, "Times New Roman", serif;
  --font-body: Arial, Helvetica, sans-serif;
  --text-measure: 64ch;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.72;
}

p {
  margin: 0;
  font-weight: 400;
  text-wrap: pretty;
}

h1,
h2,
h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.eyebrow,
.sectionLabel {
  line-height: 1.5;
}

.hero h1 {
  max-width: 19ch;
  margin: 22px 0 18px;
  font-family: var(--font-display);
  font-size: clamp(36px, 2.85vw, 44px);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.018em;
}

.heroIntro {
  max-width: 58ch;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.72;
}

.manifesto {
  align-items: start;
}

.manifestoText {
  align-items: start;
}

.largeText {
  max-width: 29ch;
  font-family: var(--font-display);
  font-size: clamp(27px, 2.25vw, 33px);
  font-weight: 400;
  line-height: 1.34;
  letter-spacing: -0.012em;
}

.manifestoText > p:last-child {
  max-width: var(--text-measure);
  margin: 3px 0 0;
  font-family: var(--font-body);
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.78;
}

.profileCopy {
  align-items: flex-start;
}

.profileCopy > .eyebrow {
  margin-bottom: 17px;
}

.profile h2 {
  max-width: 18ch;
  margin: 0 0 25px;
  font-size: clamp(30px, 2.45vw, 38px);
  font-weight: 400;
  line-height: 1.22;
}

.profileCopy > p:not(.eyebrow):not(.note) {
  max-width: var(--text-measure);
  margin: 0;
  font-family: var(--font-body);
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.8;
}

.profileCopy > p:not(.eyebrow):not(.note) + p {
  margin-top: 17px;
}

.profileCopy .lightLink {
  margin-top: 30px;
}

.sectionHeading {
  align-items: start;
}

.sectionHeading h2,
.contact h2,
.method h2,
.international h2,
.securityBand h2 {
  font-family: var(--font-display);
  font-size: clamp(30px, 2.45vw, 38px);
  font-weight: 400;
  line-height: 1.22;
  letter-spacing: -0.012em;
}

.sectionHeading h2 {
  max-width: 25ch;
}

.practiceCard h3,
.articleGrid h3 {
  margin: 22px 0 15px;
  font-family: var(--font-display);
  font-size: 23px;
  font-weight: 400;
  line-height: 1.32;
  letter-spacing: -0.008em;
}

.practiceCard p,
.articleGrid p {
  max-width: 60ch;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.76;
}

.methodTitle .eyebrow {
  margin-bottom: 17px;
}

.method h2 {
  max-width: 19ch;
}

.methodSteps h3 {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
}

.methodSteps p {
  font-size: 13.5px;
  font-weight: 400;
  line-height: 1.7;
}

.international h2 {
  max-width: 25ch;
  margin: 18px 0 26px;
}

.international > div:last-child > p:not(.eyebrow) {
  max-width: var(--text-measure);
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.78;
}

.international > div:last-child > p:not(.eyebrow) + p {
  margin-top: 14px;
}

.securityBand h2 {
  max-width: 28ch;
  margin: 16px 0 0;
}

.contact > div > h2 {
  max-width: 23ch;
  margin: 20px 0 23px;
}

.contact > div > p {
  max-width: var(--text-measure);
  margin: 0;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.78;
}

.contact > div > p + p {
  margin-top: 22px;
}

.appointment {
  margin: 28px 0 0 !important;
  font-family: var(--font-display) !important;
  font-size: 16.5px !important;
  font-weight: 400 !important;
  line-height: 1.66 !important;
}

.legalNote {
  font-size: 11px;
  line-height: 1.65;
}

.modal h2 {
  margin: 18px 0 20px;
  font-family: var(--font-display);
  font-size: 34px;
  font-weight: 400;
  line-height: 1.22;
}

.modal p,
.modal li {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
}

.privacyPage h1 {
  max-width: 19ch;
  margin: 18px 0 12px;
  font-family: var(--font-display);
  font-size: clamp(35px, 3.25vw, 46px);
  font-weight: 400;
  line-height: 1.18;
}

.privacyLead {
  max-width: 62ch;
  margin: 38px 0 56px;
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.58;
}

.privacyPage section h2 {
  margin: 0 0 13px;
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
}

.privacyPage section p {
  max-width: 72ch;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.82;
}

@media (max-width: 760px) {
  body {
    font-size: 15px;
  }

  .hero h1 {
    max-width: 18ch;
    font-size: 30px;
    line-height: 1.2;
  }

  .heroIntro,
  .manifestoText > p:last-child,
  .profileCopy > p:not(.eyebrow):not(.note),
  .practiceCard p,
  .articleGrid p,
  .international > div:last-child > p:not(.eyebrow),
  .contact > div > p,
  .privacyPage section p {
    font-size: 15px;
    line-height: 1.75;
  }

  .largeText {
    font-size: 26px;
    line-height: 1.38;
  }

  .sectionHeading h2,
  .contact h2,
  .profile h2,
  .method h2,
  .international h2,
  .securityBand h2 {
    font-size: 28px;
    line-height: 1.25;
  }

  .practiceCard h3,
  .articleGrid h3,
  .methodSteps h3 {
    font-size: 21px;
  }

  .privacyPage h1 {
    font-size: 34px;
  }

  .privacyLead {
    margin: 32px 0 46px;
    font-size: 18px;
    line-height: 1.62;
  }

  .privacyPage section h2 {
    font-size: 21px;
  }
}

/* Abertura autoral com retrato e paisagem urbana */
.hero {
  display: grid;
  grid-template-columns: minmax(440px, 46%) minmax(0, 54%);
  min-height: clamp(590px, calc(100svh - 90px), 720px);
  max-height: 720px;
  background: #f8f4eb;
  color: var(--navy);
}

.heroCopy {
  min-height: inherit;
  padding: clamp(68px, 8vh, 96px) clamp(52px, 5.5vw, 92px);
  border-bottom: 1px solid #ded5c6;
  background: linear-gradient(145deg, #fbf9f4 0%, #f2ead9 100%);
}

.heroCopy::before {
  top: clamp(62px, 7vh, 86px);
  bottom: clamp(62px, 7vh, 86px);
  left: clamp(24px, 3vw, 48px);
  background: var(--gold);
}

.heroCopy::after {
  right: -8px;
  bottom: -20px;
  color: rgba(189, 152, 71, .055);
  font-size: clamp(140px, 17vw, 250px);
}

.hero h1 {
  max-width: 12.5ch;
  margin: 22px 0 20px;
  font-size: clamp(42px, 3.75vw, 59px);
  line-height: 1.06;
}

.heroIntro {
  max-width: 52ch;
  color: #4f4b45;
  font-size: 15.5px;
  line-height: 1.72;
}

.heroActions {
  margin-top: 30px;
}

.heroSignature {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: auto;
  padding-top: 30px;
  color: var(--navy);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.heroSignature span {
  position: relative;
}

.heroSignature span:not(:last-child)::after {
  content: "◆";
  position: absolute;
  right: -15px;
  color: var(--gold);
  font-size: 6px;
}

.heroVisual {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(0, 42%);
  grid-template-rows: 57% 43%;
  min-width: 0;
  min-height: inherit;
  overflow: hidden;
  background: var(--navy);
}

.heroVisual figure {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}

.heroVisual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.heroPortrait {
  grid-row: 1 / 3;
  border-right: 4px solid #f8f4eb;
}

.heroPortrait img {
  object-position: center 23%;
  filter: saturate(.86) contrast(.98) brightness(1.03);
}

.heroPortrait::after,
.heroCity::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.heroPortrait::after {
  background: linear-gradient(180deg, transparent 56%, rgba(5, 22, 40, .74));
}

.heroPortrait figcaption {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 25px;
  left: 26px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  color: #fff;
}

.heroPortrait figcaption strong {
  font: 400 clamp(24px, 2.25vw, 34px)/1.08 var(--font-display);
}

.heroPortrait figcaption span {
  color: #e0c16f;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.heroCityWide {
  border-bottom: 4px solid #f8f4eb;
}

.heroCityWide img {
  object-position: 50% 52%;
}

.heroCityDetail img {
  object-position: 45% 50%;
}

.heroCity::after {
  background: linear-gradient(145deg, rgba(7, 28, 52, .03), rgba(7, 28, 52, .28));
}

.heroLocation {
  position: absolute;
  z-index: 3;
  right: 22px;
  bottom: 22px;
  min-width: 152px;
  padding: 15px 18px 14px;
  border-left: 2px solid var(--gold);
  background: rgba(7, 28, 52, .88);
  color: #fff;
  backdrop-filter: blur(7px);
}

.heroLocation span,
.heroLocation small {
  display: block;
}

.heroLocation span {
  font: 400 21px/1.1 var(--font-display);
}

.heroLocation small {
  margin-top: 5px;
  color: #d8c79f;
  font-size: 8px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.quickAccess {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 26px;
  border-bottom: 1px solid #ded5c6;
}

.quickAccess > a,
.quickAccess > a:last-child {
  min-height: 86px;
  padding: 19px 24px 16px;
}

.quickAccess span {
  top: 17px;
  left: 24px;
}

.quickAccess > a::after {
  top: 16px;
  right: 18px;
  font-size: 15px;
}

.quickAccess strong {
  font-size: 16px;
}

.quickAccess small {
  margin-top: 4px;
  font-size: 8.5px;
}

.locationEditorial {
  min-height: 260px;
}

.locationCopy {
  padding-top: 38px;
  padding-bottom: 38px;
}

.locationCopy h2 {
  max-width: 34ch;
  font-size: clamp(26px, 2.15vw, 36px);
}

@media (max-width: 1100px) {
  .hero {
    grid-template-columns: minmax(400px, 48%) minmax(0, 52%);
  }

  .heroCopy {
    padding-right: 42px;
    padding-left: 48px;
  }

  .hero h1 {
    font-size: clamp(39px, 4.2vw, 52px);
  }

  .heroVisual {
    grid-template-columns: 62% 38%;
  }
}

@media (max-width: 820px) {
  .hero {
    display: flex;
    max-height: none;
  }

  .heroCopy {
    min-height: 520px;
    padding: 64px 30px 48px;
  }

  .heroCopy::before {
    left: 16px;
  }

  .hero h1 {
    max-width: 14ch;
    font-size: clamp(39px, 9.5vw, 52px);
  }

  .heroSignature {
    margin-top: 22px;
  }

  .heroVisual {
    grid-template-columns: 60% 40%;
    grid-template-rows: 52% 48%;
    min-height: 520px;
  }

  .heroPortrait figcaption {
    right: 18px;
    bottom: 20px;
    left: 19px;
  }

  .quickAccess {
    padding: 0 14px;
  }

  .quickAccess > a,
  .quickAccess > a:last-child,
  .quickAccess > a:nth-child(2),
  .quickAccess > a:nth-last-child(-n + 2) {
    min-height: 94px;
    padding: 21px 15px 16px;
  }

  .quickAccess span {
    left: 15px;
  }
}

@media (max-width: 520px) {
  .heroVisual {
    grid-template-columns: 66% 34%;
    min-height: 460px;
  }

  .heroLocation {
    right: 12px;
    bottom: 12px;
    min-width: 128px;
    padding: 12px 14px;
  }

  .heroLocation span {
    font-size: 18px;
  }

  .heroPortrait figcaption strong {
    font-size: 24px;
  }

  .heroSignature {
    gap: 9px 18px;
    font-size: 8px;
  }
}

/* Nova abertura: composição editorial boutique */
.hero {
  grid-template-columns: minmax(0, 1.62fr) minmax(330px, .78fr);
  min-height: clamp(570px, calc(100svh - 90px), 700px);
  max-height: none;
  background: var(--cream);
}

.heroCopy {
  min-height: inherit;
  padding: clamp(72px, 9vh, 112px) clamp(58px, 8vw, 132px);
  overflow: hidden;
  background: linear-gradient(135deg, #faf7f0 0%, #f3ecde 100%);
}

.heroCopy::before {
  top: clamp(64px, 8vh, 96px);
  bottom: clamp(64px, 8vh, 96px);
  left: 6.2vw;
  width: 1px;
}

.heroCopy::after {
  content: "MP";
  position: absolute;
  right: -18px;
  bottom: -36px;
  color: rgba(189, 152, 71, .07);
  font: 400 clamp(150px, 20vw, 300px)/.8 var(--font-display);
  letter-spacing: -.09em;
  pointer-events: none;
}

.hero h1 {
  position: relative;
  z-index: 1;
  max-width: 15ch;
  margin: 24px 0 22px;
  font-size: clamp(44px, 4.2vw, 66px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.heroIntro,
.heroActions,
.hero .eyebrow {
  position: relative;
  z-index: 1;
}

.heroIntro {
  max-width: 58ch;
  font-size: 16px;
  line-height: 1.72;
}

.heroAside {
  min-height: inherit;
  padding: 32px clamp(34px, 4vw, 66px);
  border-left: 0;
  background: linear-gradient(155deg, #071c34 0%, #0d2b4d 100%);
}

.heroAside::after {
  height: 92px;
  background: rgba(189, 152, 71, .8);
}

.heroPoint {
  border-bottom-color: rgba(255, 255, 255, .16);
}

.heroPoint h2 {
  color: #fff;
}

.heroPoint p {
  color: #c5cfda;
}

.quickAccess {
  gap: 0;
  padding: 0 7vw;
  border-top: 0;
  border-bottom: 1px solid #d9cfbd;
  background: #fbfaf6;
}

.quickAccess > a,
.quickAccess > a:last-child {
  min-height: 112px;
  padding: 24px clamp(18px, 2.2vw, 34px) 20px;
  border: 0;
  border-left: 1px solid #ded5c6;
  background: transparent !important;
}

.quickAccess > a:last-child {
  border-right: 1px solid #ded5c6;
}

.quickAccessProfile {
  box-shadow: inset 0 3px 0 var(--gold);
}

.quickAccessProfile strong,
.quickAccessProfile small {
  color: var(--navy);
}

.quickAccess > a:hover {
  border-color: #ded5c6;
  background: var(--ivory) !important;
  box-shadow: inset 0 3px 0 var(--gold);
  transform: none;
}

.quickAccess span {
  left: clamp(18px, 2.2vw, 34px);
}

.quickAccess strong {
  font-size: clamp(17px, 1.45vw, 21px);
}

.quickAccess small {
  max-width: 31ch;
  line-height: 1.4;
}

.locationEditorial {
  display: grid;
  grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr);
  min-height: 300px;
  padding: 0 8vw;
  background: var(--sand-soft);
}

.locationMark {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border-right: 1px solid rgba(7, 28, 52, .18);
  color: var(--navy);
}

.locationMark strong {
  font: 400 clamp(44px, 5vw, 72px)/1 var(--font-display);
  letter-spacing: .05em;
}

.locationMark span {
  color: var(--gold);
  font-size: 13px;
}

.locationMark small {
  font-size: 9px;
  letter-spacing: .28em;
}

.locationCopy {
  align-self: center;
  max-width: 930px;
  padding: 44px clamp(38px, 6vw, 96px);
}

.locationCopy h2 {
  margin: 12px 0 14px;
  max-width: 28ch;
  font-size: clamp(28px, 2.25vw, 38px);
}

.locationCopy > p:not(.eyebrow) {
  max-width: 72ch;
  margin-bottom: 18px;
  line-height: 1.7;
}

.content .sectionHeading {
  margin-bottom: 38px;
}

.articleGrid article,
.articleGrid article:last-child:nth-child(odd) {
  position: relative;
  min-height: 126px;
  padding: 30px 68px 30px 30px;
  justify-content: center;
}

.articleGrid article::after {
  content: "◆";
  position: absolute;
  top: 50%;
  right: 30px;
  color: var(--gold);
  font-size: 9px;
  transform: translateY(-50%);
}

.articleGrid article > span:first-child {
  color: var(--navy);
  font: 400 clamp(20px, 1.8vw, 27px)/1.25 var(--font-display);
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 980px) {
  .hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  }

  .heroCopy {
    padding-right: 48px;
    padding-left: 56px;
  }

  .heroCopy::before {
    left: 30px;
  }
}

@media (max-width: 760px) {
  .hero {
    min-height: 0;
  }

  .heroCopy {
    min-height: 520px;
    padding: 68px 27px 58px;
  }

  .heroCopy::before {
    top: 56px;
    bottom: 48px;
    left: 15px;
  }

  .heroCopy::after {
    right: -10px;
    bottom: -18px;
    font-size: 170px;
  }

  .hero h1 {
    font-size: clamp(38px, 11vw, 48px);
    line-height: 1.06;
  }

  .heroAside {
    min-height: 0;
    padding: 10px 24px;
    border-top: 0;
  }

  .quickAccess {
    gap: 0;
    padding: 0 14px;
  }

  .quickAccess > a,
  .quickAccess > a:last-child,
  .quickAccess > a:nth-child(2),
  .quickAccess > a:nth-last-child(-n + 2) {
    min-height: 112px;
    padding: 23px 15px 18px;
    border: 0;
    border-bottom: 1px solid #ded5c6;
    border-left: 1px solid #ded5c6;
  }

  .quickAccess > a:nth-child(even) {
    border-right: 1px solid #ded5c6;
  }

  .quickAccess span {
    left: 15px;
  }

  .locationEditorial {
    grid-template-columns: 94px minmax(0, 1fr);
    min-height: 0;
    padding: 0;
  }

  .locationMark strong {
    font-size: 36px;
  }

  .locationCopy {
    padding: 48px 24px;
  }

  .articleGrid article,
  .articleGrid article:last-child:nth-child(odd) {
    min-height: 108px;
    padding: 26px 54px 26px 24px;
  }

  .articleGrid article::after {
    right: 23px;
  }

  .articleGrid article > span:first-child {
    font-size: 20px;
  }
}

/* Harmonia de alinhamento, grade de atuação e rodapé compacto */
h1,
h2,
h3,
.sectionHeading h2,
.contact h2,
.profile h2,
.method h2,
.international h2,
.securityBand h2 {
  text-align: left;
}

@media (min-width: 761px) {
  .manifestoText > p:not(.largeText),
  .profileCopy > p:not(.eyebrow):not(.note),
  .practiceCard p,
  .articleGrid p,
  .international > div:last-child > p:not(.eyebrow),
  .contact > div > p,
  .privacyLead,
  .privacyPage section p,
  .modal p,
  .modal li {
    text-align: justify;
    text-align-last: left;
    text-justify: inter-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (min-width: 981px) {
  .manifesto {
    grid-template-columns: minmax(150px, .65fr) minmax(0, 2.6fr);
    gap: clamp(40px, 5vw, 78px);
  }

  .manifestoText {
    grid-template-columns: minmax(0, 1.15fr) minmax(330px, 1fr);
    gap: clamp(40px, 4.5vw, 72px);
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .manifesto {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .manifestoText {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
  }
}

.practiceCard:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  min-height: 250px;
  padding-right: calc(50% + 4vw);
  border-right: 0;
}

footer {
  grid-template-columns: 1.6fr .72fr .86fr 1.3fr;
  gap: 4vw;
  align-items: start;
  padding: 52px 7vw 22px;
}

footer > div:not(.footerBrand) {
  gap: 10px;
  font-size: 11.5px;
  line-height: 1.55;
}

footer div > p {
  margin: 0 0 4px;
}

.footerBrand em {
  margin-top: 14px;
}

.copyright {
  margin-top: 18px;
  padding-top: 18px;
  line-height: 1.55;
}

@media (max-width: 980px) {
  footer {
    grid-template-columns: 1.35fr 1fr;
    column-gap: 8vw;
    row-gap: 32px;
  }

  .footerBrand,
  .copyright {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .manifestoText > p:not(.largeText),
  .profileCopy > p:not(.eyebrow):not(.note),
  .practiceCard p,
  .articleGrid p,
  .international > div:last-child > p:not(.eyebrow),
  .contact > div > p,
  .privacyLead,
  .privacyPage section p,
  .modal p,
  .modal li {
    text-align: left;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    overflow-wrap: normal;
    word-break: normal;
  }

  .practiceCard:last-child:nth-child(odd) {
    grid-column: auto;
    min-height: 0;
    padding-right: 0;
  }

  footer {
    grid-template-columns: 1fr 1fr;
    row-gap: 28px;
    padding: 46px 24px 22px;
  }

  .copyright {
    margin-top: 10px;
  }
}

/* Assinatura visual da marca e respiro da seção internacional */
.brand {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap: 13px;
  align-items: center;
  justify-content: initial;
  padding-right: 22px;
}

.brandSymbol {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.brand .brandCopy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  font: inherit;
  letter-spacing: 0;
}

.brand .brandCopy strong {
  color: var(--navy);
  font: 500 24px/1.05 Georgia, serif;
  letter-spacing: .015em;
  white-space: nowrap;
}

.brand .brandCopy small {
  margin-top: 6px;
  font-size: 9px;
  letter-spacing: .25em;
  white-space: nowrap;
}

.international > div:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.international > div:last-child > p:not(.eyebrow) + p {
  margin-top: 18px;
}

.international .lightLink {
  display: inline-block;
  margin-top: 28px;
}

@media (max-width: 760px) {
  .brand {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 10px;
    padding-right: 10px;
  }

  .brandSymbol {
    width: 32px;
    height: 32px;
  }

  .brand .brandCopy strong {
    font-size: 20px;
  }

  .brand .brandCopy small {
    margin-top: 4px;
    font-size: 7.5px;
    letter-spacing: .19em;
  }

  .international .lightLink {
    margin-top: 24px;
  }
}

/* Entrega final — marca íntegra, retrato equilibrado e presença institucional */
.brand {
  grid-template-columns: 46px minmax(0, 1fr);
  column-gap: 12px;
}

.brandSymbol {
  width: 46px;
  height: 46px;
}

.profile {
  grid-template-columns: minmax(270px, 320px) minmax(0, 1fr);
  gap: clamp(58px, 7vw, 108px);
}

.profileImage {
  width: min(100%, 300px);
  max-height: none;
  aspect-ratio: 3 / 4;
  justify-self: start;
}

.profileImage img {
  object-position: center 24%;
}

.practiceCard p,
.articleGrid p {
  text-align: left !important;
}

.locationEditorial {
  display: grid;
  grid-template-columns: minmax(360px, 42%) minmax(0, 1fr);
  min-height: 610px;
  background: var(--paper);
}

.locationEditorial figure {
  position: relative;
  min-height: 610px;
  margin: 0;
  overflow: hidden;
  background: var(--navy);
}

.locationEditorial figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, rgba(4, 18, 35, .64));
  pointer-events: none;
}

.locationEditorial figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.86) contrast(.96);
}

.locationEditorial figcaption {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 24px;
  left: 28px;
  color: rgba(255, 255, 255, .9);
  font-size: 9px;
  line-height: 1.5;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.locationCopy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 90px clamp(52px, 8vw, 128px);
}

.locationCopy h2 {
  max-width: 19ch;
  margin: 18px 0 24px;
  color: var(--navy);
  font: 400 clamp(30px, 2.45vw, 38px)/1.22 var(--font-display);
  letter-spacing: -.012em;
}

.locationCopy > p:not(.eyebrow) {
  max-width: 58ch;
  color: var(--muted);
  font-size: 15.5px;
  line-height: 1.8;
  text-align: left;
}

.locationLink {
  display: inline-block;
  width: max-content;
  max-width: 100%;
  margin-top: 30px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--gold);
  color: var(--navy);
  font-size: 14px;
}

@media (max-width: 760px) {
  .brand {
    grid-template-columns: 35px minmax(0, 1fr);
  }

  .brandSymbol {
    width: 35px;
    height: 35px;
  }

  .profile {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .profileImage {
    width: 220px;
    justify-self: start;
  }

  .locationEditorial {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .locationEditorial figure {
    min-height: 460px;
  }

  .locationCopy {
    padding: 70px 24px 76px;
  }

  .locationCopy h2 {
    font-size: 28px;
  }

  .locationCopy > p:not(.eyebrow) {
    font-size: 15px;
    line-height: 1.75;
  }
}

/* Presença e relações em primeiro plano — agosto de 2026 */
:root {
  --paper: #fbfaf6;
  --ivory: #f3eee2;
  --cream: #f7f3e9;
  --sand: #e3c477;
  --sand-soft: #efe1b9;
  --navy: #071c34;
  --navy2: #102f52;
  --gold: #bd9847;
  --stone: #d4cabc;
  --muted: #615e58;
}

section[id] {
  scroll-margin-top: 90px;
}

.topbar {
  height: 90px;
  grid-template-columns: 270px minmax(0, 1fr) auto;
  padding: 0 3.5vw;
  background: rgba(251, 250, 246, .97);
}

.brand {
  height: 58px;
  grid-template-columns: 42px minmax(0, 1fr);
  padding-right: 18px;
}

.brandSymbol {
  width: 42px;
  height: 42px;
}

.brand .brandCopy strong {
  font-size: 22px;
}

.nav {
  gap: clamp(18px, 2.1vw, 38px);
}

.nav a {
  font-size: 12.5px;
}

.utilities {
  padding-left: 18px;
  gap: 10px;
}

.hero {
  position: relative;
  display: grid;
  grid-template-columns: 56% 44%;
  min-height: 500px;
  max-height: 620px;
  overflow: hidden;
  background: var(--cream);
  color: var(--navy);
}

.heroCopy {
  position: relative;
  z-index: 2;
  min-height: 500px;
  max-width: none;
  margin: 0;
  padding: clamp(56px, 6.5vh, 82px) clamp(48px, 6vw, 104px);
  border: 0;
  background: linear-gradient(120deg, #f8f5ed 0%, #f3eee2 100%);
}

.heroCopy::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3.5vw;
  width: 2px;
  background: var(--gold);
}

.hero .eyebrow {
  color: var(--gold);
}

.hero h1 {
  max-width: 18ch;
  margin: 20px 0 17px;
  color: var(--navy);
  font-size: clamp(35px, 3vw, 48px);
  line-height: 1.13;
}

.heroIntro {
  max-width: 55ch;
  color: var(--muted);
  font-size: 15.5px;
  line-height: 1.68;
}

.heroActions {
  gap: 24px;
  margin-top: 28px;
}

.hero .primaryButton {
  min-height: 52px;
  background: var(--navy);
  color: white;
}

.hero .lineButton {
  height: 52px;
  border-color: var(--gold);
  color: var(--navy);
}

.heroImage {
  position: relative;
  inset: auto;
  z-index: 1;
  min-height: 500px;
}

.heroImage::after {
  background: linear-gradient(90deg, rgba(243, 238, 226, .18), transparent 28%);
}

.heroImage img {
  object-position: 66% center;
}

.quickAccess {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--stone);
  border-bottom: 1px solid var(--stone);
  background: var(--paper);
}

.quickAccess > a {
  position: relative;
  min-width: 0;
  min-height: 142px;
  padding: 25px clamp(20px, 2.4vw, 38px);
  border-right: 1px solid var(--stone);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
}

.quickAccess > a:last-child {
  border-right: 0;
}

.quickAccess > a::after {
  content: "→";
  position: absolute;
  top: 22px;
  right: 24px;
  color: var(--gold);
  font-size: 19px;
}

.quickAccess > a:hover {
  background: var(--ivory);
}

.quickAccess span {
  position: absolute;
  top: 24px;
  left: clamp(20px, 2.4vw, 38px);
  color: var(--gold);
  font-size: 9px;
  letter-spacing: .14em;
}

.quickAccess strong {
  position: relative;
  z-index: 2;
  color: var(--navy);
  font: 400 20px/1.2 var(--font-display);
}

.quickAccess small {
  position: relative;
  z-index: 2;
  margin-top: 7px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .04em;
}

.quickAccessImage {
  background: linear-gradient(90deg, var(--paper) 0%, var(--paper) 56%, rgba(251, 250, 246, .2) 100%);
}

.quickAccessImage img {
  position: absolute;
  inset: 0 0 0 auto;
  width: 47%;
  height: 100%;
  object-fit: cover;
  opacity: .68;
  filter: saturate(.82);
}

.quickAccessImage::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, var(--paper) 0%, var(--paper) 45%, transparent 82%);
}

.locationEditorial {
  grid-template-columns: minmax(390px, 46%) minmax(0, 1fr);
  min-height: 470px;
  background: var(--sand-soft);
}

.locationEditorial figure {
  min-height: 470px;
  background: var(--navy);
}

.locationEditorial figure img {
  filter: saturate(.82) contrast(.98);
}

.locationCopy {
  padding: 66px clamp(46px, 7vw, 110px);
}

.locationCopy h2 {
  margin: 15px 0 20px;
  font-size: clamp(30px, 2.5vw, 39px);
}

.locationCopy > p:not(.eyebrow) {
  color: #4f4b45;
}

.international {
  grid-template-columns: .72fr 2.15fr;
  gap: clamp(55px, 8vw, 120px);
  padding: 78px 8vw;
  background: var(--navy);
}

.internationalMark {
  font-size: 36px;
}

.international h2 {
  max-width: 27ch;
  margin: 16px 0 22px;
  font-size: clamp(29px, 2.45vw, 38px);
}

.manifesto {
  padding: 82px 8vw;
}

.profile {
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  min-height: 0;
  padding: 76px 8vw;
  background: var(--cream);
  color: var(--navy);
}

.profileImage {
  width: min(100%, 330px);
  border: 1px solid #d6c9ae;
  background: white;
  box-shadow: 18px 18px 0 var(--sand-soft);
}

.profileImage img {
  filter: saturate(.9) contrast(.98);
}

.profileImageCaption {
  background: linear-gradient(180deg, transparent, rgba(7, 28, 52, .78));
  color: white;
}

.profile .eyebrow.light {
  color: var(--gold);
}

.profileCopy > p:not(.eyebrow):not(.note) {
  color: var(--muted);
}

.profile .lightLink {
  color: var(--navy);
}

.practices,
.content,
.contact {
  padding: 86px 8vw;
}

.sectionHeading {
  margin-bottom: 52px;
}

.practiceCard {
  min-height: 260px;
  padding-top: 38px;
  padding-bottom: 34px;
}

.method {
  padding: 82px 8vw;
}

.methodSteps div {
  padding: 23px 0;
}

.articleGrid article {
  min-height: 320px;
  padding: 34px;
}

.securityBand {
  padding: 64px 8vw;
  background: var(--sand);
  color: var(--navy);
}

.securityBand .eyebrow.light,
.securityBand .securityIcon {
  color: var(--navy);
}

.securityBand .whiteButton {
  background: var(--navy);
  color: white;
}

footer {
  padding-top: 58px;
}

@media (max-width: 1120px) {
  .topbar {
    grid-template-columns: 235px minmax(0, 1fr) auto;
  }

  .nav {
    gap: 18px;
  }

  .nav a {
    font-size: 11.5px;
  }

  .utilities .textButton {
    display: none;
  }

  .hero {
    grid-template-columns: 60% 40%;
  }

  .quickAccess > a {
    padding-right: 20px;
    padding-left: 20px;
  }

  .quickAccess span {
    left: 20px;
  }

  .quickAccess strong {
    font-size: 18px;
  }
}

@media (max-width: 760px) {
  section[id] {
    scroll-margin-top: 82px;
  }

  .topbar {
    height: 82px;
    padding: 0 18px;
  }

  .brand {
    height: 52px;
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .brandSymbol {
    width: 34px;
    height: 34px;
  }

  .brand .brandCopy strong {
    font-size: 19px;
  }

  .nav {
    top: 82px;
    gap: 23px;
    padding: 28px;
  }

  .nav a {
    font-size: 13px;
  }

  .hero {
    display: flex;
    min-height: 0;
    max-height: none;
  }

  .heroCopy {
    min-height: 480px;
    padding: 60px 28px 54px;
  }

  .heroCopy::before {
    left: 18px;
  }

  .hero h1 {
    max-width: 19ch;
    font-size: 32px;
  }

  .heroActions {
    max-width: 100%;
  }

  .hero .lineButton {
    justify-content: space-between;
  }

  .heroImage {
    min-height: 280px;
  }

  .quickAccess {
    grid-template-columns: repeat(2, 1fr);
  }

  .quickAccess > a {
    min-height: 132px;
    padding: 22px 18px;
    border-bottom: 1px solid var(--stone);
  }

  .quickAccess > a:nth-child(2) {
    border-right: 0;
  }

  .quickAccess > a:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .quickAccess > a::after {
    top: 18px;
    right: 16px;
  }

  .quickAccess span {
    top: 19px;
    left: 18px;
  }

  .quickAccess strong {
    font-size: 17px;
  }

  .quickAccess small {
    font-size: 9px;
  }

  .quickAccessImage img {
    width: 58%;
    opacity: .45;
  }

  .locationEditorial {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .locationEditorial figure {
    min-height: 340px;
  }

  .locationCopy {
    padding: 54px 24px 60px;
  }

  .international {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 62px 24px;
  }

  .internationalMark {
    font-size: 31px;
  }

  .manifesto {
    padding: 66px 24px;
  }

  .profile {
    grid-template-columns: 1fr;
    gap: 44px;
    padding: 64px 26px 70px;
  }

  .profileImage {
    width: min(78vw, 280px);
    box-shadow: 13px 13px 0 var(--sand-soft);
  }

  .practices,
  .content,
  .contact {
    padding: 68px 24px;
  }

  .method {
    padding: 68px 24px;
  }

  .securityBand {
    padding: 58px 24px;
  }
}

/* Abertura editorial sem imagem — agosto de 2026 */
.hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
  min-height: 530px;
  max-height: none;
  background: var(--cream);
}

.heroCopy {
  min-height: 530px;
  padding-right: clamp(58px, 7vw, 116px);
}

.heroAside {
  position: relative;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  min-width: 0;
  min-height: 530px;
  padding: 24px clamp(34px, 4.2vw, 72px);
  border-left: 1px solid rgba(189, 152, 71, .45);
  background:
    linear-gradient(145deg, rgba(239, 225, 185, .96), rgba(247, 243, 233, .98)),
    var(--sand-soft);
  color: var(--navy);
}

.heroAside::after {
  content: "";
  position: absolute;
  right: clamp(28px, 3.5vw, 58px);
  bottom: 0;
  width: 1px;
  height: 72px;
  background: var(--gold);
}

.heroPoint {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: center;
  column-gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(7, 28, 52, .18);
}

.heroPoint:last-child {
  border-bottom: 0;
}

.heroPoint > span {
  grid-row: 1 / 3;
  padding-top: 4px;
  color: var(--gold);
  font-size: 9px;
  letter-spacing: .16em;
}

.heroPoint h2 {
  color: var(--navy);
  font: 400 clamp(20px, 1.65vw, 25px)/1.22 var(--font-display);
  letter-spacing: -.008em;
}

.heroPoint p {
  max-width: 48ch;
  margin-top: 8px;
  color: #514d46;
  font-size: 13.5px;
  line-height: 1.66;
}

@media (min-width: 761px) {
  .heroIntro,
  .manifestoText > p:last-child,
  .profileCopy > p:not(.eyebrow):not(.note),
  .practiceCard p,
  .international > div:last-child > p:not(.eyebrow),
  .locationCopy > p:not(.eyebrow),
  .contact > div > p,
  .privacyPage section p,
  .modal p,
  .modal li {
    text-align: justify !important;
    text-align-last: left;
    text-justify: inter-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }
}

@media (max-width: 1120px) {
  .hero {
    grid-template-columns: minmax(0, 1.18fr) minmax(310px, .82fr);
  }

  .heroCopy {
    padding-right: 48px;
  }

  .heroAside {
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media (max-width: 760px) {
  .hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .heroCopy {
    min-height: 455px;
    padding: 58px 28px 50px;
  }

  .heroAside {
    grid-template-rows: none;
    min-height: 0;
    padding: 9px 24px;
    border-top: 1px solid rgba(189, 152, 71, .45);
    border-left: 0;
  }

  .heroAside::after {
    display: none;
  }

  .heroPoint {
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 24px 0;
  }

  .heroPoint h2 {
    font-size: 20px;
  }

  .heroPoint p {
    font-size: 13px;
    line-height: 1.62;
  }
}

/* Marina Prado como foco da seção Escritório */
.profile {
  grid-template-columns: minmax(300px, 390px) minmax(0, 650px);
  justify-content: center;
  gap: clamp(64px, 8vw, 128px);
  padding-top: 92px;
  padding-bottom: 96px;
}

.profileImage {
  width: min(100%, 370px);
  justify-self: center;
  box-shadow: 22px 22px 0 var(--sand-soft);
}

.profileCopy {
  width: 100%;
  max-width: 650px;
  justify-content: center;
}

.profile h2 {
  max-width: none;
  margin: 6px 0 22px;
  color: var(--navy);
  font-size: clamp(44px, 4.4vw, 66px);
  line-height: 1.02;
  letter-spacing: -.028em;
}

.profileCopy > .profileLead {
  margin: 0 0 24px !important;
  padding: 0 0 0 20px;
  border-left: 2px solid var(--gold);
  color: var(--navy) !important;
  font: 400 18px/1.62 var(--font-display) !important;
  text-align: left !important;
}

@media (max-width: 760px) {
  .profile {
    grid-template-columns: 1fr;
    gap: 48px;
    padding-top: 70px;
    padding-bottom: 76px;
  }

  .profileImage {
    width: min(82vw, 310px);
    box-shadow: 15px 15px 0 var(--sand-soft);
  }

  .profile h2 {
    font-size: 44px;
  }

  .profileCopy > .profileLead {
    font-size: 17px !important;
  }
}

/* Refinamento editorial: navegação, hierarquia de atuação e rodapé */
.quickAccess {
  gap: 10px;
  padding: 16px 7vw;
  border-top: 1px solid #ded6c8;
  border-bottom: 1px solid #ded6c8;
  background: #f6f1e6;
}

.quickAccess > a,
.quickAccess > a:last-child {
  min-height: 124px;
  padding: 24px 26px 20px;
  border: 1px solid #d9cfbd;
  background: rgba(255, 255, 255, .58);
}

.quickAccess > a::after {
  top: 18px;
  right: 20px;
}

.quickAccess span {
  top: 20px;
  left: 26px;
}

.quickAccessProfile {
  background: var(--navy) !important;
  border-color: var(--navy) !important;
}

.quickAccessProfile strong {
  color: #fff;
}

.quickAccessProfile small {
  color: #d9e0e8;
}

.quickAccessLocation {
  background: #ead59e !important;
  border-color: #d2b76f !important;
}

.quickAccess > a:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(7, 28, 52, .08);
}

.locationEditorial {
  grid-template-columns: minmax(320px, 38%) minmax(0, 1fr);
  min-height: 420px;
}

.locationEditorial figure {
  min-height: 420px;
}

.locationEditorial figure::after {
  background: linear-gradient(90deg, transparent 54%, rgba(11, 36, 66, .18));
}

.locationCopy {
  padding-top: 58px;
  padding-bottom: 58px;
}

.locationCopy h2 {
  max-width: 24ch;
}

#escritorio {
  scroll-margin-top: 108px;
}

.profile:target .profileImage {
  border-color: var(--gold);
  box-shadow: 22px 22px 0 var(--sand-soft), 0 0 0 3px rgba(186, 148, 72, .16);
}

.practices {
  padding-top: 74px;
  padding-bottom: 74px;
}

.practiceCard,
.practiceCard:nth-child(even) {
  min-height: 0;
  padding-top: 26px;
  padding-bottom: 24px;
}

.practiceCard h3 {
  margin-top: 14px;
  margin-bottom: 10px;
}

.practiceCard p {
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.62;
}

.practiceCard a {
  margin-top: 10px;
}

.practiceCard:last-child:nth-child(odd) {
  min-height: 0;
  padding-top: 26px;
  padding-bottom: 24px;
}

.articleGrid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.articleGrid article {
  min-height: 210px;
  padding: 28px 30px;
}

.articleGrid article:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  min-height: 170px;
}

.articleGrid h3 {
  margin: 18px 0 22px;
}

.articleStatus {
  margin-top: auto;
  padding-top: 14px;
  border-top: 1px solid rgba(186, 148, 72, .35);
}

footer {
  position: relative;
  grid-template-columns: minmax(260px, 1.55fr) minmax(120px, .7fr) minmax(150px, .8fr) minmax(250px, 1.2fr);
  gap: clamp(30px, 4vw, 72px);
  padding: 58px 7vw 24px;
  border-top: 4px solid var(--gold);
  background: linear-gradient(135deg, #06172b 0%, #09213d 100%);
}

.footerBrand {
  min-height: 150px;
  padding-right: clamp(28px, 4vw, 64px);
  border-right: 1px solid rgba(255, 255, 255, .16);
}

.footerBrand span {
  font-size: 34px;
}

.footerBrand em {
  display: block;
  max-width: 34ch;
  color: #aab6c3;
  font-size: 10px;
  font-style: normal;
  line-height: 1.65;
}

footer > div:not(.footerBrand) {
  gap: 9px;
  font-size: 11.5px;
  line-height: 1.6;
}

footer div > p {
  margin-bottom: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(186, 148, 72, .45);
}

footer a,
footer button {
  width: fit-content;
}

footer a:hover,
footer button:hover {
  color: #e2c575;
}

.copyright {
  display: block;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  color: #d4dce4;
  font-size: 10px;
  letter-spacing: .02em;
}

@media (max-width: 980px) {
  .quickAccess {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-right: 5vw;
    padding-left: 5vw;
  }

  footer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footerBrand {
    grid-column: 1 / -1;
    min-height: 0;
    padding: 0 0 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
  }
}

@media (max-width: 760px) {
  .quickAccess {
    gap: 8px;
    padding: 12px 14px;
  }

  .quickAccess > a,
  .quickAccess > a:last-child,
  .quickAccess > a:nth-child(2),
  .quickAccess > a:nth-last-child(-n + 2) {
    min-height: 118px;
    padding: 22px 16px 17px;
    border: 1px solid #d9cfbd;
  }

  .quickAccess span {
    top: 18px;
    left: 16px;
  }

  .quickAccess strong {
    font-size: 16px;
  }

  .quickAccess small {
    line-height: 1.35;
  }

  .locationEditorial {
    grid-template-columns: 1fr;
  }

  .locationEditorial figure {
    min-height: 290px;
  }

  .practices {
    padding-top: 66px;
    padding-bottom: 66px;
  }

  .practiceCard,
  .practiceCard:nth-child(even),
  .practiceCard:last-child:nth-child(odd) {
    padding: 24px 0;
  }

  .articleGrid {
    grid-template-columns: 1fr;
  }

  .articleGrid article,
  .articleGrid article:last-child:nth-child(odd) {
    grid-column: auto;
    min-height: 190px;
    padding: 26px 24px;
  }

  footer {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 46px 24px 22px;
  }

  .footerBrand,
  .copyright {
    grid-column: auto;
  }

  footer > div:not(.footerBrand) {
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
  }

  .copyright {
    margin-top: 0;
  }
}

/* Consolidação da abertura editorial — manter ao final da cascata */
.hero {
  grid-template-columns: minmax(0, 1.62fr) minmax(330px, .78fr);
  min-height: clamp(570px, calc(100svh - 90px), 700px);
  max-height: none;
}

.heroCopy {
  min-height: inherit;
  padding: clamp(72px, 9vh, 112px) clamp(58px, 8vw, 132px);
  overflow: hidden;
  background: linear-gradient(135deg, #faf7f0 0%, #f3ecde 100%);
}

.heroCopy::before {
  top: clamp(64px, 8vh, 96px);
  bottom: clamp(64px, 8vh, 96px);
  left: 6.2vw;
  width: 1px;
}

.hero h1 {
  max-width: 15ch;
  margin: 24px 0 22px;
  font-size: clamp(44px, 4.2vw, 66px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.heroIntro {
  max-width: 58ch;
  font-size: 16px;
  line-height: 1.72;
}

.heroAside {
  min-height: inherit;
  padding: 32px clamp(34px, 4vw, 66px);
  border-left: 0;
  background: linear-gradient(155deg, #071c34 0%, #0d2b4d 100%);
}

.heroPoint {
  border-bottom-color: rgba(255, 255, 255, .16);
}

.heroPoint h2 {
  color: #fff;
}

.heroPoint p {
  color: #c5cfda;
}

.quickAccess {
  gap: 0;
  padding: 0 7vw;
  border-top: 0;
  border-bottom: 1px solid #d9cfbd;
  background: #fbfaf6;
}

.quickAccess > a,
.quickAccess > a:last-child {
  min-height: 112px;
  padding: 24px clamp(18px, 2.2vw, 34px) 20px;
  border: 0;
  border-left: 1px solid #ded5c6;
  background: transparent !important;
}

.quickAccess > a:last-child {
  border-right: 1px solid #ded5c6;
}

.quickAccessProfile {
  box-shadow: inset 0 3px 0 var(--gold);
}

.quickAccessProfile strong,
.quickAccessProfile small {
  color: var(--navy);
}

.quickAccess > a:hover {
  background: var(--ivory) !important;
  box-shadow: inset 0 3px 0 var(--gold);
  transform: none;
}

.quickAccess span {
  left: clamp(18px, 2.2vw, 34px);
}

.quickAccess strong {
  font-size: clamp(17px, 1.45vw, 21px);
}

.locationEditorial {
  grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr);
  min-height: 300px;
  padding: 0 8vw;
  background: var(--sand-soft);
}

.locationCopy {
  align-self: center;
  max-width: 930px;
  padding: 44px clamp(38px, 6vw, 96px);
}

.locationCopy h2 {
  margin: 12px 0 14px;
  max-width: 28ch;
  font-size: clamp(28px, 2.25vw, 38px);
}

.articleGrid article,
.articleGrid article:last-child:nth-child(odd) {
  min-height: 126px;
  padding: 30px 68px 30px 30px;
  justify-content: center;
}

@media (max-width: 980px) {
  .hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  }

  .heroCopy {
    padding-right: 48px;
    padding-left: 56px;
  }

  .heroCopy::before {
    left: 30px;
  }
}

@media (max-width: 760px) {
  .hero {
    min-height: 0;
  }

  .heroCopy {
    min-height: 520px;
    padding: 68px 27px 58px;
  }

  .heroCopy::before {
    top: 56px;
    bottom: 48px;
    left: 15px;
  }

  .hero h1 {
    font-size: clamp(38px, 11vw, 48px);
  }

  .heroAside {
    min-height: 0;
    padding: 10px 24px;
  }

  .quickAccess {
    gap: 0;
    padding: 0 14px;
  }

  .quickAccess > a,
  .quickAccess > a:last-child,
  .quickAccess > a:nth-child(2),
  .quickAccess > a:nth-last-child(-n + 2) {
    min-height: 112px;
    padding: 23px 15px 18px;
    border: 0;
    border-bottom: 1px solid #ded5c6;
    border-left: 1px solid #ded5c6;
  }

  .quickAccess > a:nth-child(even) {
    border-right: 1px solid #ded5c6;
  }

  .quickAccess span {
    left: 15px;
  }

  .locationEditorial {
    grid-template-columns: 94px minmax(0, 1fr);
    min-height: 0;
    padding: 0;
  }

  .locationCopy {
    padding: 48px 24px;
  }

  .articleGrid article,
  .articleGrid article:last-child:nth-child(odd) {
    min-height: 108px;
    padding: 26px 54px 26px 24px;
  }
}

/* Refinamento tipográfico e institucional — conteúdo, perfil e rodapé */
.profile h2 {
  font-size: clamp(38px, 3.55vw, 52px);
  line-height: 1.06;
  letter-spacing: -.022em;
}

.content {
  padding-top: 78px;
  padding-bottom: 82px;
}

.content .sectionHeading {
  grid-template-columns: minmax(190px, .72fr) minmax(0, 1.7fr);
  gap: 6vw;
  margin-bottom: 30px;
}

.content .sectionHeading h2 {
  max-width: 31ch;
  font-size: clamp(27px, 2.15vw, 34px);
  line-height: 1.2;
}

.articleGrid {
  border-color: #d9d1c4;
  background: #d9d1c4;
}

.articleGrid article,
.articleGrid article:last-child:nth-child(odd) {
  min-height: 102px;
  padding: 23px 56px 23px 26px;
}

.articleGrid article:last-child:nth-child(odd) {
  min-height: 94px;
}

.articleGrid article::after {
  right: 25px;
  font-size: 6px;
  opacity: .72;
}

.articleGrid article > span:first-child {
  font-size: clamp(17px, 1.35vw, 21px);
  line-height: 1.3;
}

.legalNote {
  margin-top: 20px;
  font-size: 10px;
}

footer {
  grid-template-columns: minmax(320px, 1.2fr) minmax(130px, .44fr) minmax(280px, .9fr);
  column-gap: clamp(38px, 6vw, 96px);
  row-gap: 12px;
  padding: 50px 7vw 22px;
  border-top-width: 1px;
}

.footerBrand {
  min-height: 0;
  padding-right: clamp(28px, 4vw, 60px);
}

.footerBrand span {
  font-size: 27px;
  line-height: 1.12;
  letter-spacing: .015em;
}

.footerBrand small {
  display: block;
  max-width: 34ch;
  margin-top: 7px;
  color: #c8b27c;
  font-size: 8.5px;
  line-height: 1.5;
  letter-spacing: .24em;
}

.footerAddress {
  margin-top: 21px;
  color: #c3ccd5;
  font-size: 11px;
  font-style: normal;
  line-height: 1.65;
}

.footerBrand em {
  margin-top: 11px;
  color: #8f9cab;
  font-size: 9px;
  line-height: 1.55;
}

footer > div:not(.footerBrand) {
  font-size: 11px;
}

.footerDetails {
  gap: 25px !important;
}

.footerGroup {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

footer .footerGroup > p {
  margin: 0 0 3px;
  padding-bottom: 8px;
}

.copyright {
  margin-top: 8px;
  font-size: 9px;
}

@media (max-width: 980px) {
  footer {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr);
    column-gap: 8vw;
    row-gap: 24px;
  }

  .footerBrand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .profile h2 {
    font-size: 38px;
  }

  .content {
    padding-top: 68px;
    padding-bottom: 70px;
  }

  .content .sectionHeading {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 0;
    margin-bottom: 28px;
  }

  .content .sectionHeading h2 {
    font-size: 27px;
  }

  .articleGrid article,
  .articleGrid article:last-child:nth-child(odd) {
    min-height: 88px;
    padding: 22px 48px 22px 21px;
  }

  .articleGrid article > span:first-child {
    font-size: 17px;
  }

  .articleGrid article::after {
    right: 21px;
  }

  footer {
    grid-template-columns: 1fr;
    row-gap: 24px;
    padding-top: 42px;
  }

  .footerBrand,
  .copyright {
    grid-column: auto;
  }

  .footerBrand {
    padding: 0 0 25px;
  }

  .footerBrand span {
    font-size: 25px;
  }

  .footerDetails {
    gap: 22px !important;
  }

  .copyright {
    margin-top: 0;
  }
}
