/* About page styles (generated by tools/port-to-site.py from the About page design; edit the design, then re-port) */
.faq .list{margin-top:40px;border-top:1px solid rgba(17,17,17,.12);max-width:920px}
.q{border-bottom:1px solid rgba(17,17,17,.12)}
.q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:none;border:0;padding:22px 0;text-align:left;font-size:18.5px;font-weight:600;line-height:1.4;letter-spacing:-.2px;color:var(--ink)}
.q button i{flex:none;width:22px;height:22px;position:relative}
.q button i::before,.q button i::after{content:"";position:absolute;left:4px;right:4px;top:10px;height:1.6px;background:currentColor;transition:transform .3s var(--ease)}
.q button i::after{transform:rotate(90deg)}
.q.open button i::after{transform:rotate(0)}
.q .a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease)}
.q.open .a{grid-template-rows:1fr}
.q .a > div{overflow:hidden}
.q .a p{padding:0 0 22px;color:var(--body);max-width:68ch;line-height:1.6}
.ruled .parity .h2{margin-bottom:36px}
.ruled .parity .cmp{border-top:0}
.ruled .faq .list{margin-top:0;border-top:0}
.ruled .feat .head{margin-bottom:0}
.ruled .stage{border-left:0;border-right:0}
.ruled .tabs{border-left:0;border-right:0}
.ruled .lgrid{border-left:0}
.ruled .lgrid .lt:nth-child(6n){border-right:0}
.ruled .feat .wrap{padding-inline:0}
.ruled .feat .rule-x{margin-inline:0}
.ruled .logos .wrap{padding-inline:0}
@keyframes blink{50%{opacity:.25}}
/* ======== About page (r1). Base tokens, nav, FAQ, footer and the ruled grid come from the homepage proposal (parts/base.css) ======== */
.sub-eyebrow{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:780px}
.sec-head .lead{font-size:17px;line-height:1.55;color:var(--body);max-width:62ch;text-wrap:pretty}
.btn.outline{background:#fff;border-color:var(--b10);color:var(--ink)}
.btn.outline:hover{border-color:var(--b30)}
.btn.glass{background:rgba(249,244,242,.06);border-color:rgba(249,244,242,.18);color:#f9f4f2;-webkit-backdrop-filter:blur(32px);backdrop-filter:blur(32px)}
.ic44{width:44px;height:44px;border-radius:12px;background:var(--orange-soft);color:var(--orange);display:grid;place-items:center;flex:none}
.ic44 svg{width:21px;height:21px}
.gap.sm{font-size:11px;padding:3px 7px;border-radius:6px;vertical-align:2px}
.nav .ni a[aria-current="page"]{background:var(--warm)}

/* ---------- 02 hero ---------- */
.ab-hero{padding-top:76px;background:linear-gradient(180deg,#f4ede7 0,#f7f2ee 260px,var(--page) 620px)}
.ab-hero .wrap{padding-top:72px}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--muted);margin-bottom:22px}
.crumbs a:hover{color:var(--ink)}
.crumbs svg{width:14px;height:14px;opacity:.55}
.crumbs [aria-current]{color:var(--ink)}
/* one line: "Making the pest control office run itself." measures ~17.4em, so the size follows the container (64px at 1440) */
.ab-hero h1{font-size:min(64px,calc((min(100vw - 16px,1360px) - 80px) / 18));line-height:1.04;letter-spacing:-.03em;white-space:nowrap;color:var(--black)}
.hero-row{display:grid;grid-template-columns:minmax(0,760px) 1fr;gap:40px;align-items:end;margin-top:26px}
/* three lines at 1440 (and 1280): ~215 characters in a 760px column */
.hero-row .intro{font-size:20px;line-height:1.5;color:var(--ink2);text-wrap:pretty}
.hero-cta{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.band{display:grid;grid-template-columns:1.05fr .95fr 1.05fr .95fr;gap:12px;margin-top:56px;height:420px}
.ph{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#0e1420;isolation:isolate}
.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.ph:hover img{transform:scale(1.03)}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,8,6,.66) 0%,rgba(10,8,6,0) 42%);pointer-events:none}
.ph figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;color:rgba(255,255,255,.8);font-size:13px;line-height:1.35}
.ph figcaption b{display:block;color:#fff;font-size:15px;font-weight:600;letter-spacing:-.1px}
.ph.ian img{object-position:58% 20%}
.ph.john img{object-position:55% 20%}
.ph.pth img{object-position:40% 20%}
.ph.able img{object-position:60% 50%}
.stats4{display:grid;grid-template-columns:repeat(4,1fr);margin:56px -40px 0;border-top:1px solid var(--rule)}
.stats4 > div{padding:26px 24px 30px;display:flex;flex-direction:column;gap:6px}
.stats4 > div:first-child{padding-left:40px}
.stats4 > div + div{border-left:1px solid var(--rule)}
.stats4 b{font-size:44px;line-height:1.05;letter-spacing:-1px;font-weight:600;color:var(--black)}
.stats4 span{font-size:15px;line-height:1.4;color:var(--ink2)}
.stats4 small{margin-top:auto;padding-top:10px;font:500 11px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}

/* ---------- 03 what Solea does ---------- */
.caps{margin:40px -40px 0}
.cap{display:grid;grid-template-columns:360px minmax(0,1fr) 300px;gap:40px;padding:30px 40px;border-top:1px solid var(--rule);align-items:start}
.cap-t{display:flex;gap:16px;align-items:center}
.cap h3{font-size:22px;line-height:1.25;letter-spacing:-.35px;color:var(--ink)}
.cap p{font-size:16px;line-height:1.6;color:var(--body);max-width:60ch}
.cap .out{display:flex;flex-direction:column;gap:8px;padding-left:24px;border-left:1px solid var(--rule)}
.cap .out p{font-size:15px;line-height:1.5;color:var(--ink);font-weight:500}
.cap .proof{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding:5px 10px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--hair);font-size:12.5px;font-weight:600;color:var(--ink2)}
.cap .proof i{width:6px;height:6px;border-radius:50%;background:var(--orange)}

/* ---------- 04 what makes Solea different ---------- */
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.dc{position:relative;display:flex;flex-direction:column;gap:14px;padding:30px 30px 32px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--hair),0 1px 3px rgba(26,19,15,.04);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.dc:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--hair),0 6px 24px rgba(26,19,15,.05)}
.dc h3{font-size:21px;line-height:1.25;letter-spacing:-.3px;color:var(--ink);text-wrap:balance}
.dc p{font-size:15px;line-height:1.6;color:var(--body);text-wrap:pretty}
.dc.wide{grid-column:span 2;background:#1d1d1d;box-shadow:none;color:#f9f4f2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:center;overflow:hidden;isolation:isolate}
.dc.wide::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 90% at 100% 0%,rgba(255,110,40,.28),transparent 60%)}
.dc.wide:hover{box-shadow:0 18px 40px -18px rgba(26,19,15,.4)}
.dc.wide h3{color:#f9f4f2;font-size:26px;letter-spacing:-.5px}
.dc.wide p{color:rgba(249,244,242,.72)}
.dc.wide .ic44{background:rgba(255,77,0,.16);color:#ff8a4c}
.dc .kv{display:flex;flex-direction:column;gap:12px}
/* one live record in the middle, the four jobs it drives around it */
.loop{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.loop span{display:flex;align-items:center;gap:9px;padding:13px 14px;border-radius:14px;background:rgba(249,244,242,.07);box-shadow:inset 0 0 0 1px rgba(249,244,242,.12);font-size:14px;font-weight:600;color:#f9f4f2}
.loop span svg{width:17px;height:17px;color:#ff8a4c}
.loop .core{grid-column:1/-1;justify-content:center;background:#f9f4f2;color:var(--ink);box-shadow:none;padding:15px 14px}
.loop .core img{width:18px;height:18px}
.loop small{grid-column:1/-1;text-align:center;font-size:12.5px;color:rgba(249,244,242,.55);margin-top:2px}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:auto;border-radius:12px;overflow:hidden;background:var(--hair);box-shadow:0 0 0 1px var(--hair)}
.mini div{background:var(--warm);padding:12px 14px}
.mini b{display:block;font-size:22px;letter-spacing:-.4px;font-weight:600;color:var(--black)}
.mini span{font-size:12.5px;line-height:1.35;color:var(--muted)}
.dc .src{font-size:12.5px;color:var(--faint)}

/* ---------- 05 who uses Solea ---------- */
.roles{display:grid;grid-template-columns:repeat(4,1fr);margin:40px -40px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.role{padding:28px 26px 30px;display:flex;flex-direction:column;gap:10px}
.role:first-child{padding-left:40px}
.role + .role{border-left:1px solid var(--rule)}
.role .sub-eyebrow{color:var(--faint)}
.role h3{font-size:19px;line-height:1.3;letter-spacing:-.25px;color:var(--ink)}
.role p{font-size:15px;line-height:1.55;color:var(--body)}
.lg-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:48px 0 22px;font-size:14px;color:var(--muted)}
.lg-head b{color:var(--ink);font-weight:600;font-size:15px}
.lgrid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--hair);margin-inline:-40px}
.lt{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:26px 18px 18px;display:flex;flex-direction:column;align-items:center;gap:16px;background:#fff}
.lt:nth-child(6n){border-right:0}
.lt .lm{height:46px;display:flex;align-items:center}
.lt img{max-height:40px;max-width:130px;filter:grayscale(1) contrast(1.05);opacity:.78;transition:opacity .2s,filter .2s}
.lt:hover img{filter:none;opacity:1}
.lt .sw{font-size:12.5px;color:var(--muted);text-align:center}
.lt .sw b{display:block;color:var(--ink2);font-weight:600}
/* customers without a “switched from” line: logo centered in the tile, grouped at the end of the grid (as on the homepage) */
.lt.bare{justify-content:center}

/* ---------- 06 team ---------- */
.founders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:40px}
.pc{display:flex;flex-direction:column;gap:18px;padding:28px;border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--hair),0 1px 3px rgba(26,19,15,.04)}
.pc-h{display:flex;gap:16px;align-items:center}
.av{position:relative;flex:none;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:600;letter-spacing:-.3px;color:var(--ink2);background:radial-gradient(90% 90% at 30% 20%,#f9f4f2,#e7ddd5)}
img.av{object-fit:cover;background:#e7ddd5}
.av::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(26,19,15,.06)}
.pc-h b{display:block;font-size:20px;line-height:1.2;letter-spacing:-.3px;font-weight:600;color:var(--ink)}
.pc-h span{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:14px;color:var(--muted)}
.pc > p{font-size:15px;line-height:1.6;color:var(--body);text-wrap:pretty}
.pc ul{list-style:none;margin:0;padding:14px 0 0;border-top:1px solid var(--hair);display:flex;flex-direction:column;gap:7px}
.pc li{position:relative;padding-left:16px;font-size:14px;line-height:1.45;color:var(--ink2)}
.pc li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:var(--faint)}
.pc .sub-eyebrow{margin-bottom:-8px}
.pc .li{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.pc .li svg{width:15px;height:15px}
.pc .li:hover{color:var(--orange)}
.crew{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}
.crew .pc{padding:22px;gap:14px}
.crew .av{width:48px;height:48px;font-size:16px}
.crew .pc-h b{font-size:17px}
.crew .pc-h span{font-size:13px}
.crew .pc > p{font-size:14px;line-height:1.55}
.pc.more{background:transparent;box-shadow:none;border:1px dashed rgba(17,17,17,.18);justify-content:center}
.pc.more b{font-size:17px;color:var(--ink);font-weight:600}
.origin{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;margin-top:16px}
.story-c{padding:32px;border-radius:20px;background:var(--warm);display:flex;flex-direction:column;gap:14px}
.story-c h3{font-size:24px;line-height:1.2;letter-spacing:-.4px;color:var(--ink)}
.story-c p{font-size:16px;line-height:1.6;color:var(--ink2);text-wrap:pretty}
.promise{position:relative;margin:0;padding:32px;border-radius:20px;background:#1d1d1d;color:#f9f4f2;display:flex;flex-direction:column;justify-content:space-between;gap:28px;overflow:hidden;isolation:isolate}
.promise::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 80% at 0% 100%,rgba(255,110,40,.25),transparent 60%)}
.promise img{width:26px;height:26px}
.promise blockquote{margin:0;font-size:30px;line-height:1.2;letter-spacing:-.6px;font-weight:600;text-wrap:balance}
.promise figcaption{font-size:14px;line-height:1.5;color:rgba(249,244,242,.66);max-width:44ch}

/* ---------- 06 in the industry: association memberships and team-at-events photos ---------- */
.assoc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px}
.ac{display:grid;grid-template-columns:240px minmax(0,1fr);border-radius:20px;background:#fff;box-shadow:0 0 0 1px var(--hair),0 1px 3px rgba(26,19,15,.04);overflow:hidden}
.ac-logo{display:grid;place-items:center;padding:28px;background:var(--warm);border-right:1px solid var(--hair)}
.ac-logo img{display:block;width:100%;max-width:180px;max-height:76px;object-fit:contain}
.ac-b{padding:26px 28px 24px;display:flex;flex-direction:column;gap:10px}
.ac-b .sub-eyebrow{color:var(--green)}
.ac-b h3{font-size:19px;line-height:1.3;letter-spacing:-.25px;color:var(--ink);text-wrap:balance}
.ac-b p{font-size:15px;line-height:1.55;color:var(--body);text-wrap:pretty}
.ac-b .lnk{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.ac-b .lnk svg{width:15px;height:15px}
.ac-b .lnk:hover{color:var(--orange)}
.ev-h{margin:40px 0 14px;color:var(--faint)}
.ev-band{display:grid;grid-template-columns:var(--cols,repeat(3,minmax(0,1fr)));gap:12px}
.evp{aspect-ratio:4/3;max-width:100%}
/* until the photos arrive: a dashed space with the ask */
.evp.hold{border-radius:18px;border:1px dashed rgba(17,17,17,.18);background:repeating-linear-gradient(135deg,rgba(17,17,17,.022) 0 10px,transparent 10px 20px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;color:var(--muted);font-size:14px}
.evp.hold svg{width:22px;height:22px;color:var(--faint)}

/* ---------- 06b in the press: one ruled tile per article, publication logo on top, the tile links out ---------- */
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:40px -40px 0;border-top:1px solid var(--rule)}
.pt{display:flex;flex-direction:column;gap:10px;padding:26px 24px 24px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#fff;transition:background .2s}
.pt:nth-child(4n){border-right:0}
.pt:hover{background:var(--warm)}
.pt-logo{height:44px;display:flex;align-items:center;margin-bottom:8px}
.pt-logo img{max-height:32px;max-width:160px;width:auto;filter:grayscale(1) contrast(1.05);opacity:.8;transition:filter .2s,opacity .2s}
.pt:hover .pt-logo img{filter:none;opacity:1}
.pt-logo .wm{font-size:19px;font-weight:700;letter-spacing:-.3px;color:var(--ink2)}
.pt-k{font:500 11px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.pt b{font-size:16px;line-height:1.35;letter-spacing:-.15px;font-weight:600;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pt-a{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink)}
.pt-a svg{width:15px;height:15px}
.pt:hover .pt-a{color:var(--orange)}

/* ---------- 07 how Solea works ---------- */
.steps{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.steps::before{content:"";position:absolute;left:6px;right:6px;top:6px;height:1px;background:rgba(17,17,17,.14)}
.steps li{position:relative;padding:28px 28px 0 0;display:flex;flex-direction:column;gap:8px}
.steps li::before{content:"";position:absolute;left:0;top:0;width:13px;height:13px;border-radius:50%;background:var(--page);border:1.5px solid var(--ink)}
.steps li:last-child::before{background:var(--orange);border-color:var(--orange)}
.steps .d{font:500 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.steps b{font-weight:600;font-size:19px;line-height:1.3;letter-spacing:-.2px;color:var(--ink)}
.steps p{font-size:15px;line-height:1.55;color:var(--body);text-wrap:pretty}
.contact{display:grid;grid-template-columns:repeat(4,1fr);margin:48px -40px -72px;border-top:1px solid var(--rule)}
.contact > *{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px;transition:background .2s}
.contact > *:first-child{padding-left:40px}
.contact > * + *{border-left:1px solid var(--rule)}
.contact a:hover{background:#fff}
.contact .sub-eyebrow{color:var(--faint)}
.contact b{font-size:16px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:6px}
.contact b svg{width:15px;height:15px}
.contact span{font-size:13.5px;color:var(--muted)}

/* ---------- 08 key facts ---------- */
.facts-g{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:56px;align-items:start}
.facts-g .sec-head{position:sticky;top:112px}
.facts{margin:0;border-top:1px solid rgba(17,17,17,.12)}
.facts > div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:15px 0;border-bottom:1px solid rgba(17,17,17,.08)}
.facts dt{font-size:14.5px;font-weight:600;color:var(--muted)}
.facts dd{margin:0;font-size:15.5px;line-height:1.55;color:var(--ink)}
.facts dd a{border-bottom:1px solid var(--b30)}
.facts dd a:hover{border-color:var(--ink)}

/* ---------- 09 FAQ ---------- */
.faq-g{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:56px;align-items:start}
.faq-g .sec-head{position:sticky;top:112px}
.faq .list{margin-top:0;max-width:none;border-top:1px solid rgba(17,17,17,.12)}

/* ---------- 10 close: the homepage's scene (parts/closer.css); only the copy block differs ---------- */
.ccopy{max-width:600px}
.ccta{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .cap{grid-template-columns:300px minmax(0,1fr);row-gap:18px}
  .cap .out{grid-column:2;padding-left:0;border-left:0}
  .band{height:360px}
  .crew{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  .lgrid{grid-template-columns:repeat(3,1fr)}
  .lt:nth-child(3n){border-right:0}
  .nav .links{display:none}
  .mburger{display:inline-grid}
  .hero-row{grid-template-columns:1fr;gap:24px}
  .hero-cta{justify-content:flex-start}
  .band{grid-template-columns:1fr 1fr;height:auto}
  .ph{aspect-ratio:4/3.4}
  .stats4{grid-template-columns:1fr 1fr}
  .stats4 > div:nth-child(3){padding-left:40px;border-left:0}
  .stats4 > div:nth-child(n+3){border-top:1px solid var(--rule)}
  .bento{grid-template-columns:1fr 1fr}
  .dc.wide{grid-column:1/-1}
  .roles{grid-template-columns:1fr 1fr}
  .role:nth-child(3){padding-left:40px;border-left:0}
  .role:nth-child(n+3){border-top:1px solid var(--rule)}
  .founders{grid-template-columns:1fr}
  .founders .pc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:32px;align-items:start}
  .founders .pc-h,.founders .pc > p{grid-column:1}
  .founders .pc .sub-eyebrow,.founders .pc ul,.founders .pc .li{grid-column:2}
  .founders .pc .sub-eyebrow{grid-row:1;margin:0;align-self:end}
  .founders .pc ul{grid-row:2}
  .founders .pc .li{grid-row:3}
  .origin,.facts-g,.faq-g,.assoc{grid-template-columns:1fr}
  .facts-g,.faq-g{gap:36px}
  .facts-g .sec-head,.faq-g .sec-head{position:static}
  .steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pt:nth-child(4n){border-right:1px solid var(--rule)}
  .pt:nth-child(2n){border-right:0}
  .steps::before{display:none}
  .contact{grid-template-columns:1fr 1fr}
  .contact > *:nth-child(3){padding-left:40px;border-left:0}
  .contact > *:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:760px){
  .wrap{padding-inline:20px}
  .ruled::before,.ruled::after{display:none}
  :root{--rail:0px}
  .rule-x{margin-inline:-20px}
  .ruled .sec{padding-block:64px}
  .h2{font-size:32px;letter-spacing:-.64px}
  .nav .right{gap:2px}
  .nav .right .btn{padding:9px 14px;font-size:15px}
  .ab-hero .wrap{padding-top:44px}
  /* phones can't hold the H1 on one line at a readable size: it balances over two */
  .ab-hero h1{white-space:normal;font-size:32px;letter-spacing:-.03em}
  .hero-row .intro{font-size:17.5px}
  .band{grid-template-columns:1fr 1fr;gap:8px;margin-top:36px}
  .ph{aspect-ratio:3/4;border-radius:14px}
  .ph figcaption{left:12px;right:12px;bottom:10px;font-size:11.5px}
  .ph figcaption b{font-size:13px}
  .stats4,.caps,.roles,.lgrid,.contact{margin-inline:-20px}
  .stats4 > div,.stats4 > div:first-child,.stats4 > div:nth-child(3){padding:20px}
  .stats4 b{font-size:34px}
  .cap{grid-template-columns:1fr;padding:26px 20px;gap:14px}
  .cap .out{grid-column:1}
  .bento{grid-template-columns:1fr}
  .dc.wide{grid-template-columns:1fr;gap:24px}
  .dc{padding:24px}
  .roles{grid-template-columns:1fr}
  .role,.role:first-child,.role:nth-child(3){padding:22px 20px;border-left:0}
  .role + .role{border-top:1px solid var(--rule)}
  .lgrid{grid-template-columns:repeat(2,1fr)}
  .lt:nth-child(3n){border-right:1px solid var(--hair)}
  .lt:nth-child(2n){border-right:0}
  .founders .pc{display:flex}
  .crew{grid-template-columns:1fr}
  .pc{padding:22px}
  .promise blockquote{font-size:24px}
  .story-c,.promise{padding:24px}
  .steps{grid-template-columns:1fr}
  .ac{grid-template-columns:1fr}
  .pgrid{grid-template-columns:1fr;margin-inline:-20px}
  .pt,.pt:nth-child(4n){border-right:0;padding:22px 20px}
  .ac-logo{border-right:0;border-bottom:1px solid var(--hair);padding:22px}
  .ev-band{grid-template-columns:1fr}
  .steps li{padding-right:0}
  .contact{grid-template-columns:1fr;margin-bottom:-64px}
  .contact > *,.contact > *:first-child,.contact > *:nth-child(3){padding:18px 20px;border-left:0}
  .contact > * + *{border-top:1px solid var(--rule)}
  .facts > div{grid-template-columns:1fr;gap:4px}
  footer .cols{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

.ruled > section.ab-hero::before{display:none}