.ab-page{--ab-paper:#f5f4f0;--ab-ink:#0b0d12;--sx-shot:0 1px 2px rgba(11,13,18,.06),0 18px 40px -24px rgba(11,13,18,.28)}
.ab-page :is(a,button,summary):focus-visible{outline:2px solid #ffd100;outline-offset:4px}
.ab-page ::selection{background:#d9d6cf;color:#0b0d12}
.ab-page .pf-h1{font-size:40px;line-height:1.12}
.ab-page .pf-h2{font-size:28px;line-height:1.25;color:inherit;margin-bottom:32px}
.ab-page h3{font-size:20px;line-height:1.3;font-weight:600}
.ab-page .pf-kicker,.ab-page .pf-btn{font-size:16px}
.ab-hero{padding:24px 0 72px}
.ab-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:start}
.ab-two>*{min-width:0}
.ab-hero-grid{margin-top:40px;align-items:center}
.ab-prose p,.ab-close p{font-size:18px;line-height:1.6;color:var(--pf-t2)}
.ab-prose p+p{margin-top:20px}
.ab-hero-prose{margin-top:24px}
.ab-section{padding:64px 0;border-top:1px solid var(--pf-line)}
.ab-paper{background:var(--ab-paper);color:var(--ab-ink);border-color:rgba(11,13,18,.1)}
.ab-paper .ab-prose p,.ab-paper .ab-belief p{color:rgba(11,13,18,.7)}
.ab-photo{width:100%;height:auto;object-fit:cover;border-radius:14px}
.ab-composite{position:relative;padding:0 0 70px 24px}
.ab-overlap{position:relative;display:block;height:auto;object-fit:cover;border-radius:12px;border:6px solid #fff;box-shadow:var(--sx-shot);z-index:1}
.ab-blocks{width:45%;margin:-13% 0 0 -24px}
.ab-hand{font:500 28px/1.15 Caveat,cursive}
.ab-block-note{position:absolute;bottom:24px;left:49%;width:50%;rotate:-4deg}
.ab-block-note svg{width:110px;height:45px;margin-left:-38px}
.ab-notebook{padding-top:4px}
.ab-notebook figcaption{margin-top:16px;rotate:-2deg;text-align:center}
.ab-ink{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ab-ink *{vector-effect:non-scaling-stroke}
.ab-strip{width:min(100%,660px);height:auto;margin:40px auto 0;color:#74736f}
.ab-solid{fill:var(--ab-ink);stroke:var(--ab-ink)}
.ab-pull{font-size:28px;line-height:1.35;letter-spacing:-.02em;margin-top:32px}
.ab-workflow{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:center;padding-top:8px}
.ab-workflow ol{display:grid;gap:28px}
.ab-workflow ol li{position:relative;border:1px solid rgba(255,255,255,.18);padding:18px;border-radius:12px;background:rgba(255,255,255,.025);font-size:16px}
.ab-workflow ol li+li::before{content:'';position:absolute;width:1px;height:29px;background:rgba(255,255,255,.25);top:-29px;left:50%}
.ab-workflow ol .ab-ai-step{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.32)}
.ab-ai-step img{margin-bottom:12px;filter:brightness(0) invert(1);opacity:.8}
.ab-tags li{font:13px/1.5 var(--pf-mono);padding:12px 0;border-bottom:1px solid var(--pf-line)}
.ab-tags li:first-child{border-top:1px solid var(--pf-line)}
.ab-desk{margin-top:36px}
.ab-desk .ab-photo{aspect-ratio:21/8;height:auto;object-position:center 58%}
.ab-beliefs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.ab-belief{grid-column:span 2;border:1px solid rgba(11,13,18,.12);background:#fff;padding:28px;border-radius:14px}
.ab-belief:nth-child(n+4){grid-column:span 3}
.ab-belief svg{width:56px;height:56px;margin-bottom:20px}
.ab-belief p{font-size:18px;line-height:1.6;margin-top:16px}
.ab-listen-grid{align-items:center}
.ab-listen{padding-right:32px;padding-bottom:44px;padding-left:0}
.ab-operator{width:34%;margin:-32% 0 0 auto;right:-32px}
.ab-record{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(11,13,18,.2);border-radius:8px;padding:12px 16px;margin-top:20px;font:13px/1.4 var(--pf-mono);rotate:-1deg}
.ab-link-row{margin-top:24px}
.ab-link{font-size:16px;border-bottom:1px solid currentColor;padding-bottom:3px}
.ab-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:24px}
.ab-locations{display:grid;grid-template-columns:minmax(0,1fr) 200px minmax(0,1fr);align-items:center;gap:24px}
.ab-location{position:relative}
.ab-location .ab-photo{aspect-ratio:4/5}
.ab-location figcaption{position:absolute;left:16px;bottom:16px;border-radius:10px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);padding:12px 16px;color:var(--ab-ink);font:13px/1.4 var(--pf-mono)}
.ab-connection{text-align:center}
.ab-arc{width:100%;height:auto;stroke-dasharray:2 7}
.ab-connection p{margin-top:12px}
.ab-location-copy{margin-top:32px}
.ab-close{padding-bottom:72px}
.ab-motion [data-ab-reveal]{opacity:0;transform:translateY(8px);transition:opacity .55s ease var(--ab-delay,0ms),transform .55s ease var(--ab-delay,0ms)}
.ab-motion [data-ab-reveal].ab-in{opacity:1;transform:none}
.ab-motion [data-ab-reveal]:not(.ab-in) .ab-ink path:not(.ab-solid){stroke-dasharray:1;stroke-dashoffset:1}
.ab-motion .ab-in .ab-ink:not(.ab-arc) path:not(.ab-solid){animation:ab-draw 1s ease var(--ab-delay,0ms) both}
.ab-motion .ab-in .ab-arc{animation:ab-arc-reveal 1s ease var(--ab-delay,0ms) both}
@keyframes ab-arc-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes ab-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@media(max-width:1024px){.ab-two{gap:32px}.ab-locations{grid-template-columns:minmax(0,1fr) 160px minmax(0,1fr);gap:16px}.ab-workflow{gap:16px}.ab-belief{padding:24px}.ab-block-note{left:48%;font-size:28px}}
@media(max-width:767px){.ab-page{--pf-gut:16px}.ab-two{grid-template-columns:1fr;gap:32px}.ab-hero{padding-bottom:40px}.ab-hero-grid{margin-top:32px}.ab-section{padding:48px 0}.ab-composite{padding-left:0;padding-bottom:62px}.ab-blocks{margin-left:0;margin-top:-12%;width:45%}.ab-block-note{left:50%;bottom:22px}.ab-beliefs{grid-template-columns:1fr;gap:16px}.ab-belief,.ab-belief:nth-child(n+4){grid-column:auto}.ab-listen{padding-right:24px;padding-bottom:0}.ab-operator{right:-24px}.ab-locations{grid-template-columns:1fr;gap:20px}.ab-connection{position:relative;min-height:136px;display:flex;align-items:center;justify-content:center;padding-left:70px}.ab-arc{position:absolute;width:136px;height:68px;left:0;top:34px;rotate:90deg}.ab-connection p{margin:0;flex:1}.ab-desk .ab-photo{aspect-ratio:21/8}.ab-tags li{overflow-wrap:anywhere}.ab-workflow ol li{padding:16px}}
@media(prefers-reduced-motion:reduce){html.pf-html:has(.ab-page){scroll-behavior:auto}.ab-motion [data-ab-reveal]{opacity:1;transform:none;transition:none}.ab-motion .ab-ink,.ab-motion .ab-ink path{animation:none!important;stroke-dashoffset:0!important}.ab-motion .ab-ink:not(.ab-arc) path{stroke-dasharray:none!important}}
/* architect pass: align with the site type system */
body .pf-main .pf-h2.ab-in:not(#a),body .pf-main h2.pf-h2:not(#a){font-size:40px;line-height:1.08;letter-spacing:-.03em}
@media(max-width:767px){body .pf-main h2.pf-h2:not(#a){font-size:32px}}
body .pf-main .ab-pull:not(#a){font-weight:500;letter-spacing:-.02em;line-height:1.25}
body .pf-main .ab-link-row:not(#a){font-size:16px}
