/* About MG: readable company story and compact access to existing documents. */
.about-page { --about-accent: #f2b65c; --about-muted: #526b78; }
.about-page main :is(h1,h2,h3) { font-family: 'Source Serif 4', Georgia, serif; font-optical-sizing: auto; font-weight: 500; letter-spacing: -.025em; }
.about-page ::selection { color: #002b46; background: var(--about-accent); }
.about-page :where(a,button):focus-visible { outline: 3px solid #0072bb; outline-offset: 4px; }
.about-page :where(.site-header,.cta) :where(a,button):focus-visible { outline-color: #a8d9eb; }
.about-page .page-hero { padding: 36px 0; }
.about-page .page-hero h1 { margin: 0; font-size: 44px; line-height: 1.12; }
.about-page .page-hero p { max-width: 68ch; margin-top: 14px; color: #d4e4eb; font-size: 16px; line-height: 1.6; }
.about-page .about-story-section { padding: 40px 0 48px; background: #fff; }
.about-page .about-story-section::after, .about-page .about-story::before { content: none; }
.about-page .about-story { padding: 0; max-width: 76ch; }
.about-page .about-story .prose { max-width: none; font-size: 17px; line-height: 1.8; color: #315467; }
.about-page .about-story .prose > p:first-of-type { margin-bottom: 24px; font-size: 17px; line-height: inherit; font-weight: 400; letter-spacing: normal; }
.about-page .prose h2 { margin: 32px 0 16px; padding: 0; border: 0; color: #002b46; font-size: 28px; line-height: 1.25; }
.about-page .prose p:last-child { margin-bottom: 0; }
.about-page .certificates-section { padding: 40px 0 48px; background: #f3f7f8; }
.about-page .certificates-heading { max-width: 70ch; margin-bottom: 28px; }
.about-page .certificates-heading h2 { margin: 0 0 14px; font-size: 32px; line-height: 1.2; }
.about-page .certificates-heading p { color: var(--about-muted); font-size: 16px; line-height: 1.7; }
.about-proof-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 40px; }
.about-proof { display: grid; grid-template-columns: 88px minmax(0,1fr); align-items: start; gap: 20px; padding: 24px 14px; border-top: 1px solid #c5d6df; transition: background-color 160ms ease; }
.about-proof-visual { width: 88px; }
.about-proof-visual img { display: block; width: 88px; height: 120px; object-fit: contain; background: #fff; border: 1px solid var(--line); }
.about-proof-visual > span { display: grid; place-items: center; width: 88px; height: 56px; background: #e7f0f4; color: #075b91; font-size: 16px; font-weight: 700; }
.about-page .about-proof-copy h3 { margin: 0 0 10px; color: #002b46; font-size: 24px; line-height: 1.25; }
.about-proof-copy p { margin: 0 0 8px; color: var(--about-muted); font-size: 14px; line-height: 1.6; }
.about-proof-open { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; margin-top: 4px; color: #075b91; font-size: 14px; font-weight: 700; }
.about-proof-open svg { width: 18px; height: 18px; transition: transform 180ms cubic-bezier(.23,1,.32,1); }
.about-proof:focus-visible h3 { text-decoration: underline; text-decoration-color: var(--about-accent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.about-page .cta { padding: 48px 0; }
.about-page .cta h2 { font-size: 36px; line-height: 1.2; }
.about-page .cta .button-light { color: #002b46; background: var(--about-accent); border-color: var(--about-accent); transition: background-color 160ms ease, border-color 160ms ease, transform 140ms cubic-bezier(.23,1,.32,1); }
.about-page .cta .button-light:hover { background: #ffd18a; border-color: #ffd18a; }
.about-page .cta .button-light:focus-visible { transform: none; transition: none; }
@media (hover:hover) and (pointer:fine) {
    .about-proof:hover { background: #e7f0f4; }
    .about-proof:hover h3 { text-decoration: underline; text-decoration-color: var(--about-accent); text-decoration-thickness: 2px; text-underline-offset: 5px; }
    .about-proof:hover .about-proof-open svg { transform: translate(2px,-2px); }
    .about-proof:focus-visible .about-proof-open svg { transform: none; transition: none; }
    .about-page .cta .button-light:active:not(:focus-visible) { transform: scale(.98); }
}
@media (max-width:940px) {
    .about-proof-list { grid-template-columns: 1fr; gap: 0; }
    .about-proof { grid-template-columns: 64px minmax(0,1fr); gap: 16px; }
    .about-proof-visual, .about-proof-visual > span { width: 64px; }
    .about-proof-visual img { width: 64px; height: 88px; }
}
@media (max-width:600px) {
    .about-page .page-hero { padding: 28px 0; }
    .about-page .page-hero h1 { font-size: 36px; }
    .about-page .about-story-section, .about-page .certificates-section { padding: 32px 0; }
    .about-page .certificates-heading h2 { font-size: 28px; }
    .about-page .certificates-heading { margin-bottom: 20px; }
    .about-proof-list { grid-template-columns: 1fr; gap: 0; }
    .about-page .about-proof-copy h3 { font-size: 23px; }
    .about-page .cta { padding: 36px 0; }
    .about-page .cta h2 { font-size: 30px; }
}
@media (max-width:400px) {
    .about-proof { grid-template-columns: 1fr; }
    .about-proof-visual { display: none; }
}
@media (prefers-reduced-motion:reduce) {
    .about-proof-open svg { transition: none; }
    .about-proof:hover .about-proof-open svg, .about-page .cta .button-light:active:not(:focus-visible) { transform: none; }
}
