/* r25: /about/ editorial redesign (own implementation) */
.ab{--ab-paper:#FAF8F2;--ab-ink:#0F0F0F;--ab-green:#6CBF5B;--ab-muted:#5b5b55;background:var(--ab-paper);color:var(--ab-ink)}
.ab-hero{position:relative;overflow:hidden;height:calc(100svh - 82px);min-height:620px;max-height:980px;contain:layout paint;isolation:isolate}
.ab-dots{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(circle,rgba(15,15,15,.17) 1.1px,transparent 1.6px);background-size:14px 14px;
  -webkit-mask-image:radial-gradient(ellipse 22% 26% at 18% 42%,#000 40%,transparent 72%),radial-gradient(ellipse 16% 30% at 30% 74%,#000 35%,transparent 70%),radial-gradient(ellipse 28% 22% at 64% 36%,#000 40%,transparent 72%),radial-gradient(ellipse 12% 16% at 70% 70%,#000 35%,transparent 70%),radial-gradient(ellipse 12% 10% at 88% 78%,#000 40%,transparent 72%),linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.18));
  mask-image:radial-gradient(ellipse 22% 26% at 18% 42%,#000 40%,transparent 72%),radial-gradient(ellipse 16% 30% at 30% 74%,#000 35%,transparent 70%),radial-gradient(ellipse 28% 22% at 64% 36%,#000 40%,transparent 72%),radial-gradient(ellipse 12% 16% at 70% 70%,#000 35%,transparent 70%),radial-gradient(ellipse 12% 10% at 88% 78%,#000 40%,transparent 72%),linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.18))}
.ab-hero-copy{position:relative;z-index:3;padding:clamp(1.6rem,3.2vw,3rem) max(4vw,1.25rem) 0;max-width:46rem}
.ab-kicker,.ab-label,.ab-scroll{font:700 .74rem/1 var(--font-mono,ui-monospace,monospace);letter-spacing:.16em;text-transform:uppercase;margin:0}
.ab-kicker{color:var(--ab-ink);display:flex;align-items:center;gap:.6rem}
.ab-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ab-green)}
.pg.ab h1.ab-name{font-family:"Archivo","Work Sans",Arial,sans-serif;font-weight:900;font-stretch:112%;text-transform:uppercase;letter-spacing:-.04em;line-height:.84;font-size:clamp(3.4rem,6.3vw,7.4rem);margin:1.1rem 0 0;color:var(--ab-ink)}
.ab-name span{display:block}
.ab-tag{margin:1.2rem 0 0;font-size:clamp(1rem,1.3vw,1.2rem);color:var(--ab-muted);max-width:22ch}
.ab-figure{position:absolute;z-index:2;left:64%;bottom:0;transform:translate(-50%,-9%);width:min(440px,34vw);aspect-ratio:588/845}
.ab-portrait{position:absolute;inset:0;width:100%;height:100%;display:block;border-radius:28px;box-shadow:0 30px 60px -30px rgba(15,15,15,.55)}
.ab-net{position:absolute;inset:-12%;width:124%;height:124%;display:block;pointer-events:none}
.ab-portrait{object-fit:cover}
.ab-scroll{position:absolute;z-index:3;right:max(4vw,1.25rem);bottom:1.6rem;color:var(--ab-muted)}
.ab-scroll:after{content:"";display:block;width:1px;height:42px;background:currentColor;margin:.7rem auto 0}
.ab-sec{padding:clamp(4.5rem,9vw,8.5rem) max(4vw,1.25rem);border-top:1px solid rgba(15,15,15,.12)}
.ab-label{display:flex;align-items:center;gap:.7rem;color:var(--ab-ink)}
.ab-label>span:first-child{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;letter-spacing:0;font-size:.64rem}
.pg.ab h2.ab-lead{font-family:"Archivo","Work Sans",Arial,sans-serif;font-weight:800;letter-spacing:-.04em;line-height:.95;font-size:clamp(2.3rem,5.2vw,5rem);margin:1.6rem 0 0;max-width:16ch}
.ab-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(2rem,4vw,3.5rem);max-width:68rem}
.ab-cols p{margin:0;font-size:clamp(1.02rem,1.25vw,1.18rem);line-height:1.65;color:#2c2c29}
.ab-does{background:var(--ab-ink);color:var(--ab-paper);border-top:0}
.ab-does .ab-label{color:var(--ab-paper)}
.ab-words{list-style:none;margin:1.8rem 0 0;padding:0}
.ab-words li{border-bottom:1px solid rgba(250,248,242,.16);overflow:hidden}
.ab-words span{display:block;font-family:"Archivo","Work Sans",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.045em;line-height:1;font-size:clamp(2.8rem,9vw,8.6rem);padding:.08em 0 .02em;transition:color .35s,transform .35s}
.ab-words li:hover span{color:var(--ab-green);transform:translateX(.12em)}
.ab-list{list-style:none;margin:clamp(2rem,4vw,3.5rem) 0 0;padding:0;counter-reset:c;max-width:72rem}
.ab-list li{display:grid;grid-template-columns:4rem 1fr 1.4fr;gap:1.5rem;align-items:baseline;padding:1.5rem 0;border-top:1px solid rgba(15,15,15,.14);counter-increment:c}
.ab-list li:before{content:counter(c,decimal-leading-zero);font:700 .78rem var(--font-mono,monospace);color:var(--ab-muted)}
.ab-list strong{font-family:"Archivo","Work Sans",Arial,sans-serif;font-weight:800;font-size:clamp(1.3rem,2vw,1.8rem);letter-spacing:-.03em;line-height:1.1}
.ab-list span{color:#3a3a36;line-height:1.55}
.ab-links{list-style:none;margin:clamp(2rem,4vw,3rem) 0 0;padding:0}
.ab-links a{display:grid;grid-template-columns:3rem 1fr auto 2rem;align-items:center;gap:1rem;padding:1.2rem 0;border-top:1px solid rgba(15,15,15,.14);color:var(--ab-ink);text-decoration:none}
.ab-links li:last-child a{border-bottom:1px solid rgba(15,15,15,.14)}
.ab-ic{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(15,15,15,.25);border-radius:50%}
.ab-ln{font-family:"Archivo","Work Sans",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.04em;font-size:clamp(1.8rem,4.4vw,3.8rem);line-height:1}
.ab-handle{font:600 .82rem var(--font-mono,monospace);color:var(--ab-muted)}
.ab-arrow{font-size:1.5rem;transition:transform .3s}
.ab-links a:hover .ab-ln,.ab-links a:focus-visible .ab-ln{color:#2f6b2a}
.ab-links a:hover .ab-arrow{transform:translate(4px,-4px)}
@media (max-width:820px){
  .ab-hero{height:calc(100svh - 72px);min-height:640px;max-height:860px}
  .pg.ab h1.ab-name{font-size:clamp(2.6rem,12.4vw,5.6rem);font-stretch:100%}
  .ab-figure{left:50%;width:min(380px,78vw);transform:translate(-50%,-6%)}
  .ab-scroll{display:none}
  .ab-cols{grid-template-columns:1fr}
  .ab-list li{grid-template-columns:2.4rem 1fr;gap:.4rem 1rem}
  .ab-list li span{grid-column:2}
  .ab-links a{grid-template-columns:2.8rem 1fr 1.5rem}
  .ab-handle{display:none}
}
/* r28: larger bywill.ai stage photo + logo strips */
.ab-figure{left:auto;right:max(3vw,1rem);top:1.4rem;bottom:1.4rem;transform:none;width:auto;height:auto;aspect-ratio:960/1199}
.ab-hero-copy{max-width:min(46rem,50vw)}
.ab-sec.ab-logos{border-top:0;padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(2.5rem,5vw,4rem);overflow:hidden}
.ab-logos .ct-window{max-width:none;margin-top:1.6rem}
.ab-logos .ct-set img{filter:grayscale(1);opacity:.78}
.abt-window{height:64px}
.abt-rail{animation-direction:reverse!important;animation-duration:90s}
.abt-set{display:flex;flex:none;align-items:center;gap:2.6rem;list-style:none;margin:0;padding:0 2.6rem 0 0}
.abt-set li{display:flex;align-items:center;gap:.6rem;flex:none;height:64px;white-space:nowrap;font:600 .98rem "Work Sans",Arial,sans-serif;color:#2c2c29}
.abt-logo{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:none;border:0;box-shadow:none}
.abt-logo .logo-mark{width:24px;height:24px;background:var(--brand,var(--ab-ink))}
.abt-logo img{width:24px;height:24px;display:block}
@media (max-width:820px){
  .ab-hero{height:auto;min-height:0;max-height:none;padding-bottom:1.5rem}
  .ab-hero-copy{max-width:none}
  .ab-figure{position:relative;inset:auto;left:auto;right:auto;transform:none;width:calc(100% - 2.5rem);margin:1.6rem auto 0}
  .abt-set{gap:1.8rem;padding-right:1.8rem}
  .abt-set li{font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){.abt-rail{animation-duration:160s!important}}
.abt-set,.abt-set{gap:0!important;padding:0!important}
.abt-set li{margin-right:2.6rem}
@media (max-width:820px){.abt-set li{margin-right:1.8rem}}
/* r29b light sketch hero */
.ab .ab-hero{position:relative;height:calc(100svh - var(--hdr,0px));min-height:36rem;max-height:none;padding:0;overflow:hidden;background:#F6EEE5;display:flex;align-items:center}
.ab .ab-hero .ab-dots{display:none}
.ab .ab-figure.ab-sketch{position:absolute;inset:0;width:auto;height:auto;aspect-ratio:auto;border-radius:0;box-shadow:none;transform:none;margin:0;background:#F6EEE5}
.ab-sketch .ab-portrait,.ab-sketch .ab-net{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 50%;border-radius:0;filter:none;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.ab-sketch .ab-net{z-index:1}
.ab .ab-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5rem;z-index:2;pointer-events:none;background:linear-gradient(rgba(250,248,242,0),#FAF8F2)}
.ab .ab-hero .ab-hero-copy{position:relative;z-index:3;max-width:min(40rem,42vw);padding:0 0 0 clamp(1.5rem,5vw,5rem)}
.ab .ab-hero .ab-name,.ab .ab-hero .ab-name span{color:#0F0F0F}
.ab .ab-hero .ab-scroll{z-index:3}
@media (max-width:820px){
.ab .ab-hero{height:auto;min-height:0;flex-direction:column;align-items:stretch;padding-top:2rem}
.ab .ab-hero .ab-hero-copy{max-width:none;padding:0 1.25rem}
.ab .ab-figure.ab-sketch{position:relative;inset:auto;aspect-ratio:4/5;width:100%;margin-top:-1rem}
.ab-sketch .ab-portrait,.ab-sketch .ab-net{object-position:76% 50%}
.ab .ab-hero .ab-scroll{display:none}
}
.ab{--ab-paper:#F6EEE5}
.ab .ab-hero::after{display:none}
@media (min-width:821px){.ab .ab-figure.ab-sketch{left:22%}}
.ab .ab-sketch .ab-portrait{box-shadow:none}
@media (min-width:821px){.ab .ab-figure.ab-sketch{left:30%}.ab-sketch .ab-portrait,.ab-sketch .ab-net{object-position:88% 50%}}
@media (min-width:821px){.ab .ab-hero{height:min(calc(100svh - 4rem),58vw);min-height:32rem}.ab .ab-figure.ab-sketch{left:30%}.ab-sketch .ab-portrait,.ab-sketch .ab-net{object-position:100% 50%}.pg.ab .ab-hero h1.ab-name{font-size:clamp(3rem,5vw,6.4rem)}}
/* r29c: header blends with sketch paper on /about/ only (about.css loads only here) */
html body .site-header,html body .site-header.bw-opening-header,html body .site-header.is-scrolled,html body .site-header.scrolled{background:#F6EEE5!important;border-bottom-color:transparent!important;box-shadow:none}
@media (max-width:820px){.ab .ab-figure.ab-sketch{aspect-ratio:1024/900;margin-top:.5rem}.ab-sketch .ab-portrait,.ab-sketch .ab-net{object-position:100% 50%}}
