/* Carousel — About us + Contact us (locked home-v6 system) */
.ab-hero{padding:clamp(56px,6.5vw,104px) 0 clamp(34px,3.6vw,52px)}
.ab-measure{max-width:880px}
.ab-eyebrow{display:block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ab-h1{font-family:var(--serif);font-weight:440;font-size:clamp(38px,4.6vw,72px);line-height:1.05;letter-spacing:-.024em;color:var(--ink);margin:20px 0 0;text-wrap:balance}
.ab-h1 em{font-style:italic;font-weight:420}
.ab-lede{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-soft);margin:clamp(20px,2.2vw,30px) 0 0;max-width:56ch;text-wrap:pretty}

.ab-sec{padding:clamp(56px,6vw,96px) 0}
.ab-sec.deep{background:var(--paper-deep)}
.ab-label{display:block;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:clamp(16px,1.8vw,24px)}
.ab-h2{font-family:var(--serif);font-weight:440;font-size:clamp(30px,3.2vw,52px);line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:0;text-wrap:balance}
.ab-p{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink-soft);margin:clamp(18px,2vw,26px) 0 0;max-width:58ch;text-wrap:pretty}
.ab-p+.ab-p{margin-top:1.05em}
.ab-p b{font-weight:600;color:var(--ink)}

/* story: text + art */
.ab-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(36px,5vw,84px);align-items:center}
.ab-art{border-radius:16px;overflow:hidden;background:#EDE6DA;aspect-ratio:4/3.2;position:relative}
.ab-art .islot{position:absolute;inset:0;display:block}

/* principles */
.ab-rows{margin-top:clamp(30px,3.4vw,46px);border-top:1px solid var(--line-2)}
.ab-row{display:grid;grid-template-columns:64px minmax(0,1fr);gap:clamp(18px,2.4vw,34px);padding:clamp(26px,3vw,40px) 0;border-bottom:1px solid var(--line-2)}
.ab-row-n{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.12em;color:var(--muted);padding-top:.5em}
.ab-row h3{font-family:var(--serif);font-weight:450;font-size:clamp(23px,2.1vw,31px);line-height:1.2;letter-spacing:-.014em;color:var(--ink);margin:0;text-wrap:balance}
.ab-row p{font-size:var(--fs-support);line-height:1.55;color:var(--ink-soft);margin:12px 0 0;max-width:58ch;text-wrap:pretty}

/* affiliate entities */
.ab-ents{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,28px);margin-top:clamp(32px,3.6vw,48px)}
.ab-ent{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(24px,2.6vw,34px);min-height:100%}
.ab-ent-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ab-ent-mark{width:38px;height:38px;border-radius:11px;background:var(--faint);display:grid;place-items:center;color:var(--terra);flex:none}
.ab-ent-mark svg{width:20px;height:20px}
.ab-tag{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line-2);border-radius:999px;padding:5px 10px;white-space:nowrap}
.ab-tag.live{color:var(--terra);border-color:color-mix(in oklab,var(--terra) 34%,transparent);background:color-mix(in oklab,var(--terra) 7%,transparent)}
.ab-ent h3{font-family:var(--serif);font-weight:450;font-size:clamp(21px,1.9vw,27px);line-height:1.2;letter-spacing:-.014em;color:var(--ink);margin:clamp(20px,2.2vw,28px) 0 0}
.ab-ent p{font-size:17px;line-height:1.5;color:var(--ink-soft);margin:11px 0 0;text-wrap:pretty}
.ab-ent-foot{margin-top:auto;padding-top:clamp(20px,2.4vw,28px);font-size:16.5px;font-weight:600;color:var(--terra);display:inline-flex;align-items:center;gap:8px}
.ab-ent-foot.soon{color:var(--muted-2);font-weight:500}
.ab-ent-foot svg{width:15px;height:15px}
a.ab-ent{text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
a.ab-ent:hover{border-color:var(--line-2);box-shadow:0 22px 50px -30px rgba(45,30,15,.3);transform:translateY(-2px)}

/* careers strip */
.ab-join{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:clamp(20px,3vw,44px);padding:clamp(30px,3.4vw,48px) 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.ab-join h2{font-family:var(--serif);font-weight:440;font-size:clamp(26px,2.6vw,40px);line-height:1.14;letter-spacing:-.018em;color:var(--ink);margin:0;max-width:24ch;text-wrap:balance}

/* ---------- contact ---------- */
.ct-routes{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line-2);margin-top:clamp(30px,3.4vw,44px)}
.ct-route{padding:clamp(26px,3vw,38px) clamp(24px,3vw,40px);border-bottom:1px solid var(--line-2);border-left:1px solid var(--line-2)}
.ct-route:nth-child(odd){border-left:0;padding-left:0}
.ct-route h3{font-family:var(--sans);font-weight:600;font-size:18.5px;color:var(--ink);margin:0}
.ct-route p{font-size:16.5px;line-height:1.5;color:var(--muted);margin:9px 0 0}
.ct-route a{display:inline-block;margin-top:13px;font-size:17.5px;font-weight:500;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--terra);padding-bottom:2px}
.ct-route a:hover{opacity:.7}
.ct-route .ct-hours{display:block;margin-top:14px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2)}

.ct-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(40px,6vw,96px);align-items:start}
.ct-form{display:grid;gap:clamp(20px,2.2vw,28px);margin-top:clamp(26px,3vw,38px)}
.ct-field{display:grid;gap:9px}
.ct-field label{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-field input,.ct-field select,.ct-field textarea{font-family:var(--sans);font-size:17.5px;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:11px;padding:14px 16px;width:100%;transition:border-color .18s ease,box-shadow .18s ease}
.ct-field textarea{min-height:150px;resize:vertical;line-height:1.5}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:var(--muted-2)}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:0;border-color:var(--terra);box-shadow:0 0 0 3px color-mix(in oklab,var(--terra) 14%,transparent)}
.ct-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ct-note{font-size:15.5px;color:var(--muted)}
.ct-side{border-top:1px solid var(--line-2);padding-top:clamp(22px,2.4vw,30px);margin-top:clamp(26px,3vw,38px)}
.ct-side h3{font-family:var(--serif);font-weight:450;font-size:23px;line-height:1.2;color:var(--ink);margin:0}
.ct-side p{font-size:17px;line-height:1.5;color:var(--ink-soft);margin:12px 0 0;text-wrap:pretty}
.ct-side dl{margin:clamp(22px,2.4vw,30px) 0 0}
.ct-side .ct-item{padding:14px 0;border-top:1px solid var(--line-2)}
.ct-side dt{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ct-side dd{margin:7px 0 0;font-size:17px;color:var(--ink)}
.ct-side dd a{color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--terra);padding-bottom:1px}
.ct-side dd a:hover{opacity:.7}

@media (max-width:920px){
.ab-split{grid-template-columns:1fr}
.ab-ents{grid-template-columns:1fr}
.ab-row{grid-template-columns:1fr;gap:12px}
.ct-grid{grid-template-columns:1fr}
.ct-routes{grid-template-columns:1fr}
.ct-route{border-left:0;padding-left:0}
}

/* about: leaner, more visual */
.ab-hero{padding:clamp(56px,6.5vw,110px) 0 clamp(30px,3.2vw,44px)}
.ab-h1{max-width:20ch}
.ab-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:clamp(24px,2.6vw,34px);font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.ab-meta i{font-style:normal;color:var(--line-2)}
.ab-hl{position:relative;font-style:italic;font-weight:420;white-space:nowrap}
.ab-hl-line{position:absolute;left:-3%;right:-3%;bottom:-.1em;width:106%;height:.24em;color:var(--terra);overflow:visible}
.ab-hl-line path{stroke-dasharray:130;stroke-dashoffset:130}
.ab-hl.draw .ab-hl-line path{animation:faqDraw .65s cubic-bezier(.5,.1,.3,1) forwards}
@media (prefers-reduced-motion:reduce){.ab-hl-line path{stroke-dashoffset:0;animation:none!important}}
.ab-band{padding:clamp(8px,1vw,16px) 0 0}
.ab-band-art{position:relative;height:clamp(240px,26vw,420px);background:#EDE6DA;overflow:hidden;border-radius:clamp(14px,1.6vw,22px);margin:0 clamp(20px,4vw,48px)}
.ab-band-art .islot{position:absolute;inset:0;display:block}
.ab-split{align-items:end}
.ab-art{aspect-ratio:4/3.4}
.ab-beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(26px,3vw,40px);border-top:1px solid var(--line-2)}
.ab-belief{padding:clamp(26px,3vw,40px) clamp(22px,2.4vw,34px) clamp(30px,3.4vw,46px);border-left:1px solid var(--line-2)}
.ab-belief:first-child{border-left:0;padding-left:0}
.ab-belief span{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.12em;color:var(--muted-2)}
.ab-belief h3{font-family:var(--serif);font-weight:450;font-size:clamp(23px,2.1vw,30px);line-height:1.18;letter-spacing:-.016em;color:var(--ink);margin:clamp(16px,1.8vw,22px) 0 0;text-wrap:balance}
.ab-belief p{font-size:var(--fs-support);line-height:1.45;color:var(--muted);margin:11px 0 0;text-wrap:pretty}
.ab-nums{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.ab-num{padding:clamp(28px,3.2vw,44px) clamp(20px,2.4vw,34px);border-left:1px solid var(--line-2)}
.ab-num:first-child{border-left:0;padding-left:0}
.ab-num b{display:block;font-family:var(--serif);font-weight:420;font-size:clamp(38px,4.6vw,68px);line-height:1;letter-spacing:-.024em;color:var(--ink)}
.ab-num span{display:block;margin-top:13px;font-size:16.5px;line-height:1.4;color:var(--muted);max-width:22ch}
.ab-join h2{max-width:20ch}
@media (max-width:920px){.ab-beliefs,.ab-nums{grid-template-columns:1fr}.ab-belief,.ab-num{border-left:0;border-top:1px solid var(--line-2);padding-left:0}.ab-belief:first-child,.ab-num:first-child{border-top:0}}

/* ---------- about, refined ---------- */
.ab-hero{padding:clamp(60px,7vw,116px) 0 clamp(26px,2.8vw,38px)}
.ab-hero .ab-lede{max-width:52ch;margin-top:clamp(22px,2.4vw,30px)}
.ab-meta{margin-top:clamp(22px,2.4vw,30px)}
.ab-statwrap{padding:clamp(20px,2.4vw,34px) 0 0}
.ab-statbar{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ab-stat{padding:clamp(26px,3vw,40px) clamp(24px,2.6vw,36px);border-left:1px solid var(--line)}
.ab-stat:first-child{border-left:0}
.ab-stat b{display:block;font-family:var(--serif);font-weight:420;font-size:clamp(34px,3.8vw,56px);line-height:1;letter-spacing:-.024em;color:var(--ink)}
.ab-stat span{display:block;margin-top:12px;font-size:16.5px;line-height:1.45;color:var(--muted);max-width:24ch;text-wrap:pretty}

.ab-split{align-items:center}
.ab-art{aspect-ratio:4/4.1;border-radius:18px}
.ab-quote{margin:clamp(26px,3vw,38px) 0 0;padding:0 0 0 clamp(18px,2vw,26px);border-left:2px solid var(--terra)}
.ab-quote p{font-family:var(--serif);font-weight:420;font-size:clamp(20px,1.7vw,24px);line-height:1.35;letter-spacing:-.012em;color:var(--ink);margin:0;text-wrap:pretty}
.ab-quote cite{display:block;margin-top:12px;font-family:var(--mono);font-size:12px;font-style:normal;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

.ab-cardrow{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:clamp(28px,3.2vw,44px)}
.ab-card{padding:clamp(26px,3vw,38px);border-left:1px solid var(--line)}
.ab-card:first-child{border-left:0}
.ab-card-n{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.12em;color:var(--terra)}
.ab-card h3{font-family:var(--serif);font-weight:450;font-size:clamp(22px,2vw,28px);line-height:1.18;letter-spacing:-.016em;color:var(--ink);margin:clamp(16px,1.8vw,22px) 0 0;text-wrap:balance}
.ab-card p{font-size:var(--fs-support);line-height:1.5;color:var(--muted);margin:12px 0 0;text-wrap:pretty}

.ab-sec .ab-h2+.ab-p-wide{margin-top:clamp(16px,1.8vw,22px);max-width:52ch}
.ab-sec .ab-label+.ab-h2{margin-top:0}
.ab-ents{margin-top:clamp(28px,3.2vw,44px)}
.ab-sec-tight{padding-top:0}
.ab-label-tight{margin-bottom:12px}
.ab-join{align-items:flex-end}
@media (max-width:920px){
.ab-statbar,.ab-cardrow{grid-template-columns:1fr}
.ab-stat,.ab-card{border-left:0;border-top:1px solid var(--line)}
.ab-stat:first-child,.ab-card:first-child{border-top:0}
.ab-join{align-items:flex-start}
}

.ab-art .islot,.ab-band-art .islot{width:100%;height:100%}

.ab-cardrow{grid-template-columns:repeat(2,1fr)}
.ab-cardrow .ab-card:nth-child(3),.ab-cardrow .ab-card:nth-child(4){border-top:1px solid var(--line)}
.ab-cardrow .ab-card:nth-child(odd){border-left:0}
.ab-join-p{font-size:var(--fs-support);line-height:1.5;color:var(--muted);margin:14px 0 0;max-width:46ch;text-wrap:pretty}
@media (max-width:920px){.ab-cardrow{grid-template-columns:1fr}.ab-cardrow .ab-card{border-left:0;border-top:1px solid var(--line)}.ab-cardrow .ab-card:first-child{border-top:0}}

/* mission page: the gap ledger */
.ab-gap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px);margin-top:clamp(28px,3.2vw,44px)}
.ab-gapcol{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.4vw,32px)}
.ab-gapcol.now{background:var(--ink);border-color:var(--ink)}
.ab-gaphead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:clamp(14px,1.6vw,20px);border-bottom:1px solid var(--line)}
.ab-gapcol.now .ab-gaphead{border-color:rgba(250,249,245,.16)}
.ab-gaphead b{font-family:var(--serif);font-weight:450;font-size:clamp(21px,1.9vw,27px);letter-spacing:-.014em;color:var(--ink)}
.ab-gaphead span{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.ab-gapcol.now .ab-gaphead b{color:#FAF9F5}
.ab-gapcol.now .ab-gaphead span{color:rgba(250,249,245,.5)}
.ab-gapcol ul{list-style:none;margin:0;padding:0;display:grid}
.ab-gapcol li{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start;padding:clamp(13px,1.4vw,17px) 0;border-bottom:1px solid var(--line);font-size:var(--fs-support);line-height:1.45;color:var(--ink-soft);text-wrap:pretty}
.ab-gapcol li:last-child{border-bottom:0;padding-bottom:0}
.ab-gapcol.now li{border-color:rgba(250,249,245,.12);color:rgba(250,249,245,.82)}
.ab-gapcol li i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--faint);color:var(--muted-2);margin-top:1px}
.ab-gapcol li i.ok{background:color-mix(in oklab,var(--terra) 12%,transparent);color:var(--terra)}
.ab-gapcol.now li i{background:rgba(250,249,245,.1);color:rgba(250,249,245,.55)}
.ab-gapcol li i svg{width:13px;height:13px}
@media (max-width:920px){.ab-gap{grid-template-columns:1fr}}

.ab-h1 .ab-hl-line{left:-1.5%;right:-1.5%;width:103%;height:.2em;bottom:-.02em}
.ab-h1 .ab-hl-line path{stroke-dasharray:120;stroke-dashoffset:120}

/* ---------- cinematic pass ---------- */
.ab-hero{position:relative;min-height:clamp(460px,72vh,760px);display:flex;flex-direction:column;justify-content:center;padding:clamp(80px,10vw,150px) 0 clamp(60px,7vw,100px)}
.ab-h1{font-size:clamp(42px,6vw,96px);line-height:1.02;letter-spacing:-.03em;max-width:16ch;font-weight:420}
.ab-hero .ab-lede{font-size:clamp(21px,2.1vw,28px);line-height:1.4;max-width:38ch;color:var(--ink-soft);margin-top:clamp(26px,3vw,40px)}
.ab-scrollcue{position:absolute;left:50%;bottom:clamp(22px,3vw,40px);transform:translateX(-50%);width:1px;height:clamp(38px,5vw,64px);background:linear-gradient(to bottom,transparent,var(--line-2));overflow:hidden}
.ab-scrollcue span{position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--terra);animation:abCue 2.6s cubic-bezier(.6,0,.4,1) infinite}
@keyframes abCue{0%{top:-40%}70%{top:110%}100%{top:110%}}

.ab-state{background:var(--ink);color:#FAF9F5;padding:clamp(80px,11vw,170px) 0}
.ab-state-eyebrow{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(250,249,245,.45);margin:0}
.ab-state-h{font-family:var(--serif);font-weight:420;font-size:clamp(34px,5.2vw,84px);line-height:1.05;letter-spacing:-.028em;color:#FAF9F5;margin:clamp(24px,3vw,44px) 0 0;max-width:17ch;text-wrap:balance}
.ab-state-h em{font-style:italic;color:rgba(250,249,245,.62)}
.ab-state-p{font-size:clamp(18px,1.6vw,22px);line-height:1.55;color:rgba(250,249,245,.62);margin:clamp(26px,3vw,40px) 0 0;max-width:48ch;text-wrap:pretty}

.ab-gapcol li{grid-template-columns:minmax(0,1fr);font-size:clamp(17px,1.5vw,20px)}
.ab-gapcol li i{display:none}
.ab-gaphead b{font-size:clamp(19px,1.7vw,24px)}

.ab-reveal{opacity:0;transform:translateY(18px);transition:opacity .85s cubic-bezier(.22,.7,.3,1),transform .85s cubic-bezier(.22,.7,.3,1)}
.ab-reveal.in{opacity:1;transform:none}
.ab-reveal.d1{transition-delay:.1s}
.ab-reveal.d2{transition-delay:.2s}
@media (prefers-reduced-motion:reduce){.ab-reveal{opacity:1;transform:none;transition:none}.ab-scrollcue span{animation:none}}
@media (max-width:920px){.ab-hero{min-height:0}}

.ab-em{font-style:italic;font-weight:420;color:var(--terra)}

/* ---------- one continuous surface: no ink bands, no accent flecks ---------- */
.ab-state{background:transparent;color:var(--ink);padding:clamp(70px,9vw,140px) 0 clamp(50px,6vw,90px)}
.ab-state-eyebrow{color:var(--muted)}
.ab-state-h{color:var(--ink)}
.ab-state-h em{color:var(--muted-2)}
.ab-state-p{color:var(--ink-soft)}
.ab-sec.deep{background:transparent}
.ab-gapcol{background:transparent;border-color:var(--line-2)}
.ab-gapcol.now{background:var(--paper-deep);border-color:var(--line-2)}
.ab-gapcol.now .ab-gaphead{border-color:var(--line-2)}
.ab-gapcol.now .ab-gaphead b{color:var(--ink)}
.ab-gapcol.now .ab-gaphead span{color:var(--muted-2)}
.ab-gapcol.now li{border-color:var(--line-2);color:var(--ink-soft)}
.ab-em{color:var(--ink);font-style:italic}
.ab-label{color:var(--muted)}
.ab-card-n{color:var(--muted-2)}
.ab-quote{border-left-color:var(--line-2)}
.ab-statbar,.ab-cardrow{background:transparent}
.ab-scrollcue span{background:var(--muted-2)}
.ab-join{border-top:0;border-bottom:0;padding-top:0}
.ab-sec{padding:clamp(48px,5.4vw,84px) 0}

/* ---------- editorial hanging-label grid ---------- */
.ab-hang{display:grid;grid-template-columns:clamp(150px,17vw,230px) minmax(0,1fr);gap:clamp(20px,3vw,56px);align-items:start}
.ab-hang-side{position:sticky;top:150px}
.ab-hang-side .ab-label{margin:0;padding-top:.55em;line-height:1.4}
.ab-hang-main{min-width:0}
.ab-hang-main>.ab-h2+.ab-p-wide{margin-top:clamp(14px,1.6vw,20px)}
@media (max-width:900px){.ab-hang{grid-template-columns:1fr;gap:14px}.ab-hang-side{position:static}.ab-hang-side .ab-label{padding-top:0}}

.ab-state-h{max-width:15ch}
.ab-state-p{max-width:44ch}

/* comparison: shared rows, read across */
.ab-sec-cmp{padding-top:clamp(24px,3vw,44px)}
.ab-cmp{border-top:1px solid var(--line-2)}
.ab-cmp-head,.ab-cmp-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,72px)}
.ab-cmp-head{padding:clamp(18px,2vw,26px) 0 clamp(14px,1.6vw,20px)}
.ab-cmp-head b{display:block;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}
.ab-cmp-head span{display:block;margin-top:6px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}
.ab-cmp-row{border-top:1px solid var(--line);padding:clamp(20px,2.4vw,32px) 0;align-items:baseline}
.ab-cmp-row>div{font-size:clamp(18px,1.7vw,23px);line-height:1.35;color:var(--ink);text-wrap:pretty;position:relative}
.ab-cmp-row>div:last-child{color:var(--muted);font-family:var(--serif);font-style:italic;font-weight:420;letter-spacing:-.008em}
.ab-cmp-n{display:block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--muted-2);margin-bottom:10px}
@media (max-width:760px){.ab-cmp-head,.ab-cmp-row{grid-template-columns:1fr;gap:10px}.ab-cmp-row>div:last-child{padding-left:14px;border-left:2px solid var(--line-2)}}

/* mission: copy + art */
.ab-mission-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);gap:clamp(28px,4vw,64px);align-items:start;margin-top:clamp(22px,2.6vw,34px)}
.ab-mission-body .ab-art{aspect-ratio:4/4.6;border-radius:18px;position:sticky;top:150px}
@media (max-width:900px){.ab-mission-body{grid-template-columns:1fr}.ab-mission-body .ab-art{position:static;aspect-ratio:16/10}}

/* principles: numbered editorial rows, no boxes */
.ab-principles{border-top:1px solid var(--line-2)}
.ab-principle{display:grid;grid-template-columns:clamp(44px,5vw,72px) minmax(0,1fr);gap:clamp(14px,2vw,28px);padding:clamp(22px,2.6vw,36px) 0;border-bottom:1px solid var(--line)}
.ab-principle>span{font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.12em;color:var(--muted-2);padding-top:.45em}
.ab-principle h3{font-family:var(--serif);font-weight:450;font-size:clamp(23px,2.2vw,32px);line-height:1.15;letter-spacing:-.018em;color:var(--ink);margin:0;text-wrap:balance}
.ab-principle p{font-size:var(--fs-support);line-height:1.5;color:var(--muted);margin:10px 0 0;max-width:52ch;text-wrap:pretty}
@media (max-width:600px){.ab-principle{grid-template-columns:1fr;gap:8px}}

/* ---------- simplify: one calm column, labels above ---------- */
.ab-hang{display:block}
.ab-hang-side{position:static}
.ab-hang-side .ab-label{padding-top:0;margin-bottom:clamp(14px,1.6vw,20px)}
.ab-sec .wrap>.ab-hang>.ab-hang-main{max-width:none}
.ab-state-h{max-width:18ch}
.ab-cmp-row>div:last-child{font-family:var(--sans);font-style:normal;font-weight:400;color:var(--muted)}
.ab-cmp-row{padding:clamp(17px,2vw,24px) 0}
.ab-cmp-row>div{font-size:clamp(17px,1.5vw,20px)}
.ab-mission-body .ab-art{position:relative}
.ab-sec{padding:clamp(44px,5vw,76px) 0}
