/* Layout adapters; navigation, buttons and motion use homepage rules. */
main#conteudo { padding: 12px 12px 0; gap: 12px; }
main#conteudo > .wrap:first-child { width: 100%; }
.internal-hero.hero { margin: 0 0 12px; width: 100%; }
.internal-hero .hero-bottom { width: calc(100% - 128px); margin: 0 64px 64px; }
.internal-hero .hero-bottom > div { max-width: 1000px; }
.internal-hero h1 { max-width: 1000px; margin: 16px 0 24px; font-size: clamp(42px,4.6vw,72px); font-weight: 400; line-height: 1.15; }
.internal-hero .eyebrow { color: var(--gold); }
.internal-hero .lead { max-width: 700px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(16px,1.25vw,18px); line-height: 1.55; }
#conteudo .feature { width: min(1600px,calc(100% - clamp(48px,12vw,200px))); margin: 64px auto; border-radius: 6px; }
#conteudo .content { padding: 64px 0 88px; }
#conteudo .content > .wrap { width: min(1600px,calc(100% - clamp(48px,12vw,200px))); }
#conteudo .ds-button { margin-top: 20px; }
#conteudo .card.area-card { min-height: 200px; height: auto; border-radius: 6px; }
.page-footer { margin: 0 12px 12px; border-radius: 0 0 8px 8px; }
.nav .button, #conteudo .nav .button { margin-top: 0; }
.nav .variant-primary { background: var(--gold); color: #111; }
.nav .variant-primary:hover { background: transparent; color: var(--gold); }
#conteudo .variant-secondary { background: var(--gold); color: #111; }
#conteudo .variant-secondary:hover { background: #111; color: var(--gold); }
@media(max-width:900px) {
  .internal-hero.hero { min-height: 760px; }
  .internal-hero .hero-bottom { width: calc(100% - 64px); margin: 0 32px 64px; }
  #conteudo .feature, #conteudo .content > .wrap { width: calc(100% - 48px); }
}
@media(max-width:600px) {
  .internal-hero.hero { min-height: 720px; }
  .internal-hero .hero-bottom { width: calc(100% - 48px); margin: 0 24px 32px; }
  .internal-hero h1 { font-size: 38px; }
  #conteudo .feature, #conteudo .content > .wrap { width: calc(100% - 32px); }
  #conteudo .feature { margin-block: 40px; }
}
#conteudo .feature .member-portrait { display:block; min-width:0; height:clamp(420px,50vw,760px); }
#conteudo .feature .member-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 30%; }
/* About uses homepage sections rather than the former editorial sidebar. */
.about-page #conteudo > .shell { margin-inline:0; }
.about-page #conteudo .about { padding-block:96px; }
.about-page #conteudo .wrap:not(.nav):not(.hero-bottom) { width:min(1600px,calc(100% - clamp(48px,12vw,200px))); margin-inline:auto; }
.about-page #conteudo > .wrap:first-child:not(.nav):not(.hero-bottom) { width:100%; }
.about-page .about-heading > small { display:block; margin-bottom:24px; color:var(--gold); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.about-page .about-copy { height:auto; min-height:560px; gap:32px; }
.about-page .about-story-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; }
.about-page .about-story-grid .about-copy { min-height:0; gap:24px; }
.about-page .about-values-grid > .area-card:not(.featured) { grid-column:span 2; }
.about-page .statement { background-image:linear-gradient(#0004,#0008),image-set(url('/assets/optimized/cta.avif') type('image/avif'),url('/assets/optimized/cta.webp') type('image/webp')); height:auto; min-height:480px; }
.about-page .statement .wrap { gap:48px; }
.about-page .statement-copy { max-width:1000px; }
.about-page .statement-copy p { max-width:700px; line-height:1.6; }
.about-page #conteudo .statement .ds-button { background:transparent; color:white; border:1px solid white; }
.about-page #conteudo .statement .ds-button:hover { background:white; color:#111; }
@media(max-width:900px) {
 .about-page .about-grid,.about-page .about-story-grid { grid-template-columns:1fr; }
 .about-page .about-copy { min-height:0; }
 .about-page .about-values-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; min-height:0; }
 .about-page .about-values-grid > .area-card { grid-column:span 2; grid-row:auto; min-height:260px; }
 .about-page .statement .wrap { flex-direction:column; align-items:flex-start; }
}
@media(max-width:600px) {
 .about-page #conteudo .about { padding-block:64px; }
 .about-page .statement { padding:32px 16px; }
 .about-page .statement h2 { font-size:40px; }
}

/* Practice-area directory reuses the homepage card component and interaction states. */
.areas-directory-page #conteudo .area-directory-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.areas-directory-page #conteudo .area-directory-grid > .area-card {
  grid-column: auto;
  grid-row: auto;
  min-width: 0;
  min-height: 264px;
}
.areas-directory-page #conteudo .area-directory-grid > .area-card h3 {
  font-size: clamp(22px,2vw,28px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.areas-directory-page #conteudo .area-directory-grid > .area-card .area-description {
  font-size: 14px;
  line-height: 1.5;
}
@media(max-width:700px) {
  .areas-directory-page #conteudo .area-directory-grid { grid-template-columns: minmax(0,1fr); }
  .areas-directory-page #conteudo .area-directory-grid > .area-card { min-height: 250px; }
  .areas-directory-page #conteudo .area-directory-grid > .area-card > div { padding-right: 0; }
  .areas-directory-page #conteudo .area-directory-grid > .area-card .area-description { padding-right: 68px; }
}
