/* Shared readability contracts: loaded after the art-direction layers. */
:root { --text-clay: #814b32; --text-muted-light: #526052; --text-muted-dark: #cbd3c9; }
.home-section-head h2 em, .home-process__heading h2 em, .home-studio__copy h2 em,
.home-projects__aside-number, .home-studio__seal { color: var(--text-clay); }
.home-services .home-section-head h2 em { color: #e8b894; }
.home-project__caption small, .home-project__caption em, .home-studio__image figcaption { color: var(--text-muted-light); }
.home-cta h2 em, .home-cta__copy > p:not(.home-kicker), .home-cta__assurances small,
.home-cta__assurances li > span { color: #171d19; }
.home-inquiry-form .home-kicker, .home-inquiry-form .home-field__optional,
.home-inquiry-form .home-service-picker__legend .home-field__optional { color: #645046; }
.home-inquiry-form .home-field label .home-field__optional { color: #645046; }
.site-footer__proof-kicker, .site-footer__proof-list > li > span,
.service-menu__group > p, .mobile-menu__service-label, .mobile-menu__service-grid a small { color: var(--text-clay); }
.site-footer__bottom { color: #cbd3c9; }
.abrizo-page:not(.abrizo-page--service) :is(h2 em,.abrizo-page-kicker,.abrizo-page-item__number,.abrizo-about-person__number),
.abrizo-contact-conversion__benefits > li > span, .abrizo-contact-proof > div > span,
.abrizo-about-principles__list > article > span { color: var(--text-clay); }
.abrizo-page:not(.abrizo-page--service) :is(.abrizo-geo-card,.abrizo-geo-locations,.abrizo-geo-inquiry,.abrizo-about-profile,.abrizo-portfolio-note,.abrizo-planning-guide) :is(h2 em,.abrizo-page-kicker) { color: #e8b894; }
.abrizo-about-credential__entry > span, .abrizo-contact-conversion__direct > span { color: var(--text-muted-light); }
.abrizo-page--service .abrizo-service-palette__swatch > small { color: #425246; }
.abrizo-page--service .abrizo-service-palette__swatch--forest > small { color: #d6dcd5; }
.abrizo-about-lead figcaption { color: #526052; }
.abrizo-about-profile__aside dt { color: #cbd3c9; }
.abrizo-service-intro dt { color: #cbd3c9; }
.abrizo-page--service .abrizo-page-hero__eyebrow,
.abrizo-page--service .abrizo-service-journey li > span { color: var(--service-soft); }
.abrizo-page--service .abrizo-service-signals h2 em,
.abrizo-page--service .abrizo-service-study__moodboard h3 em { color: var(--service-deep); }
.abrizo-page--service .abrizo-page-body :is(.abrizo-service-study__eyebrow,.abrizo-planning-guide) .abrizo-page-kicker { color: #e8b894; }
.abrizo-service-study__material:not(.abrizo-service-study__material--forest) > small { color: var(--service-deep); }
.abrizo-page-item p, .abrizo-page-intro p:last-child, .abrizo-about-person p, .abrizo-about-principles p { font-size: 1.0625rem; line-height: 1.7; }
.abrizo-page--service .abrizo-page-items--service .abrizo-page-item { display: block; }
.abrizo-page--service .abrizo-page-items--service .abrizo-page-item > span { display: block; margin-bottom: 1rem; }
.abrizo-page--service .abrizo-service-inquiry__form .home-inquiry-form__submit,
.abrizo-page--service .abrizo-page-button--ink { background: #18231e; border-color: #18231e; color: #f2eee6; }
.abrizo-page--service .abrizo-service-inquiry__form .home-inquiry-form__submit:hover,
.abrizo-page--service .abrizo-service-inquiry__form .home-inquiry-form__submit:focus-visible,
.abrizo-page--service .abrizo-page-button--ink:hover, .abrizo-page--service .abrizo-page-button--ink:focus-visible { background: #31483b; color: #fffdf9; }
.abrizo-portfolio-card__caption > div > span { color: #526052; }
.abrizo-service-directory__group > header > span { color: var(--text-clay); }
.abrizo-geo-service-link:hover > span, .abrizo-geo-service-link:focus-visible > span { color: var(--text-clay); }
.mobile-menu a:not(.mobile-menu__cta) { color: #1d211d; }
.mobile-menu a:not(.mobile-menu__cta):hover,
.mobile-menu a:not(.mobile-menu__cta):focus-visible { color: #5b3c2c; }
.mobile-menu__cta:hover, .mobile-menu__cta:focus-visible { color: #fffdf9; }
.mobile-menu__link, .mobile-menu__services summary { font-size: clamp(1.85rem, 7.5vw, 3rem); line-height: 1.15; }
.mobile-menu__services summary small { min-width: 3rem; }
.home-arrow-link:hover b, .home-outline-link:hover span, .home-mini-link:hover span,
.home-arrow-link:focus-visible b, .home-outline-link:focus-visible span, .home-mini-link:focus-visible span { background: #f2eee6; color: #18231e; }
.home-hero__bottom > p, .home-projects__aside > p, .home-service__detail > p { font-size: 1.125rem; line-height: 1.7; }
.abrizo-service-study__moodboard-foot { font-size: 1rem; line-height: 1.7; }
.abrizo-about-credentials__note p, .abrizo-service-directory__intro > p:last-child,
.abrizo-process-step p, .abrizo-process-list p, .abrizo-page--process article p,
.abrizo-page-location-note > p:not(.abrizo-page-kicker) { font-size: 1.0625rem; line-height: 1.7; }
.abrizo-service-inquiry__intro h2 { max-width: 100%; font-size: clamp(2.5rem, 4.7vw, 5rem); line-height: 1.04; overflow-wrap: break-word; }
.abrizo-page :is(h1,h2,h3) { overflow-wrap: break-word; }
.abrizo-page :is(p,li), .abrizo-home p { word-break: normal; }
.abrizo-planning-guide { margin-block: clamp(3rem,7vw,6rem); padding: clamp(1.25rem,4vw,3.5rem); background: #18231e; color: #f2eee6; border-radius: 1rem; }
.abrizo-planning-guide header { max-width: 48rem; }
.abrizo-planning-guide .abrizo-page-kicker { color: #e8b894; }
.abrizo-planning-guide h2 { margin: 1rem 0; max-width: 22ch; color: #f2eee6; font-size: clamp(2.1rem,4vw,3.7rem); font-weight: 400; line-height: 1.1; letter-spacing: -.035em; }
.abrizo-planning-guide p { margin: 0; color: #d6dcd5; font-size: 1.0625rem; line-height: 1.75; }
.abrizo-planning-guide__cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap: 2rem; margin-top: 2.5rem; }
.abrizo-planning-guide h3 { margin: 0 0 .85rem; color: #f2eee6; font-size: 1.65rem; line-height: 1.2; font-weight: 400; }
.abrizo-planning-guide nav { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: 2.25rem; }
.abrizo-planning-guide nav a { display: inline-flex; align-items: center; min-height: 44px; gap: .5rem; color: #f2eee6; font-size: 1rem; text-decoration: underline; text-underline-offset: .3em; }
.abrizo-planning-guide nav a:hover, .abrizo-planning-guide nav a:focus-visible { color: #e8b894; }
.home-inquiry-form__transport-error { padding: 1rem; border-radius: .5rem; background: #fae8e4; color: #762b20; font-size: 1rem; line-height: 1.5; }
@media (max-width: 699px) {
  .abrizo-page--service .abrizo-service-journey li { padding: 0; display: grid; grid-template-columns: 3.25rem minmax(0,1fr); column-gap: 1rem; }
  .abrizo-page--service .abrizo-service-journey li > :not(.abrizo-service-journey__icon) { grid-column: 2; }
  .abrizo-page--service .abrizo-service-journey li > p:not(.abrizo-service-journey__icon) { grid-column: 1 / -1; margin: 1rem 0 0; max-width: none; }
  .abrizo-page--service .abrizo-service-journey__icon { position: static; width: 3.25rem; height: 3.25rem; grid-row: 1 / 4; margin: 0; }
  .abrizo-page--service .abrizo-service-journey li h3 { font-size: clamp(1.4rem,6.5vw,2rem); line-height: 1.15; }
  .abrizo-page--service .abrizo-service-journey__route { display: none; }
  .abrizo-page--service .abrizo-page-items--service .abrizo-page-item { display: block; }
  .abrizo-page--service .abrizo-page-items--service .abrizo-page-item > span { display: block; margin-bottom: 1rem; }
  .home-manifesto__title { margin-left: 0; font-size: clamp(3.2rem,12vw,4.5rem); line-height: .95; letter-spacing: -.055em; }
  .home-manifesto__inner { padding-block: 5rem; }
  .home-hero__title { line-height: .95; }
  .home-inquiry-form { min-width: 0; }
  .abrizo-about-credentials__note { display: block; }
  .abrizo-about-credentials__note p { margin-top: 1rem; }
  .abrizo-about-person { display: block; padding-inline: 1.15rem; }
  .abrizo-about-person__number { display: block; margin-bottom: 1rem; }
}
@media (min-width: 700px) and (max-width: 1099px) {
  .site-header .primary-nav { display: none; }
  .site-header .menu-toggle { display: inline-flex; }
  .site-header .mobile-menu, .site-header .mobile-menu__scrim { display: block; }
  .abrizo-page--service .abrizo-service-journey ol { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .abrizo-page--service .abrizo-service-journey__route { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-menu, .mobile-menu__scrim { transition: none; }
}
