/* Dedicated to Nossa abordagem; other routes and home retain their presentation. */
.route-approach main :is(h1,h2) { font-family:var(--serif); font-weight:300; letter-spacing:-.03em; line-height:1.1; }
.route-approach main :is(h2,h3,p) { margin-top:0; }
.approach-hero>.wrap { padding-block:26px; }
.approach-hero .breadcrumbs { padding:0; font-size:16px; }
.approach-hero .breadcrumbs a { text-decoration:none; }
.approach-cover { width:100%; height:clamp(380px,41vw,620px); overflow:hidden; background:var(--gold-soft); }
.approach-cover img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 0%; }
.approach-hero-panel { position:relative; background:#fff; margin:-52px var(--gutter) 0 0; padding-top:46px; }
.approach-hero-panel>.wrap { padding-right:0; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.approach-hero-panel h1 { font-size:clamp(58px,5.8vw,84px); margin:0; }
.approach-hero-panel p { max-width:660px; margin:5px 0 0; font-size:23px; line-height:1.5; }
.approach-navigation { display:flex; flex-wrap:wrap; gap:12px 36px; padding-top:42px; padding-bottom:44px; }
.approach-navigation a { padding-block:8px; color:var(--ink); font-size:18px; line-height:1.4; font-weight:600; text-decoration:none; }
.route-approach main :is(a:hover,a:focus-visible) { text-decoration:none; }
.route-approach main a:focus-visible { outline:2px solid var(--gold); outline-offset:5px; }
.approach-navigation a:hover,.approach-hero .breadcrumbs a:hover { color:var(--gold); }
.approach-perspectives { padding-block:62px 66px; background:var(--dark); color:#fff; }
.approach-section-intro { display:grid; grid-template-columns:.9fr 1.1fr; gap:76px; align-items:start; }
.approach-section-intro h2 { max-width:510px; font-size:clamp(42px,4vw,58px); margin:0; }
.route-approach .approach-prose { font-size:20px; line-height:1.6; max-width:64ch; }
.route-approach .approach-prose p { margin:0; }
.route-approach .approach-prose p+p { margin-top:22px; }
.approach-roles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px; margin-top:48px; }
.approach-roles h3 { color:var(--gold-light,#e8cdaa); font-family:var(--sans); font-size:28px; line-height:1.25; font-weight:500; margin:0 0 18px; }
.approach-roles p { font-size:21px; line-height:1.5; margin:0; max-width:36ch; }
.approach-perspectives .approach-perspectives-note { margin:38px 0 0; max-width:940px; color:#e0dcd6; }
.approach-method { padding-top:76px; }
.approach-method h2 { font-size:clamp(42px,4vw,58px); margin:0 0 46px; }
.approach-method-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:90px; row-gap:42px; }
.approach-method-chapter { min-width:0; }
.approach-method-chapter h3 { font-family:var(--sans); font-size:30px; line-height:1.2; font-weight:500; letter-spacing:-.02em; max-width:540px; margin:0 0 24px; }
.approach-method>.wrap { padding-bottom:66px; }
.approach-method-practice { padding-block:58px; background:var(--gold-soft); }
.approach-instruments { padding-block:78px; display:grid; grid-template-columns:.8fr 1.2fr; gap:88px; }
.approach-instruments h2 { font-size:clamp(40px,3.8vw,54px); max-width:470px; margin:0; }
.approach-care { background:#eef6f9; padding-block:66px; }
.approach-care>.wrap { display:grid; grid-template-columns:.9fr 1.1fr; gap:76px; align-items:start; }
.approach-care h2 { font-size:clamp(42px,4vw,58px); max-width:480px; margin:0; }
.approach-care .text-link { margin-top:30px; font-size:19px; }
.route-approach :is([data-approach-section],#como-trabalhamos,#conteudo-da-pagina) { scroll-margin-top:0; }
@media(max-width:1050px) {
  .approach-hero-panel>.wrap { grid-template-columns:1fr; gap:26px; }
  .approach-hero-panel p { max-width:800px; }
  .approach-section-intro,.approach-care>.wrap { gap:40px; }
  .approach-roles { gap:30px; }
  .approach-method-pair { column-gap:46px; }
  .approach-instruments { gap:42px; }
}
@media(max-width:760px) {
  .approach-hero>.wrap { padding-block:20px; }
  .approach-hero .breadcrumbs { font-size:15px; }
  .approach-cover { height:330px; }
  .approach-cover img { object-position:14% 0%; }
  .approach-hero-panel { margin:-30px 20px 0 0; padding-top:30px; }
  .approach-hero-panel>.wrap { gap:24px; }
  .approach-hero-panel h1 { font-size:48px; }
  .approach-hero-panel p { font-size:20px; line-height:1.5; margin:0; }
  .approach-navigation { gap:8px 24px; padding-top:28px; padding-bottom:28px; }
  .approach-navigation a { font-size:17px; }
  .approach-perspectives { padding-block:42px; }
  .approach-section-intro,.approach-care>.wrap,.approach-instruments { display:block; }
  .approach-section-intro h2,.approach-care h2,.approach-instruments h2 { font-size:38px; margin-bottom:26px; max-width:none; }
  .approach-roles { grid-template-columns:1fr; gap:30px; margin-top:36px; }
  .approach-roles h3 { font-size:27px; margin-bottom:12px; }
  .approach-roles p { font-size:20px; max-width:54ch; }
  .approach-perspectives .approach-perspectives-note { margin-top:30px; }
  .route-approach .approach-prose { font-size:19px; line-height:1.6; }
  .approach-method { padding-top:44px; }
  .approach-method h2 { font-size:40px; margin-bottom:32px; }
  .approach-method-pair { grid-template-columns:1fr; gap:36px; }
  .approach-method-chapter h3 { font-size:27px; margin-bottom:20px; }
  .approach-method>.wrap { padding-bottom:40px; }
  .approach-method-practice { padding-block:40px; }
  .approach-instruments { padding-block:44px; }
  .approach-care { padding-block:42px; }
  .approach-care .text-link { font-size:18px; }
}
@media(max-width:360px) {
  .approach-hero-panel h1 { font-size:43px; }
  .approach-cover { height:300px; }
  .approach-cover img { object-position:18% 0%; }
}
