/*!
 * CapMatch CSS — FULL FILE (do not merge partial CSS)
 * Single Source of Truth: overwrite the entire file on deploy.
 * Version: v5.4 — 2025-09-20
 * Sentinel: .cm-sentinel-v51 (hidden)
 */
.cm-sentinel-v51{display:none !important;}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:10000;background:rgba(23,18,31,.94);backdrop-filter:saturate(120%) blur(2px)}
.site-header .container{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-header a{color:#fff;font-weight:600}
.site-header nav{display:flex;gap:20px;align-items:center}
/* Active nav state */
.site-header nav a[aria-current="page"],
.site-header nav a.active{position:relative}
.site-header nav a[aria-current="page"]::after,
.site-header nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:linear-gradient(90deg,#E06BFF,#A8005F);border-radius:2px}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:16px;top:12px;width:auto;height:auto;padding:8px 12px;background:#120E1A;border:1px solid rgba(255,255,255,.3);border-radius:10px;color:#fff;z-index:10001}

/* Buttons (base) */
.cm-btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border-radius:9999px;font-weight:800;letter-spacing:.01em;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg, rgba(77,49,93,.96), rgba(36,23,38,.96));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 30px rgba(0,0,0,.35)}
.cm-btn--primary{background:linear-gradient(180deg, #E06BFF 0%, #B64ACD 60%, #A8005F 100%)}
/* Global spacing under fixed header */
body.no-sidebar .main{padding-top:96px}
/* v3: button states & focus */
.cm-btn{transition:transform .08s ease, filter .15s ease, box-shadow .15s ease}
.cm-btn:hover{filter:brightness(1.08);box-shadow:0 6px 18px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08)}
.cm-btn:active{transform:translateY(1px)}
.cm-btn:focus-visible{outline:3px solid #E06BFF;outline-offset:3px}

/* Footer */
.site-footer{background:#120E1A;border-top:1px solid rgba(255,255,255,.08);margin-top:40px}
.site-footer .container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding:28px 24px}
.site-footer h4{margin:0 0 10px;font-size:14px;opacity:.9;letter-spacing:.3px}
.site-footer p, .site-footer a{font-size:14px;opacity:.9}
.site-footer a:hover{opacity:1;text-decoration:underline;text-underline-offset:2px}
.site-footer .brand{font-weight:800;font-size:18px;margin-bottom:8px}
.site-footer .legal{border-top:1px solid rgba(255,255,255,.08);margin-top:16px;padding-top:12px;font-size:12px;opacity:.7}
.site-footer .social{display:flex;gap:10px;margin-top:8px}
.site-footer .social a{display:inline-flex;width:28px;height:28px;border-radius:999px;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
@media (max-width: 900px){
  .site-footer .container{grid-template-columns:1fr;gap:8px}
}

/* Forms */
.cm-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.cm-label{font-size:14px;opacity:.9}
.cm-input, .cm-select, .cm-textarea{
  appearance:none;width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);color:#fff;padding:12px 14px;outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.cm-input:focus, .cm-select:focus, .cm-textarea:focus{border-color:#B64ACD;box-shadow:0 0 0 3px rgba(182,74,205,.25)}
.cm-help{font-size:12px;opacity:.75}
.cm-checkbox{display:flex;align-items:center;gap:8px}
.cm-checkbox input{accent-color:#B64ACD;width:16px;height:16px}
.cm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width: 720px){ .cm-form-row{grid-template-columns:1fr} }

/* Icon utilities */
.cm-icon{display:inline-block;vertical-align:middle;max-width:none;flex:0 0 auto}
.cm-icon{width:var(--cm-icon-size,16px)!important;height:var(--cm-icon-size,16px)!important}
.cm-icon-12{--cm-icon-size:12px}
.cm-icon-14{--cm-icon-size:14px}
.cm-icon-16{--cm-icon-size:16px}
.cm-icon-18{--cm-icon-size:18px}
.cm-icon-20{--cm-icon-size:20px}
.cm-icon-24{--cm-icon-size:24px}
