.ab-hero{padding:64px 0;position:relative;overflow:hidden}.ab-hero .ab-hero-inner{text-align:center;max-width:880px;margin:0 auto;position:relative}.ab-hero h1{font-family:var(--font-display);font-size:var(--text-h1);letter-spacing:var(--tracking-tight);margin:18px 0 0;font-weight:800;line-height:1.06}.ab-hero h1 .serif{color:var(--accent);font-weight:400}.ab-hero .ab-aeo{font-size:var(--text-lead);color:var(--fg-muted);max-width:760px;margin:26px auto 0;line-height:1.6}.ab-hero .ab-aeo b{color:var(--fg-body);font-weight:600}.ab-narrative{grid-template-columns:.8fr 1.2fr;align-items:start;gap:56px;display:grid}.ab-narrative .ab-narr-head{position:sticky;top:96px}.ab-narrative .ab-narr-head h2{font-family:var(--font-display);font-size:var(--text-h2);letter-spacing:var(--tracking-tight);margin:14px 0 0;font-weight:700;line-height:1.12}.ab-prose{max-width:620px}.ab-prose p{color:var(--fg-body);margin:0 0 20px;font-size:17px;line-height:1.7}.ab-prose p:last-child{margin-bottom:0}.ab-prose .ab-lede{color:var(--fg-default);font-size:19px;font-weight:500}.ab-pullquote{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--fg-default);border-left:3px solid var(--accent);margin:28px 0;padding:4px 0 4px 24px;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-style:italic;line-height:1.3}.ab-prose .ab-emph{color:var(--fg-default);font-weight:600}.ab-beliefs{grid-template-columns:repeat(3,1fr);align-items:start;gap:18px;margin-top:48px;display:grid}.ab-belief{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--dur-base)var(--ease-out),box-shadow var(--dur-base);padding:30px 28px}.ab-belief:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ab-belief .ab-num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.04em;font-size:13px;font-weight:600}.ab-belief h3{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--fg-default);margin:16px 0 14px;font-size:24px;font-style:italic;font-weight:400;line-height:1.22}.ab-belief p{color:var(--fg-muted);margin:0;font-size:15px;line-height:1.6}.ab-serve-intro{max-width:720px}.ab-serve-intro p{color:var(--fg-body);margin:0 0 18px;font-size:17px;line-height:1.7}.ab-serve-intro p:last-child{margin-bottom:0}.ab-serve-intro .ab-emph{color:var(--fg-default);font-weight:600}.ab-serve{grid-template-columns:repeat(3,1fr);align-items:start;gap:18px;margin-top:44px;display:grid}.ab-serve-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--dur-base)var(--ease-out),box-shadow var(--dur-base);padding:28px 26px}.ab-serve-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ab-serve-ic{border-radius:var(--radius-md);background:var(--peach-100);width:48px;height:48px;color:var(--terracotta-600);place-items:center;margin-bottom:18px;display:grid}.ab-serve-ic .ic{width:23px;height:23px}.ab-serve-card h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 10px;font-size:19px;font-weight:600}.ab-serve-card p{color:var(--fg-muted);margin:0;font-size:14.5px;line-height:1.6}.ab-teamstats{border-top:1px solid var(--border-strong);grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px;padding-top:44px;display:grid}.ab-teamstats .ts{text-align:left}.ab-teamstats .ts-v{font-family:var(--font-mono);letter-spacing:-.03em;color:var(--accent);font-size:40px;font-weight:600;line-height:1}.ab-teamstats .ts-l{color:var(--fg-muted);max-width:180px;margin-top:12px;font-size:13.5px;line-height:1.4}.team-card .ab-li{color:var(--accent);align-items:center;gap:5px;margin-top:14px;font-size:13px;font-weight:600;display:inline-flex}.team-card .ab-li .ic{width:14px;height:14px}.team-card .ab-li:hover{color:var(--accent-hover)}.cmp-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);margin-top:48px;overflow:hidden}.cmp-scroll{overflow-x:auto}.cmp-table{border-collapse:collapse;width:100%;min-width:820px}.cmp-table th,.cmp-table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-subtle);padding:18px 22px}.cmp-table thead th{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg-default);background:var(--bg-surface-2);border-bottom:1px solid var(--border-strong);font-size:15px;font-weight:700}.cmp-table thead th:first-child{text-transform:uppercase;letter-spacing:.07em;color:var(--fg-subtle);font-size:11.5px;font-weight:700}.cmp-table thead th.cmp-us{background:var(--peach-50);color:var(--terracotta-600)}.cmp-table tbody td:first-child{color:var(--fg-body);width:22%;font-size:14px;font-weight:600}.cmp-table tbody td{color:var(--fg-muted);font-size:14.5px}.cmp-table td.cmp-us{background:var(--peach-50);color:var(--fg-default);font-weight:600}.cmp-table tbody tr:last-child td{border-bottom:none}.cmp-cell{align-items:flex-start;gap:8px;display:flex}.cmp-cell .ic{flex:none;margin-top:1px}.cmp-ok .ic{color:var(--green-500)}.cmp-no .ic{color:var(--red-500)}.cmp-warn .ic{color:var(--amber-500)}.cmp-foot{color:var(--fg-muted);text-align:center;max-width:760px;margin:26px auto 0;font-size:14.5px;line-height:1.6}.cmp-foot b{color:var(--fg-default);font-weight:600}.ab-mission{background:var(--bg-subtle)}.ab-mission .ab-mission-inner{text-align:center;max-width:820px;margin:0 auto}.ab-mission h2{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--fg-default);margin:16px 0 0;font-size:clamp(1.9rem,1.4rem + 2vw,2.9rem);font-style:italic;font-weight:400;line-height:1.22}.ab-mission .ab-mission-body{max-width:660px;margin:28px auto 0}.ab-mission .ab-mission-body p{color:var(--fg-muted);margin:0 0 18px;font-size:17px;line-height:1.7}.ab-mission .ab-mission-body p:last-child{margin-bottom:0}.ab-mission .ab-mission-body b{color:var(--fg-default);font-weight:600}@media (max-width:940px){.ab-narrative{grid-template-columns:1fr;gap:32px}.ab-narrative .ab-narr-head{position:static}.ab-beliefs,.ab-serve{grid-template-columns:1fr}.ab-teamstats{grid-template-columns:repeat(2,1fr);gap:28px 20px}}@media (max-width:560px){.ab-teamstats{grid-template-columns:1fr}}
