.compliance-page { background: #f5f5f3; }
.compliance-hero { min-height: 760px; padding-top: 150px; padding-bottom: 105px; }
.compliance-hero h1 { max-width: 960px; margin: 24px 0 45px; font-size: clamp(52px, 6.8vw, 102px); font-weight: 400; letter-spacing: -.065em; line-height: 1.2; }
.compliance-lead { max-width: 920px; }
.compliance-lead p { margin: 0 0 18px; color: var(--ink-soft); font-size: 15px; line-height: 2.05; }
.declaration-meta { max-width: 920px; margin: 58px 0 0; border-top: 1px solid var(--navy); }
.declaration-meta > div { display: grid; grid-template-columns: 170px 1fr; padding: 15px 0; border-bottom: 1px solid var(--line); }
.declaration-meta dt { font-size: 12px; font-weight: 500; }
.declaration-meta dd { margin: 0; color: var(--ink-soft); font-size: 13px; }
.compliance-principles { padding: 115px 0; background: var(--navy); color: var(--white); }
.compliance-principles .section-shell { display: grid; grid-template-columns: 190px minmax(360px, .75fr) minmax(520px, 1.25fr); gap: clamp(34px, 6vw, 92px); align-items: start; }
.compliance-heading h2 { margin: 0; font-size: clamp(36px, 4.2vw, 62px); font-weight: 400; letter-spacing: -.05em; line-height: 1.47; }
.compliance-principles .kicker { color: #6bc3ff; }
.compliance-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.58); }
.compliance-list li { min-height: 128px; padding: 21px 0; display: grid; grid-template-columns: 52px 1fr; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.25); }
.compliance-list li > span { color: #6bc3ff; font-family: var(--serif-en); font-size: 13px; }
.compliance-list h3 { margin: 0; font-size: 16px; font-weight: 500; }
.compliance-list p { margin: 9px 0 0; color: rgba(255,255,255,.7); font-size: 12px; line-height: 1.9; }
.compliance-fees { padding-top: 115px; padding-bottom: 115px; display: grid; grid-template-columns: 190px minmax(380px, .8fr) minmax(430px, 1fr); gap: clamp(34px, 6vw, 92px); align-items: start; }
.compliance-fee-copy { border-top: 1px solid var(--navy); }
.compliance-fee-copy p { margin: 0; padding: 22px 0; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: 13px; line-height: 2; }
.compliance-reference { padding: 90px 0; background: #e4f1f9; border-top: 1px solid var(--navy); border-bottom: 1px solid var(--navy); }
.reference-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(40px, 8vw, 140px); }
.reference-inner h2 { margin: 12px 0 0; font-size: clamp(36px, 4vw, 58px); font-weight: 400; }
.reference-inner p { margin: 0 0 25px; color: var(--ink-soft); font-size: 13px; line-height: 1.9; }
.reference-inner a { display: block; width: fit-content; margin-top: 15px; padding-bottom: 4px; border-bottom: 1px solid var(--navy); color: var(--navy); font-size: 12px; text-decoration: none; }
.reference-inner a span { margin-left: 7px; }
@media (max-width: 1040px) {
  .compliance-principles .section-shell, .compliance-fees { grid-template-columns: 140px 1fr; }
  .compliance-list, .compliance-fee-copy { grid-column: 2; }
}
@media (max-width: 760px) {
  .compliance-hero { min-height: auto; padding-top: 112px; padding-bottom: 80px; }
  .compliance-hero h1 { font-size: 48px; }
  .declaration-meta > div { grid-template-columns: 1fr; gap: 7px; }
  .compliance-principles .section-shell, .compliance-fees, .reference-inner { grid-template-columns: 1fr; gap: 36px; }
  .compliance-list, .compliance-fee-copy { grid-column: 1; }
  .compliance-principles, .compliance-fees { padding-top: 80px; padding-bottom: 80px; }
}
.compliance-detail { padding-top: 115px; padding-bottom: 40px; display: grid; grid-template-columns: 190px minmax(300px, .6fr) minmax(0, 1.4fr); gap: clamp(34px, 6vw, 92px); align-items: start; }
.detail-groups { min-width: 0; }
.detail-group { border-top: 1px solid var(--navy); padding: 22px 0 30px; }
.detail-group h3 { margin: 0 0 12px; font-size: 16px; font-weight: 500; }
.detail-group ul { margin: 0; padding: 0; list-style: none; }
.detail-group li { position: relative; padding: 11px 0 11px 18px; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: 13px; line-height: 1.95; }
.detail-group li::before { content: ""; position: absolute; left: 0; top: 22px; width: 7px; height: 1px; background: var(--navy); }
@media (max-width: 1040px) { .compliance-detail { grid-template-columns: 140px 1fr; } .detail-groups { grid-column: 2; } }
@media (max-width: 760px) { .compliance-detail { grid-template-columns: 1fr; gap: 36px; padding-top: 80px; } .detail-groups { grid-column: 1; } }
.decl-download { display: inline-block; margin-top: 28px; padding: 12px 18px; border: 1px solid var(--navy); color: var(--navy); font-size: 12px; text-decoration: none; }
.decl-download:hover { background: var(--navy); color: var(--white); }
.decl-body { min-width: 0; border-top: 1px solid var(--navy); padding-top: 22px; color: var(--ink-soft); font-size: 13px; line-height: 1.95; }
.decl-body p { margin: 0 0 10px; }
.decl-center { text-align: center; margin: 22px 0 !important; }
.decl-h2 { margin: 34px 0 14px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--navy); font-size: 16px; font-weight: 500; }
.decl-h3 { margin: 24px 0 10px; color: var(--navy); font-size: 14px; font-weight: 500; }
.decl-item { display: grid; grid-template-columns: 32px 1fr; color: var(--ink, inherit); }
.decl-item span { font-family: var(--serif-en); color: var(--navy); }
.decl-bullet { position: relative; padding-left: 50px; }
.decl-bullet.l1::before { content: "・"; position: absolute; left: 32px; }
.decl-bullet.l2 { padding-left: 90px; }
.decl-bullet.l2::before { content: "–"; position: absolute; left: 74px; }
.decl-sub { display: grid; grid-template-columns: 40px 1fr; padding-left: 50px; }
.decl-note { padding-left: 50px; font-size: 12px; }
@media (max-width: 760px) { .decl-bullet, .decl-sub, .decl-note { padding-left: 16px; } .decl-bullet.l1::before { left: 0; } .decl-bullet.l2 { padding-left: 36px; } .decl-bullet.l2::before { left: 20px; } }
h1, h2, h3 { word-break: auto-phrase; text-wrap: balance; }
