.vn-capacity-page {
    color: #425467;
    font-family: var(--vn-font);
    font-size: 16px;
    line-height: 1.8;
    background: #fff;
}

.vn-capacity-wrap {
    width: min(1240px, calc(100% - 64px));
    margin: 0 auto;
}

.vn-capacity-page p { margin: 0 0 18px; }
.vn-capacity-page h1,
.vn-capacity-page h2 {
    color: var(--vn-blue);
    font-weight: 700;
    overflow-wrap: break-word;
}

.vn-capacity-page h2 {
    margin: 0 0 24px;
    font-size: clamp(23px, 2.4vw, 32px);
    line-height: 1.4;
    scroll-margin-top: 36px;
}

.vn-capacity-hero {
    padding: 60px 0;
    border-bottom: 1px solid #e1e8ef;
    background: linear-gradient(115deg, #f2f6fb, #fff 80%);
}

.vn-capacity-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 48px;
    align-items: center;
}

.vn-capacity-hero-copy { min-width: 0; }
.vn-capacity-page .vn-capacity-eyebrow {
    margin-bottom: 18px;
    color: #54738e;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .12em;
}

.vn-capacity-hero h1 {
    margin: 0 0 24px;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.25;
    text-wrap: balance;
}

.vn-capacity-page .vn-capacity-summary {
    margin-bottom: 0;
    font-size: 17px;
    line-height: 1.85;
}

.vn-capacity-photo { min-width: 0; margin: 0; }
.vn-capacity-photo a { display: block; border-radius: 12px; }
.vn-capacity-photo a:focus-visible { outline: 3px solid #07549a; outline-offset: 5px; }
.vn-capacity-photo .vn-capacity-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.vn-capacity-photo figcaption {
    margin-top: 12px;
    color: #718294;
    font-size: 12px;
    line-height: 1.6;
}

.vn-capacity-content { padding: 48px 0 80px; }
.vn-capacity-introduction { max-width: 1080px; }
.vn-capacity-page .vn-capacity-promise {
    margin-bottom: 22px;
    color: #254e76;
    font-size: clamp(20px, 2vw, 25px);
    font-weight: 700;
    line-height: 1.55;
}

.vn-capacity-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 34px 0 0;
}

.vn-capacity-nav > br { display: none; }

.vn-capacity-nav a {
    display: flex;
    align-items: center;
    min-height: 76px;
    padding: 16px 18px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    color: #25577f;
    background: #f6f9fc;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.vn-capacity-nav a:hover,
.vn-capacity-nav a:focus-visible { border-color: #07549a; background: #eaf2fa; }
.vn-capacity-section { padding-top: 52px; margin-top: 46px; border-top: 1px solid #e3eaf0; }
.vn-capacity-section > p { max-width: 1120px; }
.vn-capacity-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 30px;
}

.vn-capacity-gallery .vn-capacity-photo a {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 4 / 3;
    background: #f0f4f7;
}

.vn-capacity-gallery .vn-capacity-image { width: 100%; height: 100%; object-fit: contain; }
.vn-capacity-coffee-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 28px 0; }
.vn-capacity-coffee-card { padding: 26px 28px; border-left: 3px solid #07549a; border-radius: 0 10px 10px 0; background: #f3f7fb; }
.vn-capacity-coffee-card p { margin: 0; }
.vn-capacity-coffee-card strong { color: #215479; }
.vn-capacity-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 52px; align-items: center; }
.vn-capacity-tall-photo { width: min(100%, 380px); margin: 0 auto; }
.vn-capacity-split--reverse > .vn-capacity-photo { grid-column: 1; grid-row: 1; }
.vn-capacity-split--reverse > div { grid-column: 2; grid-row: 1; }
.vn-capacity-office .vn-capacity-photo { width: min(100%, 860px); margin: 0 auto; }
.vn-capacity-conclusion { margin-top: 52px; padding: 32px 38px; border-radius: 12px; background: #eff5fa; }
.vn-capacity-conclusion p { max-width: 1040px; margin: 0 auto; color: #25577b; font-size: 18px; line-height: 1.8; }

@media (max-width: 1024px) {
    .vn-capacity-wrap { width: calc(100% - 48px); }
    .vn-capacity-hero-grid { gap: 30px; }
    .vn-capacity-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vn-capacity-split { gap: 32px; }
}

@media (max-width: 760px) {
    .vn-capacity-wrap { width: calc(100% - 32px); }
    .vn-capacity-page { font-size: 15px; line-height: 1.85; }
    .vn-capacity-hero { padding: 34px 0; }
    .vn-capacity-hero-grid,
    .vn-capacity-split { grid-template-columns: 1fr; gap: 26px; }
    .vn-capacity-hero h1 { font-size: clamp(28px, 7.4vw, 38px); line-height: 1.3; }
    .vn-capacity-page .vn-capacity-eyebrow { font-size: 11px; letter-spacing: .08em; }
    .vn-capacity-page .vn-capacity-summary { font-size: 15px; }
    .vn-capacity-content { padding: 34px 0 48px; }
    .vn-capacity-nav { gap: 10px; }
    .vn-capacity-nav a { min-height: 84px; padding: 12px; font-size: 12px; }
    .vn-capacity-section { margin-top: 32px; padding-top: 34px; }
    .vn-capacity-gallery { grid-template-columns: 1fr; gap: 26px; }
    .vn-capacity-gallery .vn-capacity-photo a { aspect-ratio: auto; }
    .vn-capacity-gallery .vn-capacity-image { width: 100%; max-height: 480px; height: auto; object-fit: contain; }
    .vn-capacity-coffee-grid { grid-template-columns: 1fr; gap: 16px; }
    .vn-capacity-coffee-card { padding: 22px; }
    .vn-capacity-split--reverse > .vn-capacity-photo,
    .vn-capacity-split--reverse > div { grid-column: auto; grid-row: auto; }
    .vn-capacity-conclusion { margin-top: 34px; padding: 24px; }
    .vn-capacity-conclusion p { font-size: 16px; }
}
