/* About page: calm editorial layout. Styles stay within this page. */
.cp-about-page { --ab-ink:#24171c; --ab-muted:#75666d; --ab-line:#e8dfe2; --ab-paper:#ffffff; font-family:'Inter',sans-serif; color:var(--ab-ink); background:var(--ab-paper); overflow:clip; }
.cp-about-page *, .cp-about-page *::before, .cp-about-page *::after { box-sizing:border-box; }
.cp-about-page .ab-shell { width:min(1440px,calc(100% - 112px)); margin-inline:auto; }
.cp-about-page h1, .cp-about-page h2, .cp-about-page h3 { font-family:'Inter',sans-serif; text-transform:none; color:inherit; margin:0; }
.cp-about-page p { font:400 16px/1.8 'Inter',sans-serif; color:var(--ab-muted); margin:0; }
.cp-about-page a { color:inherit; text-decoration:none; }
.cp-about-page a:focus-visible, .cp-about-page button:focus-visible, .cp-about-page input:focus-visible { outline:2px solid #77626c; outline-offset:6px; }
.cp-about-page .ab-label { display:block; font-size:11px; font-weight:600; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; }
.cp-about-page .ab-section { padding-block:clamp(76px,8vw,128px); scroll-margin-top:112px; }
.cp-about-page h2 { font-size:clamp(36px,4vw,64px); font-weight:500; line-height:1.12; letter-spacing:-.05em; }
.cp-about-page h3 { font-size:25px; font-weight:500; line-height:1.3; letter-spacing:-.025em; }
.cp-about-page .ab-section .ab-label { margin-bottom:27px; }
.cp-about-page .ab-topline { display:flex; justify-content:space-between; gap:20px; align-items:center; padding-block:29px; border-bottom:1px solid var(--ab-line); }
.cp-about-page .ab-topline nav { display:flex; gap:17px; align-items:center; font-size:12px; color:var(--ab-muted); }
.cp-about-page .ab-topline nav a:hover { color:var(--ab-ink); }
.cp-about-page .ab-topline nav span:last-child { color:var(--ab-ink); }
.cp-about-page .ab-topline > .ab-label { color:var(--ab-muted); }
.cp-about-page .ab-hero-grid { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:clamp(32px,7vw,120px); padding-block:clamp(48px,5.5vw,84px); }
.cp-about-page .ab-hero-label { margin-bottom:28px; }
.cp-about-page h1 { font-size:clamp(58px,6.8vw,112px); line-height:.99; font-weight:500; letter-spacing:-.065em; }
.cp-about-page h1 > span { color:#75666d; }
.cp-about-page .ab-hero-copy { max-width:385px; padding-bottom:6px; }
.cp-about-page .ab-hero-copy > p:first-child { color:var(--ab-ink); font-size:clamp(21px,2vw,29px); line-height:1.4; letter-spacing:-.025em; margin-bottom:20px; }
.cp-about-page .ab-hero-copy > p + p { font-size:15px; }
.cp-about-page .ab-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; min-height:44px; font-size:13px; font-weight:600; }
.cp-about-page .ab-text-link > span { display:inline-block; font-size:20px; transition:transform .25s ease; }
.cp-about-page .ab-text-link:hover > span { transform:translate(3px,-3px); }
.cp-about-page .ab-hero-copy .ab-text-link { border-bottom:1px solid #cbb9c1; margin-top:25px; }
.cp-about-page .ab-hero-copy .ab-text-link:hover > span { transform:translateY(3px); }
.cp-about-page .ab-hero-image { margin:0; }
.cp-about-page .ab-image-frame { overflow:hidden; background:#39232c; aspect-ratio:2.65; border-radius:3px; }
.cp-about-page .ab-hero-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 60%; filter:saturate(.64); }
.cp-about-page .ab-hero-image figcaption { display:flex; justify-content:space-between; gap:20px; padding-block:17px; font-size:11px; color:var(--ab-muted); border-bottom:1px solid var(--ab-line); }
.cp-about-page .ab-editorial-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(44px,9vw,140px); }
.cp-about-page .ab-body-copy { padding-top:42px; }
.cp-about-page .ab-body-copy p + p { margin-top:22px; }
.cp-about-page .ab-body-copy .ab-lead { font-size:26px; line-height:1.45; color:var(--ab-ink); letter-spacing:-.025em; margin-bottom:28px; }
.cp-about-page .ab-platform { background:#8e2033; color:#f4f0f2; }
.cp-about-page .ab-platform p { color:#cbb9c1; }
.cp-about-page .ab-platform .ab-label { color:#cbb9c1; }
.cp-about-page .ab-section-heading { display:grid; grid-template-columns:1.25fr .75fr; align-items:end; gap:70px; margin-bottom:58px; }
.cp-about-page .ab-section-heading > p { max-width:360px; padding-bottom:5px; }
.cp-about-page .ab-capabilities { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #39232c; }
.cp-about-page .ab-capability { display:grid; grid-template-columns:36px 1fr; gap:20px; padding:34px 38px 34px 0; border-bottom:1px solid #39232c; transition:background .3s ease; }
.cp-about-page .ab-capability:nth-child(even) { border-left:1px solid #39232c; padding-left:38px; }
.cp-about-page .ab-index { font-size:12px; color:#77626c; padding-top:5px; }
.cp-about-page .ab-capability p { max-width:400px; margin-top:13px; font-size:15px; }
.cp-about-page .ab-capability-cta { display:flex; align-items:center; justify-content:space-between; margin-top:28px; font-size:12px; color:#f4f0f2; }
.cp-about-page .ab-capability-cta > span { font-size:21px; transition:transform .3s ease; }
.cp-about-page .ab-capability:hover { background:#39232c; }
.cp-about-page .ab-capability:hover .ab-capability-cta > span { transform:translate(4px,-4px); }
.cp-about-page .ab-platform-bottom { display:flex; flex-wrap:wrap; align-items:center; gap:20px 42px; margin-top:25px; }
.cp-about-page .ab-platform-bottom > span { color:#77626c; font-size:12px; margin-right:auto; }
.cp-about-page .ab-section-note { margin-top:30px; }
.cp-about-page .ab-principles article { display:grid; grid-template-columns:32px 1fr; gap:20px; padding-block:32px; border-top:1px solid var(--ab-line); }
.cp-about-page .ab-principles article:first-child { padding-top:0; border-top:0; }
.cp-about-page .ab-principles h3 { font-size:23px; }
.cp-about-page .ab-principles p { margin-top:13px; font-size:15px; }
.cp-about-page .ab-team, .cp-about-page .ab-feedback { border-top:1px solid var(--ab-line); }
.cp-about-page .ab-team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:32px; }
.cp-about-page .ab-person > img, .cp-about-page .ab-person-initial { width:100%; aspect-ratio:.9; object-fit:cover; object-position:center top; background:#f4f0f2; }
.cp-about-page .ab-person-initial { display:grid; place-items:center; font-size:80px; color:#77626c; }
.cp-about-page .ab-person h3 { font-size:20px; margin-top:20px; }
.cp-about-page .ab-person p { font-size:14px; margin-top:5px; }
.cp-about-page .ab-quotes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:40px; }
.cp-about-page .ab-quote { margin:0; padding-top:26px; border-top:1px solid var(--ab-line); }
.cp-about-page .ab-quote blockquote { font-size:21px; line-height:1.6; margin:0 0 28px; color:inherit; }
.cp-about-page .ab-quote figcaption { display:flex; align-items:center; gap:13px; font-size:13px; }
.cp-about-page .ab-quote img { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.cp-about-page .ab-contact { background:#ffffff; border-top:1px solid #e8dfe2; }
.cp-about-page .ab-contact-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:end; }
.cp-about-page .ab-contact h2 { font-size:clamp(34px,3.5vw,55px); }
.cp-about-page .ab-contact-grid > div:last-child { max-width:360px; }
.cp-about-page .ab-button { display:inline-flex; min-height:48px; align-items:center; justify-content:space-between; gap:35px; border-radius:3px; background:#8e2033; color:#f4f0f2; padding:13px 22px; font-size:13px; font-weight:500; margin-top:26px; transition:background .25s ease; }
.cp-about-page .ab-button:hover { background:#39232c; }
.cp-about-page .ab-button > span { color:#cbb9c1; font-size:20px; transition:transform .25s ease; }
.cp-about-page .ab-button:hover > span { transform:translate(3px,-3px); }
.cp-about-page .ab-newsletter { padding-block:48px; }
.cp-about-page .ab-newsletter-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.cp-about-page .ab-newsletter h2 { font-size:24px; letter-spacing:-.025em; }
.cp-about-page .ab-newsletter p { font-size:14px; margin-top:7px; }
.cp-about-page .ab-newsletter .ab-label { color:var(--ab-muted); font-size:10px; }
.cp-about-page .ab-email-field { display:flex; border-bottom:1px solid #77626c; margin-top:5px; }
.cp-about-page .ab-email-field input { min-width:0; width:100%; border:0; background:transparent; color:var(--ab-ink); padding:14px 0; border-radius:0; font:400 15px 'Inter',sans-serif; }
.cp-about-page .ab-email-field input::placeholder { color:#77626c; }
.cp-about-page .ab-email-field button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; min-height:48px; padding:8px 0 8px 20px; background:transparent; border:0; color:var(--ab-ink); font:500 13px 'Inter',sans-serif; }
.cp-about-page .ab-email-field button > span { font-size:20px; }
/* Content stays visible without JavaScript; reveals run only once. */
.cp-about-page .ab-will-reveal { opacity:0; transform:translateY(22px); transition:opacity .65s ease,transform .8s cubic-bezier(.2,.7,.2,1),background .3s ease; }
.cp-about-page .ab-will-reveal.ab-visible { opacity:1; transform:none; }
@media (max-width:1000px) {
    .cp-about-page .ab-shell { width:calc(100% - 64px); }
    .cp-about-page .ab-hero-grid { grid-template-columns:1.1fr .9fr; gap:40px; }
    .cp-about-page .ab-hero-copy > p:first-child { font-size:23px; }
    .cp-about-page .ab-section-heading, .cp-about-page .ab-contact-grid { gap:40px; }
    .cp-about-page .ab-capability { padding-right:24px; gap:12px; }
    .cp-about-page .ab-capability:nth-child(even) { padding-left:24px; }
}
@media (max-width:700px) {
    .cp-about-page .ab-shell { width:calc(100% - 40px); }
    .cp-about-page .ab-topline { padding-block:22px; }
    .cp-about-page .ab-topline > .ab-label { font-size:9px; letter-spacing:.07em; }
    .cp-about-page .ab-hero-grid { grid-template-columns:1fr; padding-block:38px; gap:30px; }
    .cp-about-page h1 { font-size:clamp(52px,11vw,76px); }
    .cp-about-page .ab-hero-label { margin-bottom:23px; font-size:10px; }
    .cp-about-page .ab-hero-copy { max-width:440px; }
    .cp-about-page .ab-hero-copy > p:first-child { font-size:23px; margin-bottom:13px; }
    .cp-about-page .ab-hero-copy .ab-text-link { margin-top:16px; }
    .cp-about-page .ab-desktop-break { display:none; }
    .cp-about-page .ab-image-frame { aspect-ratio:1.4; }
    .cp-about-page .ab-hero-image figcaption { font-size:10px; line-height:1.6; padding-block:13px; }
    .cp-about-page .ab-hero-image figcaption > span:last-child { display:none; }
    .cp-about-page .ab-editorial-grid, .cp-about-page .ab-section-heading, .cp-about-page .ab-contact-grid, .cp-about-page .ab-newsletter-grid { grid-template-columns:1fr; gap:30px; }
    .cp-about-page .ab-body-copy { padding-top:0; }
    .cp-about-page .ab-body-copy .ab-lead { font-size:23px; }
    .cp-about-page .ab-section .ab-label { margin-bottom:23px; }
    .cp-about-page .ab-section-heading { margin-bottom:35px; }
    .cp-about-page .ab-section-heading > p, .cp-about-page .ab-contact-grid > div:last-child { max-width:100%; }
    .cp-about-page .ab-capabilities { grid-template-columns:1fr; }
    .cp-about-page .ab-capability, .cp-about-page .ab-capability:nth-child(even) { border-left:0; padding:28px 0; grid-template-columns:28px 1fr; }
    .cp-about-page .ab-platform-bottom { gap:4px 26px; margin-top:21px; }
    .cp-about-page .ab-platform-bottom > span { width:100%; margin-bottom:4px; }
    .cp-about-page .ab-platform-bottom .ab-text-link { font-size:12px; gap:16px; }
    .cp-about-page .ab-principles { margin-top:6px; }
    .cp-about-page .ab-section-note { margin-top:23px; }
    .cp-about-page .ab-newsletter-grid { gap:28px; }
}
@media (prefers-reduced-motion:reduce) {
    .cp-about-page *, .cp-about-page *::before, .cp-about-page *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
    .cp-about-page .ab-will-reveal { opacity:1; transform:none; }
}
