.cmp-page { background:#f4f7f6; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.cmp-hero { background:linear-gradient(165deg,#10233c 0%,#1a3554 58%,#154a34 100%); color:#fff; padding:2.2rem 0 1.6rem; }
.cmp-hero__kicker { margin:0 0 .4rem; font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#f4d36b; }
.cmp-hero h1 { margin:0; max-width:18em; font-size:clamp(1.6rem,4vw,2.3rem); line-height:1.15; }
.cmp-hero p { max-width:40rem; margin:.75rem 0 0; font-size:1.02rem; line-height:1.5; color:#e7eef6; }
.cmp-main { padding:1.25rem 0 3rem; }
.cmp-note { margin:0 0 1rem; color:#24384c; font-size:1rem; line-height:1.55; }
.cmp-note p { margin:0 0 .7rem; }
.cmp-note p:last-child { margin-bottom:0; }
.cmp-wrap { overflow-x:auto; background:#fff; border:1px solid #e2e8f0; border-radius:14px; box-shadow:0 8px 24px rgba(16,35,60,.05); }
.cmp-table { width:100%; min-width:820px; border-collapse:separate; border-spacing:0; }
.cmp-table th, .cmp-table td { padding:.8rem .75rem; text-align:left; vertical-align:top; border-bottom:1px solid #e6edf2; font-size:.92rem; line-height:1.4; }
.cmp-table thead th { background:#f8fafc; font-size:.95rem; }
.cmp-table th:first-child, .cmp-table td:first-child { position:sticky; left:0; z-index:1; min-width:8.6rem; background:#f8fafc; font-weight:700; color:#1e3a5f; }
.cmp-us { background:#f3faf6; }
.cmp-table thead .cmp-us { background:#e5f6eb; }
.cmp-name { display:block; color:#1e3a5f; }
.cmp-tag { display:block; margin-top:.15rem; font-size:.75rem; font-weight:700; letter-spacing:.02em; color:#2d8f4e; }
.cmp-read { margin-top:.45rem; padding:0; border:0; background:none; color:#1e3a5f; font:inherit; font-size:.82rem; font-weight:700; text-decoration:underline; text-underline-offset:.15rem; cursor:pointer; }
.cmp-read[aria-expanded="true"] { color:#2d8f4e; }
.cmp-table a { color:#1e3a5f; font-weight:700; text-decoration:underline; text-underline-offset:.12rem; }
.cmp-yes { font-weight:700; color:#1d6b38; }
.cmp-details { display:grid; gap:.65rem; margin-top:1rem; }
.cmp-detail { background:#fff; border:1px solid #e2e8f0; border-radius:12px; padding:0; }
.cmp-detail[open] { border-color:#b7dfc4; }
.cmp-detail summary { cursor:pointer; list-style:none; padding:.85rem 1rem; font-weight:800; color:#1e3a5f; }
.cmp-detail summary::-webkit-details-marker { display:none; }
.cmp-detail summary::after { content:"Read more"; float:right; font-size:.82rem; font-weight:700; color:#2d8f4e; text-decoration:underline; text-underline-offset:.12rem; }
.cmp-detail[open] summary::after { content:"Close"; }
.cmp-detail__body { padding:0 1rem 1rem; color:#24384c; font-size:.95rem; }
.cmp-detail__body p { margin:0 0 .55rem; }
.cmp-detail__body ul { margin:.2rem 0 .6rem 1.1rem; }
.cmp-detail__body li { margin:.15rem 0; }
.cmp-detail__meta { margin:0; color:#3d5166; font-size:.9rem; }
.cmp-detail--us { background:#f7fbf8; }
.cmp-actions { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.1rem; }
.cmp-contact { position:fixed; left:0; right:0; bottom:0; z-index:40; display:grid; grid-template-columns:1fr 1fr; background:#fff; border-top:1px solid #e2e8f0; }
.cmp-contact a { display:flex; align-items:center; justify-content:center; min-height:3rem; font-weight:800; }
.cmp-contact__call { background:#1e3a5f; color:#fff; }
.cmp-contact__wa { background:#2d8f4e; color:#fff; }
.cmp-page { padding-bottom:3.2rem; }
@media (min-width:1024px) {
  .cmp-contact { display:none; }
  .cmp-page { padding-bottom:0; }
}
