/* =====================================================================
   Serialetic — Cocon / Dossier (pillar page) design system
   Scoped under .sl-cocon. Built on hand-authored Kadence blocks:
   layout grids sit on `.kt-inside-inner-col:has(> .sl-co-*)`.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,500&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Quicksand:wght@500;600;700&family=Inter:wght@400;600;700&display=swap');

.sl-cocon{
  --co-navy:#16335C; --co-navy-d:#0D2149; --co-ink:#2B333F; --co-ink-soft:#4A5568;
  --co-pink:#E6164F; --co-pink-bg:#FDE7EE; --co-muted:#7A879A; --co-muted-2:#8A96A6;
  --co-line:#E3E9F2; --co-line-2:#C2CBD8; --co-box:#EAF0F8; --co-lav:#EEF3FF;
  --co-yellow:#FBF6E3; --co-blue-link:#13458E; --co-green:#22C55E; --co-red:#FF0244;
  --co-serif:'Source Sans 3', system-ui, sans-serif;
  --co-sans:'Poppins', system-ui, sans-serif;
  --co-round:'Quicksand', system-ui, sans-serif;
  --co-content:1024px; --co-side:248px; --co-gap:52px; --co-main:626px;
  font-family:var(--co-serif); color:var(--co-ink);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.sl-cocon *{box-sizing:border-box}
.sl-cocon a{color:inherit;text-decoration:none}
.sl-cocon img{max-width:100%;height:auto;display:block}

/* inner width helper: any full-bleed section holds a .sl-co-wrap column */
.sl-co-wrap{width:100%;max-width:calc(var(--co-content) + 48px);margin-inline:auto;padding-inline:24px}

/* ============================ HERO ============================ */
.sl-co-hero{background:linear-gradient(160deg,#F3F6FB 0%,#EAF0F8 100%)}
.sl-co-hero > .kt-inside-inner-col{padding-block:44px 58px}
/* hero row: text | visual */
.kt-inside-inner-col:has(> .sl-co-hero-left){display:grid!important;grid-template-columns:minmax(0,1fr) 415px;gap:60px;align-items:start}
.sl-co-hero-left{padding-top:24px}
.sl-co-crumb{font-family:var(--co-sans);font-weight:500;font-size:13px;color:var(--co-muted)}
.sl-co-crumb .sep{margin:0 8px;color:var(--co-line-2)}
.sl-co-crumb .cur{color:#2B5AA6;font-weight:600}
.sl-co-badge{display:inline-block;margin-top:22px;background:var(--co-pink-bg);color:var(--co-pink);font-family:var(--co-sans);font-weight:700;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;padding:7px 14px;border-radius:100px}
.sl-co-h1{font-family:var(--co-sans);font-weight:700;font-size:40px;line-height:46px;letter-spacing:-0.6px;color:var(--co-navy);margin-top:18px;max-width:520px}
.sl-co-lede{font-family:var(--co-serif);font-weight:400;font-size:17px;line-height:28px;color:var(--co-ink);margin-top:20px;max-width:490px}
.sl-co-herocta{display:flex;align-items:center;gap:24px;margin-top:34px;flex-wrap:wrap}
.sl-co-herometa{display:flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--co-sans);font-weight:500;font-size:13px;color:var(--co-muted)}
.sl-co-herometa .dot{width:7px;height:7px;border-radius:50%;background:var(--co-green);display:inline-block}
.sl-co-herometa .sep{color:var(--co-line-2)}
.sl-co-hero-right{position:relative}
.sl-co-visual{height:311px;border-radius:16px;border:1px solid #D3DEEC;background:linear-gradient(45deg,#DDE6F2 0%,#EAF0F8 100%);box-shadow:0 20px 20px rgba(16,34,66,.12);display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:600;font-size:11px;letter-spacing:1px;color:#9AA9C0}
.sl-co-chip{position:absolute;left:-18px;bottom:-18px;background:#fff;border-radius:12px;box-shadow:0 10px 13px rgba(16,34,66,.14);padding:14px 18px;display:flex;align-items:center;gap:12px}
.sl-co-chip .star{width:38px;height:38px;border-radius:9px;background:#EAF0F8;color:var(--co-navy);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none}
.sl-co-chip .n{font-family:var(--co-sans);font-weight:700;font-size:15px;color:var(--co-navy);display:block}
.sl-co-chip .s{font-family:var(--co-sans);font-weight:500;font-size:12px;color:var(--co-muted);display:block}
.sl-co-chip .txt{display:block}

/* buttons */
.sl-co-btn-pink > a,a.sl-co-btn-pink{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:var(--co-pink);color:#fff;border-radius:9px;font-family:var(--co-sans);font-weight:600;font-size:15px;padding:14px 26px;box-shadow:0 6px 8px rgba(230,22,79,.26)}
.sl-co-btn-pink > a.kb-button{border-radius:9px!important;padding:14px 26px!important;font-size:15px!important;min-height:0!important}

/* ============================ BODY ============================ */
.sl-co-body > .kt-inside-inner-col{padding-block:64px 0}
/* body row: sidebar | main */
.kt-inside-inner-col:has(> .sl-co-sidebar){display:grid!important;grid-template-columns:var(--co-side) var(--co-main);gap:var(--co-gap);align-items:start;justify-content:center}
.sl-co-sidebar{position:sticky;top:28px}
.sl-co-side-card{background:#fff;border:1px solid var(--co-line);border-radius:16px;padding:22px 20px;box-shadow:0 1px 3px rgba(16,24,64,.04)}
.sl-co-side-label{font-family:var(--co-sans);font-weight:700;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--co-muted)}
.sl-co-toc{margin-top:14px}
.sl-co-toc a{display:block;font-family:var(--co-sans);font-weight:500;font-size:14px;line-height:19px;color:var(--co-ink);padding:10px 0 10px 14px;border-left:2px solid transparent}
.sl-co-toc a.is-active{color:var(--co-navy);font-weight:600;border-left-color:var(--co-pink)}
.sl-co-cta-card{margin-top:18px;background:#F5F7FB;border:1px solid #E6EBF3;border-radius:12px;padding:22px 19px 18px}
.sl-co-cta-card__t{font-family:var(--co-sans);font-weight:600;font-size:15px;line-height:20px;color:var(--co-navy)}
.sl-co-cta-card__d{font-family:var(--co-serif);font-size:13px;line-height:20px;color:var(--co-ink);margin-top:10px}
.sl-co-cta-card__stat{font-family:'Source Sans 3',sans-serif;font-style:italic;font-size:12px;line-height:16px;color:var(--co-muted);margin-top:10px}
.sl-co-btn-sm > a{display:flex;align-items:center;justify-content:center;background:var(--co-pink);color:#fff;border-radius:8px;font-family:var(--co-sans);font-weight:600;font-size:13px;padding:12px}
.sl-co-btn-sm > a.kb-button{padding:12px!important;font-size:13px!important;border-radius:8px!important;min-height:0!important;width:100%}
.sl-co-btn-sm{margin-top:16px}

/* main column prose */
.sl-co-main{min-width:0}
.sl-co-intro{font-family:var(--co-serif);font-weight:500;font-size:20px;line-height:34px;color:var(--co-navy)}
.sl-co-main h2{font-family:var(--co-sans);font-weight:600;font-size:28px;line-height:36px;color:var(--co-navy);margin-top:52px;position:relative}
.sl-co-main h2::after{content:"";display:block;width:52px;height:4px;border-radius:2px;background:var(--co-pink);margin-top:14px}
.sl-co-main h3{font-family:var(--co-sans);font-weight:600;font-size:21px;line-height:28px;color:var(--co-navy);margin-top:38px}
.sl-co-main p{font-family:var(--co-serif);font-size:18px;line-height:32px;color:var(--co-ink);margin-top:16px}
.sl-co-main .hl{font-weight:700;color:var(--co-ink)}
.sl-co-main .lnk{color:var(--co-pink);text-decoration:underline;text-underline-offset:2px}

/* callouts */
.sl-co-callout{border-radius:12px;padding:20px 26px;margin-top:28px;background:var(--co-lav);border-left:4px solid var(--co-navy)}
.sl-co-callout.is-warm{background:var(--co-yellow);border-left-color:#E0A82E}
.sl-co-callout__k{font-family:var(--co-sans);font-weight:700;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--co-navy)}
.sl-co-callout.is-warm .sl-co-callout__k{color:#B7791F}
.sl-co-callout p{font-family:var(--co-serif);font-size:16px;line-height:26px;color:var(--co-ink);margin-top:10px}

/* material list (pink square bullets) */
.sl-co-matlist{margin-top:20px}
.sl-co-matlist .sl-co-mat{position:relative;padding-left:22px;font-family:var(--co-serif);font-size:18px;line-height:28px;color:var(--co-ink);margin-top:12px}
.sl-co-matlist .sl-co-mat::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:2px;background:var(--co-pink)}
.sl-co-matlist .sl-co-mat strong{font-weight:700;color:var(--co-navy)}

/* figure */
.sl-co-figure{margin-top:34px}
.sl-co-figure .sl-co-ph{height:274px;border-radius:14px;background:linear-gradient(135deg,#EEF2F8 0%,#F6F8FC 60%);border:1px solid var(--co-line);display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:600;font-size:12px;letter-spacing:1px;color:var(--co-line-2)}
.sl-co-figure figcaption,.sl-co-figcap{font-family:var(--co-serif);font-style:italic;font-size:13px;line-height:20px;color:var(--co-muted-2);margin-top:12px}

/* data table (built with Kadence rows/columns) */
.sl-co-table{margin-top:26px;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--co-line)}
.sl-co-table .sl-co-trow > .kt-inside-inner-col{display:grid!important;grid-template-columns:1fr 1fr 1fr}
.sl-co-table .sl-co-th{background:var(--co-navy);color:#fff;font-family:var(--co-sans);font-weight:600;font-size:13px;padding:14px 20px}
.sl-co-table .sl-co-td{font-family:var(--co-serif);font-size:15px;color:var(--co-ink);padding:14px 20px;border-top:1px solid var(--co-line)}
.sl-co-table .sl-co-td.is-key{font-weight:700;color:var(--co-navy)}

/* pull quote */
.sl-co-quote{margin-top:34px;padding:6px 0 6px 26px;border-left:4px solid var(--co-pink)}
.sl-co-quote__t{font-family:var(--co-sans);font-weight:500;font-style:italic;font-size:21px;line-height:31px;color:var(--co-navy);margin:0}
.sl-co-quote__c{display:block;font-family:var(--co-sans);font-weight:600;font-size:14px;color:var(--co-muted);font-style:normal;margin-top:12px}

/* ======================= DOSSIER CARDS ======================= */
.sl-co-dossier{background:#F7F9FC}
.sl-co-dossier > .kt-inside-inner-col{padding-block:64px 70px}
.sl-co-eyebrow{font-family:var(--co-sans);font-weight:700;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--co-pink);text-align:center}
.sl-co-sectitle{font-family:var(--co-sans);font-weight:700;font-size:28px;line-height:36px;color:var(--co-navy);text-align:center;margin-top:12px}
.kt-inside-inner-col:has(> .sl-co-dcard){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px;align-items:start}
.sl-co-dcard{background:#fff;border:1px solid var(--co-line);border-radius:16px;overflow:hidden}
.sl-co-dcard__thumb{height:150px;background:linear-gradient(135deg,#EEF2F8,#F6F8FC);display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-weight:600;font-size:11px;letter-spacing:1px;color:var(--co-line-2)}
.sl-co-dcard__cat{font-family:var(--co-sans);font-weight:700;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--co-pink)}
.sl-co-dcard__t{font-family:var(--co-sans);font-weight:600;font-size:19px;line-height:26px;color:var(--co-navy);margin-top:12px}
.sl-co-dcard__d{font-family:var(--co-serif);font-size:15px;line-height:24px;color:var(--co-ink);margin-top:12px}
.sl-co-dcard__more{display:inline-block;font-family:var(--co-sans);font-weight:600;font-size:14px;color:var(--co-pink);margin-top:16px}
.sl-co-dcard__cb{padding:24px 24px 26px}

/* ============================ FAQ ============================ */
.sl-co-faq > .kt-inside-inner-col{padding-block:64px 70px}
.sl-co-qbox{margin-top:36px;border:1px solid var(--co-line);border-radius:16px;overflow:hidden}
.sl-co-qbox .wp-block-kadence-accordion,.sl-co-qbox .kt-accordion-wrap,.sl-co-qbox .kt-accordion-inner-wrap{background:transparent!important;border:0!important;box-shadow:none!important;margin:0!important;padding:0!important}
.sl-co-qbox .kt-accordion-pane{background:transparent!important;border:0!important;border-top:1px solid var(--co-line)!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
.sl-co-qbox .kt-accordion-pane:first-child{border-top:0!important}
.sl-co-qbox .kt-blocks-accordion-header{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:22px 26px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
.sl-co-qbox .kt-blocks-accordion-title{color:var(--co-navy)!important;font-family:var(--co-sans)!important;font-weight:600!important;font-size:17px!important;line-height:1.3!important;text-align:left!important}
.sl-co-qbox .kt-blocks-accordion-icon-trigger{width:22px!important;height:22px!important;flex:none!important}
.sl-co-qbox .kt-blocks-accordion-icon-trigger::before,.sl-co-qbox .kt-blocks-accordion-icon-trigger::after{background:var(--co-pink)!important;width:16px!important;height:2px!important}
.sl-co-qbox .kt-accordion-panel{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.sl-co-qbox .kt-accordion-panel-inner{background:transparent!important;border:0!important;box-shadow:none!important;padding:0 26px 22px!important}
.sl-co-qbox .kt-accordion-panel-inner,.sl-co-qbox .kt-accordion-panel-inner p{font-family:var(--co-serif)!important;font-size:16px!important;line-height:26px!important;color:var(--co-ink)!important;margin:0!important}

/* ======================= FOOTER CTA ====================== */
.sl-co-footcta > .kt-inside-inner-col{padding-block:0 70px}
.sl-co-footcta__box{border-radius:17px;overflow:hidden;background:linear-gradient(122.423deg,#031C49 38.339%,#0743AF 113%);color:#fff}
.kt-inside-inner-col:has(> .sl-co-footcta__left){display:grid!important;grid-template-columns:minmax(0,1fr) 279px;gap:36px;align-items:start;padding:44px 48px}
.sl-co-footcta__title{font-family:var(--co-round);font-weight:700;font-size:28px;line-height:34px;color:#fff;max-width:420px}
.sl-co-footcta__list{margin-top:20px}
.sl-co-footcta__list .sl-co-fitem{font-family:var(--co-round);font-weight:700;font-size:18px;line-height:22px;color:#fff;margin-top:14px}
.sl-co-btn-red > a{display:inline-flex;align-items:center;justify-content:center;background:var(--co-red);color:#fff;border-radius:5px;font-family:var(--co-round);font-weight:700;font-size:18px;padding:15px 28px;margin-top:24px;letter-spacing:.5px}
.sl-co-btn-red > a.kb-button{border-radius:5px!important;padding:15px 28px!important;font-size:18px!important;min-height:0!important}
.sl-co-btn-red{margin-top:24px}
.sl-co-footcta__qcard{background:#F7F7F7;border-radius:19px;padding:34px;align-self:start;box-shadow:0 4px 30px rgba(0,0,0,.25)}
.sl-co-footcta__qt{font-family:var(--co-round);font-weight:700;font-size:26px;line-height:1.2;color:var(--co-blue-link)}
.sl-co-footcta__row{font-family:var(--co-round);font-weight:700;font-size:18px;line-height:1.2;color:var(--co-blue-link);margin-top:24px}
.sl-co-footcta__row.is-2{margin-top:14px}

/* ============ Kadence structure adaptation ============ */
.sl-cocon .sl-co-hero-left,.sl-cocon .sl-co-hero-right,.sl-cocon .sl-co-sidebar,.sl-cocon .sl-co-main,.sl-cocon .sl-co-dcard,.sl-cocon .sl-co-footcta__left,.sl-cocon .sl-co-footcta__qcard{width:auto!important;max-width:none!important;flex:0 1 auto!important;min-width:0}
.sl-co-side-card > .kt-inside-inner-col,.sl-co-cta-card > .kt-inside-inner-col,.sl-co-callout > .kt-inside-inner-col,.sl-co-figure > .kt-inside-inner-col,.sl-co-dcard > .kt-inside-inner-col,.sl-co-footcta__box > .kt-inside-inner-col,.sl-co-footcta__qcard > .kt-inside-inner-col,.sl-co-quote > .kt-inside-inner-col,.sl-co-visual > .kt-inside-inner-col{padding:0}
.sl-co-side-card :where(p,h2,h3,h4),.sl-co-cta-card :where(p,h2,h3,h4),.sl-co-callout :where(p,h2,h3,h4),.sl-co-dcard :where(p,h2,h3,h4),.sl-co-footcta :where(p,h2,h3,h4),.sl-co-hero-left :where(p,h2,h3,h4),.sl-co-chip :where(p),.sl-co-quote :where(p){margin-bottom:0!important}

@media (max-width:1024px){
  .kt-inside-inner-col:has(> .sl-co-sidebar){grid-template-columns:1fr!important;gap:32px!important;justify-content:stretch!important}
  .sl-co-sidebar{position:static!important;top:auto!important}
  .kt-inside-inner-col:has(> .sl-co-hero-left){grid-template-columns:1fr!important;gap:40px!important}
  .sl-co-hero-right{max-width:415px}
}
@media (max-width:820px){
  .kt-inside-inner-col:has(> .sl-co-dcard){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:600px){
  .sl-co-wrap{padding-inline:18px}
  .sl-co-h1{font-size:30px;line-height:36px}
  .kt-inside-inner-col:has(> .sl-co-dcard){grid-template-columns:1fr!important}
  .kt-inside-inner-col:has(> .sl-co-footcta__left){grid-template-columns:1fr!important;gap:26px!important;padding:28px 22px}
  .sl-co-footcta__qcard{width:auto!important}
  .sl-co-table .sl-co-th,.sl-co-table .sl-co-td{padding:12px 12px;font-size:13px}
}

/* ---- valid-block adjustments: crumb / hero meta / chip ---- */
.sl-co-crumb a{color:var(--co-muted)}
.sl-co-herometa::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--co-green);flex:none}
.sl-cocon .sl-co-chip{position:absolute;left:-18px;bottom:-18px;width:auto!important;max-width:none!important;background:#fff;border-radius:12px;box-shadow:0 10px 13px rgba(16,34,66,.14);padding:14px 18px;display:block}
.sl-co-chip > .kt-inside-inner-col{display:flex!important;flex-direction:row!important;align-items:center;gap:12px;padding:0}
.sl-cocon .sl-co-chip-star{width:38px!important;max-width:38px!important;height:38px;border-radius:9px;background:#EAF0F8;color:var(--co-navy);display:flex;align-items:center;justify-content:center;font-size:15px;flex:none}
.sl-cocon .sl-co-chip-txt{flex:0 1 auto!important;width:auto!important;max-width:none!important;min-width:0}
.sl-co-chip-txt > .kt-inside-inner-col{display:block;padding:0}
.sl-co-chip-n{font-family:var(--co-sans);font-weight:700;font-size:15px;color:var(--co-navy);margin:0}
.sl-co-chip-s{font-family:var(--co-sans);font-weight:500;font-size:12px;color:var(--co-muted);margin:0}
