:root{--icp-ink:#12131e;--icp-purple:#8d4cf4;--icp-shell:min(1180px,calc(100% - 40px))}.icp-custom-site{margin:0;background:#f7f7fb;color:var(--icp-ink)}.icp-shell{width:var(--icp-shell);margin-inline:auto}.icp-skip-link:focus{position:fixed;top:10px;left:10px;z-index:99999;padding:10px 14px;background:#fff;color:#111}.icp-site-header{position:relative;z-index:100;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.icp-network-bar{min-height:29px;display:flex;align-items:center;background:#11131e;color:#aaa9b8;font-size:.68rem}.icp-network-bar__inner{display:flex;align-items:center;gap:20px}.icp-network-bar a{color:#cbc9d7;text-decoration:none}.icp-network-bar__inner>span{margin-left:auto}.icp-network-menu,.icp-menu,.icp-footer-menu{display:flex;gap:18px;padding:0;margin:0;list-style:none}.icp-brand-row{min-height:88px;display:flex;align-items:center;gap:34px}.icp-brand{flex:0 0 auto}.icp-brand .custom-logo{width:auto;max-width:270px;max-height:60px;display:block}.icp-brand__text{color:#171526;font-size:1.6rem;font-weight:900;text-decoration:none}.icp-brand-row__claim{max-width:430px;margin:0 0 0 auto;color:#676477;font-size:.78rem;line-height:1.45;text-align:right}.icp-header-actions{display:flex;gap:8px}.icp-icon-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:#141622;color:#fff;font-size:1.15rem;cursor:pointer}.icp-menu-toggle{display:none}.icp-primary-nav{border-block:1px solid #eceaf1;background:#fff}.icp-primary-nav .icp-menu{min-height:48px;align-items:center;overflow-x:auto}.icp-primary-nav a{display:block;color:#171526;font-size:.76rem;font-weight:800;text-decoration:none;white-space:nowrap}.icp-primary-nav .sub-menu{position:absolute;min-width:190px;display:none;padding:10px;border:1px solid #eceaf1;border-radius:10px;background:#fff;box-shadow:0 15px 40px rgba(20,15,50,.15);list-style:none}.icp-primary-nav li{position:relative}.icp-primary-nav li:hover>.sub-menu,.icp-primary-nav li:focus-within>.sub-menu{display:block}.icp-search-panel{position:absolute;left:0;right:0;padding:28px 0;background:#171825;color:#fff;box-shadow:0 20px 50px rgba(12,10,30,.2)}.icp-search-panel label{display:block;margin-bottom:10px;font-size:.75rem;font-weight:850;text-transform:uppercase}.icp-search-panel form>div{display:flex;gap:8px}.icp-search-panel input{min-width:0;flex:1;padding:14px;border:0;border-radius:10px;font:inherit}.icp-search-panel button{padding:0 25px;border:0;border-radius:10px;background:var(--icp-purple);color:#fff;font-weight:850}.icp-site-footer{padding:52px 0 20px;background:#11131e;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.icp-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px}.icp-footer-brand>a{color:#fff;font-size:1.35rem;font-weight:900;text-decoration:none}.icp-footer-brand p{max-width:340px;color:#9896a7;font-size:.78rem;line-height:1.55}.icp-footer-grid strong{display:block;margin-bottom:15px;font-size:.72rem;text-transform:uppercase}.icp-footer-menu{display:grid;gap:9px}.icp-footer-menu a{color:#aaa8ba;font-size:.75rem;text-decoration:none}.icp-footer-menu a:hover{color:#c49aff}.icp-footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);color:#777586;font-size:.67rem}@media(max-width:760px){:root{--icp-shell:min(100% - 28px,1180px)}.icp-network-bar{display:none}.icp-brand-row{min-height:70px}.icp-brand .custom-logo{max-width:205px;max-height:48px}.icp-brand-row__claim{display:none}.icp-header-actions{margin-left:auto}.icp-menu-toggle{display:grid}.icp-primary-nav{display:none}.icp-primary-nav.is-open{display:block}.icp-primary-nav .icp-menu{display:grid;gap:0;padding-block:8px}.icp-primary-nav .icp-menu a{padding:11px 0}.icp-primary-nav .sub-menu{position:static;display:grid;padding:0 0 0 16px;border:0;box-shadow:none}.icp-search-panel form>div{display:grid}.icp-search-panel button{min-height:44px}.icp-footer-grid{grid-template-columns:1fr;gap:30px}.icp-footer-bottom{display:grid}.icp-footer-grid .icp-menu{display:grid;gap:9px}}

/* Provider-neutral ads: space exists only when a configured slot is rendered. */
.icp-ad {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: clamp(120px, 18vw, 220px);
  display: grid;
  align-content: center;
  margin-block: clamp(22px, 4vw, 38px);
  overflow: hidden;
  text-align: center;
  contain: layout paint;
}
.icp-ad__label {
  display: block;
  margin-bottom: 6px;
  color: #666374;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* One consistent keyboard indicator across navigation, cards and controls. */
.icp-custom-site :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--icp-primary-dark, #5521b4) !important;
  outline-color: color-mix(in srgb, var(--icp-primary-dark, #5521b4) 74%, #111) !important;
  outline-offset: 3px;
}
.icp-ad__body,
.icp-ad__creative {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  display: grid;
  place-items: center;
}
.icp-ad__creative,
.icp-ad__creative > *,
.icp-ad iframe,
.icp-ad ins {
  max-width: 100%;
  margin-inline: auto;
}
.icp-adplus-unit {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.icp-ad iframe { border: 0; }

/* Keep in-content Google Auto Ads inside the editorial column. Anchor ads stay untouched. */
main .google-auto-placed {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  overflow: hidden !important;
  contain: layout paint;
}
main .google-auto-placed > ins,
main .google-auto-placed iframe {
  max-width: 100% !important;
}
.icp-ad--size-leaderboard { min-height: 110px; }
.icp-ad--size-rectangle { min-height: 280px; }
@media (min-width: 721px) {
  .icp-ad--hide-desktop { display: none; }
}
@media (max-width: 720px) {
  .icp-ad { min-height: 110px; margin-block: 20px; }
  .icp-ad--size-rectangle { min-height: 250px; }
  .icp-ad--hide-mobile { display: none; }
}

/* Shared responsive guardrails: keep every template inside the visual viewport. */
html,
body.icp-custom-site {
  max-width: 100%;
  overflow-x: clip;
}
.icp-custom-site *,
.icp-custom-site *::before,
.icp-custom-site *::after {
  box-sizing: border-box;
}
.icp-custom-site img,
.icp-custom-site video,
.icp-custom-site iframe,
.icp-custom-site svg {
  max-width: 100%;
}

/*
 * Imagify moves the original attachment classes from <img> to its generated
 * <picture>. Keep the real image fitted to components whose dimensions are
 * defined by those classes (hero, cards and archive covers).
 */
picture.icp-hero__image > img,
picture.icp-card__image > img,
picture.icp-archive-header__image > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: inherit;
  object-position: inherit;
}
.icp-shell,
.icp-brand-row,
.icp-header-actions,
.icp-scroll-guide,
.icp-home main,
.icp-single main,
.icp-entry-content {
  min-width: 0;
}
.icp-entry-content,
.icp-entry-content p,
.icp-entry-content li,
.icp-entry-content a,
.icp-entry-content h2,
.icp-entry-content h3 {
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  :root { --icp-shell: min(1180px, calc(100% - 24px)); }
  .icp-shell {
    width: var(--icp-shell);
    max-width: 100%;
  }
}

@media (max-width: 360px) {
  :root { --icp-shell: min(1180px, calc(100% - 16px)); }
}
