.cap-page { margin: 0; background: #f7faf9; color: #183047; font: 16px/1.8 "Be Vietnam Pro", "Segoe UI", Arial, sans-serif; }
.cap-page *, .cap-page *::before, .cap-page *::after { box-sizing: border-box; }
.cap-page a { color: inherit; text-underline-offset: 4px; }
.cap-page a:focus-visible { outline: 3px solid #009959; outline-offset: 4px; }
.cap-wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.cap-skip { position: fixed; left: 12px; top: 12px; padding: 8px 16px; background: white; z-index: 99; transform: translateY(-180%); }
.cap-skip:focus { transform: none; }
.cap-header { background: #061a31; color: white; }
.cap-header-inner { min-height: 80px; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.cap-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.cap-brand img { object-fit: contain; }
.cap-brand strong { font-size: 1.2rem; letter-spacing: .14em; display: block; line-height: 1.4; }
.cap-brand small { font-size: .75rem; color: #b7c7d6; }
.cap-header nav { display: flex; gap: 24px; font-size: .9375rem; }
.cap-header nav a { text-decoration: none; }
.cap-header nav a:hover { color: #84e2ae; }
.cap-hero { background: #0a243b; color: white; padding: 34px 0 64px; }
.cap-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; font-size: .875rem; color: #c1d1de; margin-bottom: 36px; }
.cap-eyebrow { color: #75e3a8; font-size: .875rem; letter-spacing: .08em; margin: 0 0 14px; }
.cap-hero h1 { max-width: 900px; font-size: clamp(2rem, 4.5vw, 3.5rem); line-height: 1.15; letter-spacing: -.03em; margin: 0 0 24px; }
.cap-lead { max-width: 760px; font-size: 1.15rem; color: #cbd9e3; margin: 0; }
.cap-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 60px; padding-block: 56px 80px; align-items: start; }
.cap-article { min-width: 0; }
.cap-intro { margin: 0 0 28px; font-size: 1.15rem; color: #213d50; }
.cap-article figure { margin: 0 0 36px; }
.cap-article figure img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; background: #eaf0ed; border-radius: 14px; }
.cap-article figcaption { font-size: .875rem; color: #5b6c77; padding-top: 10px; }
.cap-article section { padding: 30px 0; border-top: 1px solid #dce5e0; scroll-margin-top: 24px; }
.cap-index { color: #008448; font-weight: 700; font-size: .875rem; margin: 0 0 8px; }
.cap-article h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); line-height: 1.35; letter-spacing: -.02em; margin: 0 0 18px; }
.cap-article section > p:not(.cap-index):not(.cap-eyebrow) { color: #455d6b; margin: 0 0 16px; }
.cap-aside { display: grid; gap: 20px; position: sticky; top: 24px; }
.cap-panel { padding: 24px; border: 1px solid #dce5e0; border-radius: 14px; background: white; }
.cap-panel h2 { font-size: 1rem; line-height: 1.4; margin: 0 0 12px; }
.cap-panel a { display: block; text-decoration: none; font-size: .9375rem; line-height: 1.6; padding: 10px 0; border-bottom: 1px solid #eef2ef; color: #536774; }
.cap-panel a:last-child { border-bottom: 0; }
.cap-panel a[aria-current], .cap-panel a:hover { color: #007a44; font-weight: 650; }
.cap-catalog { padding: 20px 24px; border-radius: 12px; background: #e4f5eb; color: #006f3f !important; font-weight: 650; text-decoration: none; }
.cap-article .cap-international { padding: 26px; background: #ecf5f0; border: 1px solid #cfdfd5; border-radius: 14px; margin: 26px 0; }
.cap-international .cap-eyebrow { color: #007b45; }
.cap-article .cap-cooperate { padding: 28px; background: #0a243b; border: 0; border-radius: 14px; color: white; }
.cap-article .cap-cooperate > p:not(.cap-index):not(.cap-eyebrow) { color: #cbd9e3; }
.cap-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; }
.cap-actions a { padding: 11px 16px; background: #008547; color: #fff; border-radius: 8px; text-decoration: none; font-weight: 600; }
.cap-actions a + a { background: #fff; color: #183047; }
.cap-contact-line { font-size: .875rem; overflow-wrap: anywhere; }
.cap-footer { background: #061a31; color: #cbd9e3; padding: 40px 0; }
.cap-footer strong { color: white; }
.cap-footer nav { display: flex; flex-wrap: wrap; gap: 12px 26px; font-size: .9375rem; }
@media(max-width: 900px) { .cap-layout { grid-template-columns: 1fr; gap: 30px; } .cap-aside { position: static; grid-template-columns: 1fr 1fr; } }
@media(max-width: 600px) {
  .cap-wrap { width: calc(100% - 28px); }
  .cap-header-inner { flex-wrap: wrap; gap: 10px; padding-block: 14px; }
  .cap-header nav { width: 100%; gap: 12px 20px; flex-wrap: wrap; font-size: .875rem; }
  .cap-hero { padding: 24px 0 38px; }
  .cap-breadcrumb { margin-bottom: 26px; }
  .cap-lead, .cap-intro { font-size: 1rem; }
  .cap-layout { padding-block: 34px 48px; }
  .cap-aside { grid-template-columns: 1fr; }
  .cap-article .cap-international, .cap-article .cap-cooperate { padding: 22px 18px; }
}
