/* Le MAG 1.1.1 — blue visual identity with curved header inspired by the site. */
.ccmag-library {
  --ccmag-sky:#9dc9ee; --ccmag-sky-soft:#dcefff; --ccmag-blue:#1687ca; --ccmag-strong:#075c99;
  --ccmag-navy:#133f6a; --ccmag-ice:#eaf6fe; --ccmag-pale:#f5fbff;
  --ccmag-border:#c6e1f3; --ccmag-copy:#294a64;
  color:var(--ccmag-copy); font-family:inherit; max-width:1240px; margin:0 auto 4rem;
}
.ccmag-library * { box-sizing:border-box; }
.ccmag-library button,.ccmag-library input { font:inherit; }
.ccmag-head { position:relative; isolation:isolate; overflow:hidden; border-radius:24px;
  padding:clamp(24px,3.7vw,46px) clamp(22px,4.5vw,56px);
  background:linear-gradient(180deg,#d9ecfb 0%,#d3e9fa 100%);
  border:1px solid #b6d8f1; box-shadow:0 10px 28px rgba(11,96,151,.075);
}
.ccmag-head::before { content:""; position:absolute; width:820px;height:820px;top:-460px;right:-170px;
  background:rgba(255,255,255,.46); border-radius:50%;pointer-events:none; z-index:0; }
.ccmag-head::after { content:""; position:absolute; height:120px; width:115%; bottom:-74px;left:-7%;
  transform:rotate(-2deg); background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(118,192,238,.42) 30%,rgba(122,199,241,.33) 62%,rgba(255,255,255,.16)); border-radius:50%;z-index:0; }
.ccmag-head-layout { position:relative;z-index:1;display:grid;grid-template-columns:minmax(210px,300px) minmax(0,1fr);
  gap:clamp(18px,3.9vw,52px);align-items:center; }
.ccmag-brand { display:flex;align-items:center;justify-content:center; min-width:0; padding-right:6px; }
.ccmag-logo { display:block;max-width:100%;height:auto;max-height:240px;object-fit:contain; }
/* If GD is unavailable, the original official JPEG is shown, not a fabricated logo. */
.ccmag-logo-jpeg { mix-blend-mode:multiply; }
.ccmag-kicker { color:#2b7db0; font-size:12px; font-weight:800; text-transform:uppercase;
  letter-spacing:.14em; margin-bottom:9px; }
.ccmag-head h1 { color:var(--ccmag-navy)!important; font-size:clamp(31px,4.2vw,56px)!important;
  font-weight:800;letter-spacing:-.04em;line-height:1.12;margin:0 0 13px!important;padding:0!important; }
.ccmag-head p { max-width:740px;color:#355d7b!important;line-height:1.7;font-size:clamp(14px,1.5vw,17px);
  padding:0!important;margin:0!important; }
.ccmag-head-content { position:relative; }
.ccmag-meta { display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:20px; }
.ccmag-meta span { background:rgba(255,255,255,.72);border:1px solid #a9d0ec;border-radius:50px;
  color:#166392;font-size:12px;font-weight:700;padding:9px 15px; box-shadow:0 2px 8px rgba(43,117,168,.05);} 
.ccmag-search-area { padding:22px 0 3px; }
.ccmag-search-form { background:var(--ccmag-ice);border:1px solid var(--ccmag-border);
  border-radius:15px;padding:20px 22px; }
.ccmag-search-form label { display:block;color:var(--ccmag-navy);font-size:16px;font-weight:750;margin:0 0 10px; }
.ccmag-search-inputs { display:flex;gap:10px;align-items:stretch; }
.ccmag-search-inputs input { background:#fff!important;border:1px solid #a7cce4!important;border-radius:9px!important;
  color:var(--ccmag-navy)!important; box-shadow:none!important;flex:1 1 200px;min-width:0;
  height:49px!important;margin:0!important;padding:12px 16px!important; }
.ccmag-search-inputs input:focus { outline:2px solid #43a1d9;outline-offset:1px; }
.ccmag-search-form small { display:block;margin-top:10px;color:#527994;font-size:12px; }
.ccmag-btn { display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
  text-decoration:none!important;white-space:nowrap;text-align:center;line-height:1.2!important;
  border:1px solid transparent!important;border-radius:9px!important;padding:11px 14px!important;
  min-height:43px;font-size:13px!important;font-weight:750!important;cursor:pointer;
  transition:background .18s,border-color .18s,transform .18s,box-shadow .18s; }
.ccmag-btn:hover { transform:translateY(-1px); }
.ccmag-btn:focus-visible,.ccmag-cover-button:focus-visible,.ccmag-lightbox button:focus-visible,
.ccmag-library a:focus-visible {outline:3px solid #219bdc!important;outline-offset:2px;}
.ccmag-btn-main {background:var(--ccmag-blue)!important;color:#fff!important;}
.ccmag-btn-main:hover,.ccmag-btn-main:focus-visible {background:#0867a6!important;color:#fff!important;}
.ccmag-btn-main span {font-size:24px;line-height:0;margin-top:-2px;}
.ccmag-grid-bar {display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;padding:27px 0 17px;}
.ccmag-grid-bar h2 {margin:0!important;padding:0!important;color:var(--ccmag-navy)!important;
  font-size:clamp(21px,2.5vw,27px)!important;font-weight:800;}
.ccmag-grid-bar span {font-size:13px;color:#6288a3;}
.ccmag-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;}
.ccmag-card {display:flex;flex-direction:column;background:#fff;border:1px solid var(--ccmag-border);
  border-radius:13px;overflow:hidden;box-shadow:0 6px 18px rgba(31,105,150,.07);
  transition:transform .18s,box-shadow .18s;}
.ccmag-card:hover {transform:translateY(-3px);box-shadow:0 12px 27px rgba(31,105,150,.16);}
.ccmag-cover-button {position:relative;display:block;width:100%;padding:12px!important;border:0!important;
  border-bottom:1px solid #d7e9f4!important;background:#f1f9fd!important;
  cursor:zoom-in;text-align:left;line-height:0;}
.ccmag-cover-button img,.ccmag-cover-placeholder {display:block;width:100%;height:255px;object-fit:contain;
  object-position:center;border-radius:4px;box-shadow:0 2px 7px rgba(0,0,0,.11);}
.ccmag-cover-placeholder {background:linear-gradient(155deg,#7cbce6,#0874b5);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;
  line-height:1.3;text-align:center;padding:14px;}
.ccmag-cover-placeholder small {text-transform:uppercase;font-size:10px;letter-spacing:.11em;color:#e4f5ff;}
.ccmag-cover-placeholder strong {font-size:clamp(23px,3vw,43px);letter-spacing:-.05em;}
.ccmag-cover-placeholder>span {font-size:16px;color:#fff;font-weight:650;}
.ccmag-zoom {position:absolute;bottom:21px;right:19px;display:flex;gap:6px;align-items:center;
  background:rgba(7,73,117,.93);color:white;font-size:12px;line-height:1.2;
  border-radius:40px;padding:8px 11px;opacity:0;transition:opacity .16s;}
.ccmag-cover-button:hover .ccmag-zoom,.ccmag-cover-button:focus .ccmag-zoom {opacity:1;}
.ccmag-card-body {padding:14px 14px 16px;margin-top:auto;}
.ccmag-card h3 {font-size:16px!important;margin:0 0 14px!important;padding:0!important;
  font-weight:800;line-height:1.35;min-height:22px;color:var(--ccmag-navy)!important;}
.ccmag-card-links {display:flex;gap:8px;}
.ccmag-btn-read {flex:1;background:var(--ccmag-blue)!important;color:#fff!important;}
.ccmag-btn-read:hover,.ccmag-btn-read:focus-visible {background:#07649f!important;color:#fff!important;}
.ccmag-btn-download {color:var(--ccmag-strong)!important;border-color:#a7d2ec!important;background:#fff!important;}
.ccmag-btn-download:hover,.ccmag-btn-download:focus-visible {background:#e9f5fd!important;color:#075687!important;}
.ccmag-empty {background:var(--ccmag-pale);border:1px dashed #8bc3e3;padding:40px;border-radius:13px;text-align:center;}
.ccmag-results {margin-top:17px;border-radius:13px;padding:21px;background:#fff;border:1px solid var(--ccmag-border);
  box-shadow:0 12px 30px rgba(31,105,150,.07);}
.ccmag-results[hidden],.ccmag-lightbox[hidden] {display:none!important;}
.ccmag-results-top {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;}
.ccmag-results-top h2 {font-size:20px!important;padding:0!important;margin:0!important;color:var(--ccmag-navy)!important;}
.ccmag-reset {border:0;background:none;cursor:pointer;color:#12699c;text-decoration:underline;font-size:13px;}
.ccmag-results-summary {font-size:13px;color:#6286a1;margin-bottom:15px;}
.ccmag-result {border-top:1px solid #e0eef8;padding:15px 0;}
.ccmag-result-head {display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;}
.ccmag-result a {font-weight:800;color:#076da8!important;text-decoration:underline!important;text-underline-offset:3px;}
.ccmag-result-page {font-size:12px;border-radius:15px;padding:2px 8px;background:#e7f5ff;color:#287aa9;}
.ccmag-result p {margin:7px 0 0!important;padding:0!important;font-size:13px;line-height:1.65;color:#4a6d84;overflow-wrap:anywhere;}
.ccmag-result mark {background:#fff0a8;padding:0 2px;border-radius:2px;color:#3d3421;}
.ccmag-bulk {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  margin:25px 0 0;padding:18px 22px;background:#eef8ff;border-radius:12px;border:1px solid #d2eafa;}
.ccmag-bulk p {color:#426d8b;padding:0!important;margin:0!important;font-size:14px;}
.ccmag-bulk a {color:#096caa!important;text-decoration:underline!important;font-size:14px;font-weight:750;}
/* Fullscreen lightbox is appended to the body to avoid Divi transforms. */
.ccmag-lightbox {position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:24px;}
.ccmag-lightbox-shade {position:absolute;inset:0;background:rgba(3,29,52,.92);}
.ccmag-lightbox-dialog {z-index:1;position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;
  grid-template-rows:minmax(0,1fr) auto;width:min(760px,100%);max-height:calc(100vh - 48px);
  gap:10px;align-items:center;}
.ccmag-lightbox-content {min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ccmag-lightbox-content img {max-height:calc(100vh - 155px);max-width:100%;object-fit:contain;
  border-radius:4px;box-shadow:0 15px 45px rgba(0,0,0,.45);}
.ccmag-lightbox-content iframe {height:min(75vh,730px);width:100%;background:#fff;border:0;border-radius:6px;}
.ccmag-lightbox-close {position:absolute;right:0;top:-51px;background:rgba(255,255,255,.12);color:white;
  border:1px solid rgba(255,255,255,.25);width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:28px;}
.ccmag-lightbox-nav {border:1px solid rgba(255,255,255,.28)!important;background:rgba(255,255,255,.1)!important;
  color:white!important;border-radius:50%;width:43px;height:43px;font-size:30px;cursor:pointer;line-height:1;}
.ccmag-lightbox-nav:hover,.ccmag-lightbox-close:hover {background:rgba(255,255,255,.24)!important;}
.ccmag-lightbox-footer {grid-column:1/4;display:flex;justify-content:center;align-items:center;
  gap:24px;color:white;padding:7px;flex-wrap:wrap;}
.ccmag-lightbox-title {font-size:16px;}
.ccmag-lightbox-download {color:#b8e5ff!important;font-weight:700;text-decoration:underline!important;}
body.ccmag-modal-open {overflow:hidden;}
@media(max-width:1050px) { .ccmag-grid {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:740px) {
  .ccmag-head-layout {grid-template-columns:1fr;gap:14px;}
  .ccmag-brand {justify-content:flex-start;}
  .ccmag-logo {max-height:185px;width:auto;max-width:250px;}
  .ccmag-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;}
  .ccmag-cover-button img,.ccmag-cover-placeholder {height:230px;}
  .ccmag-search-inputs {flex-direction:column;}
  .ccmag-search-inputs input {flex:0 0 auto;width:100%;height:49px!important;}
  .ccmag-search-inputs .ccmag-btn {width:100%;}
}
@media(max-width:480px) {
  .ccmag-head {border-radius:12px;padding:20px 18px 27px;}
  .ccmag-head h1 {font-size:32px!important;}
  .ccmag-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .ccmag-cover-button {padding:7px!important;}
  .ccmag-cover-button img,.ccmag-cover-placeholder {height:188px;}
  .ccmag-card-body {padding:12px 9px;}
  .ccmag-card h3 {font-size:14px!important;}
  .ccmag-card-links {flex-direction:column;gap:6px;}
  .ccmag-btn {font-size:12px!important;padding:9px 6px!important;min-height:37px;}
  .ccmag-zoom {opacity:1;font-size:10px;bottom:13px;right:12px;padding:5px 8px;}
  .ccmag-lightbox {padding:12px;}
  .ccmag-lightbox-dialog {grid-template-columns:29px minmax(0,1fr) 29px;gap:4px;}
  .ccmag-lightbox-nav {width:28px;height:35px;font-size:25px;}
  .ccmag-lightbox-content img {max-height:calc(100vh - 155px);}
}
@media(prefers-reduced-motion:reduce) {.ccmag-library * {transition:none!important;}}
