/**
 * Native /about-us/ layout based on the legacy page's actual sections.
 * Intentionally scoped: other pages keep their existing visual contracts.
 */
.pp-about { min-width: 0; background: var(--pp-color-surface-soft); }
.pp-about__banner { background: var(--pp-color-primary); color: var(--pp-color-surface); }
.pp-about__banner-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--pp-space-4); min-height: 73px; padding-block: 12px; }
.pp-about__page-title { margin: 0; color: inherit; font-size: clamp(22px, 2.4vw, 30px); font-weight: 750; line-height: 1.4; }
.pp-about__content { max-width: none; padding-block: 26px var(--pp-page-footer-gap); }
.pp-about__section { padding-block: 55px; border-block-end: 1px solid var(--pp-color-cream); }
.pp-about__section--intro { padding-block: 0 55px; }
.pp-about__section--closing { border-block-end: 0; padding-block-end: 0; }
.pp-about__hero { padding: clamp(34px, 4.5vw, 64px) clamp(20px, 4vw, 52px); border-radius: var(--pp-radius-lg); background: var(--pp-color-surface-soft); text-align: center; }
.pp-about__badge { display: inline-block; margin-block-end: 16px; padding: 3px 16px; border-radius: var(--pp-radius-pill); background: var(--pp-color-accent); color: var(--pp-color-secondary); font-size: 13px; font-weight: 800; line-height: 1.6; }
.pp-about__hero-title { margin: 0 0 14px; color: var(--pp-color-primary); font-size: clamp(23px, 2.4vw, 28px); font-weight: 800; line-height: 1.65; }
.pp-about__hero-desc { max-width: 800px; margin: 0 auto; color: var(--pp-color-text); font-size: 16px; font-weight: 550; line-height: 2; }
.pp-about__section-header { margin-block-end: 32px; }
.pp-about__section-header--center { text-align: center; }
.pp-about__section-header h2 { margin: 0 0 8px; color: var(--pp-color-primary); font-size: clamp(22px, 2vw, 24px); font-weight: 800; line-height: 1.65; }
.pp-about__section-header p { margin: 0; color: var(--pp-color-text); font-size: 16px; line-height: 1.9; }
.pp-about__section-header strong { color: var(--pp-color-secondary); }
.pp-about__grid { display: grid; gap: 20px; }
.pp-about__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp-about__grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pp-about__card { min-width: 0; height: 100%; padding: 28px 24px; border: 1px solid transparent; border-radius: var(--pp-radius-lg); background: #f4f4f4; transition: border-color var(--pp-transition-base); }
.pp-about__card:hover { border-color: var(--pp-color-accent); }
.pp-about__card h3 { margin: 0 0 10px; color: var(--pp-color-secondary); font-size: 17px; font-weight: 800; line-height: 1.8; }
.pp-about__card p { margin: 0; color: var(--pp-color-text); font-size: 15px; line-height: 1.9; }
.pp-about__card--service { padding: 24px; }
.pp-about__card--service h3 { display: flex; align-items: baseline; gap: 9px; }
.pp-about__service-dot { display: inline-block; flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--pp-color-accent); }
.pp-about__contact-grid { align-items: start; }
.pp-about__contact-grid > section { min-width: 0; }
.pp-about__contact-title { margin: 0 0 16px; color: var(--pp-color-secondary); font-size: 17px; font-weight: 800; line-height: 1.7; }
.pp-about__contact-list { display: grid; gap: 14px; }
.pp-about__contact-item { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; margin: 0; padding: 20px 22px; border-inline-start: 4px solid var(--pp-color-primary); border-radius: var(--pp-radius-sm); background: #f4f4f4; color: var(--pp-color-text); font-size: 14px; font-style: normal; line-height: 1.9; }
.pp-about__contact-item strong { color: var(--pp-color-secondary); font-weight: 750; }
.pp-about__contact-item span { overflow-wrap: anywhere; }
.pp-about__contact-item a { color: var(--pp-color-primary); font-size: 17px; font-weight: 800; line-height: 1.6; text-decoration: none; }
.pp-about__contact-item a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1024px) {
    .pp-about__section { padding-block: 42px; }
    .pp-about__section--intro { padding-block: 0 42px; }
    .pp-about__content { padding-block-start: 22px; }
    .pp-about__grid { gap: 14px; }
    .pp-about__card { padding: 22px 18px; }
}
@media (max-width: 767px) {
    .pp-about__banner-inner { min-height: 62px; }
    .pp-about__content { padding-block: 18px var(--pp-page-footer-gap); }
    .pp-about__section { padding-block: 34px; }
    .pp-about__section--intro { padding-block: 0 34px; }
    .pp-about__section--closing { padding-block-end: 0; }
    .pp-about__hero { padding: 28px 18px; }
    .pp-about__hero-desc { font-size: 14px; }
    .pp-about__section-header { margin-block-end: 20px; }
    .pp-about__section-header h2 { font-size: 22px; }
    .pp-about__section-header p { font-size: 14px; }
    .pp-about__grid--three { grid-template-columns: minmax(0, 1fr); }
    .pp-about__grid--two { grid-template-columns: minmax(0, 1fr); }
    .pp-about__card { padding: 22px 20px; }
    .pp-about__card--service { padding: 20px; }
    .pp-about__contact-title { margin-block-end: 10px; }
    .pp-about__contact-grid { gap: 26px; }
}
@media (prefers-reduced-motion: reduce) {
    .pp-about__card { transition: none; }
}
