.ciwz-nav{gap:4px}.ciwz-nav>a{font-size:.82rem;padding:.5rem .55rem}.ciwz-nav .ciwz-icon{width:16px;height:16px}.ciwz-pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ciwz-pillar{padding:22px;border:1px solid #e2e8f0;border-radius:20px;background:#fff}.ciwz-pillar h3{color:#0b1930;margin:.7rem 0}.ciwz-pillar p{color:#596579}.ciwz-pillar .ciwz-btn{margin-top:8px}.ciwz-skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ciwz-skill-card{padding:18px;border:1px solid #e5eaf1;border-radius:16px;background:#fff}.ciwz-skill-card strong{font-size:1.55rem;color:#0b1930}.ciwz-skill-level{font-weight:800;color:#155eef}.ciwz-matrix-wrap{overflow:auto}.ciwz-matrix{min-width:980px;width:100%;border-collapse:collapse}.ciwz-matrix th,.ciwz-matrix td{padding:10px;border-bottom:1px solid #e6eaf0;text-align:center}.ciwz-matrix th:first-child,.ciwz-matrix td:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:1}.ciwz-level-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef4ff;color:#174ea6;font-size:.75rem;font-weight:800}.ciwz-gap-pill{display:inline-block;padding:4px 8px;border-radius:999px;background:#fff3e6;color:#9a4b00;font-size:.75rem;font-weight:800}.ciwz-answer-block{padding:18px 20px;border-left:4px solid #155eef;background:#f7faff;border-radius:0 16px 16px 0}.ciwz-faq details{border:1px solid #e4e9f0;border-radius:14px;padding:14px 16px;background:#fff;margin-bottom:10px}.ciwz-faq summary{font-weight:800;color:#0b1930;cursor:pointer}@media(max-width:1120px){.ciwz-nav>a{font-size:.76rem;padding:.45rem}.ciwz-nav .ciwz-icon{display:none}}@media(max-width:900px){.ciwz-pillar-grid{grid-template-columns:1fr}.ciwz-nav{display:none}}
/* 2.3.2 contrast fix — white cards/answer blocks inside dark hero */
.ciwz-hero .ciwz-card,
.ciwz-hero .ciwz-answer-block{
  color:#0b1930;
}
.ciwz-hero .ciwz-card h1,
.ciwz-hero .ciwz-card h2,
.ciwz-hero .ciwz-card h3,
.ciwz-hero .ciwz-card h4,
.ciwz-hero .ciwz-card strong,
.ciwz-hero .ciwz-answer-block h1,
.ciwz-hero .ciwz-answer-block h2,
.ciwz-hero .ciwz-answer-block h3,
.ciwz-hero .ciwz-answer-block h4,
.ciwz-hero .ciwz-answer-block strong{
  color:#0b1930;
}
.ciwz-hero .ciwz-card p,
.ciwz-hero .ciwz-card li,
.ciwz-hero .ciwz-answer-block p,
.ciwz-hero .ciwz-answer-block li{
  color:#334155;
}
.ciwz-hero .ciwz-card a:not(.ciwz-btn),
.ciwz-hero .ciwz-answer-block a:not(.ciwz-btn){
  color:#155eef;
}


/* =========================================================
   CIWZ Academy 2.3.2 — Public text justification + mobile
   Public-facing content only. Admin/dashboard tables excluded.
   ========================================================= */

/* Long-form public copy: justified, readable and language-aware */
.ciwz-hero-copy > p,
.ciwz-card p,
.ciwz-pillar p,
.ciwz-skill-card p,
.ciwz-answer-block p,
.ciwz-faq details p,
.ciwz-section-head p,
.ciwz-path-step p,
.ciwz-step p,
.ciwz-course-grid .ciwz-card p{
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.62;
}

/* Keep short labels, badges, CTAs and KPI text naturally aligned */
.ciwz-badge,
.ciwz-btn,
.ciwz-eyebrow,
.ciwz-actions,
.ciwz-skill-level,
.ciwz-level-pill,
.ciwz-gap-pill,
.ciwz-step-num,
.ciwz-card small{
  text-align: left;
  hyphens: none;
}

/* Public headings: prevent overflow on narrow screens */
.ciwz-hero h1,
.ciwz-card h2,
.ciwz-card h3,
.ciwz-pillar h3,
.ciwz-section h2,
.ciwz-path-step h3{
  overflow-wrap: anywhere;
}

/* Mobile-first safety for all public blocks */
.ciwz-hero,
.ciwz-section,
.ciwz-card,
.ciwz-pillar,
.ciwz-answer-block,
.ciwz-skill-card{
  max-width: 100%;
  box-sizing: border-box;
}

.ciwz-hero-grid,
.ciwz-course-grid,
.ciwz-pillar-grid,
.ciwz-skill-grid,
.ciwz-grid-2,
.ciwz-steps{
  min-width: 0;
}

.ciwz-card,
.ciwz-pillar,
.ciwz-skill-card,
.ciwz-answer-block,
.ciwz-path-step > div{
  min-width: 0;
}

/* Buttons and action areas wrap instead of overflowing */
.ciwz-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ciwz-actions .ciwz-btn{
  max-width:100%;
  white-space:normal;
}

/* Responsive tables/matrices remain scrollable rather than breaking layout */
.ciwz-matrix-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Tablet */
@media (max-width: 900px){
  .ciwz-hero-grid,
  .ciwz-course-grid,
  .ciwz-grid-2,
  .ciwz-steps{
    grid-template-columns:1fr !important;
  }

  .ciwz-hero,
  .ciwz-section{
    width:100%;
  }

  .ciwz-hero-copy,
  .ciwz-card,
  .ciwz-pillar,
  .ciwz-answer-block,
  .ciwz-skill-card{
    width:100%;
  }
}

/* Smartphone */
@media (max-width: 640px){
  .ciwz-hero{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .ciwz-section{
    padding-left:0;
    padding-right:0;
  }

  .ciwz-card-pad,
  .ciwz-pillar,
  .ciwz-answer-block,
  .ciwz-skill-card{
    padding:16px !important;
  }

  .ciwz-hero-copy > p,
  .ciwz-card p,
  .ciwz-pillar p,
  .ciwz-skill-card p,
  .ciwz-answer-block p,
  .ciwz-faq details p,
  .ciwz-section-head p,
  .ciwz-path-step p,
  .ciwz-step p,
  .ciwz-course-grid .ciwz-card p{
    font-size:0.96rem;
    line-height:1.58;
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
    -webkit-hyphens:auto;
  }

  .ciwz-hero h1{
    font-size:clamp(1.65rem,8vw,2.25rem) !important;
    line-height:1.12;
  }

  .ciwz-section h2{
    font-size:1.35rem;
    line-height:1.2;
  }

  .ciwz-card h3,
  .ciwz-pillar h3{
    font-size:1.05rem;
    line-height:1.25;
  }

  .ciwz-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .ciwz-actions .ciwz-btn,
  .ciwz-card .ciwz-btn{
    width:100%;
    text-align:center;
    justify-content:center;
    box-sizing:border-box;
  }

  .ciwz-badge{
    white-space:normal;
    max-width:100%;
    line-height:1.25;
  }

  .ciwz-path-step{
    gap:10px;
  }
}

/* Very small phones: keep justified copy without excessive visual gaps */
@media (max-width: 380px){
  .ciwz-hero-copy > p,
  .ciwz-card p,
  .ciwz-pillar p,
  .ciwz-skill-card p,
  .ciwz-answer-block p,
  .ciwz-faq details p,
  .ciwz-section-head p,
  .ciwz-path-step p,
  .ciwz-step p,
  .ciwz-course-grid .ciwz-card p{
    font-size:0.93rem;
    line-height:1.55;
  }
}


/* =========================================================
   CIWZ Academy 2.3.2 — Public layout width 80%
   ========================================================= */

/* Main public content width: 80% of viewport/device */
.ciwz-public-shell,
main .container,
main.container,
.ciwz-page,
.ciwz-page-wrap,
.ciwz-content-wrap{
  width: 80vw !important;
  max-width: 80vw !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* Hero/sections/cards fill the 80% shell, not the whole viewport */
.ciwz-hero,
.ciwz-section,
.ciwz-course-grid,
.ciwz-pillar-grid,
.ciwz-skill-grid,
.ciwz-grid-2,
.ciwz-steps{
  width: 100%;
  max-width: 100%;
}

/* Keep mobile usable and prevent horizontal overflow */
@media (max-width: 640px){
  .ciwz-public-shell,
  main .container,
  main.container,
  .ciwz-page,
  .ciwz-page-wrap,
  .ciwz-content-wrap{
    width: 80vw !important;
    max-width: 80vw !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* =========================================================
   CIWZ Academy 2.3.2 — Mobile home hero + logo correction
   ========================================================= */

@media (max-width: 640px){

  /* Keep public shell centered at 80% of the device */
  .ciwz-public-page .ciwz-container,
  .ciwz-page-index .ciwz-container{
    width:80vw !important;
    max-width:80vw !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Cancel the previous mobile full-viewport breakout.
     The blue hero now stays inside the centered 80% container. */
  .ciwz-page-index .ciwz-home-hero,
  .ciwz-home-hero{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:26px 16px 20px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .ciwz-page-index .ciwz-home-hero .ciwz-hero-grid,
  .ciwz-home-hero .ciwz-hero-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:18px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .ciwz-page-index .ciwz-home-hero .ciwz-hero-copy,
  .ciwz-page-index .ciwz-home-hero .ciwz-hero-showcase,
  .ciwz-home-hero .ciwz-hero-copy,
  .ciwz-home-hero .ciwz-hero-showcase{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  /* Prevent titles/text/buttons from forcing the hero wider */
  .ciwz-page-index .ciwz-home-hero h1,
  .ciwz-page-index .ciwz-home-hero p,
  .ciwz-page-index .ciwz-home-hero .ciwz-eyebrow,
  .ciwz-page-index .ciwz-home-hero .ciwz-hero-note{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-wrap:anywhere !important;
    box-sizing:border-box !important;
  }

  /* CTA area: one column prevents clipping in the 80% shell */
  .ciwz-page-index .ciwz-hero-actions,
  .ciwz-home-hero .ciwz-hero-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
  }

  .ciwz-page-index .ciwz-hero-actions .ciwz-btn,
  .ciwz-home-hero .ciwz-hero-actions .ciwz-btn{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Secure Proctor and other hero cards must never exceed the blue box */
  .ciwz-assurance-panel,
  .ciwz-assurance-list,
  .ciwz-mobile-proof,
  .ciwz-hero-showcase,
  .ciwz-hero-note{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .ciwz-assurance-list{
    grid-template-columns:minmax(0,1fr) !important;
  }

  /* KPI cards: no horizontal carousel/clipping on phones */
  .ciwz-page-index .ciwz-kpi-grid,
  .ciwz-home-hero .ciwz-kpi-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }

  .ciwz-page-index .ciwz-kpi-card,
  .ciwz-home-hero .ciwz-kpi-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    flex:0 1 auto !important;
    box-sizing:border-box !important;
  }

  /* Mobile logo: exactly double the previous 56px rule */
  .ciwz-header .ciwz-brand img,
  .ciwz-brand img{
    height:112px !important;
    width:auto !important;
    max-width:280px !important;
    object-fit:contain !important;
  }

  /* Give the enlarged logo enough vertical space */
  .ciwz-header-inner{
    min-height:124px !important;
    height:auto !important;
    align-items:center !important;
  }

  .ciwz-mobile-toggle{
    flex:0 0 auto !important;
    margin-left:auto !important;
  }
}

/* Extra narrow phones: retain the same responsive structure */
@media (max-width: 380px){
  .ciwz-public-page .ciwz-container,
  .ciwz-page-index .ciwz-container{
    width:86vw !important;
    max-width:86vw !important;
  }

  .ciwz-header .ciwz-brand img,
  .ciwz-brand img{
    height:100px !important;
    max-width:250px !important;
  }

  .ciwz-header-inner{
    min-height:114px !important;
  }
}
