/* Final editorial pass. Keep the established material palette and soft card
   edges; improve the type, reading rhythm, and treatment of real content. */

.wordmark { letter-spacing: -.04em; }
.wordmark span { letter-spacing: .14em; }
.button { font-size: 13px; font-weight: 550; }
.text-link { font-weight: 550; }
.header-cta { font-size: 12px; }
.button:active, .text-link:active { transform: none; }

/* A quieter hero: the architecture and the statement already carry the idea. */
.page-home .hero-description { font-size: 17px; line-height: 1.75; max-width: 48ch; }
.page-home .hero-actions > .button { font-size: 13px; }
.page-home .hero-actions > .text-link { font-size: 13px; }
.page-home .hero-caption { display: none; }
.page-home .hero-proof { font-size: 13px; line-height: 1.65; padding-block: 25px; }
.page-home .hero-proof > div { min-width: 0; }

/* The attribution, rather than oversized punctuation, anchors the quotation. */
.quote-top { height: auto; min-height: 22px; margin-bottom: 24px; }
.quote-top > .eyebrow { font-size: 12px; letter-spacing: 0; text-transform: none; font-weight: 500; }
.quote-glyph { display: none; }
.endorsement-card .quote-disclaimer { max-width: 52ch; }

/* Portrait-led cards retain the Muse reference's clear practice identification. */
.practice-media-label { display: none; }
.practice-badge { backdrop-filter: none; background: #142a38; border-color: #bba36b8a; }
.practice-card-services h4 { font-weight: 550; }
.practice-card-services .icon-tile { background: #eeeee5; border-color: #d8dcd1; box-shadow: none; }
.practice-card-services .icon-tile img { opacity: .9; }
.card-route { font-size: 13px; font-weight: 550; }
.card-route .route-circle { width: 42px; height: 42px; }
.card-lead button { font-weight: 550; min-height: 44px; }
.practice-card-corporate .practice-card-photo { mix-blend-mode: lighten; }

/* Practice pages: natural spacing between the service heading and its detail. */
:is(.page-litigation, .page-corporate) .detail-service { border-color: #d8ddd4; }
:is(.page-litigation, .page-corporate) .detail-service h3 { margin-bottom: 11px; }
:is(.page-litigation, .page-corporate) .detail-service .icon-tile { background: #eeeee5; border-color: #d8dcd1; }
:is(.page-litigation, .page-corporate) .lead-card-info > p { font-size: 13px; }
:is(.page-litigation, .page-corporate) .next-practice > span { text-transform: none; letter-spacing: 0; font-size: 13px; }

/* The directory's categories are real headings, with room to be read. */
.page-people .directory-label { padding-block: 25px; }
.page-people .directory-label > h2.eyebrow {
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 400;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: -.025em;
}
.page-people .directory-label > h2 + span { max-width: 35ch; text-align: right; }
.page-people .person-card .person-role { font-size: 12px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.page-people .person-brands > div > span { font-size: 11px; letter-spacing: 0; text-transform: none; }
.page-people .person-brands { row-gap: 23px; }
.page-people .people-note { padding-top: 6px; }
.person-brand.logo-chicago-kent, .people-counsel .person-brand.logo-chicago-kent { max-width: 174px; height: 42px; }
.bio-credential-logo.logo-chicago-kent { max-width: 190px; height: 44px; }
.person-card .profile-icon { transition: background .18s ease-out, border-color .18s ease-out; }
.person-card:hover .profile-icon, .person-card:focus-within .profile-icon { background: var(--gold); border-color: var(--gold); }

/* One composed fee-structure panel gives the pricing page a distinct cadence. */
.page-pricing .fee-model-grid {
  gap: 0;
  border: 1px solid #d8ddd4;
  border-radius: 22px;
  background: var(--card);
  overflow: hidden;
}
.page-pricing .fee-model-grid article {
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 34px;
}
.page-pricing .fee-model-grid article + article { border-left: 1px solid #d8ddd4; }
.page-pricing .fee-model-grid article > .icon-tile { background: #eeeee5; border-color: #d8dcd1; }
.page-pricing .fee-model-grid article > span:not(.icon-tile) { padding-top: 20px; }
.page-pricing .calculator-cta { font-size: 13px; }
.page-pricing .faq-list details[open] { padding-bottom: 4px; }
.page-pricing .faq-list details[open] > summary { color: var(--ink); }

/* The closing sections deserve the same legibility as the opening. */
.contact-action p { font-size: 15px; line-height: 1.8; }
.contact-action > .button { font-size: 13px; }
.footer-top nav > a, .footer-contact > a, .footer-contact > button { font-size: 12px; line-height: 1.65; }
.footer-top .label { font-size: 11px; letter-spacing: .07em; color: #c1cecc; }
.footer-top > div:first-child > p { font-size: 12px; line-height: 1.75; color: #becdca; }
.footer-legal { font-size: 11px; line-height: 1.7; color: #b4c4c3; }
.legal-note { font-size: 11px; line-height: 1.8; color: #acbfbe; max-width: 118ch; }
.footer-legal a { text-underline-offset: 4px; }
.footer-legal a:hover { text-decoration: underline; }

@media (min-width: 721px) and (max-width: 1100px) {
  .header-cta { font-size: 11px; }
  .page-home .hero-description { font-size: 16px; }
  .page-home .hero-proof { font-size: 12px; }
  .page-pricing .fee-model-grid article { padding: 27px; }
  .page-people .directory-label > h2.eyebrow { font-size: 25px; }
}

@media (max-width: 900px) {
  .page-home .hero-proof { font-size: 12px; }
  .page-pricing .fee-model-grid article { padding: 24px; }
  .page-pricing .fee-model-grid h3 { font-size: 24px; }
}

@media (max-width: 720px) {
  .header-cta { font-size: 11px; }
  .page-home .hero-description { font-size: 15px; line-height: 1.75; max-width: 38ch; }
  .page-home .hero-actions { gap: 17px; }
  .page-home .hero-actions > .text-link { font-size: 12px; }
  .page-home .hero-proof { font-size: 12px; padding-block: 23px; gap: 12px; }
  .quote-top { margin-bottom: 21px; }
  .quote-top > .eyebrow { font-size: 11px; }
  .card-route { font-size: 12px; }
  .card-route .route-circle { width: 40px; height: 40px; }
  .page-people .directory-label > h2.eyebrow { font-size: 25px; }
  .page-people .directory-label > h2 + span { text-align: left; max-width: none; }
  .page-people .person-card .person-role { font-size: 12px; }
  .page-people .person-brands > div > span { font-size: 11px; }
  .page-pricing .fee-model-grid { border-radius: 20px; }
  .page-pricing .fee-model-grid article { padding: 29px 27px; }
  .page-pricing .fee-model-grid article + article { border-left: 0; border-top: 1px solid #d8ddd4; }
  .page-pricing .fee-model-grid h3 { font-size: 28px; }
  .contact-action p { font-size: 14px; }
  .footer-legal, .legal-note { font-size: 10.5px; }
  .footer-legal > div { gap: 12px 18px; }
}

@media (max-width: 390px) {
  .page-home .hero-description { font-size: 14px; }
  .card-route { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .person-card .profile-icon { transition: none; }
}
