/* Stage 2 / About page only: editorial composition informed by the supplied JPPRO video.
   All person image areas intentionally remain empty until approved client photography exists. */
.abt-page{font-family:Inter,'Plus Jakarta Sans',Arial,sans-serif;background:#fff;color:#202028;overflow:hidden;}
.abt-page *{box-sizing:border-box}
.abt-page a{color:inherit}
.abt-page a:focus-visible{outline:2px solid #f06b21;outline-offset:5px}
.abt-page-banner{height:136px;position:relative;isolation:isolate;overflow:hidden;background:#ee6d1d;color:white;display:flex;align-items:center}
.abt-page-banner::before{display:none}
.abt-page-banner::after{display:none}
.abt-banner-content{width:min(1240px,calc(100% - 104px));margin:0 auto;position:relative;z-index:1}
.abt-overline{display:block;font-size:9px;letter-spacing:.19em;font-weight:750;opacity:.82;line-height:1.4}
.abt-banner-content h1{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(30px,3.4vw,46px);line-height:1.08;letter-spacing:-.06em;margin:6px 0 8px;font-weight:750;color:#fff}
.abt-crumb{display:flex;gap:12px;align-items:center;font-size:10px;font-weight:500;color:rgba(255,255,255,.9);letter-spacing:.01em}
.abt-crumb a{text-decoration:none;border-bottom:1px solid transparent}
.abt-crumb a:hover{border-color:currentColor}
.abt-crumb span[aria-hidden]{opacity:.65}
.abt-intro{background:#fff;padding:122px 0 78px}
.abt-intro-grid{max-width:1370px;width:calc(100% - 104px);margin:0 auto;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(55px,7vw,125px);align-items:center}
.abt-intro-visual{min-width:0}
.abt-empty-team-visual{width:100%;aspect-ratio:1.23/1;background:#e9e7e4;position:relative;overflow:hidden}
/* subtle material-depth without pretending a photo exists */
.abt-empty-team-visual:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#d8d4cf}
.abt-photo-note{display:flex;gap:8px;align-items:center;margin:15px 0 0;color:#929095;font-size:9px;line-height:1.6;letter-spacing:.11em;font-weight:650}
.abt-photo-note span{color:#e96a24}
.abt-intro-copy{padding:0 0 12px;max-width:595px}
.abt-kicker{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:10px;line-height:1.5;letter-spacing:.18em;color:#55545b;font-weight:750}
.abt-kicker-rule{width:22px;height:1px;background:#e86b21}
.abt-intro-copy h2{font-family:'Plus Jakarta Sans',Inter,sans-serif;margin:20px 0 26px;font-size:clamp(37px,3.5vw,56px);letter-spacing:-.075em;line-height:1.17;color:#1f2027;font-weight:750}
.abt-intro-copy h2 em,.abt-team h2 em,.abt-invitation h2 em{font-style:normal;color:#e76a24}
.abt-intro-rule{width:44px;height:2px;background:#e87332;margin:0 0 26px}
.abt-intro-copy p{font-size:13px;line-height:2.0;color:#72727b;margin:0 0 17px;font-weight:400}
.abt-intro-copy p strong{font-weight:650;color:#41414a}
.abt-quiet-link{display:inline-flex;align-items:center;gap:23px;margin-top:14px;padding:0 0 10px;border-bottom:1px solid #e87430;font-size:12px;font-weight:700;text-decoration:none;transition:gap .2s}
.abt-quiet-link:hover{gap:32px}
.abt-team{padding:98px 0 140px;background:white}
.abt-team-head{max-width:670px;text-align:center;margin:0 auto 67px;padding:0 20px}
.abt-section-eyebrow{display:block;color:#d96525;font-size:10px;letter-spacing:.22em;font-weight:800;line-height:1.6}
.abt-team h2{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(43px,4.5vw,68px);letter-spacing:-.078em;line-height:1.14;margin:17px 0 18px;font-weight:760;color:#202027}
.abt-team-head p{font-size:13px;line-height:1.9;color:#85858d;margin:0 auto;max-width:560px}
.abt-team-grid{max-width:990px;width:calc(100% - 104px);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:25px;row-gap:26px;align-items:start}
.abt-person-slot{min-width:0;position:relative}
.abt-person-slot:nth-child(3n + 2){transform:translateY(46px)}
.abt-person-slot:nth-child(3n + 3){transform:translateY(90px)}
.abt-portrait{width:100%;aspect-ratio:.86/1;background:#e9e8e7;border:0}
.abt-person-slot:nth-child(3n + 2) .abt-portrait{background:#eeedeb}
.abt-person-slot:nth-child(3n + 3) .abt-portrait{background:#e3e2df}
.abt-person-meta{height:31px;display:flex;align-items:center}
.abt-meta-rule{display:block;width:24px;height:1px;background:#e76c28}
.abt-invitation{background:#f4f2ef;padding:95px 20px 106px;text-align:center}
.abt-invitation-inner{max-width:850px;margin:auto}
.abt-invitation h2{font-family:'Plus Jakarta Sans',Inter,sans-serif;color:#1e2026;font-size:clamp(40px,4.25vw,62px);letter-spacing:-.075em;line-height:1.19;margin:16px 0 20px;font-weight:760}
.abt-invitation p{max-width:520px;margin:0 auto 30px;color:#777780;font-size:13px;line-height:1.9}
.abt-actions{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap}
.abt-actions a{display:inline-flex;align-items:center;gap:24px;padding:10px 0;border-bottom:1px solid #e86a23;font-size:12px;font-weight:700;text-decoration:none;transition:gap .2s}
.abt-actions a:last-child{color:#da5e18}
.abt-actions a:hover{gap:32px}
@media(max-width:1050px){.abt-intro-grid{width:calc(100% - 64px);gap:40px}.abt-intro{padding:86px 0 45px}.abt-intro-copy h2{font-size:clamp(32px,4vw,45px)}.abt-intro-copy p{font-size:12px}.abt-team-grid{width:calc(100% - 64px)}}
@media(max-width:760px){.abt-page-banner{height:122px}.abt-banner-content{width:calc(100% - 42px)}.abt-intro{padding:56px 0 30px}.abt-intro-grid{width:calc(100% - 42px);display:flex;flex-direction:column;gap:40px;align-items:stretch}.abt-empty-team-visual{aspect-ratio:1.35/1}.abt-intro-copy{max-width:100%}.abt-intro-copy h2{font-size:clamp(35px,6.5vw,48px);margin-top:16px}.abt-team{padding:75px 0 95px}.abt-team-head{margin-bottom:41px}.abt-team h2{font-size:clamp(36px,7vw,50px)}.abt-team-grid{width:calc(100% - 42px);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:20px}.abt-person-slot:nth-child(n){transform:none}.abt-person-slot:nth-child(even){transform:translateY(25px)}.abt-invitation{padding:77px 20px 85px}}
@media(max-width:420px){.abt-page-banner{height:112px}.abt-banner-content h1{font-size:31px}.abt-overline{font-size:8px}.abt-team-grid{column-gap:12px}.abt-invitation h2{font-size:36px}.abt-actions{gap:13px 27px}.abt-actions a{font-size:11px;gap:12px}}
@media(prefers-reduced-motion:reduce){.abt-quiet-link,.abt-actions a{transition:none!important}}
