/* About: live-page composition and copy, with the v3 type, surfaces and navigation. */
body.v3-about{--f-display:var(--f-d);--f-body:var(--f-b);--f-mono:var(--f-m);--text-2:#565653;--border-2:#e4e4dc;--hairline:#e4e4dc;--r-2:0;background:#fafafa;color:var(--ink)}
.v3-about .container{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}
.v3-about .h1,.v3-about .h2{font-family:var(--f-d);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:0}
.v3-about .h1{font-size:clamp(54px,6.5vw,94px)}
.v3-about .h2{font-size:clamp(39px,4.3vw,64px)}
.v3-about .accent{color:#ec7523}
.v3-about .btn-primary,.v3-about .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;min-height:50px;border:1px solid #dc852d;font-family:var(--f-b);font-size:13px;font-weight:500;line-height:1.25;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.v3-about .btn-primary{background:#ff9626;color:#252820}
.v3-about .btn-primary:hover{background:#ec7523;border-color:#ec7523}
.v3-about .btn-secondary{background:transparent;border-color:#ffffff55;color:#fafafa}
.v3-about .btn-secondary:hover{background:#ffffff12;border-color:#ffffffa0}
.v3-about .nav:not(.solid){color:#fafafa;background:#141e2826;border-bottom-color:#ffffff20}
.v3-about .nav:not(.solid) .nav-logo img{filter:brightness(0) invert(1)}
.v3-about .nav.menu-open,.v3-about .nav.mob-open{color:var(--ink);text-shadow:none}
.v3-about .nav.menu-open .nav-logo img,.v3-about .nav.mob-open .nav-logo img{filter:none}
.v3-about .nav .dropdown{color:var(--ink);text-shadow:none}
.v3-about .phead{position:relative;overflow:hidden;padding:180px 0 64px;text-align:center;background:linear-gradient(180deg,#141e28 0%,#1b2631 65%,#293642 100%);color:#fafafa}
.v3-about .phead .h1{max-width:1000px!important;color:#fafafa}
.v3-about .bp-kick{display:inline-flex;align-items:center;justify-content:center;gap:16px;margin-bottom:26px;font-family:var(--f-m);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.v3-about .bp-kick .accent{color:#ffb667}
.v3-about .bp-hatch{width:40px;height:9px;background:repeating-linear-gradient(120deg,transparent,transparent 3px,#ec752355 3px,#ec752355 4px)}
.v3-about .phead-sub{max-width:630px;margin:27px auto 0;font-size:17px;line-height:1.6;color:#d0d5d8}
.v3-about .phead-ctas{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px}
.v3-about .ab-new{margin:58px auto 0;max-width:1060px;width:100%}
.v3-about .ab-new-label{font-family:var(--f-m);font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:#bdc4ca;margin:0 0 26px}
/* the marquee track must clamp to its own box: .ab-new-rail is width:max-content
   and always wider than the viewport by design (that's what makes it loop), so
   the track needs an explicit 100% width, not just overflow:hidden, or narrow
   viewports can report the rail's true content width past the edge. */
.v3-about .ab-new-track{width:100%;max-width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.v3-about .ab-new-rail{display:flex;align-items:center;gap:96px;width:max-content;animation:aboutMarquee 34s linear infinite}
.v3-about .ab-new-track:hover .ab-new-rail{animation-play-state:paused}
.v3-about .ab-new-rail img{height:42px;width:auto;max-width:200px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.78}
@keyframes aboutMarquee{to{transform:translateX(-50%)}}
.v3-about .phead-chart{max-width:1440px;margin:46px auto -42px;padding:0 24px}
.v3-about .phead-chart svg{width:100%;height:auto;display:block;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.v3-about .pc-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:aboutDraw 1.3s ease forwards}
.v3-about .pc-draw.d2{animation-delay:.35s}
.v3-about .pc-in{opacity:0;animation:aboutIn .7s ease .5s forwards}
.v3-about .pc-in.i3,.v3-about .pc-in.i7,.v3-about .pc-in.i11{animation-delay:1.1s}
.v3-about .pc-in.i5,.v3-about .pc-in.i8,.v3-about .pc-in.i12{animation-delay:1.4s}
.v3-about .pc-flow,.v3-about .pc-flow-o{animation:aboutIn .7s ease 1.2s forwards,aboutFlow 2s linear 2s infinite}
.v3-about .pc-ping{transform-box:fill-box;transform-origin:center;opacity:0;animation:aboutPing 4.5s ease-out 3s infinite}
@keyframes aboutDraw{to{stroke-dashoffset:0}}
@keyframes aboutIn{to{opacity:1}}
@keyframes aboutFlow{to{stroke-dashoffset:-16}}
@keyframes aboutPing{0%{transform:scale(1);opacity:.8}30%,100%{transform:scale(3.2);opacity:0}}
.v3-about .pel{padding:108px 0}
.v3-about .shead{text-align:center;margin-bottom:54px}
.v3-about .shead .h2{max-width:860px;margin:auto}
.v3-about .shead-sub{max-width:700px;margin:20px auto 0;font-size:16px;line-height:1.7;color:var(--text-2)}
.v3-about .ps-kick{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-family:var(--f-m);font-size:10px;line-height:1.5;text-transform:uppercase;letter-spacing:.12em;color:#777771}
.v3-about .ps-kick img{width:21px;height:22px;object-fit:contain}
.v3-about .ab-origin{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
/* grid items default to min-width:auto (their own min-content), which can hold
   a track open past the size minmax(0,1fr) asks for -- same class of bug as
   the .wrap/marquee fix above, one level down. Both columns need min-width:0
   directly, not just the track. */
.v3-about .ab-origin>*{min-width:0}
.v3-about .ab-origin-txt p{font-family:var(--f-b);font-size:16px;line-height:1.85;color:var(--text-2);margin:0 0 24px}
.v3-about .ab-origin-txt p:last-child{margin:0}
.v3-about .ab-origin-txt b{font-weight:500;color:var(--ink)}
.v3-about .mosaic-wrap{position:relative;padding:12px;border:1px solid var(--hairline)}
.v3-about .ab-cgrid{display:grid;grid-template-columns:1.75fr 1fr;grid-template-rows:1.65fr 1fr;gap:10px;height:570px}
.v3-about .ab-cg{overflow:hidden;background:#e7e7e3}
.v3-about .ab-cg img{width:100%;height:100%;object-fit:cover;display:block}
.v3-about .ab-cg-a{grid-column:1;grid-row:1}.v3-about .ab-cg-c{grid-column:2;grid-row:1}.v3-about .ab-cg-b{grid-column:1;grid-row:2}.v3-about .ab-cg-d{grid-column:2;grid-row:2}
.v3-about .bp-c{position:absolute;width:11px;height:11px;pointer-events:none;color:#9b9b92;background:linear-gradient(currentColor 0 0) center/100% 1px no-repeat,linear-gradient(currentColor 0 0) center/1px 100% no-repeat}
.v3-about .mc-tl{top:-6px;left:-6px}.v3-about .mc-tr{top:-6px;right:-6px}.v3-about .mc-bl{bottom:-6px;left:-6px}.v3-about .mc-br{bottom:-6px;right:-6px}
.v3-about .ab-purpose{max-width:920px;margin:80px auto 0;padding-top:38px;border-top:1px solid var(--line);text-align:center}
.v3-about .ab-purpose em{display:block;font-style:normal;font-family:var(--f-m);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#b65c23;margin-bottom:22px}
.v3-about .ab-purpose p{margin:0;font-family:var(--f-d);font-size:clamp(29px,3.5vw,47px);font-weight:400;line-height:1.18;letter-spacing:-.025em;text-wrap:balance}
.v3-about .ab-manif{background:#141e28;color:#fafafa}
.v3-about .ab-manif-kick{display:flex;align-items:center;gap:14px;margin-bottom:36px;font-family:var(--f-m);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#ffb667}
.v3-about .ab-manif-kick i{width:45px;height:1px;background:#ec752380}
.v3-about .ab-manif h2{font-family:var(--f-d);font-size:clamp(41px,4.5vw,64px);font-weight:400;line-height:1.05;letter-spacing:-.035em;margin:0 0 50px}
.v3-about .ab-vs{border-top:1px solid #ffffff30}
.v3-about .ab-vs-head,.v3-about .ab-vs-row{display:grid;grid-template-columns:1fr 64px 1fr;gap:0 26px;align-items:center}
.v3-about .ab-vs-head{padding:22px 0;font-family:var(--f-m);font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.v3-about .vh-now{color:#a2abb2}.v3-about .vh-next{color:#ffb667}
.v3-about .ab-vs-row{padding:29px 0;border-top:1px solid #ffffff20}
.v3-about .ab-vs-row:last-child{border-bottom:1px solid #ffffff30}
.v3-about .ab-vs-now,.v3-about .ab-vs-next{font-family:var(--f-b);font-size:16px;font-weight:400;line-height:1.7;letter-spacing:-.01em;margin:0}
.v3-about .ab-vs-now{color:#a9b1b8}.v3-about .ab-vs-next{color:#f2f2f0}.v3-about .ab-vs-next b{font-weight:500;color:#ffb667}
.v3-about .ab-vs-mid{position:relative;display:flex;align-items:center;justify-content:center;align-self:stretch}
.v3-about .ab-vs-mid:before{content:'';position:absolute;top:-29px;bottom:-29px;width:1px;background:#ffffff18}
.v3-about .ab-vs-mid svg{position:relative;width:30px;height:12px;background:#141e28}
.v3-about .ab-manif-close{max-width:920px;margin:60px auto 0;text-align:center}
.v3-about .ab-manif-close p{font-family:var(--f-d);font-size:clamp(28px,3.3vw,44px);line-height:1.2;letter-spacing:-.025em;margin:0;text-wrap:balance}
.v3-about .ab-manif-close b{font-weight:400;color:#ffb667}
.v3-about .ab-sayv{position:relative;isolation:isolate;overflow:hidden;background:#141e28;color:#fafafa;padding:115px 0}
.v3-about .ab-sayv-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.v3-about .ab-sayv-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#101820db,#101820b8,#101820db)}
.v3-about .ab-say{max-width:1000px;margin:auto;text-align:center}
.v3-about .ab-say-logo{height:45px;width:auto;max-width:190px;object-fit:contain;margin:0 auto 33px;filter:brightness(0) invert(1);opacity:.94}
.v3-about .ab-say blockquote{font-family:var(--f-d);font-weight:400;font-size:clamp(27px,3vw,42px);line-height:1.28;letter-spacing:-.015em;margin:0;text-wrap:balance;color:#fafafa}
.v3-about .ab-say blockquote b{font-weight:400;color:#fff}
.v3-about .ab-say-by{margin-top:30px}.v3-about .ab-say-by b{display:block;font-size:14px;font-weight:500}
.v3-about .ab-say-by span{display:block;margin-top:6px;font-family:var(--f-m);font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:#ffb667}
.v3-about .ab-say-by em{display:block;margin:13px auto 0;max-width:60ch;font-size:13px;line-height:1.65;font-style:normal;color:#c2c8cd}
.v3-about .ab-say-by a{display:inline-block;margin-top:20px;padding-bottom:5px;border-bottom:1px solid #ffffff55;font-size:12px;color:#fafafa}
.v3-about .ab-say-by a:hover{color:#ffb667;border-color:#ffb667}
.v3-about .ab-tphotos{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:12px;margin-bottom:14px}
.v3-about .ab-tphotos>div{height:290px;overflow:hidden;background:#e7e7e3}
.v3-about .ab-tphotos img,.v3-about .ab-fphoto img{display:block;width:100%;height:100%;object-fit:cover}
.v3-about .ab-fphoto{overflow:hidden;height:450px;margin-top:28px;background:#e7e7e3}
.v3-about .ab-fphoto img{object-position:center 30%}
.v3-about .ab-founders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.v3-about .ab-founder{background:#fff;border:1px solid var(--hairline)}
.v3-about .ab-fbody{padding:25px 23px 26px}
.v3-about .ab-founder b{display:block;font-family:var(--f-d);font-size:26px;font-weight:400;line-height:1.12;letter-spacing:-.02em}
.v3-about .ab-founder i{display:block;margin:9px 0 18px;font-style:normal;font-family:var(--f-m);font-size:10px;line-height:1.5;letter-spacing:.1em;color:#b65c23}
.v3-about .ab-founder p{margin:0 0 10px;font-size:13px;line-height:1.7;color:var(--text-2)}.v3-about .ab-founder p:last-child{margin-bottom:0}
.v3-about .ab-backing{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:start;margin-top:54px;padding-top:40px;border-top:1px solid var(--line)}
.v3-about .ab-bk h4{font-family:var(--f-m);font-size:10px;font-weight:400;line-height:1.5;text-transform:uppercase;letter-spacing:.1em;color:#777771;margin:0 0 24px}
.v3-about .ab-bk>p,.v3-about .ab-raise-txt p{font-size:14px;line-height:1.7;color:var(--text-2);margin:0;max-width:47ch}
.v3-about .ab-raise{display:grid;grid-template-columns:auto 1fr;gap:35px;align-items:center}
.v3-about .ab-raise-fig{font-family:var(--f-d);font-size:clamp(76px,8vw,120px);font-weight:400;line-height:.9;letter-spacing:-.04em;color:#b65c23}
.v3-about .ab-invlogo{height:34px;width:auto;max-width:160px;object-fit:contain;margin-bottom:13px;filter:grayscale(1)}
.v3-about .ab-invname{font-family:var(--f-d);font-size:26px;letter-spacing:-.02em;margin-bottom:10px}
.v3-about .ab-plogos{display:flex;flex-wrap:wrap;align-items:center;gap:22px 35px;margin-top:25px}
.v3-about .ab-plogos img{height:46px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1)}
.v3-about #proof{padding-top:98px;border-top:1px solid var(--line)}
.v3-about .ab-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v3-about .ab-pf{display:flex;flex-direction:column;align-items:flex-start;padding:30px 27px;min-width:0;min-height:282px;background:#fff;border:1px solid var(--hairline);transition:border-color .25s,background .25s}
.v3-about a.ab-pf:hover{border-color:#ec752370;background:#fffaf4}
.v3-about .ab-pf-logo{display:flex;align-items:center;height:35px;margin-bottom:25px}
.v3-about .ab-pf-logo img{width:auto;max-width:150px;max-height:35px;object-fit:contain;filter:grayscale(1)}
.v3-about .ab-pf>b{font-family:var(--f-d);font-size:48px;font-weight:400;line-height:1;letter-spacing:-.035em}
.v3-about .ab-pf>span:not(.ab-pf-logo){font-size:14px;line-height:1.6;color:var(--text-2);margin-top:10px;max-width:34ch}
.v3-about .ab-pf>em{font-family:var(--f-m);font-size:9px;line-height:1.6;font-style:normal;text-transform:uppercase;letter-spacing:.04em;color:#b65c23;margin-top:auto;padding-top:20px}
.v3-about .ab-logos{margin-top:45px;padding-top:32px;border-top:1px solid var(--line)}
.v3-about .ab-logos-note{text-align:center;font-size:13px;color:#777771;margin:0 0 30px}
.v3-about .ab-logos-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:32px 50px}
.v3-about .ab-logos-row img{height:38px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.7}
.v3-about .wend{background:#141e28;color:#fafafa}
.v3-about .wend-cta{text-align:center;padding:110px var(--gut) 95px}
.v3-about .wend-cta .h2{max-width:750px;margin:auto}.v3-about .wend-cta .accent{color:#ff9626;font-style:italic}
.v3-about .wend-ctas{margin-top:30px}
.v3-about .bottom{padding:0 0 28px}
.v3-about .foot-frame{display:grid;grid-template-columns:1.1fr 2.5fr;gap:65px;border-top:1px solid #ffffff25;padding:45px 0 38px}
.v3-about .foot-frame>.fl,.v3-about .foot-frame>.bp-c{display:none}
.v3-about .footer-brand .nav-logo{display:inline-block}.v3-about .footer-brand .nav-logo img{filter:brightness(0) invert(1);width:150px!important;height:auto!important;max-width:100%;transform:none}
.v3-about .footer-tagline{font-size:13px;line-height:1.75;color:#adb5bb;margin:22px 0 0;max-width:29ch}
.v3-about .foot-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.v3-about .footer-col-title{font-family:var(--f-m);font-size:10px;line-height:1.4;color:#adb5bb;margin-bottom:20px}
.v3-about .foot-cols a{display:block;font-size:11px;line-height:1.7;color:#e5e8e9;margin-top:10px}
.v3-about .foot-cols a:hover{color:#ffb667}
.v3-about .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #ffffff25;padding-top:24px;color:#adb5bb;font-size:10px;line-height:1.7}
.v3-about .footer-bottom-links{display:flex;gap:22px}
@media(max-width:1100px){.v3-about .ab-origin{gap:35px}.v3-about .ab-cgrid{height:520px}.v3-about .ab-backing{gap:35px}.v3-about .ab-raise{gap:24px}.v3-about .foot-frame{grid-template-columns:1fr;gap:35px}.v3-about .footer-tagline{max-width:46ch}.v3-about .ab-fbody{padding:22px 18px}.v3-about .ab-plogos{gap:20px 25px}.v3-about .ab-plogos img{height:40px;max-width:130px}}
@media(max-width:900px){.v3-about .phead{padding-top:145px}.v3-about .pel{padding:78px 0}.v3-about .ab-origin{grid-template-columns:minmax(0,1fr);gap:38px}.v3-about .ab-origin-txt p{font-size:16px}.v3-about .ab-cgrid{height:440px}.v3-about .ab-purpose{margin-top:55px}.v3-about .ab-founders{grid-template-columns:1fr 1fr}.v3-about .ab-backing{grid-template-columns:1fr;gap:38px}.v3-about .ab-tphotos>div{height:220px}.v3-about .ab-fphoto{height:350px}.v3-about .ab-proof{grid-template-columns:1fr 1fr}.v3-about .ab-sayv{padding:88px 0}}
@media(max-width:650px){.v3-about .phead{padding:130px 0 35px}.v3-about .h1{font-size:clamp(46px,10.8vw,65px)}.v3-about .h2{font-size:clamp(36px,8.6vw,46px)}.v3-about .phead-sub{font-size:15px;margin-top:24px}.v3-about .phead-ctas{gap:10px}.v3-about .btn-primary,.v3-about .btn-secondary{font-size:12px;padding:14px 19px}.v3-about .ab-new{margin-top:40px}.v3-about .ab-new-rail{gap:55px}.v3-about .ab-new-rail img{height:34px;max-width:160px}.v3-about .phead-chart{margin:30px -100px -24px;padding:0}.v3-about .pel{padding:65px 0}.v3-about .shead{margin-bottom:36px}.v3-about .shead-sub{font-size:15px;line-height:1.7}.v3-about .ab-origin-txt p{font-size:15px;line-height:1.8}.v3-about .ab-cgrid{height:390px;gap:7px}.v3-about .mosaic-wrap{padding:8px}.v3-about .ab-purpose{margin-top:45px;padding-top:30px}.v3-about .ab-manif h2{font-size:43px;margin-bottom:35px}.v3-about .ab-vs-head,.v3-about .ab-vs-row{grid-template-columns:1fr;gap:13px}.v3-about .ab-vs-head .vh-next{display:none}.v3-about .ab-vs-mid{display:none}.v3-about .ab-vs-now,.v3-about .ab-vs-next{font-size:15px}.v3-about .ab-vs-next:before{content:'→ ';color:#ffb667}.v3-about .ab-manif-close{margin-top:40px}.v3-about .ab-sayv{padding:72px 0}.v3-about .ab-say blockquote{font-size:29px;line-height:1.3}.v3-about .ab-say-logo{height:36px;margin-bottom:26px}.v3-about .ab-tphotos{grid-template-columns:1fr 1fr;gap:9px}.v3-about .ab-tphotos>div{height:190px}.v3-about .ab-tphotos>div:first-child{grid-column:1/-1;height:230px}.v3-about .ab-fphoto{height:240px;margin-top:20px}.v3-about .ab-founders{gap:9px}.v3-about .ab-fbody{padding:20px 15px}.v3-about .ab-founder b{font-size:24px}.v3-about .ab-founder p{font-size:12px}.v3-about .ab-backing{margin-top:40px;padding-top:30px}.v3-about .ab-raise{grid-template-columns:auto 1fr}.v3-about .ab-raise-fig{font-size:83px}.v3-about .ab-invlogo{height:28px}.v3-about .ab-raise-txt p{font-size:13px}.v3-about .ab-plogos{gap:23px 28px}.v3-about .ab-plogos img{height:38px;max-width:132px}.v3-about #proof{padding-top:65px}.v3-about .ab-proof{grid-template-columns:1fr;gap:12px}.v3-about .ab-pf{min-height:245px;padding:26px}.v3-about .ab-pf>b{font-size:50px}.v3-about .ab-logos-row{gap:28px 30px}.v3-about .ab-logos-row img{height:30px;max-width:135px}.v3-about .wend-cta{padding-top:80px;padding-bottom:70px}.v3-about .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.v3-about .foot-cols a{font-size:12px}.v3-about .footer-bottom{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:360px){.v3-about .ab-founders{grid-template-columns:1fr}.v3-about .ab-raise{grid-template-columns:1fr;gap:20px}.v3-about .phead-ctas{flex-direction:column}.v3-about .ab-cgrid{height:325px}.v3-about .ab-say blockquote{font-size:26px}}
@media(prefers-reduced-motion:reduce){.v3-about .ab-new-rail{animation:none;width:100%;justify-content:center;flex-wrap:wrap;gap:25px 35px}.v3-about .ab-new-rail .ab-dup{display:none}.v3-about .ab-new-track{mask-image:none}.v3-about .pc-draw{animation:none;stroke-dashoffset:0}.v3-about .pc-in{animation:none;opacity:1}.v3-about .pc-ping,.v3-about .pc-dot{display:none}.v3-about .ab-sayv-video{display:block}}

/* Shared homepage typography, platform hero and section framing. */
/* `.phero` is display:flex and `.wrap` is its flex item, so `.wrap` inherits
   the flexbox default min-width:auto -- it won't shrink below the intrinsic
   (max-content) width of its widest descendant. The `.ab-new-rail` marquee is
   width:max-content by design (that's what makes it loop), and that width
   bleeds up through the flex item during sizing regardless of overflow:hidden
   on the track around it, pushing the whole hero (h1, lead, form) off-screen
   at narrow widths. min-width:0 is the standard fix: let `.wrap` shrink. */
.v3-about .about-hero .wrap { min-width:0; }
.v3-about .about-hero .d1 { max-width: 22ch; }
/* the pale-hero nav override (dark ink text on a light glass bar) is gone --
   the hero is dark navy again, so the nav's own default (brand.css: transparent,
   white text, inverted logo) is correct here unscoped, same as every other
   dark-hero page site-wide. */
.v3-about .ab-new { margin:76px auto 0; max-width:1060px; }
.v3-about .ab-new-label { color:var(--muted); margin-bottom:18px; }
.v3-about .ab-new-rail img { filter:grayscale(1); opacity:.7; }
.v3-about .pel { padding:130px 0; }
.v3-about .section-rule { text-align:left; margin-bottom:48px; }
.v3-about .shead { max-width:none; margin-bottom:52px; }
.v3-about .shead .d2 { max-width:22ch; margin:0 auto; font-family:var(--f-d); font-size:clamp(32px,3.5vw,48px); line-height:1.02; font-weight:400; letter-spacing:-.035em; }
.v3-about .shead-sub { max-width:54ch; font-size:16px; line-height:1.6; color:var(--muted); }
.v3-about .ab-origin-txt p { font-size:15.5px; line-height:1.65; color:var(--muted); }
.v3-about .mosaic-wrap { padding:0; border:0; }
.v3-about .ab-purpose { max-width:none; text-align:left; }
.v3-about .ab-purpose em { color:var(--muted); font-size:9px; }
.v3-about .ab-purpose p { max-width:42ch; font-size:clamp(28px,3vw,40px); line-height:1.18; letter-spacing:-.025em; }
.v3-about #team { padding-top:48px; }
.v3-about .ab-manif { background:var(--bg); color:var(--ink); }
.v3-about .ab-manif h2 { font-size:clamp(32px,3.5vw,48px); line-height:1.02; }
.v3-about .ab-vs,.v3-about .ab-vs-row,.v3-about .ab-vs-row:last-child { border-color:var(--line); }
.v3-about .vh-now,.v3-about .ab-vs-now { color:var(--muted); }
.v3-about .vh-next,.v3-about .ab-vs-next,.v3-about .ab-vs-next b,.v3-about .ab-manif-close b { color:var(--ink); }
.v3-about .ab-vs-mid:before { background:var(--line); }
.v3-about .ab-vs-mid svg { background:var(--bg); }
.v3-about .ab-vs-mid path { stroke:var(--muted); }
.v3-about .ab-vs-next:before { color:var(--orange); }
.v3-about .ab-manif-close { text-align:left; margin-left:0; }
.v3-about .ab-manif-close p { font-size:clamp(28px,2.6vw,36px); line-height:1.22; }
.v3-about .about-quote { background:#EDEDE5; color:var(--ink); }
.v3-about .ab-say { text-align:left; margin:0; max-width:1000px; }
.v3-about .ab-say-logo { display:block; margin:0 0 32px; filter:none; height:40px; }
.v3-about .ab-say blockquote { color:var(--ink); font-size:clamp(26px,2.6vw,36px); line-height:1.3; }
.v3-about .ab-say-by span { color:var(--muted); }
.v3-about .ab-say-by a { color:var(--ink); border-color:var(--line); }
.v3-about #proof { border:0; padding-top:130px; }
.v3-about .ab-raise-fig { font-size:clamp(64px,6vw,90px); color:var(--ink); }
.v3-about .ab-founder i { color:var(--muted); }
@media (max-width:900px) { .v3-about .pel,.v3-about #proof { padding:80px 0; } .v3-about #team { padding-top:40px; } }
@media (max-width:620px) { .v3-about .ab-new { margin-top:54px; } .v3-about .section-rule { margin-bottom:36px; } .v3-about .shead .d2,.v3-about .ab-manif h2 { font-size:32px; } .v3-about .ab-purpose p { font-size:28px; } }

.v3-about .about-hero .hero-cap input { background:rgba(255,255,255,.70); border-color:rgba(20,30,40,.22); }

/* Let the story copy set the photo collage height, keeping both columns aligned. */
.v3-about .ab-origin { align-items:stretch; gap:clamp(32px,4vw,64px); }
.v3-about .ab-origin-txt p { font-size:16px; line-height:1.7; margin-bottom:24px; }
.v3-about .ab-origin-txt p:last-child { margin-bottom:0; }
.v3-about .ab-collage { position:relative; min-height:0; }
.v3-about .ab-cgrid { position:absolute; inset:0; height:100%; grid-template-rows:1.1fr 1fr; }
.v3-about .ab-cg { min-height:0; }
@media (max-width:900px) {
  .v3-about .ab-origin { gap:32px; }
  .v3-about .ab-cgrid { position:static; height:auto; aspect-ratio:1.2; }
}

/* ══════════════════════════════════════════════════════
   ABOUT ↔ PLATFORM RECONCILIATION (2026-09-23)
   The About page carried its own greys (#565653, #777771), a smaller .d2
   (48px against the platform's 52px), a midnight-tinted hero lead, 9-10px
   kickers and 13px support copy. Brought onto the platform scale above
   (brand.css, "PLATFORM TYPE SCALE"); the display-serif pull quotes keep
   their own sizes because they are a different kind of text.
   ══════════════════════════════════════════════════════ */
body.v3-about { --text-2: var(--muted); }
.v3-about .shead .d2,
.v3-about .ab-manif h2,
.v3-about h2.reveal { font-size: clamp(34px, 3.7vw, 52px); line-height: 1.04; letter-spacing: -.03em; }
.v3-about .about-hero .lead { font-size: 17px; line-height: 1.5; letter-spacing: -.012em; color: var(--muted); }
.v3-about .about-hero .ab-new-label { color: var(--muted-2); }
.v3-about .shead-sub,
.v3-about .ab-origin-txt p,
.v3-about .ab-vs-now, .v3-about .ab-vs-next { font-size: 16px; line-height: 1.62; }
.v3-about .ab-vs-now { color: var(--muted); }
.v3-about .ab-vs-next { color: var(--ink); }
.v3-about .ab-founder p,
.v3-about .ab-bk > p, .v3-about .ab-raise-txt p,
.v3-about .ab-pf > span:not(.ab-pf-logo),
.v3-about .ab-logos-note,
.v3-about .ab-say-by em { font-size: 14px; line-height: 1.5; color: var(--muted); }
.v3-about .ab-founder b,
.v3-about .ab-invname { font-size: 22px; line-height: 1.16; letter-spacing: -.024em; }
.v3-about .ps-kick, .v3-about .bp-kick, .v3-about .ab-manif-kick,
.v3-about .ab-bk h4, .v3-about .ab-new-label, .v3-about .ab-vs-head,
.v3-about .ab-purpose em, .v3-about .ab-founder i,
.v3-about .ab-say-by span, .v3-about .ab-pf > em { font-size: 10.5px; letter-spacing: .14em; }
.v3-about .ps-kick, .v3-about .ab-bk h4, .v3-about .ab-logos-note { color: var(--muted-2); }

/* ══════════════════════════════════════════════════════
   ABOUT · 2026-09-23 round
   - hero: the blue wash goes. The film is a cut of our own footage (people
     at Dekker, Kisch and Topa), run through the same phero treatment as the
     platform pages, opened up a little so faces read.
   - section rules: the platform's .v3a-rule (one label, hairline) replaces
     the two-label .section-rule everywhere.
   - purpose line centred, as on the live page.
   - the quote section rotates two customers with film behind them.
   ══════════════════════════════════════════════════════ */
/* 2026-09-24: no more photo. First pass built a radial navy gradient from
   scratch; Leonardo said it read flat/too dark and asked for the actual live
   gradient. Fetched https://www.lleverage.ai/company/about directly (its
   /assets/site.css + the page's own <style> blocks) and the winning rule
   there (later <style> block overrides an earlier flat #18222C one) is:
     .phead.dark { background: linear-gradient(180deg, #18222C 0%, #1B2530 46%,
       #2B3641 72%, #46515D 88%, #F8F8F6 100%); }
   Reproduced verbatim below -- colour and gradient only, not the live page's
   diagonal hatch pattern or its line/dot SVG (.phead-chart), which stay out
   same as before. Text and the marquee logos stay light-on-dark to match;
   the nav's default transparent-white-on-dark state (brand.css, ".nav {
   color:#fff }") applies correctly here, so the old light-hero nav override
   below (.nav:not(.solid)) stays removed. */
.v3-about .about-hero { background: linear-gradient(180deg, #18222C 0%, #1B2530 46%, #2B3641 72%, #46515D 88%, #F8F8F6 100%); }
.v3-about .about-hero .phero-scrim {
  background: radial-gradient(70% 60% at 50% 38%, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 70%); }
.v3-about .about-hero .d1 { color: #FAFAFA; }
.v3-about .about-hero .lead, .v3-about .about-hero .ab-new-label { color: rgba(250,250,250,.68); }
.v3-about .about-hero .ab-new-rail img { filter: grayscale(1) brightness(0) invert(1); opacity: .55; }
.v3-about .about-hero .hero-cap input { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.55); color: #fff; }
/* the form is a block-level flex element: .wrap's text-align:center only
   centres inline content, so without its own margin it sits flush left.
   The platform heroes get this from .hero-cap.ink's margin (brand.css); About
   dropped the .ink class in the dark-hero pass and lost it as a side effect.
   Same margin, applied directly, without pulling .ink's light-hero colours
   back in. */
.v3-about .about-hero .hero-cap { margin: 34px auto 0; }
.v3-about .about-hero .btn, .v3-about .finale .btn:not(.btn-wo) { background: var(--orange); color: #fff; }
.v3-about .about-hero .btn:hover { background: var(--orange-br); }

.v3-about .v3a-rule { border-top: 1px solid var(--line); padding-top: 16px; display: flex;
  justify-content: space-between; gap: 20px; margin-bottom: 48px;
  font-family: var(--f-m); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.v3-about .shead { text-align: left; }
.v3-about .shead .d2 { margin: 0; }
.v3-about .shead-sub { margin-left: 0; }

.v3-about .ab-purpose { text-align: center; }
.v3-about .ab-purpose p { margin: 0 auto; text-wrap: balance; }

/* rotating film quotes */
.v3-about .ab-sayv { padding: 0; min-height: 560px; display: grid; }
.v3-about .ab-sayv-slide { grid-area: 1 / 1; position: relative; isolation: isolate; display: flex;
  align-items: center; padding: 115px 0; opacity: 0; transition: opacity 1.1s var(--ease); pointer-events: none; }
.v3-about .ab-sayv-slide.is-on { opacity: 1; pointer-events: auto; }
.v3-about .ab-sayv-slide .container { position: relative; z-index: 1; width: 100%; }
.v3-about .ab-say-logo { filter: brightness(0) invert(1); opacity: .92; }
.v3-about .ab-sayv-dots { grid-area: 1 / 1; align-self: end; justify-self: center; z-index: 2;
  display: flex; gap: 10px; padding-bottom: 34px; }
.v3-about .ab-sayv-dots button { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0;
  background: rgba(250,250,250,.35); cursor: pointer; transition: background .3s var(--ease), transform .3s var(--ease); }
.v3-about .ab-sayv-dots button.is-on { background: var(--orange); transform: scale(1.25); }
@media (max-width: 650px) { .v3-about .ab-sayv { min-height: 520px; } .v3-about .ab-sayv-slide { padding: 84px 0 70px; } }

/* "Built for the core of the physical economy": the live page's arrangement
   (Leonardo, 2026-09-23). Two equal columns, the collage a tall 2x2 with the
   wider cell on the left and the taller row on top, framed by the four corner
   marks, and the origin text in the display serif at reading size, as live. */
.v3-about .ab-origin { grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.v3-about .ab-origin-txt p { font-family: var(--f-d); font-size: 20px; line-height: 1.5;
  letter-spacing: -.005em; color: var(--ink); margin: 0 0 24px; }
.v3-about .ab-origin-txt b { font-weight: 500; }
.v3-about .mosaic-wrap { padding: 12px; border: 1px solid var(--line); }
.v3-about .ab-cgrid { position: static; height: 600px; grid-template-columns: 1.75fr 1fr;
  grid-template-rows: 1.65fr 1fr; gap: 10px; }
.v3-about .bp-c { display: block; }
.v3-about .mc-tl { top: -6px; left: -6px; } .v3-about .mc-tr { top: -6px; right: -6px; }
.v3-about .mc-bl { bottom: -6px; left: -6px; } .v3-about .mc-br { bottom: -6px; right: -6px; }
@media (max-width: 900px) {
  .v3-about .ab-origin { grid-template-columns: 1fr; }
  .v3-about .ab-cgrid { height: 440px; }
  .v3-about .ab-origin-txt p { font-size: 18px; }
}
/* the rotating quote is on film with a dark scrim: white type, centred as on
   the live page, and a scrim light enough that the film still reads */
.v3-about .ab-sayv-scrim { background: linear-gradient(180deg, rgba(16,24,32,.78), rgba(16,24,32,.62), rgba(16,24,32,.80)); }
.v3-about .ab-sayv .ab-say { text-align: center; max-width: 860px; margin: 0 auto; }
.v3-about .ab-sayv .ab-say-logo { display: block; margin: 0 auto 30px; }
.v3-about .ab-sayv .ab-say blockquote { color: #FAFAFA; font-size: clamp(26px, 2.6vw, 36px); line-height: 1.3; }
.v3-about .ab-sayv .ab-say-by b { color: #FAFAFA; font-size: 15px; }
.v3-about .ab-sayv .ab-say-by span { color: #FFB667; }
.v3-about .ab-sayv .ab-say-by a { color: #FAFAFA; border-bottom-color: rgba(250,250,250,.4); font-size: 12px; font-family: var(--f-b); }
.v3-about .ab-sayv-scrim { background: linear-gradient(180deg, rgba(16,24,32,.70), rgba(16,24,32,.52), rgba(16,24,32,.74)); }

/* ══════════════════════════════════════════════════════
   ABOUT · 2026-09-24 round 2
   "Built for the core of the physical economy": the image column (.ab-cgrid)
   is a fixed 600px height (unchanged, matches the image's own size at every
   breakpoint) but the text column only ran ~380px, leaving it looking short
   and vertically centred in a lot of empty space. Same principle as the
   platform-page .cap fix (match the two column heights) -- but here the
   image is the fixed side, so the fix runs the other way: more air in the
   text, not a stretched frame. Desktop-only: below 900px the columns already
   stack, so there is no height to match.
   ══════════════════════════════════════════════════════ */
@media (min-width: 901px) {
  .v3-about .ab-origin-txt p { line-height: 1.95; margin-bottom: 42px; }
  .v3-about .ab-origin-txt p:last-child { margin-bottom: 0; }
}

/* Hero (Matteo 2026-09-24): one solid blue, a hard edge into the next block, no fade;
   the title at the platform heroes' size; the customer-stories logo band follows it. */
.v3-about .about-hero{background:#18222C;height:auto;min-height:0;padding:184px 0 128px}
.v3-about .about-hero .phero-scrim{display:none}
.v3-about .about-hero h1.d1{font-size:clamp(40px,4.6vw,66px)!important;line-height:1.04!important;letter-spacing:-.038em!important;max-width:24ch}
@media(max-width:760px){.v3-about .about-hero{padding:130px 0 84px}}
/* the logo band, at the customer stories page's size */
.v3-about .mqband{padding:60px 0 72px}
.v3-about .mqband .mq img{height:calc(var(--lh, 38) * .86px);max-width:150px}
/* the photo grid: columns can shrink, so it never widens the page on a phone */
.v3-about .ab-cgrid{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);max-width:100%}
/* Hero, take 2: full screen, one solid blue, the "Trusted by" strip inside it like the
   platform heroes; logos in white on the blue */
/* at least one screen tall, and taller when the content needs it: on a laptop-height
   window a fixed height centred the headline up under the fixed nav */
.v3-about .about-hero{height:auto;min-height:100vh;min-height:100svh;padding:128px 0 64px;box-sizing:border-box}
.v3-about .about-hero .phero-trust{margin-top:72px}
.v3-about .about-hero .phero-trust-k{color:rgba(250,250,250,.55)}
.v3-about .about-hero .phero-trust .mq img{filter:brightness(0) invert(1);opacity:.62}
@media(max-width:760px){.v3-about .about-hero{height:auto;min-height:0;padding:130px 0 70px}}
/* the hero's logo strip is the customer stories band itself (same logos, sizes, spacing),
   in white on the blue, with more air above it */
.v3-about .about-hero .ab-trust{margin-top:112px;width:100%}
.v3-about .about-hero .ab-trust .mqk{color:rgba(250,250,250,.55)}
.v3-about .about-hero .ab-trust .mq img{filter:brightness(0) invert(1);opacity:.7}
@media(max-width:760px){.v3-about .about-hero .ab-trust{margin-top:64px}}
.v3-about .about-hero .ab-trust .mqk{display:block;text-align:center;font-family:var(--f-m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:46px}
.v3-about .about-hero .ab-trust .mq img{height:calc(var(--lh, 38) * 1.06px);max-width:190px}
