/* Shared styles for the 4 Immigration Compliance pages:
   legal-services.html, attorney-network.html, client-rights.html, recognition-accreditation.html */

.cp-hero{ padding:44px 0 40px; position:relative; overflow:hidden; border-bottom:1px solid var(--line-soft); }
.cp-hero::before{ content:""; position:absolute; inset:0; z-index:0; background:url("assets/hero-rot-5.jpg?v=3") center 30%/cover no-repeat; }
.cp-hero::after{ content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(105deg,rgba(241,248,253,.96) 0%,rgba(241,248,253,.9) 45%,rgba(238,246,252,.6) 100%); }
.cp-hero > *{ position:relative; z-index:1; }
.cp-hero .prog{ display:inline-flex; align-items:center; gap:8px; font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:.45em .9em; box-shadow:var(--shadow-sm); }
.cp-hero .lead{ max-width:66ch; margin-top:18px; }

.cp-crumb{ background:var(--paper); border-bottom:1px solid var(--line-soft); }
.cp-crumb .container{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:12px 0; font-size:.82rem; }
.cp-crumb a{ color:var(--muted); font-weight:600; }
.cp-crumb a.on{ color:var(--ink); font-weight:800; }
.cp-crumb span{ color:var(--line); }

.cp-prose h2{ font-family:var(--serif); font-weight:600; font-size:1.55rem; color:var(--ink); margin:36px 0 12px; }
.cp-prose h2:first-child{ margin-top:0; }
.cp-prose h3{ font-family:var(--sans); font-weight:800; font-size:1rem; color:var(--ink); display:flex; align-items:center; gap:9px; }
.cp-prose h3 svg{ width:19px; height:19px; }
.cp-prose p{ color:var(--ink-soft); font-size:1rem; line-height:1.75; margin-top:4px; }
.cp-prose{ max-width:76ch; margin:0 auto; }

.cp-check{ list-style:none; margin:16px 0 0; padding:0; display:flex; flex-direction:column; gap:12px; }
.cp-check li{ display:flex; gap:12px; align-items:flex-start; color:var(--ink-soft); font-size:.96rem; line-height:1.6; }
.cp-check li svg{ width:19px; height:19px; flex:none; margin-top:3px; color:#2f8f5b; }
.cp-check li b{ color:var(--ink); }

.cp-split{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:34px; }
.cp-col{ border-radius:16px; padding:24px 26px; border:1px solid var(--line-soft); }
.cp-col-do{ background:rgba(47,143,91,.06); border-color:rgba(47,143,91,.22); }
.cp-col-dont{ background:rgba(196,72,60,.05); border-color:rgba(196,72,60,.2); }
.cp-col h3{ margin-bottom:4px; }
.cp-col-do h3 svg{ color:#2f8f5b; }
.cp-col-dont h3 svg{ color:#b4453a; }
.cp-col ul{ margin:14px 0 0; padding-left:18px; color:var(--ink-soft); font-size:.92rem; line-height:1.7; }
.cp-col ul li{ margin-bottom:4px; }

.cp-faq{ background:var(--sky-1); }
.cp-faqlist{ max-width:76ch; margin:28px auto 0; display:flex; flex-direction:column; gap:10px; }
.cp-faqlist details{ background:var(--paper); border:1px solid var(--line-soft); border-radius:14px; padding:6px 20px; }
.cp-faqlist summary{ cursor:pointer; padding:14px 0; font-weight:700; color:var(--ink); font-size:.96rem; list-style:none; display:flex; justify-content:space-between; gap:10px; }
.cp-faqlist summary::-webkit-details-marker{ display:none; }
.cp-faqlist summary::after{ content:"+"; color:var(--gold); font-size:1.2rem; font-weight:800; }
.cp-faqlist details[open] summary::after{ content:"–"; }
.cp-faqlist p{ color:var(--muted); font-size:.92rem; line-height:1.65; padding-bottom:16px; margin:0; }
.cp-faqlist a{ color:var(--ink-2); font-weight:700; }

.cp-notice{ background:var(--ink); padding:56px 0; }
.cp-noticebox{ max-width:800px; margin:0 auto; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); border-radius:16px; padding:28px 32px; }
.cp-noticebox .tag{ display:inline-flex; align-items:center; gap:9px; color:var(--gold-2); font-weight:800; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; }
.cp-noticebox .tag svg{ width:17px; height:17px; }
.cp-noticebox p{ color:#bcd0e6; margin-top:12px; font-size:.9rem; line-height:1.65; }
.cp-noticebox a{ color:var(--gold-2); font-weight:700; }

/* Client Rights specific: numbered rights grid */
.cp-rights{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:10px; }
.cp-right{ background:var(--sky-1); border:1px solid var(--line-soft); border-radius:14px; padding:20px 22px; }
.cp-right .num{ font-family:var(--serif); font-weight:700; color:var(--gold); font-size:1rem; }
.cp-right h4{ font-family:var(--sans); font-weight:800; font-size:.94rem; color:var(--ink); margin-top:4px; }
.cp-right p{ color:var(--muted); font-size:.88rem; margin-top:6px; line-height:1.6; }

/* Recognition & Accreditation: definition table */
.cp-deflist{ margin-top:16px; display:flex; flex-direction:column; gap:10px; }
.cp-def{ display:grid; grid-template-columns:200px 1fr; gap:18px; padding:16px 0; border-top:1px solid var(--line-soft); }
.cp-def:first-child{ border-top:none; }
.cp-def b{ color:var(--ink); font-size:.9rem; }
.cp-def span{ color:var(--ink-soft); font-size:.92rem; line-height:1.6; }

@media (max-width:760px){
  .cp-split{ grid-template-columns:1fr; }
  .cp-rights{ grid-template-columns:1fr; }
  .cp-def{ grid-template-columns:1fr; gap:4px; }
}
