@charset "UTF-8";

/* Reset margin and padding for body to remove footer gap and prevent 10px default font size */
body {
  margin: 0;
  padding: 0!important;
}

/* LP Container for centering and fixed margins/padding as requested */
.lp-container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

.header {
  width: 100%;
  background-color: #ffffff;
  border-bottom: 2px solid #c5a059 !important; /* Golden bottom accent border */
  box-sizing: border-box;
}

.header-nav {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 12px 24px;
  box-sizing: border-box;
}

.nav-logo {
  display: flex;
  align-items: center;
}

.nav-logo img {
  display: block;
  height: 51px; /* Default height for PC */
  width: auto;
}

/* SP layout (768px and below) */
@media (max-width: 768px) {
  .header-nav {
    padding: 10px 16px;
  }
  
  /* Prevent logo from overflowing and adjust vertical height on mobile */
  .nav-logo img {
    height: 35px; /* Beautiful proportional height for mobile header */
    width: auto;
  }
}

/* Base Layout Wrapper */
.lp-container {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  background-color: #ffffff;
  box-shadow: 0 10px 40px rgba(0,0,0,0.06);
  box-sizing: border-box;
  overflow: hidden;
}

/* Inner Margins Requirement */
.inner {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 769px) {
  .inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}

@media (max-width: 768px) {
  .inner {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Section Common Spacings */
.lp-section {
  padding-top: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid #eae7e0;
}

@media (max-width: 768px) {
  .lp-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

/* Common UI Elements */
.text-gold {
  color: #c5a059 !important;
}
.bg-gold-light {
  background-color: #fdfaf2 !important;
}
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}
.font-bold {
  font-weight: 700 !important;
}
.mt-x-3 { margin-top: 16px !important; }
.mt-x-4 { margin-top: 24px !important; }
.mt-x-5 { margin-top: 36px !important; }
.mb-x-4 { margin-bottom: 24px !important; }
.card-shadow {
  box-shadow: 0 6px 20px rgba(141, 110, 53, 0.08);
  border: 1px solid #f2eedb;
  background-color: #ffffff;
}

/* Section Title Premium */
.section-title-premium, h2 {
  font-size: 28px !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #1a1d20 !important;
  margin-bottom: 36px !important;
  position: relative !important;
  letter-spacing: 0.05em !important;
}

.section-title-premium::after, h2::after {
  content: '' !important;
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background-color: #c5a059 !important;
  margin: 12px auto 0 !important;
}

@media (max-width: 768px) {
  .section-title-premium, h2 {
  font-size: 28px !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #1a1d20 !important;
  margin-bottom: 36px !important;
  position: relative !important;
  letter-spacing: 0.05em !important;
}
}

/* Hero Section */
.hero-section {
  width: 100%;
  background: #ffffff;
}
.hero-image-wrapper {
  width: 100%;
}
.hero-banner-img {
  width: 100%;
  height: auto;
  display: block;
}

/* Fund Title Banner */
.fund-title-banner {
  background-color: #1a1d20; /* Luxury Dark Charcoal */
  color: #ffffff;
  padding-top: 36px;
  padding-bottom: 36px;
  text-align: center;
}
.fund-title-banner .fund-tag {
  display: inline-block;
  background-color: #c5a059;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  padding: 4px 16px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.fund-title-banner .main-title {
  font-size: 32px;
  font-weight: 700;
  margin: 0 0 10px 0;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.fund-title-banner .nickname {
  font-size: 22px;
  font-weight: 700;
  color: #f0d59e;
  margin: 0;
}

@media (max-width: 768px) {
  .fund-title-banner {
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .fund-title-banner .main-title {
    font-size: 20px;
  }
  .fund-title-banner .nickname {
    font-size: 16px;
  }
}

/* Intro Section */
.intro-section {
  padding-top: 32px;
  padding-bottom: 48px;
  background-color: #fdfcf7;
  border-bottom: 1px solid #eae7e0;
}
.notice-box {
  border: 1px solid #e1dbcc;
  padding: 16px;
  border-radius: 6px;
  background-color: #ffffff;
  margin-bottom: 32px;
  font-size: 14px;
  color: #666;
}
.notice-box p {
  margin: 0;
  line-height: 1.5;
}
.notice-box .doc-date {
  font-weight: 700;
  color: #c5a059;
  margin-top: 4px;
}
.intro-text {
  font-size: 15px !important;
  line-height: 1.8;
  color: #3c3c3a;
  text-align: center !important;
  margin: 0 0 36px 0;
  padding: 2.2rem !important;
}

@media (max-width: 768px) {
  .intro-text {
  font-size: 15px !important;
  line-height: 1.8;
  color: #3c3c3a;
  text-align: center !important;
  margin: 0 0 36px 0;
  padding: 1.5rem !important;
}
}

/* CTA Wrapper & Buttons */
.cta-wrapper {
  text-align: center;
}
.cta-button {
  display: inline-block;
  background: linear-gradient(135deg, #d4af37 0%, #aa8024 100%);
  color: #ffffff !important;
  font-size: 22px;
  font-weight: 700;
  text-decoration: none !important;
  padding: 18px 48px;
  border-radius: 50px;
  box-shadow: 0 8px 24px rgba(170, 128, 36, 0.3);
  transition: all 0.3s ease;
  border: none;
}
.cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(170, 128, 36, 0.4);
}

@media (max-width: 768px) {
  .cta-button {
    font-size: 16px;
    padding: 14px 28px;
    width: 100%;
    box-sizing: border-box;
  }
}

/* Features Grid (4 points) */
.features-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.feature-card {
  display: flex;
  background-color: #ffffff;
  border: 1px solid #eae7e0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03);
  transition: transform 0.2s ease;
}
.feature-card:hover {
  transform: translateY(-2px);
}
.feature-card .card-num {
  background-color: #1a1d20;
  color: #c5a059;
  font-size: 32px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  border-right: 2px solid #c5a059;
}
.feature-card .card-content {
  padding: 24px;
  flex: 1;
}
.feature-card .card-content h3 {
  margin: 0 0 10px 0;
  font-size: 20px;
  font-weight: 700;
  color: #1a1d20;
}
.feature-card .card-content p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #4a4a48;
}
.feature-card .card-notes {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px dashed #eae7e0;
  font-size: 13px;
  color: #888;
}
.feature-card .card-notes p {
  margin: 0 0 4px 0;
  font-size: 13px;
  line-height: 1.4;
  color: #888;
}

@media (max-width: 768px) {
  .feature-card {
    flex-direction: column;
  }
  .feature-card .card-num {
    padding: 10px;
    min-width: auto;
    font-size: 24px;
    border-right: none;
    border-bottom: 2px solid #c5a059;
  }
  .feature-card .card-content {
    padding: 16px;
  }
  .feature-card .card-content h3 {
    font-size: 18px;
  }
  .feature-card .card-content p {
    font-size: 14px;
  }
}

/* Why Gold Section */
.why-gold-section {
  background-color: #fafcf6;
}
.section-lead {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #c5a059;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .section-lead {
    font-size: 16px;
    margin-bottom: 24px;
  }
}

.why-gold-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}
.why-card {
  background-color: #ffffff;
  border: 1px solid #eae7e0;
  border-radius: 8px;
  padding: 24px;
  text-align: center;
}
.why-card .why-icon {
  font-size: 36px;
  margin-bottom: 16px;
  color: #c5a059;
}
.why-card h3 {
  font-size: 18px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 12px 0;
  line-height: 1.4;
}
.why-card p {
  font-size: 14px;
  line-height: 1.5;
  color: #4a4a48;
  margin: 0;
}

@media (max-width: 768px) {
  .why-gold-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .why-card {
    padding: 16px;
  }
  .why-card h3 {
    font-size: 16px;
  }
}

/* Flow Diagram */
.flow-diagram-container {
  display: flex;
  align-items: stretch;
  justify-content: center;
  background-color: #ffffff;
  padding: 32px;
  border-radius: 8px;
  border: 1px solid #ebdcb9;
  margin-bottom: 24px;
}
.diagram-block {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.flow-box {
  background-color: #f7f5f0;
  border: 1px solid #e1dcce;
  border-radius: 6px;
  padding: 16px;
  width: 100%;
  max-width: 240px;
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  box-sizing: border-box;
}
.flow-box.gold-gradient {
  background: linear-gradient(135deg, #fefbf0 0%, #ebdcb9 100%);
  border-color: #c5a059;
}
.flow-box.accent-box {
  background-color: #1a1d20;
  color: #ffffff;
  border-color: #1a1d20;
}
.flow-box.info-box {
  text-align: left;
  background-color: #fdfaf2;
  border-color: #ebdca7;
}
.flow-box.info-box .box-title {
  display: block;
  font-weight: 700;
  font-size: 15px;
  color: #8a6f2b;
  margin-bottom: 8px;
  border-bottom: 1px solid #e1dcce;
  padding-bottom: 4px;
  text-align: center;
}
.flow-box.info-box .list-bullet {
  margin: 0;
  padding-left: 16px;
  font-size: 13px;
  font-weight: 500;
  color: #555;
  line-height: 1.4;
}
.flow-arrow {
  font-size: 14px;
  color: #c5a059;
  margin: 6px 0;
}
.diagram-separator {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
  color: #c5a059;
  padding: 0 16px;
}
.source-text {
  font-size: 12px;
  color: #888;
  margin-top: 12px;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .flow-diagram-container {
    flex-direction: column;
    padding: 16px;
  }
  .diagram-separator {
    padding: 12px 0;
  }
  .flow-box {
    max-width: 100%;
  }
}

/* Why Mid/Small Block */
.mid-small-block {
  margin-top: 48px;
  padding: 32px;
  border-radius: 8px;
}
.block-title {
  font-size: 22px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 8px 0;
  text-align: center;
}
.block-lead {
  font-size: 16px;
  text-align: center;
  color: #555;
  margin-bottom: 32px;
}
.growth-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.stat-card {
  background-color: #fbfbf9;
  border: 1px solid #eae7e0;
  border-radius: 6px;
  padding: 20px;
  text-align: center;
}
.stat-card .stat-label {
  display: block;
  font-size: 14px;
  color: #666;
  margin-bottom: 8px;
  font-weight: 700;
}
.stat-card .stat-num {
  font-size: 36px;
  font-weight: 700;
  color: #333;
}

@media (max-width: 768px) {
  .mid-small-block {
    padding: 16px;
    margin-top: 32px;
  }
  .block-title {
    font-size: 18px;
  }
  .block-lead {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .growth-stats-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .stat-card {
    padding: 12px;
  }
  .stat-card .stat-num {
    font-size: 28px;
  }
}

/* Tables Styling */
.table-scroll-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: 20px;
}
.premium-table, .outline-table, .composition-table, .correlation-table-data {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  text-align: left;
}
.premium-table th, .premium-table td {
  padding: 14px;
  border: 1px solid #e1dcce;
  line-height: 1.4;
}
.premium-table th {
  background-color: #f7f5f0;
  color: #1a1d20;
  font-weight: 700;
  text-align: center;
}
.premium-table th.highlight-col {
  background-color: #1a1d20;
  color: #ffffff;
  border-color: #1a1d20;
}
.premium-table th .sub {
  font-size: 11px;
  font-weight: 500;
}
.premium-table .row-header {
  font-weight: 700;
  background-color: #fbfbf9;
}
.premium-table .row-val {
  text-align: center;
}
.premium-table .val-bold {
  font-weight: 700;
  font-size: 16px;
}

@media (max-width: 768px) {
  .premium-table {
    font-size: 13px;
  }
  .premium-table th, .premium-table td {
    padding: 8px;
  }
}

/* Portfolio Allocation */
.portfolio-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.p-feature-box {
  background-color: #fdfcf9;
  border: 1px solid #ebdcb9;
  border-radius: 6px;
  padding: 20px;
  position: relative;
}
.p-feature-box::before {
  content: '';
  display: block;
  width: 4px;
  height: 24px;
  background-color: #c5a059;
  position: absolute;
  left: 0;
  top: 20px;
}
.p-feature-box h4 {
  font-size: 16px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 10px 0;
  padding-left: 10px;
  line-height: 1.4;
}
.p-feature-box p {
  font-size: 14px;
  line-height: 1.5;
  color: #4a4a48;
  margin: 0;
}

@media (max-width: 768px) {
  .portfolio-features {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .p-feature-box {
    padding: 16px;
  }
  .p-feature-box h4 {
    font-size: 15px;
  }
}

.portfolio-composition {
  padding: 32px;
  border-radius: 8px;
}
.comp-title {
  font-size: 20px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 16px 0;
}
.date-text {
  font-size: 12px;
  color: #888;
  margin-bottom: 12px;
}
.section-cols {
  display: flex;
  gap: 32px;
}
.section-cols .col {
  flex: 1;
}

@media (max-width: 768px) {
  .portfolio-composition {
    padding: 16px;
  }
  .comp-title {
    font-size: 16px;
  }
  .section-cols {
    flex-direction: column;
    gap: 24px;
  }
}

/* Composition Table */
.composition-table th, .composition-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #eae7e0;
}
.composition-table th {
  background-color: #f7f5f0;
  font-weight: 700;
  color: #333;
}
.composition-table tbody tr:hover {
  background-color: #fdfcf9;
}
.composition-table .sum-row {
  font-weight: 700;
  background-color: #fdfaf2;
  border-bottom: 2px solid #c5a059;
}

/* Segment Blocks (探鉱・開発企業) */
.segment-block {
  background-color: #fcfcf9;
  border: 1px dashed #c5a059;
  border-radius: 6px;
  padding: 24px;
  height: calc(100% - 48px);
  box-sizing: border-box;
}
.segment-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  margin: 0 0 16px 0;
}
.segment-box h5 {
  margin: 0 0 12px 0;
  font-size: 14px;
  font-weight: 700;
  color: #c5a059;
}
.segment-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.segment-list li {
  font-size: 14px;
  color: #444;
  padding: 8px 0;
  border-bottom: 1px solid #eae7e0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.segment-list li:last-child {
  border-bottom: none;
}
.segment-list li .badge {
  font-size: 11px;
  background-color: #fdf2e2;
  color: #a8792a;
  padding: 2px 8px;
  border-radius: 4px;
}

@media (max-width: 768px) {
  .segment-block {
    padding: 16px;
    height: auto;
  }
}

/* Role Grid */
.role-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.role-card {
  background-color: #fafcfc;
  border-top: 3px solid #c5a059;
  border-left: 1px solid #eae7e0;
  border-right: 1px solid #eae7e0;
  border-bottom: 1px solid #eae7e0;
  border-radius: 0 0 6px 6px;
  padding: 24px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.02);
}
.role-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 12px 0;
  line-height: 1.4;
}
.role-card p {
  font-size: 14px;
  line-height: 1.5;
  color: #4a4a48;
  margin: 0;
}

@media (max-width: 768px) {
  .role-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .role-card {
    padding: 16px;
  }
}

/* Correlation Table Data */
.correlation-table-data th, .correlation-table-data td {
  padding: 12px;
  border: 1px solid #e1dcce;
  text-align: center;
  font-size: 14px;
}
.correlation-table-data th {
  background-color: #f7f5f0;
  font-weight: 700;
}
.correlation-table-data .row-header {
  font-weight: 700;
  background-color: #fbfbf9;
  text-align: left;
}
.correlation-table-data .row-val {
  font-weight: 700;
}
.correlation-table-data .val-highlight {
  background-color: #fcf8e3;
  color: #aa8024;
}
.correlation-table-data .val-highlight-high {
  background-color: #fcedcf;
  color: #8d6e35;
}

@media (max-width: 768px) {
  .correlation-table-data {
    font-size: 12px;
  }
  .correlation-table-data th, .correlation-table-data td {
    padding: 6px;
  }
}

/* History & Processes Cycle */
.history-section {
  background-color: #fdfbf7;
}
.history-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 32px;
}
.history-card {
  background-color: #ffffff;
  border: 1px solid #ebdcb9;
  border-radius: 6px;
  padding: 24px;
  box-shadow: 0 4px 15px rgba(170,128,36,0.04);
}
.history-card h3 {
  font-size: 16px;
  font-weight: 700;
  color: #aa8024;
  margin: 0 0 12px 0;
  line-height: 1.4;
  position: relative;
  padding-bottom: 10px;
}
.history-card h3::after {
  content: '';
  display: block;
  width: 30px;
  height: 2px;
  background-color: #c5a059;
  position: absolute;
  bottom: 0;
  left: 0;
}
.history-card p {
  font-size: 14px;
  line-height: 1.5;
  color: #4a4a48;
  margin: 0;
}

@media (max-width: 768px) {
  .history-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .history-card {
    padding: 16px;
  }
}

.process-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-top: 24px;
}
.process-step {
  background-color: #ffffff;
  border: 1px solid #e1dcce;
  border-radius: 6px;
  padding: 16px;
  position: relative;
}
.process-step .step-num {
  font-size: 24px;
  font-weight: 700;
  color: #c5a059;
  display: block;
  margin-bottom: 8px;
}
.process-step h5 {
  font-size: 14px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 8px 0;
  line-height: 1.3;
}
.process-step p {
  font-size: 11px;
  line-height: 1.4;
  color: #555;
  margin: 0 0 4px 0;
}

@media (max-width: 768px) {
  .process-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .process-step {
    padding: 12px;
  }
}

/* Selection Box */
.selection-box {
  padding: 32px;
  border-radius: 8px;
}
.selection-flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 24px;
}
.selection-flow .flow-step {
  flex: 1;
  background-color: #f9f8f6;
  border: 1px solid #e1dcce;
  border-radius: 6px;
  padding: 18px;
  font-size: 13px;
  box-sizing: border-box;
}
.selection-flow .flow-step h5 {
  font-size: 14px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 8px 0;
  border-bottom: 1px solid #e1dcce;
  padding-bottom: 4px;
}
.selection-flow .flow-step p {
  margin: 0 0 4px 0;
  font-size: 11.5px;
  color: #555;
  line-height: 1.4;
}
.selection-flow .flow-step.accent-step {
  background-color: #1a1d20;
  border-color: #1a1d20;
  color: #ffffff;
}
.selection-flow .flow-step.accent-step h5 {
  color: #c5a059;
  border-color: #444;
}
.selection-flow .flow-step.accent-step p {
  color: #ddd;
}
.flow-arrow-horizontal {
  font-size: 20px;
  color: #c5a059;
  padding: 0 10px;
}

@media (max-width: 768px) {
  .selection-flow {
    flex-direction: column;
    gap: 12px;
  }
  .flow-arrow-horizontal {
    transform: rotate(90deg);
    padding: 6px 0;
  }
  .selection-flow .flow-step {
    width: 100%;
  }
}

/* Team Grid */
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}
.member-card {
  background-color: #ffffff;
  border: 1px solid #eae7e0;
  border-radius: 6px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.member-name {
  font-size: 16px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 4px 0;
}
.member-role {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: #c5a059;
  margin-bottom: 8px;
}
.member-exp {
  font-size: 12px;
  color: #666;
  margin: 0 0 8px 0;
}
.member-special {
  font-size: 12px;
  line-height: 1.4;
  color: #444;
  margin: 0;
  border-top: 1px dashed #eae7e0;
  padding-top: 8px;
}

@media (max-width: 768px) {
  .team-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

/* Advisory Box */
.advisory-box {
  padding: 32px;
  border-radius: 8px;
}
.advisory-process-box {
  background-color: #fdfaf2;
  border: 1px solid #ebdcb9;
  border-radius: 6px;
  padding: 20px;
}
.advisory-process-box h5 {
  margin: 0 0 10px 0;
  font-size: 14px;
  font-weight: 700;
  color: #8d6e35;
}
.process-bullets {
  margin: 0;
  padding-left: 20px;
}
.process-bullets li {
  font-size: 14px;
  color: #4a4a48;
  margin-bottom: 6px;
}
.process-bullets li:last-child {
  margin-bottom: 0;
}
.advisory-footer {
  font-size: 13px;
  color: #666;
  line-height: 1.5;
  border-top: 1px solid #eae7e0;
  padding-top: 16px;
}
.advisory-footer p {
  margin: 0 0 4px 0;
}

@media (max-width: 768px) {
  .advisory-box {
    padding: 16px;
  }
  .advisory-process-box {
    padding: 12px;
  }
  .process-bullets li {
    font-size: 13px;
  }
}

/* Outline Section */
.outline-wrapper {
  padding: 32px;
  border-radius: 8px;
}
.table-title {
  font-size: 18px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 12px 0;
  border-left: 4px solid #c5a059;
  padding-left: 10px;
}
.outline-table {
  margin-bottom: 24px;
}
.outline-table th, .outline-table td {
  padding: 14px 16px;
  border-bottom: 1px solid #eae7e0;
  font-size: 15px;
  line-height: 1.5;
}
.outline-table th {
  width: 240px;
  font-weight: 700;
  background-color: #fcfcf9;
  color: #1a1d20;
  border-right: 1px solid #eae7e0;
}
.outline-table td {
  color: #3c3c3a;
}
.outline-table tr:first-child th, .outline-table tr:first-child td {
  border-top: 1px solid #eae7e0;
}

.about-ft-box {
  background-color: #f7f6f2;
  border-radius: 6px;
  padding: 24px;
}
.about-ft-box h4 {
  margin: 0 0 10px 0;
  font-size: 16px;
  font-weight: 700;
  color: #1a1d20;
}
.about-ft-box p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
}

@media (max-width: 768px) {
  .outline-wrapper {
    padding: 16px;
  }
  .outline-table th {
    width: auto;
    display: block;
    border-right: none;
    padding: 8px 12px;
  }
  .outline-table td {
    display: block;
    padding: 8px 12px 14px 12px;
  }
  .outline-table {
    font-size: 13.5px;
  }
  .about-ft-box {
    padding: 16px;
  }
}

/* FOF Flow Diagram */
.fof-flow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fcfcf9;
  border: 1px solid #eae7e0;
  border-radius: 6px;
  padding: 24px;
  margin-top: 16px;
}
.fof-node {
  background-color: #ffffff;
  border: 1px solid #ebdcb9;
  border-radius: 6px;
  padding: 16px;
  flex: 1;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
  box-sizing: border-box;
  min-height: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.fof-node .subtext {
  font-size: 11px;
  color: #888;
  margin-top: 4px;
}
.fof-node.node-group {
  flex: 1.4;
  background-color: #f7f6f2;
  border-color: #e1dcce;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.fof-node.node-group .sub-node {
  background-color: #ffffff;
  border: 1px solid #ebdcb9;
  border-radius: 4px;
  padding: 8px;
  width: 100%;
  box-sizing: border-box;
}
.fof-node.node-group .sub-node-sep {
  font-size: 11px;
  font-weight: 700;
  color: #c5a059;
}
.fof-node.node-highlight {
  background: linear-gradient(135deg, #fdfaf2 0%, #ebdcb9 100%);
  border-color: #c5a059;
  font-weight: 700;
  color: #8d6e35;
}
.fof-arrows {
  font-size: 20px;
  color: #c5a059;
  padding: 0 10px;
}

@media (max-width: 768px) {
  .fof-flow {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }
  .fof-arrows {
    transform: rotate(90deg);
    padding: 4px 0;
  }
  .fof-node {
    width: 100%;
    min-height: auto;
    padding: 12px;
  }
}

/* Risks factors */
.risks-section {
  background-color: #fdfdfb;
}
.risks-lead-text {
  font-size: 15px;
  line-height: 1.7;
  color: #4a4a48;
  margin: 0 0 32px 0;
  text-align: justify;
}
.risk-factors {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}
.risk-card {
  border-left: 4px solid #cc3333;
  background-color: #fdf8f8;
  border-top: 1px solid #f2e2e2;
  border-right: 1px solid #f2e2e2;
  border-bottom: 1px solid #f2e2e2;
  border-radius: 0 6px 6px 0;
  padding: 18px 24px;
}
.risk-card h4 {
  font-size: 16px;
  font-weight: 700;
  color: #cc3333;
  margin: 0 0 8px 0;
}
.risk-card p {
  font-size: 14px;
  line-height: 1.5;
  color: #555;
  margin: 0;
}

.risk-management-box {
  background-color: #fcfbf8;
  border: 1px solid #eae7e0;
  border-radius: 6px;
  padding: 24px;
  margin-top: 16px;
}
.risk-management-box h5 {
  font-size: 15px;
  font-weight: 700;
  color: #1a1d20;
  margin: 0 0 8px 0;
}
.risk-management-box p {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}
.list-bullet {
  margin: 0;
  padding-left: 20px;
}
.list-bullet li {
  font-size: 13.5px;
  color: #555;
  margin-bottom: 8px;
  line-height: 1.5;
}
.list-bullet li:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .risks-lead-text {
    font-size: 13.5px;
    margin-bottom: 20px;
  }
  .risk-card {
    padding: 12px 16px;
  }
  .risk-management-box {
    padding: 16px;
  }
  .list-bullet li {
    font-size: 12.5px;
  }
}

/* Tabs for subscription and fees */
.memo-fees-section {
  background-color: #fafaf8;
}
.tab-buttons {
  display: flex;
  border-bottom: 2px solid #1a1d20;
  margin-bottom: 24px;
}
.tab-btn {
  flex: 1;
  background-color: #eae8e3;
  border: none;
  color: #555;
  font-size: 16px;
  font-weight: 700;
  padding: 14px 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 6px 6px 0 0;
  margin-right: 4px;
}
.tab-btn:last-child {
  margin-right: 0;
}
.tab-btn.active {
  background-color: #1a1d20;
  color: #ffffff;
}
.tab-btn:hover:not(.active) {
  background-color: #dfdbd5;
}

.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

.fees-subtitle {
  font-size: 16px;
  color: #1a1d20;
  margin: 0 0 12px 0;
  border-bottom: 1px solid #ebdcb9;
  padding-bottom: 6px;
}

@media (max-width: 768px) {
  .tab-btn {
    font-size: 13px;
    padding: 10px 8px;
  }
}

/* Footer Compliance Warnings */
.footer-warnings {
  background-color: #f7f6f2;
  padding-top: 48px;
  padding-bottom: 48px;
}
.warnings-box {
  padding: 32px;
  border-radius: 8px;
  background-color: #ffffff;
  border: 1px solid #eae7e0;
}
.warnings-box p {
  font-size: 12.5px;
  line-height: 1.6;
  color: #666;
  margin: 0 0 12px 0;
  text-align: justify;
}
.warnings-box p:last-of-type {
  margin-bottom: 0;
}
.warnings-footer {
  border-top: 1px solid #eae7e0;
  padding-top: 20px;
  font-size: 13px;
  color: #444;
  line-height: 1.5;
}
.warnings-footer p {
  margin: 0 0 4px 0;
  font-size: 13px;
  color: #444;
}

@media (max-width: 768px) {
  .warnings-box {
    padding: 16px;
  }
  .warnings-box p {
    font-size: 11.5px;
  }
}

/* ==========================================================================
   Custom Additions for Slide 5 Graph, Slide 6 Sector Bars & Slide 9 Video Player
   ========================================================================== */

/* Slide 5 Graph Styling */
.graph-container {
  border: 1px solid #e1dbcc;
  border-radius: 8px;
  background-color: #ffffff;
  padding: 24px;
  text-align: center;
  margin-top: 24px;
}
.graph-title {
  font-size: 18px;
  font-weight: 700;
  color: #1a1d20;
  margin-bottom: 16px;
}
.graph-img-wrapper {
  max-width: 700px;
  margin: 0 auto;
  border: 2px solid #eae7e0;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.graph-img-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}
.graph-caption-text {
  font-size: 14px;
  color: #555;
  margin-top: 16px;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .graph-container {
    padding: 16px;
  }
  .graph-title {
    font-size: 16px;
  }
  .graph-caption-text {
    font-size: 12.5px;
  }
}

/* Video Player Styling (Slide 9) */
.video-player-container {
  max-width: 700px;
  margin: 0 auto 36px auto;
  border: 2px solid #d4af37;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(170, 128, 36, 0.15);
  background-color: #1a1d20;
}
.video-player-inner {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  cursor: pointer;
}
.video-thumbnail-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(26,29,32,0.6), rgba(26,29,32,0.85)), url('img/main.jpg') no-repeat center center;
  background-size: cover;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}
.video-play-btn {
  width: 80px;
  height: 80px;
  background: radial-gradient(circle, #f0d59e 0%, #c5a059 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(197, 160, 89, 0.5);
  margin-bottom: 20px;
  transition: all 0.3s ease;
}
.video-play-btn::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 26px;
  border-color: transparent transparent transparent #ffffff;
  margin-left: 6px;
}
.video-player-inner:hover .video-play-btn {
  transform: scale(1.1);
  box-shadow: 0 6px 24px rgba(197, 160, 89, 0.7);
}
.video-placeholder-desc {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  max-width: 500px;
  letter-spacing: 0.05em;
  text-shadow: 0 2px 4px rgba(0,0,0,0.8);
}

@media (max-width: 768px) {
  .video-play-btn {
    width: 60px;
    height: 60px;
    margin-bottom: 12px;
  }
  .video-play-btn::after {
    border-width: 10px 0 10px 18px;
    margin-left: 4px;
  }
  .video-placeholder-desc {
    font-size: 13.5px;
    line-height: 1.5;
  }
}

/* Sector Progress Bars (Slide 6) */
.sector-allocation-wrapper {
  margin-top: 24px;
}
.sector-allocation-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 700px;
  margin: 0 auto;
}
.sector-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sector-info-header {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  font-weight: 700;
  color: #1a1d20;
}
.sector-name {
  color: #333;
}
.sector-percentage {
  color: #c5a059;
}
.sector-bar-bg {
  width: 100%;
  height: 12px;
  background-color: #eae7e0;
  border-radius: 6px;
  overflow: hidden;
}
.sector-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #f0d59e 0%, #c5a059 100%);
  border-radius: 6px;
}


/* ==========================================================================
   Additional Styles for Horizontal Flow, Growth Factors & Slide 5 Placeholder
   ========================================================================== */

.horizontal-flow-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fdfbf7;
  border: 1px solid #ebdcb9;
  border-radius: 12px;
  padding: 32px 24px;
  margin-bottom: 32px;
  box-sizing: border-box;
}
.h-flow-box {
  flex: 1;
  max-width: 250px;
  background-color: #ffffff;
  border: 2px solid #eae7e0;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}
.h-flow-box.gold-gradient {
  background: linear-gradient(135deg, #fefbf0 0%, #ebdcb9 100%);
  border-color: #c5a059;
}
.h-flow-box.accent-box {
  background: #1a1d20;
  color: #ffffff;
  border-color: #1a1d20;
}
.h-flow-box .box-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c5a059;
}
.h-flow-box.accent-box .box-num {
  color: #f0d59e;
}
.h-flow-box .box-text {
  font-size: 16px;
  font-weight: 700;
}
.h-flow-arrow {
  font-size: 28px;
  color: #c5a059;
  font-weight: 700;
  padding: 0 12px;
}

@media (max-width: 768px) {
  .horizontal-flow-container {
    flex-direction: column;
    gap: 16px;
    padding: 24px 16px;
  }
  .h-flow-box {
    width: 100%;
    max-width: 100%;
    padding: 16px;
  }
  .h-flow-arrow {
    transform: rotate(90deg);
    padding: 0;
    margin: 4px 0;
    font-size: 20px;
  }
}

.growth-factors-detailed {
  background-color: #ffffff;
  border: 1px solid #ebdcb9;
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 32px;
  box-sizing: border-box;
}
.growth-factors-detailed .growth-title {
  font-size: 20px;
  font-weight: 700;
  color: #1a1d20;
  text-align: center;
  margin-bottom: 8px;
}
.growth-factors-detailed .growth-subtitle {
  font-size: 14px;
  color: #666;
  text-align: center;
  margin-bottom: 28px;
}
.factors-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.factor-detail-card {
  background-color: #fdfcf9;
  border: 1px solid #f2eedb;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02);
  box-sizing: border-box;
}
.factor-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid #f0eae0;
  padding-bottom: 8px;
}
.factor-icon {
  font-size: 20px;
}
.factor-header h4 {
  font-size: 16px;
  font-weight: 700;
  color: #8a6f2b;
  margin: 0;
}
.factor-desc {
  font-size: 13.5px;
  color: #555;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 768px) {
  .growth-factors-detailed {
    padding: 20px;
  }
  .growth-factors-detailed .growth-title {
    font-size: 18px;
  }
  .growth-factors-detailed .growth-subtitle {
    font-size: 12.5px;
    margin-bottom: 20px;
  }
  .factors-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .factor-detail-card {
    padding: 16px;
  }
  .factor-header h4 {
    font-size: 15px;
  }
  .factor-desc {
    font-size: 12.5px;
  }
}

/* ==========================================================================
   Features Cards Horizontally Aligned on PC & Section Anchors (V3 additions)
   ========================================================================== */

html {
  scroll-behavior: smooth;
}

.feature-card-link {
  text-decoration: none !important;
  color: inherit !important;
  display: block;
}

/* Base card overrides for title-only cards */
.feature-card {
  height: 100%;
  box-sizing: border-box;
}

.feature-card .card-content {
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-card .card-content h3 {
  margin: 0 !important;
  font-size: 16px;
  font-weight: 700;
  color: #1a1d20;
  line-height: 1.5;
  text-align: center;
}

@media (min-width: 769px) {
  .features-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
  }
  
  .feature-card {
    flex-direction: column !important;
    text-align: center;
    min-height: 180px;
  }
  
  .feature-card .card-num {
    width: 100% !important;
    min-width: auto !important;
    height: 54px !important;
    border-right: none !important;
    border-bottom: 2px solid #c5a059 !important;
  }
  
  .feature-card .card-content {
    height: calc(100% - 54px) !important;
    padding: 16px !important;
  }
}

/* Hover effects for link cards */
.feature-card-link:hover .feature-card {
  transform: translateY(-6px);
  box-shadow: 0 10px 25px rgba(197, 160, 89, 0.18);
  border-color: #c5a059;
}

/* ==========================================================================
   V4 Styles: Padding adjustments, tag cards, and picture processes
   ========================================================================== */

/* Spacing and padding overrides for target-fund-info */
.target-fund-info {
  padding: 36px !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  margin-top: 24px !important;
  box-sizing: border-box !important;
}

/* Spacing and padding overrides for risks-wrapper */
.risks-wrapper {
  padding: 36px !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .target-fund-info {
    padding: 16px !important;
  }
  .risks-wrapper {
    padding: 16px !important;
  }
}

/* Redesigned Features Grid (Title-Only without numbers) */
.features-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.feature-card {
  border: 1px solid #ebdcb9 !important;
  border-radius: 12px !important;
  background-color: #ffffff !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
  transition: all 0.3s ease !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: row !important; /* simple container */
  overflow: hidden !important;
}

.feature-card .card-content {
  padding: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

.feature-card .card-content h3 {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1d20 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

@media (min-width: 769px) {
  .features-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
  }
  .feature-card {
    min-height: 120px !important;
  }
}

@media (max-width: 768px) {
  .features-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .feature-card {
    min-height: 80px !important;
  }
}

/* Compact Tag Cards for Company Specific Growth Factors (Slide 4) */
.growth-factors-detailed {
  background-color: #ffffff !important;
  border: 1px solid #ebdcb9 !important;
  border-radius: 12px !important;
  padding: 32px !important;
  margin-top: 32px !important;
  margin-bottom: 32px !important;
  box-sizing: border-box !important;
}

.growth-factors-detailed .growth-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1d20 !important;
  text-align: center !important;
  margin-bottom: 24px !important; /* pushed down since subtitle is removed */
}

.factors-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}

.factor-detail-card {
  background-color: #fdfcf9 !important;
  border: 1px solid #f2eedb !important;
  border-radius: 8px !important;
  padding: 20px 24px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02) !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.factor-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  border-bottom: none !important; /* border removed as description is gone */
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.factor-icon {
  font-size: 22px !important;
}

.factor-header h4 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #8a6f2b !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .growth-factors-detailed {
    padding: 20px !important;
  }
  .growth-factors-detailed .growth-title {
    font-size: 18px !important;
    margin-bottom: 16px !important;
  }
  .factors-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .factor-detail-card {
    padding: 16px !important;
  }
}

/* ==========================================================================
   V6 Styles: Correlation Block Headers & Footers Spacing Overrides
   ========================================================================== */

.correlation-header {
  padding: 32px 32px 16px 32px !important;
  box-sizing: border-box !important;
}

.correlation-footer {
  padding: 16px 32px 32px 32px !important;
  box-sizing: border-box !important;
}

@media (max-width: 768px) {
  .correlation-header {
    padding: 24px 16px 12px 16px !important;
  }
  .correlation-footer {
    padding: 12px 16px 24px 16px !important;
  }
}

/* ==========================================================================
   V7 Styles: Features Card Layout Fix & Fees/Taxes Non-Table Spacings
   ========================================================================== */

/* Full features-grid / feature-card reset to fix the layout breakage */
.features-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.feature-card {
  display: flex !important;
  flex-direction: row !important; /* Left-Right layout on SP default */
  background-color: #ffffff !important;
  border: 1px solid #ebdcb9 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
  transition: all 0.3s ease !important;
  height: 100% !important;
}

.feature-card .card-num {
  background-color: #1a1d20 !important;
  color: #c5a059 !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 80px !important;
  border-right: 2px solid #c5a059 !important;
  border-bottom: none !important;
}

.feature-card .card-content {
  padding: 20px !important;
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.feature-card .card-content h3 {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1d20 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* PC override for features card layout */
@media (min-width: 769px) {
  .features-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
  }
  
  .feature-card {
    flex-direction: column !important; /* Top-Bottom stacked on PC */
    min-height: 190px !important;
    text-align: center !important;
  }
  
  .feature-card .card-num {
    width: 100% !important;
    min-width: auto !important;
    height: 54px !important;
    border-right: none !important;
    border-bottom: 2px solid #c5a059 !important;
  }
  
  .feature-card .card-content {
    height: calc(100% - 54px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .feature-card .card-content h3 {
    text-align: center !important;
  }
}

/* Tab-fees and Tab-taxes responsive non-table padding */
@media (max-width: 768px) {
  .fees-subtitle {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #tab-fees .note-block {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .taxes-intro {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #tab-taxes .note-block {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ==========================================================================
   V11 Styles: Absolute Centering Overlay on Hero Banner Image
   ========================================================================== */

.hero-overlay-content {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  background-color: rgba(26, 29, 32, 0.45) !important; /* Elegant dark overlay */
  color: #ffffff !important;
  padding: 32px !important;
  box-sizing: border-box !important;
}

.hero-overlay-content .fund-tag {
  display: inline-block !important;
  background-color: #c5a059 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 6px 18px !important;
  border-radius: 20px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
  letter-spacing: 0.05em !important;
}

.hero-overlay-content .main-title {
  font-size: 34px !important;
  font-weight: 700 !important;
  margin: 0 0 12px 0 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.3 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.85) !important;
  color: #ffffff !important;
}

.hero-overlay-content .nickname {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #fdf3d8 !important;
  margin: 0 !important;
  text-shadow: 0 2px 6px rgba(0,0,0,0.85) !important;
  letter-spacing: 0.02em !important;
}

@media (max-width: 768px) {
  .hero-overlay-content {
    padding: 12px !important;
  }
  .hero-overlay-content .fund-tag {
    font-size: 10px !important;
    padding: 3px 10px !important;
    margin-bottom: 8px !important;
  }
  .hero-overlay-content .main-title {
    font-size: 15px !important;
    margin-bottom: 4px !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.9) !important;
  }
  .hero-overlay-content .nickname {
    font-size: 12px !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.9) !important;
  }
}

/* ==========================================================================
   V12 Styles: Solid Black Horizontal Belt Overlay (黒帯) with responsive picture
   ========================================================================== */

.hero-overlay-content-belt {
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  width: 100% !important;
  transform: translateY(-50%) !important;
  background-color: #1a1d20 !important; /* Solid Dark Charcoal Black Bar (黒帯) */
  color: #ffffff !important;
  padding: 24px 32px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  border-top: 2px solid #c5a059 !important; /* Golden top accent border */
  border-bottom: 2px solid #c5a059 !important; /* Golden bottom accent border */
  box-shadow: 0 4px 20px rgba(0,0,0,0.3) !important;
  z-index: 10 !important;
}

.hero-overlay-content-belt .fund-tag {
  display: inline-block !important;
  background-color: #c5a059 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  padding: 5px 16px !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2) !important;
}

.hero-overlay-content-belt .main-title {
  font-size: 32px !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.3 !important;
  color: #ffffff !important;
}

.hero-overlay-content-belt .nickname {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #fdf3d8 !important;
  margin: 0 !important;
  letter-spacing: 0.02em !important;
}

@media (max-width: 768px) {
  .hero-overlay-content-belt {
    padding: 16px 12px !important;
    border-top-width: 1px !important;
    border-bottom-width: 1px !important;
  }
  .hero-overlay-content-belt .fund-tag {
    font-size: 10px !important;
    padding: 3px 10px !important;
    margin-bottom: 8px !important;
  }
  .hero-overlay-content-belt .main-title {
    font-size: 15px !important;
    margin-bottom: 4px !important;
    letter-spacing: 0.01em !important;
    line-height: 1.4 !important;
  }
  .hero-overlay-content-belt .nickname {
    font-size: 12px !important;
  }
}

/* Precise Overrides for Requested Changes */
@media (max-width: 768px) {
  .section-title-premium, h2 {
    font-size: 22px !important;
    margin-bottom: 24px !important;
  }
  .intro-text {
    font-size: 15px !important;
    padding: 1.5rem !important;
    text-align: center !important;
  }
}

/* Horizontal Three Box Gold Gradients */
.h-flow-box.box-step-1 {
  background: linear-gradient(135deg, #fffdf8 0%, #faf3d1 100%) !important;
  border: 2px solid #ebd9a4 !important;
  color: #1a1d20 !important;
}
.h-flow-box.box-step-1 .box-num {
  color: #aa8024 !important;
}

.h-flow-box.box-step-2 {
  background: linear-gradient(135deg, #fef7cb 0%, #ebce87 100%) !important;
  border: 2px solid #dcb55c !important;
  color: #1a1d20 !important;
}
.h-flow-box.box-step-2 .box-num {
  color: #8c671b !important;
}

.h-flow-box.box-step-3 {
  background: linear-gradient(135deg, #f3cd7f 0%, #b28825 100%) !important;
  border: 2px solid #926d17 !important;
  color: #1a1d20 !important
}
.h-flow-box.box-step-3 .box-num {
  color: #ffeebf !important;
}

/* Compact Company-Specific Growth Factors */
.growth-factors-detailed {
  background-color: #faf9f6 !important;
  border: 1px solid #ebdcb9 !important;
  border-radius: 8px !important;
  padding: 16px !important;
  margin-bottom: 24px !important;
  box-shadow: none !important;
}
.growth-factors-detailed .growth-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #7c7468 !important;
  text-align: center !important;
  margin-bottom: 12px !important;
  letter-spacing: 0.05em !important;
}
.growth-factors-detailed .factors-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 12px !important;
}
.growth-factors-detailed .factor-detail-card {
  background-color: #ffffff !important;
  border: 1px solid #ebdcb9 !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  box-shadow: none !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.growth-factors-detailed .factor-header {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
}
.growth-factors-detailed .factor-icon {
  font-size: 14px !important;
}
.growth-factors-detailed .factor-header h4 {
  font-size: 13px !important;
  font-weight: bold !important;
  color: #5c5549 !important;
  margin: 0 !important;
}

/* Other Precautions Bullet dots Fix */
.list-bullet {
  margin: 0 !important;
  padding-left: 20px !important;
  list-style-type: disc !important;
}
.list-bullet li {
  display: list-item !important;
  list-style-type: disc !important;
  font-size: 13.5px !important;
  color: #555 !important;
  margin-bottom: 8px !important;
  line-height: 1.5 !important;
}

/* Vertical Memo & Fees Layout */
.vertical-memo-fees-container {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Responsive overrides for nested trust fee allocation table on Mobile to match sbiam.co.jp/sbi-man-aiinsight/ */
@media (max-width: 768px) {
  .nested-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border: none !important;
  }
  .nested-table thead {
    display: none !important;
  }
  .nested-table col,
  .nested-table colgroup {
    display: none !important;
  }
  .nested-table tbody,
  .nested-table tr,
  .nested-table td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .nested-table tr {
    margin-bottom: 16px !important;
    border: 1px solid #e1dcce !important;
    border-radius: 8px !important;
    background-color: #fffcf9 !important;
    overflow: hidden !important;
  }
  .nested-table tr:last-child {
    margin-bottom: 0 !important;
  }
  .nested-table td {
    padding: 12px 16px !important;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    border: none !important;
    border-bottom: 1px solid rgba(225, 220, 206, 0.5) !important;
    background-color: transparent !important;
  }
  .nested-table td:last-child {
    border-bottom: none !important;
  }
  
  /* Add pseudoclass indicators for nested table cells on Mobile */
  .nested-table tr td:nth-child(1)::before {
    content: "【支払先】 " !important;
    color: #c5a059 !important;
    font-weight: bold !important;
  }
  .nested-table tr td:nth-child(2)::before {
    content: "【料率】 " !important;
    color: #c5a059 !important;
    font-weight: bold !important;
  }
  .nested-table tr td:nth-child(3)::before {
    content: "【役務の内容】 " !important;
    color: #1a1d20 !important;
    font-weight: bold !important;
    display: block !important;
    margin-bottom: 4px !important;
  }
}
