/* 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 */
.cq3-pane,.cq3-dots,.cq3-arrow,.cq3-pause,#cq3Hero{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}
