:root {
  --text: #143459;
  --blue: #2e48ec;
  --dark-blue: #01289d;
  --pale: #eaf3fe;
  --card: #f3f4f7;
  font-family: 'Noto Sans TC', Arial, sans-serif;
  color: var(--text);
  font-synthesis: none;
  font-weight: 400;
  line-height: 1.5;
}
* { box-sizing: border-box; }
body, h1, h2, h3, h4, p, figure, dl, dd, ul { margin: 0; }
body { min-width: 320px; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
img { display: block; }
table { border-collapse: collapse; border-spacing: 0; }
th { font-weight: 500; }
:focus-visible { outline: 3px solid #ffbe23; outline-offset: 5px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 16px; top: -80px; z-index: 5; padding: 12px 20px; color: var(--text); background: white; }
.skip-link:focus { top: 12px; }
.hero { width: 100%; height: 100dvh; position: relative; overflow: hidden; background: #043380; }
.hero-media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
@media (max-aspect-ratio: 13/10) {
  .hero-media { object-fit: cover; object-position: center; }
}
.site-header { position: fixed; inset: 0 0 auto; z-index: 1000; height: 72px; display: flex; align-items: center; padding: 0 32px; background: transparent; transition: background-color .3s ease, box-shadow .3s ease; }
.site-header--scrolled { background: #fff; box-shadow: 0 2px 12px rgb(0 0 0 / 12%); }
.site-header img { width: 159px; height: 34px; }
.back-to-top { position: fixed; z-index: 999; right: 57px; bottom: 50px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 5px; background: rgb(102 102 102 / 60%); color: white; font-size: 16px; font-weight: 400; line-height: 1; opacity: .6; }
.back-to-top:hover, .back-to-top:focus-visible { opacity: 1; }
.section { padding: 80px 0; background: white; }
.section-inner { width: min(1200px, calc(100% - 40px)); margin: 0 auto; display: flex; flex-direction: column; gap: 80px; }
.product-page :where(h2, h3, h4, p, figcaption, dt, dd, td, th, button, a, span) { overflow-wrap: anywhere; }
.pale-section { background: var(--pale); }
.dark-section { background: var(--dark-blue); color: white; }
.section-2, .section-3, .section-6, .faq-section, .profile-section { padding: 100px 0; }
.section-intro { display: flex; flex-direction: column; gap: 32px; text-align: center; width: 100%; }
.section-intro h2 { font-size: 48px; line-height: 72px; font-weight: 700; color: var(--blue); }
.section-intro p { font-size: 18px; line-height: 27px; }
.dark-section .section-intro h2 { color: white; }
.content-stack { display: flex; flex-direction: column; gap: 60px; }
.card { border-radius: 12px; background: white; color: var(--text); }
.card h3, figcaption { text-align: center; font-size: 18px; line-height: 27px; font-weight: 500; }
.source-note { font-size: 13px; line-height: 1.5; font-weight: 400; }
.section-1 .source-note { min-height: 20px; }
.performance-card .source-note { min-height: 70px; }
.compound-card .source-note { min-height: 84px; }
.notice-highlight { color: var(--blue); font-size: 14px; font-weight: 500; }
.section-4 .notice-highlight { font-size: 16px; }
.dark-section .notice-highlight { color: white; }
.chart-one { padding: 40px; background: var(--card); display: flex; flex-direction: column; gap: 50px; }
.chart-one picture, .chart-one img { max-width: 100%; height: auto; }
.evolution-card { display: grid; grid-template-columns: 484px 114px 460px; align-items: end; padding: 40px 70px; height: 379px; }
.evolution-icons { position: relative; height: 127px; display: flex; align-items: flex-start; justify-content: space-between; padding: 19px 70px 0; }
.flow-arrow { display: block; position: relative; flex: none; width: 28px; height: 12px; }
.flow-arrow::before { content: ''; position: absolute; left: 0; top: 5px; width: 19px; height: 2px; background: var(--blue); }
.flow-arrow::after { content: ''; position: absolute; left: 18px; top: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-left: 10px solid var(--blue); }
.evolution-icons .flow-arrow { position: absolute; left: 228px; top: 53.23px; }
.between-arrow { align-self: start; margin: 53.23px 0 0 8px; }
.evolution-table { width: 484px; font-size: 16px; line-height: 24px; text-align: center; }
.evolution-table th, .evolution-table td { width: 50%; height: 43px; border-top: 1px solid #7283a6; padding: 8px 10px; }
.evolution-table th { font-size: 18px; }
.evolution-table tbody tr:nth-child(odd) { background: var(--pale); }
.evolution-table tr:last-child td { border-bottom: 1px solid #7283a6; }
.solution h3 { background: var(--blue); border-radius: 8px 8px 0 0; color: white; height: 38px; padding: 5px 0; }
.solution-body { height: 261px; display: flex; gap: 20px; border: 1px solid #7283a6; border-radius: 0 0 8px 8px; padding: 40px; }
.solution-body article { width: 113px; flex: none; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.solution h4 { font-size: 18px; line-height: 27px; font-weight: 500; }
.solution p { font-size: 16px; line-height: 24px; }
.feature-cards { display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr; gap: 20px; align-items: center; }
.feature-card { height: 494px; padding: 40px 24.333px; display: flex; flex-direction: column; align-items: center; }
.feature-card h3 { color: var(--blue); font-size: 20px; line-height: 30px; margin-bottom: 40px; }
.leaders { display: flex; flex-direction: column; gap: 40px; }
.leader { display: flex; gap: 20px; align-items: center; }
.leader > div { width: 130px; text-align: center; font-size: 18px; line-height: 27px; }
.leader h4 { color: #005bac; font-size: 18px; font-weight: 500; margin-bottom: 8px; }
.feature-summary { background: var(--pale); border-radius: 8px; font-size: 16px; line-height: 24px; width: 298px; min-height: 79px; padding: 15.5px 8px; text-align: center; margin-top: 40px; }
.feature-summary span { display: block; }
.industry-map { width: 248px; font-size: 16px; line-height: 24px; }
.industry-map-head { min-height: 33px; display: flex; gap: 12px; padding-left: 28px; }
.industry-map-row { display: grid; grid-template-columns: 48px 64px 112px; gap: 12px; align-items: center; height: 32px; margin-bottom: 8px; text-align: center; }
.industry-map-row:last-child { margin-bottom: 0; }
.industry-map-row span:nth-child(2) { background: #d4e0ff; border-radius: 4px; padding: 4px 0; }
.industry-map-row span:nth-child(3) { background: #fff6bb; border-radius: 4px; padding: 4px 0; }
.performance-card { padding: 60px 40px; display: flex; flex-direction: column; gap: 60px; }
.performance-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.performance-charts figure { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.split-card { background: var(--card); padding: 60px 40px; display: grid; grid-template-columns: 626px 470px; gap: 24px; }
.split-card figure { display: flex; flex-direction: column; align-items: center; gap: 28px; }
figcaption small { display: block; margin-top: 8px; font-weight: 400; font-size: 16px; line-height: 24px; }
.section-6 .section-inner { gap: 60px; }
.timeline { margin: 0 auto; }
.compound-card { background: var(--card); padding: 60px 100px; display: flex; flex-direction: column; gap: 60px; }
.compound-card figure { background: white; border-radius: 12px; padding: 50px 0; display: flex; flex-direction: column; align-items: center; gap: 40px; }
.compound-card figcaption small { font-size: 18px; line-height: 27px; }
.faq-container { width: 1000px; margin: 0 auto; }
.faq-card { padding: 20px 40px; background: white; border-radius: 12px; color: var(--text); }
.faq-group-heading { color: var(--blue); font-size: 20px; font-weight: 500; line-height: 30px; padding: 48px 24px 20px; }
.faq-group-heading:first-child { padding-top: 20px; }
.faq-item { padding: 32px 24px; box-shadow: inset 0 -1px #d2d2d2; }
.faq-item.group-last { box-shadow: none; }
.faq-container > .source-note { font-size: 14px; font-weight: 500; line-height: 21px; }
.faq-question { display: flex; align-items: center; gap: 12px; padding: 0; width: 100%; background: transparent; border: 0; color: var(--text); text-align: left; }
.question-number { font-size: 28px; line-height: 42px; font-weight: 500; flex: none; }
.question-text { flex: 1; font-size: 18px; line-height: 27px; font-weight: 500; }
.faq-chevron { display: flex; align-items: center; justify-content: center; width: 14px; height: 14px; flex: none; }
.faq-chevron::after { content: ''; display: block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.is-open .faq-chevron::after { transform: rotate(225deg); }
.faq-answer { padding: 12px 20px 0 50px; font-size: 18px; line-height: 27px; font-weight: 400; }
.faq-answer p { white-space: pre-line; }
.faq-answer .faq-answer-note { margin-top: 27px; font-size: 14px; line-height: 21px; }
.faq-comparison-block { width: 800px; margin: 0 auto 12px; }
.faq-comparison-scroll { width: 100%; }
.faq-comparison { width: 100%; table-layout: fixed; font-size: 16px; line-height: 24px; text-align: center; }
.faq-comparison th, .faq-comparison td { height: 40px; padding: 8px; font-weight: 400; border: 0; box-shadow: inset 0 -1px #d2d2d2; }
.faq-comparison tr > :nth-child(n+2):nth-child(-n+4) { background: #fff0c5; }
.faq-comparison tr > :nth-child(n+5) { background: var(--pale); }
.faq-comparison thead tr:first-child > :nth-child(2) { background: #ffd05b; }
.faq-comparison thead tr:first-child > :nth-child(3) { background: #b9ddfa; }
.faq-comparison tbody { font-family: 'Inter', Arial, sans-serif; }
.faq-comparison-note { font-size: 14px; line-height: 21px; margin-top: 24px; }
.faq-comparison-note span { font-size: 14px; font-weight: 500; }
.allocation-content { width: 1128px; margin: 0 auto; display: flex; flex-direction: column; gap: 60px; }
.allocation-charts { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.allocation-chart { height: 450px; display: flex; flex-direction: column; justify-content: space-between; }
.allocation-chart h3, .holdings h3 { font-size: 20px; line-height: 30px; font-weight: 500; }
.allocation-chart-body { display: flex; align-items: center; gap: 28px; }
.donut { width: 240px; height: 240px; border-radius: 50%; position: relative; flex: none; display: grid; place-items: center; }
.donut:before { content: ''; width: 120px; height: 120px; background: white; border-radius: 50%; position: absolute; }
.donut span { position: relative; font-size: 14px; color: #7283a6; }
.allocation-legend { list-style: none; padding: 0; flex: 1; }
.allocation-legend li { display: grid; grid-template-columns: 8px 1fr auto; align-items: center; gap: 12px; font-size: 16px; margin: 12px 0; }
.allocation-legend i { width: 8px; height: 8px; border-radius: 50%; }
.allocation-more { float: right; border: 0; background: none; padding: 0; color: #0088e4; font-size: 14px; }
.industry-dialog { width: min(1000px, calc(100vw - 48px)); max-height: calc(100dvh - 80px); border: 0; border-radius: 12px; padding: 44px 80px 60px; color: var(--text); box-shadow: 0 8px 32px rgb(0 0 0 / 15%); }
.industry-dialog::backdrop { background: rgb(0 0 0 / 60%); }
.industry-dialog-header { display: flex; align-items: center; justify-content: center; position: relative; margin-bottom: 40px; }
.industry-dialog-header h2 { font-size: 20px; line-height: 30px; }
.industry-dialog-header button { position: absolute; right: -48px; top: -20px; border: 0; background: none; color: #999; font-size: 32px; line-height: 1; }
.industry-dialog-content { display: flex; align-items: center; justify-content: center; gap: 70px; }
.industry-dialog-content .allocation-legend { flex: 0 1 460px; }
.industry-dialog-content .allocation-legend li { grid-template-columns: 8px 1fr auto; margin: 16px 0; font-size: 18px; }
.industry-dialog-content .allocation-legend strong { font-weight: 500; }
.industry-dialog > .data-date { margin-top: 40px; text-align: right; }
.fund-data-error { text-align: center; color: #a22; font-size: 16px; }
.fund-data-error button { margin-left: 12px; border: 0; background: none; color: #005bac; text-decoration: underline; }
.data-date { color: #7283a6; font-size: 13px; line-height: 21px; }
.holdings { min-height: 476px; display: flex; flex-direction: column; gap: 40px; }
.holdings-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }
.holdings-columns dl > div { display: flex; justify-content: space-between; border-bottom: 1px solid #d2dce8; padding: 20px 24px; font-size: 16px; line-height: 24px; }
.holdings .data-date { text-align: right; }
.profile-details { display: flex; flex-direction: column; gap: 80px; }
.profile-table-wrapper { width: 1000px; margin: 0 auto; }
.document-links { display: flex; align-items: center; justify-content: center; gap: 32px; height: 56px; background: var(--pale); font-size: 16px; }
.document-title { display: none; }
.document-links a, .document-links span { display: inline-flex; align-items: center; gap: 12px; }
.document-links img { width: 17.5px; height: 17.5px; }
.document-pending { cursor: default; }
.profile-table { width: 100%; table-layout: fixed; font-size: 16px; line-height: 24px; }
.profile-table col:nth-child(odd) { width: 16%; }
.profile-table col:nth-child(even) { width: 34%; }
.profile-table th { width: 160px; background: #005bac; color: white; padding: 15.5px 20px; border-bottom: 1px solid white; font-weight: 400; }
.profile-table td { width: 340px; padding: 15.5px 20px; border-bottom: 1px solid #005bac; white-space: pre-line; }
.profile-table .fee-row { height: 184px; }
.profile-note { margin-top: -20px; text-align: left; }
.profile-distribution-notice { color: var(--blue); font-size: 14px; font-weight: 500; line-height: 21px; }
.warning-section { padding: 80px 0; background: var(--pale); }
.warning-inner { width: min(1200px, calc(100% - 40px)); margin: 0 auto; display: flex; flex-direction: column; gap: 20px; }
.warning-title { display: flex; align-items: center; gap: 20px; font-size: 18px; font-weight: 500; }
.warning-title h2 { font-size: 24px; line-height: 36px; font-weight: 500; }
.company-info { font-size: 12px; line-height: 18px; }
.warning-copy { font-size: 14px; line-height: 21px; font-weight: 500; }
.warning-highlight { color: #005bac; }
.underlined { text-decoration: underline; text-underline-position: under; }
.aml-warning { font-size: 18px; line-height: 27px; font-weight: 500; }
.site-footer { padding: 32px 20px; background: linear-gradient(180deg, #2e48ec 0%, #087ee8 55%, #00b9ee 100%); display: flex; flex-direction: column; gap: 16px; align-items: center; color: white; font-size: 13px; line-height: 19.5px; }
.social-links { width: 102px; height: 22px; display: flex; justify-content: space-between; }
.social-links > a { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; }
.social-links img { max-width: 22px; max-height: 22px; }
.footer-copy { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.footer-contact { display: flex; align-items: center; justify-content: center; gap: 12px; }
.mobile-only, .evolution-mobile-comparison, .compound-mobile-callout { display: none; }
@media (min-width: 768px) and (max-width: 1239px) {
  .section-inner { gap: clamp(40px, 6vw, 80px); }
  .section-intro h2 { font-size: clamp(32px, 4vw, 48px); line-height: 1.5; }
  .evolution-card { height: auto; display: flex; flex-direction: column; align-items: center; gap: 32px; padding: 40px; }
  .evolution-comparison, .solution { width: min(100%, 484px); }
  .evolution-table { width: 100%; }
  .between-arrow { align-self: center; margin: 0; transform: rotate(90deg); }
  .solution-body { justify-content: center; height: auto; min-height: 261px; padding: 40px 20px; }
  .solution-body article { flex: 1 1 0; min-width: 0; }
  .feature-cards { display: flex; flex-direction: column; gap: 20px; }
  .feature-cards > img { transform: rotate(90deg); }
  .feature-card { width: min(100%, 480px); height: auto; min-height: 494px; }
  .performance-charts { grid-template-columns: 1fr; }
  .performance-charts figure, .split-card figure { min-width: 0; }
  .performance-charts picture, .performance-charts img, .split-card picture, .split-card img { max-width: 100%; height: auto; }
  .split-card { grid-template-columns: 1fr; }
  .timeline { max-width: 100%; height: auto; }
  .compound-card { padding-inline: clamp(30px, 6vw, 100px); }
  .compound-card picture, .compound-card img { max-width: 100%; height: auto; }
  .faq-container, .allocation-content, .profile-table-wrapper { width: 100%; }
  .faq-comparison-block { max-width: 100%; overflow-x: auto; }
  .allocation-charts { grid-template-columns: 1fr; gap: 40px; }
  .allocation-chart { height: auto; gap: 32px; }
  .allocation-chart-body { justify-content: center; }
  .allocation-chart-body .allocation-legend { max-width: 300px; }
  .holdings-columns { gap: 32px; }
  .profile-table th { width: 16%; }
  .profile-table td { width: 34%; }
}
@media (max-width: 767px) {
  body { min-width: 320px; }
  .product-page { overflow-x: clip; }
  .site-header { height: 60px; padding: 0 20px; }
  .site-header img { width: 127px; height: auto; }
  .back-to-top { right: 12px; bottom: 60px; font-size: 12px; }
  .hero {
    height: 100dvh;
    min-height: 600px;
    aspect-ratio: auto;
    background: #043380;
  }
  .hero-media {
    inset: 0;
    width: 100%;
    object-fit: fill;
    object-position: center;
    transform: none;
  }
  .section, .section-2, .section-3, .section-6, .faq-section, .profile-section { padding: 40px 20px; }
  .section-inner, .warning-inner { width: 100%; gap: 40px; }
  .section-intro { gap: 20px; }
  .section-intro h2 { font-size: 32px; line-height: 1.5; }
  .section-intro p { font-size: 18px; line-height: 27px; }
  .content-stack { gap: 40px; }
  .card { width: 100%; }
  .card h3, figcaption { font-size: 18px; line-height: 27px; }
  .source-note { font-size: 13px; line-height: 19.5px; }
  .notice-highlight { font-size: 14px; line-height: 21px; }
  .section-1 .source-note, .performance-card .source-note, .compound-card .source-note { min-height: 0; }
  .chart-one { padding: 32px 20px; gap: 20px; }
  .chart-one picture, .chart-one img { display: block; width: 100%; height: auto; }
  .evolution-card { display: flex; flex-direction: column; align-items: stretch; height: auto; padding: 32px 20px; gap: 40px; }
  .evolution-comparison, .between-arrow { display: none; }
  .evolution-mobile-comparison { display: grid; grid-template-columns: 80px minmax(0, 195px); gap: 20px; justify-content: center; height: 350px; }
  .evolution-mobile-icons { position: relative; height: 350px; }
  .evolution-mobile-icons img { position: absolute; left: 0; width: 80px; height: 80px; }
  .evolution-mobile-icons img:first-child { top: 46px; }
  .evolution-mobile-icons img:nth-of-type(2) { top: 218px; }
  .evolution-mobile-icons .mobile-flow-arrow { position: absolute; left: 34px; top: 158px; width: 12px; height: 28px; }
  .evolution-mobile-icons .mobile-flow-arrow:last-child { top: 330px; }
  .evolution-mobile-icons .mobile-flow-arrow::before { left: 5px; top: 0; width: 2px; height: 18px; }
  .evolution-mobile-icons .mobile-flow-arrow::after { left: 0; top: 17px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 11px solid var(--blue); border-bottom: 0; }
  .evolution-mobile-tables { display: flex; flex-direction: column; align-self: start; gap: 2px; background: #7283a6; }
  .evolution-mobile-tables .evolution-table { flex: none; width: 100%; border-collapse: separate; background: white; table-layout: fixed; font-size: 16px; line-height: 24px; }
  .evolution-mobile-tables .evolution-table th, .evolution-mobile-tables .evolution-table td { width: 100%; height: 43px; padding: 8px 5px; }
  .evolution-mobile-tables .evolution-table th { font-size: 18px; line-height: 27px; padding-block: 7px; }
  .evolution-mobile-tables .evolution-table tr:last-child td { border-bottom: 0; box-shadow: inset 0 -1px #7283a6; }
  .solution h3 { height: auto; padding: 4px 8px; font-size: 18px; line-height: 27px; }
  .solution-body { height: auto; flex-direction: column; align-items: center; gap: 20px; padding: 40px; }
  .solution-body article { width: 113px; display: flex; flex-direction: column; gap: 12px; text-align: center; }
  .solution-body article img { width: 80px; height: 80px; }
  .feature-cards { display: flex; flex-direction: column; gap: 20px; }
  .feature-card { width: 100%; height: auto; padding: 32px 20px; }
  .feature-card h3 { margin-bottom: 40px; }
  .leaders { gap: 20px; }
  .leader { gap: 20px; }
  .leader > div { width: 130px; }
  .feature-summary { max-width: 100%; height: auto; margin-top: 20px; }
  .feature-card .market-chart { max-width: 100%; height: auto; }
  .performance-card { padding: 32px 20px; gap: 40px; }
  .performance-charts { display: flex; flex-direction: column; gap: 40px; }
  .performance-charts figure { gap: 40px; }
  .performance-charts picture, .performance-charts img { display: block; width: 100%; height: auto; }
  .section-4 .notice-highlight { font-size: 16px; line-height: 24px; }
  .split-card { display: flex; flex-direction: column; padding: 32px 20px; gap: 40px; }
  .split-card figure { gap: 28px; }
  .split-card figcaption { width: 100%; }
  .split-card figcaption small { margin-top: 12px; }
  .split-card figure:nth-child(2) figcaption small { display: none; }
  .split-card picture, .split-card picture img { display: block; width: 100%; height: auto; }
  .split-card figure:nth-child(2) picture { background: white; border-radius: 8px; padding: 32px 9px; }
  .section-6 .section-inner { gap: 40px; }
  .timeline-picture { display: block; margin: 0 auto; width: min(330px, 100%); }
  .timeline { width: 100%; height: auto; }
  .compound-card { padding: 32px 20px; gap: 0; }
  .compound-card figure { padding: 0; background: transparent; gap: 20px; }
  .compound-card figcaption small { font-size: 16px; line-height: 24px; margin-top: 12px; }
  .compound-mobile-callout { display: block; width: 100%; position: relative; padding: 16px; background: var(--blue); color: white; font-size: 16px; line-height: 24px; text-align: center; border-radius: 4px; }
  .compound-mobile-callout::after { content: ''; position: absolute; left: calc(50% - 12px); bottom: -12px; border-left: 12px solid transparent; border-right: 12px solid transparent; border-top: 12px solid var(--blue); }
  .compound-card picture { display: block; width: min(278px, 100%); margin: 16px auto 0; }
  .compound-card picture img { width: 100%; height: auto; }
  .desktop-only { display: none; }
  .mobile-only { display: block; }
  .faq-container { width: 100%; }
  .faq-card { padding: 20px; }
  .faq-group-heading { font-size: 18px; line-height: 27px; padding: 36px 8px 12px; }
  .faq-group-heading:first-child { padding-top: 0; }
  .faq-item { padding: 20px 8px; }
  .question-number { font-size: 24px; line-height: 36px; }
  .question-text { font-size: 18px; line-height: 27px; font-weight: 400; }
  .faq-answer { padding: 12px 0 0 0; font-size: 16px; line-height: 24px; }
  .faq-comparison-block { width: 100%; overflow: visible; }
  .faq-comparison-scroll { overflow-x: auto; }
  .faq-comparison { min-width: 690px; }
  .faq-container > .source-note { font-size: 14px; line-height: 21px; }
  .allocation-content { width: 100%; gap: 40px; }
  .allocation-charts, .holdings-columns { grid-template-columns: 1fr; gap: 40px; }
  .allocation-chart { height: auto; display: block; }
  .allocation-chart h3, .holdings h3 { font-size: 18px; line-height: 27px; margin-bottom: 24px; }
  .allocation-chart-body { flex-direction: row; align-items: flex-start; gap: 32px; }
  .donut { width: 110px; height: 110px; }
  .donut:before { width: 50px; height: 50px; }
  .allocation-legend { width: auto; min-width: 0; flex: 1; }
  .allocation-legend li { grid-template-columns: 10px minmax(0, 1fr) 64px; gap: 12px; min-height: 39px; margin: 0; padding: 8px 0; line-height: 23px; }
  .allocation-legend i { width: 10px; height: 10px; }
  .allocation-chart .data-date { margin-top: 20px; }
  .holdings { min-height: 0; display: block; }
  .holdings-columns { gap: 0; }
  .holdings-columns dl > div { height: 48px; align-items: center; padding: 0 4px; border-color: #d2d2d2; line-height: 24px; }
  .holdings .data-date { margin-top: 40px; text-align: left; }
  .profile-details { gap: 60px; margin-top: 16px; }
  .profile-table-wrapper { width: 100%; }
  .document-links { height: 104px; padding: 20px; display: grid; grid-template-columns: max-content max-content; grid-template-rows: 26px 26px; justify-content: center; align-content: center; gap: 12px 20px; font-size: 16px; }
  .document-links .document-title { display: block; grid-column: 1 / -1; text-align: center; line-height: 24px; }
  .document-links a, .document-links span.document-pending { gap: 12px; }
  .profile-table { display: grid; grid-template-columns: 120px minmax(0, 1fr); table-layout: auto; font-size: 16px; line-height: 24px; }
  .profile-table colgroup { display: none; }
  .profile-table tbody, .profile-table tr { display: contents; }
  .profile-table th { display: flex; align-items: center; justify-content: center; width: auto; min-height: 56px; padding: 12px; border-bottom: 1px solid white; }
  .profile-table td { display: flex; align-items: center; width: auto; min-height: 56px; padding: 12px; border-bottom: 1px solid #005bac; overflow-wrap: anywhere; }
  .profile-table .fee-row { height: auto; }
  .profile-note { margin-top: -20px; text-align: left; }
  .industry-dialog { width: min(335px, calc(100vw - 40px)); max-height: calc(100dvh - 146px); padding: 20px; overflow: auto; }
  .industry-dialog-header { min-height: 67px; margin: 0; padding: 20px 24px; }
  .industry-dialog-header button { right: 0; top: 0; }
  .industry-dialog-content { flex-direction: column; gap: 24px; padding-top: 20px; }
  .industry-dialog-content .donut { width: 220px; height: 220px; }
  .industry-dialog-content .donut:before { width: 110px; height: 110px; }
  .industry-dialog-content .allocation-legend { width: 100%; flex: none; }
  .industry-dialog-content .allocation-legend li { grid-template-columns: 10px minmax(0, 1fr) 64px; min-height: 36px; margin: 0; padding: 8px 0; font-size: 16px; }
  .industry-dialog-content .allocation-legend strong { text-align: right; }
  .warning-section { padding: 40px 20px; }
  .warning-title { flex-wrap: wrap; }
  .site-footer { text-align: center; }
  .footer-contact { flex-wrap: wrap; }
}
@media (max-width: 374px) {
  .evolution-mobile-comparison { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; height: auto; min-height: 360px; }
  .evolution-mobile-icons { height: auto; min-height: 360px; }
  .evolution-mobile-tables .evolution-table th, .evolution-mobile-tables .evolution-table td { height: auto; min-height: 43px; }
  .industry-map { width: min(248px, 100%); }
  .industry-map-row { grid-template-columns: minmax(0, 48px) minmax(0, 64px) minmax(0, 1fr); }
  .industry-map-head { padding-left: 0; justify-content: space-around; }
  .allocation-chart-body { gap: 12px; }
  .allocation-legend li { grid-template-columns: 10px minmax(0, 1fr) auto; gap: 6px; }
  .document-links { height: auto; min-height: 104px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding-inline: 12px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

[v-cloak] { display: none; }
