.ab-hero { padding: clamp(40px, 6vw, 80px) 0; background: var(--paper); border-bottom: 1px solid var(--line); }
.ab-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; }
.ab-hero h1 { font-size: clamp(32px, 4.6vw, 54px); }
.ab-hero .lead { font-size: clamp(16px, 1.6vw, 19px); color: var(--ink-3); }
.ab-hero-img img { border-radius: var(--radius-l); width: 100%; aspect-ratio: 5 / 3.6; object-fit: cover; box-shadow: var(--shadow-l); }
.brand-card { border: 1px solid var(--line); border-radius: var(--radius-l); padding: 32px; display: grid; gap: 12px; align-content: start; }
.brand-card img { height: 56px; width: auto; }
.brand-card h3 { font-size: 22px; margin: 6px 0 0; }
.brand-card p { color: var(--ink-3); margin: 0; }
.brand-card .link-arrow { color: var(--accent); }
.brand-card--ink { background: var(--ink); color: #fff; border-color: var(--ink); }
.brand-card--ink p { color: #c3c6cc; }
.brand-card--ink .link-arrow { color: #f0b48f; }
.brand-mark { display: flex; align-items: center; gap: 12px; height: 56px; color: #fff; font-weight: 800; letter-spacing: .2em; font-size: 13px; }
.brand-mark svg { width: 52px; height: 52px; color: #2a2d33; }
.values .value { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 22px; }
.value b { color: var(--accent); font-size: 13px; letter-spacing: .1em; }
.value h3 { font-size: 19px; margin: 10px 0 8px; }
.value p { color: var(--muted); margin: 0; font-size: 15px; }
.soc-layout { display: grid; grid-template-columns: 360px 1fr; gap: 40px; align-items: start; }
.timeline { list-style: none; border-left: 2px solid var(--line); padding-left: 0; display: grid; gap: 0; }
.timeline li { position: relative; padding: 0 0 22px 24px; display: grid; gap: 2px; }
.timeline li::before { content: ""; position: absolute; left: -7px; top: 6px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--accent); }
.tl-date { font-size: 13px; font-weight: 800; color: var(--accent); }
.timeline b { font-size: 16px; }
.timeline p { margin: 0; color: var(--muted); font-size: 14px; }
.soc-cards .card h3 { font-size: 17px; }
@media (max-width: 960px) { .ab-hero-grid, .soc-layout { grid-template-columns: 1fr; } }
.wf-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.wf-grid h2 { font-size: var(--fs-h2); color: #fff; }
.wf-lead { color: #c3c6cc; }
.wf-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wf-list li { border: 1px solid #2f333a; border-radius: var(--radius); padding: 20px; display: grid; gap: 4px; }
.wf-list b { color: #fff; font-size: 17px; }
.wf-list span { color: #9ea2a9; font-size: 14px; }
@media (max-width: 860px) { .wf-grid { grid-template-columns: 1fr; } }
.loc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.loc-grid h2 { font-size: var(--fs-h2); }
.loc-card { border-radius: var(--radius-l); overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.loc-map { position: relative; height: 340px; background: var(--stone); }
.loc-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.loc-card-body { padding: 18px 20px; display: grid; gap: 2px; background: #fff; }
.loc-card-body span { color: var(--muted); font-size: 14px; }
@media (max-width: 860px) { .loc-grid { grid-template-columns: 1fr; } }
