/* Styles below are scoped to the compliance page body; banner rules live in compliance-hero.css and service-banners.css. */
.compliance-board { padding:28px; border:1px solid #ffffff26; border-radius:24px; background:#ffffff0d; }
.compliance-board-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; font-weight:700; }
.compliance-board-top small { font-size:9px; letter-spacing:1px; color:#a7c0e9; }
.compliance-board-core { display:flex; align-items:center; gap:18px; margin:26px 0; }
.compliance-board-core svg { width:56px; height:56px; flex:none; color:#8bb6ff; }
.compliance-board-core strong,.compliance-board-core span { display:block; }
.compliance-board-core strong { font-size:19px; }
.compliance-board-core span { margin-top:5px; color:#b4c9e9; font-size:12px; }
.compliance-board-list { display:grid; gap:12px; list-style:none; padding:0; margin:0; }
.compliance-board-list li { display:flex; gap:14px; align-items:center; padding:15px; border-radius:12px; background:#ffffff0d; }
.compliance-board-list b { color:#55e2b7; font-size:14px; }
.compliance-board-list strong,.compliance-board-list span { display:block; }
.compliance-board-list span { margin-top:3px; color:#b4c9e9; font-size:12px; }
.compliance-board .compliance-board-note { margin:18px 0 0; font-size:11px; text-align:center; }
.compliance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.compliance-card { padding:26px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.compliance-service-icon { width:46px; height:46px; display:grid; place-items:center; margin-inline:auto; border-radius:13px; background:#edf3ff; }
.compliance-service-icon img { display:block; width:27px; height:27px; }
.compliance-card h3 { margin:18px 0 10px; font-size:19px; }
.compliance-card p,.compliance-plan p { margin:0; color:var(--muted); font-size:14px; line-height:1.8; }
.compliance-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.compliance-plan { display:flex; flex-direction:column; padding:32px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.compliance-plan>span { color:var(--brand); font-size:12px; font-weight:800; letter-spacing:1px; }
.compliance-plan h3 { font-size:25px; margin:14px 0; }
.compliance-plan ul { flex:1; padding-left:20px; color:#4d627f; font-size:14px; line-height:2; }
.compliance-plan>a { color:var(--brand); font-size:14px; font-weight:700; }
.compliance-note { margin:22px 0 0; color:var(--muted); font-size:12px; line-height:1.8; }
.compliance-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; padding:0; list-style:none; }
.compliance-flow li { min-width:0; }
.compliance-flow b { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#fff; background:var(--brand); font-size:14px; }
.compliance-flow h3 { margin:16px 0 8px; font-size:17px; }
.compliance-flow p { margin:0; color:var(--muted); font-size:13px; line-height:1.8; }
.compliance-faq { max-width:940px; margin:auto; }
.compliance-faq h2 { margin:0 0 30px; font-size:clamp(26px,3vw,38px); }
.compliance-faq details { border-bottom:1px solid var(--line); padding:20px 0; }
.compliance-faq summary { cursor:pointer; font-size:17px; font-weight:700; line-height:1.7; }
.compliance-faq p { color:var(--muted); font-size:14px; line-height:1.9; }
@media(max-width:1000px) {
  .compliance-board { width:100%; max-width:640px; }
  .compliance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .compliance-flow { grid-template-columns:1fr; }
  .compliance-flow li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; }
  .compliance-flow h3 { margin:0 0 6px; }
}
@media(max-width:600px) {
  .compliance-board { padding:20px; border-radius:18px; }
  .compliance-grid,.compliance-plans { grid-template-columns:1fr; gap:18px; }
  .compliance-card,.compliance-plan { padding:22px; }
  .compliance-card { display:grid; grid-template-columns:46px minmax(0,1fr); gap:8px 14px; }
  .compliance-service-icon { grid-row:span 2; margin-inline:0; }
  .compliance-card h3 { margin:0; font-size:17px; }
  .compliance-card p { grid-column:2; font-size:13px; }
  .compliance-faq summary { font-size:16px; }
}
