/* newdesign.careercalling.com - additive only, uses the existing tokens */
:root{--nd-navy:#01216E;--nd-green:#008200;--nd-ink:#16233C;--nd-muted:#4A5468;
  --nd-line:#DFE3EA;--nd-soft:#F6F7FA}
/* 1. the auto-rotating hero slider is suppressed on this page: it hid three of
      four messages and none of the benchmark firms use one */
#cq3Hero,#cq3Hero .cq3-pane,#cq3Hero .cq3-arrow,.cq3-dots,.cq3-pause{display:none!important}
.nd-wrap{max-width:1220px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.nd-sec{padding:clamp(56px,7vw,104px) 0}
.nd-soft{background:var(--nd-soft)}
.nd-head{max-width:44em}
.nd-head h2{font-size:clamp(28px,3.7vw,46px);line-height:1.08;letter-spacing:-.02em;
  color:var(--nd-ink);margin:.5rem 0 0}
.nd-head p{margin-top:16px;color:var(--nd-muted);font-size:17.5px;max-width:38em}
.nd-kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--nd-navy);display:inline-flex;align-items:center;gap:12px}
.nd-kicker::before{content:"";width:26px;height:2px;background:var(--nd-green)}

/* case studies - real engagements, previously only on an inner page */
.nd-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.nd-case{background:#fff;border:1px solid var(--nd-line);border-radius:14px;
  padding:26px;display:flex;flex-direction:column;gap:12px;
  transition:box-shadow .25s,transform .25s,border-color .25s}
.nd-case:hover{box-shadow:0 14px 34px rgba(16,32,70,.10);transform:translateY(-3px);
  border-color:#C3CEE4}
.nd-case .tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--nd-green)}
.nd-case h3{font-size:18.5px;line-height:1.28;color:var(--nd-ink);margin:0;letter-spacing:-.01em}
.nd-case p{font-size:14.5px;color:var(--nd-muted);margin:0}
.nd-case .out{margin-top:auto;padding-top:12px;border-top:1px dashed var(--nd-line);
  font-size:13.5px;font-weight:600;color:var(--nd-navy)}
@media(max-width:940px){.nd-cases{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nd-cases{grid-template-columns:1fr}}

/* leadership - real names and roles; monogram tiles until photography exists */
.nd-people{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.nd-p{background:#fff;border:1px solid var(--nd-line);border-radius:14px;padding:22px;
  display:flex;gap:14px;align-items:center}
.nd-mono{width:52px;height:52px;flex:0 0 52px;border-radius:50%;
  background:linear-gradient(150deg,var(--nd-navy),#0A3AA8);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:16px;letter-spacing:.02em}
.nd-p b{display:block;font-size:15.5px;color:var(--nd-ink);line-height:1.25}
.nd-p span{display:block;font-size:12.5px;color:var(--nd-muted);margin-top:3px;line-height:1.35}
@media(max-width:1000px){.nd-people{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.nd-people{grid-template-columns:1fr}}
.nd-note{margin-top:22px;font-size:13.5px;color:var(--nd-muted);
  border-left:3px solid var(--nd-green);padding:10px 14px;background:#fff}

/* insights */
.nd-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.nd-post{display:block;background:#fff;border:1px solid var(--nd-line);border-radius:14px;
  overflow:hidden;text-decoration:none;transition:box-shadow .25s,transform .25s}
.nd-post:hover{box-shadow:0 14px 34px rgba(16,32,70,.10);transform:translateY(-3px)}
.nd-post .im{aspect-ratio:16/9;background:
  repeating-linear-gradient(135deg,#EDF1F8 0 10px,#E4EAF5 10px 20px);
  display:grid;place-items:center;color:#93A0BC;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;border-bottom:1px solid var(--nd-line)}
.nd-post .bd{padding:20px}
.nd-post h3{font-size:17px;line-height:1.3;color:var(--nd-ink);margin:0 0 8px;letter-spacing:-.01em}
.nd-post p{font-size:13.5px;color:var(--nd-muted);margin:0}
@media(max-width:940px){.nd-posts{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.nd-posts{grid-template-columns:1fr}}

/* who are you - entry by role */
.nd-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--nd-line);
  border:1px solid var(--nd-line);border-radius:14px;overflow:hidden;margin-top:44px}
.nd-door{background:#fff;padding:30px 26px;text-decoration:none;display:block;transition:background .25s}
.nd-door:hover{background:#F4F7FD}
.nd-door b{display:block;font-size:19px;color:var(--nd-ink);letter-spacing:-.01em}
.nd-door p{font-size:14.5px;color:var(--nd-muted);margin:8px 0 14px}
.nd-door span{font-size:13.5px;font-weight:700;color:var(--nd-navy)}
@media(max-width:820px){.nd-doors{grid-template-columns:1fr}}

/* accreditation strip */
.nd-accr{border-top:1px solid var(--nd-line);border-bottom:1px solid var(--nd-line);
  background:#fff;padding:26px 0}
.nd-accr .row{display:flex;gap:clamp(20px,4vw,54px);align-items:center;flex-wrap:wrap;
  justify-content:center}
.nd-accr i{font-style:normal;font-size:13px;color:var(--nd-muted);display:flex;
  align-items:center;gap:9px}
.nd-accr i b{color:var(--nd-ink);font-weight:700}
.nd-accr .dot{width:7px;height:7px;border-radius:50%;background:var(--nd-green);flex:0 0 7px}

/* real photography replaces the monogram tiles */
.nd-p{margin:0}
.nd-p img{width:72px;height:72px;flex:0 0 72px;border-radius:50%;object-fit:cover;
  object-position:center top;background:#E9EDF5;border:2px solid #fff;
  box-shadow:0 2px 10px rgba(16,32,70,.14)}
.nd-p figcaption{min-width:0}

/* The site reveals headings and paragraphs with a scroll observer that sets
   opacity:0 first. New elements are not registered with that observer, so they
   were stuck at 0 (body copy) or mid-fade (0.23 on headings). Opt out. */
.nd-head h2,.nd-head p,
.nd-case h3,.nd-case p,.nd-case .tag,.nd-case .out,
.nd-post h3,.nd-post p,
.nd-p b,.nd-p span,
.nd-accr i,.nd-accr b{opacity:1!important;transform:none!important;animation:none!important}

/* real article photography replaces the striped placeholders */
.nd-post img.im{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;
  border-bottom:1px solid var(--nd-line);background:#EDF1F8}
.nd-case img.cim{display:block;width:calc(100% + 52px);margin:-26px -26px 18px;
  aspect-ratio:16/7;object-fit:cover;border-bottom:1px solid var(--nd-line);
  border-radius:14px 14px 0 0;background:#EDF1F8}

/* The RTO is a separate registration from Career Calling International, so it
   sits on its own line rather than in the row of corporate facts, where the
   reading order implied the RTO shared the group's operating history. */
.nd-accr .note{margin:14px 0 0;text-align:center;font-size:12px;line-height:1.5;
  color:var(--nd-muted);opacity:1!important;transform:none!important}

/* heritage timeline on the homepage: the CAQA name predates the company, so each
   date carries its own label and the corporate milestone is marked. */
.nd-tl-lede{max-width:52em;margin:22px auto 0;text-align:center;
  font-size:15.5px;line-height:1.6;color:var(--nd-muted);
  opacity:1!important;transform:none!important}
.nd-tl{list-style:none;margin:34px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1000px){.nd-tl{grid-template-columns:repeat(3,1fr);gap:24px}}
@media(max-width:760px){.nd-tl{grid-template-columns:repeat(2,1fr)}}
.nd-tl-i{position:relative;padding-top:22px;border-top:2px solid var(--nd-line);
  min-width:0;opacity:1!important;transform:none!important}
.nd-tl-i::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;
  border-radius:50%;background:#fff;border:3px solid var(--nd-navy);box-sizing:border-box}
.nd-tl-key{border-top-color:var(--nd-navy)}
.nd-tl-key::before{background:var(--nd-navy)}
.nd-tl-i b{display:block;font-size:16px;line-height:1.2;letter-spacing:-.01em;
  color:var(--nd-ink);overflow-wrap:break-word}
.nd-tl-key b{color:var(--nd-navy)}
.nd-tl-i p{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:var(--nd-muted);
  opacity:1!important;transform:none!important}
.nd-tl-more{margin-top:34px;text-align:center}
@media(max-width:640px){
  .nd-tl{grid-template-columns:1fr;gap:0}
  .nd-tl-i{border-top:0;border-left:2px solid var(--nd-line);
    padding:0 0 22px 20px;margin-left:6px}
  .nd-tl-i:last-child{padding-bottom:0}
  .nd-tl-i::before{top:0;left:-7px}
  .nd-tl-key{border-left-color:var(--nd-navy)}
}
