/* Waypoint North — Leadership Deep Dive section, latest insights, FAQ, CTA helpers.
   External file so the strict CSP (style-src 'self') needs no hashes. */

/* --- CTA helpers --- */
.cta-short{display:none;}
.btn-p.btn-xl{padding:18px 36px;font-size:14px;letter-spacing:1.2px;
  box-shadow:0 10px 30px rgba(232,160,32,.25);}
@media(max-width:560px){
  .nav-cta .cta-long{display:none;}
  .nav-cta .cta-short{display:inline;}
  .btn-p.btn-xl{padding:16px 22px;font-size:13px;width:100%;text-align:center;}
}

/* --- Deep Dive section --- */
.dd-section{background:var(--navy);position:relative;overflow:hidden;padding:104px 80px 96px;}
.dd-anchor{position:absolute;top:-80px;}
.dd-bg-grid{position:absolute;inset:0;opacity:.045;pointer-events:none;
  background-image:linear-gradient(var(--amber) 1px,transparent 1px),linear-gradient(90deg,var(--amber) 1px,transparent 1px);
  background-size:56px 56px;}
.dd-head{position:relative;max-width:820px;margin-bottom:56px;}
.dd-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,5.2vw,68px);line-height:.95;
  color:var(--white);letter-spacing:1px;margin-bottom:20px;}
.dd-head h2 span{color:var(--amber);}
.dd-head p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.72);max-width:700px;}

.dd-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.dd-steps{list-style:none;display:flex;flex-direction:column;gap:3px;}
.dd-step{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:24px 26px;
  background:rgba(255,255,255,.035);border-left:3px solid rgba(232,160,32,.35);}
.dd-step-num{font-family:'Bebas Neue',sans-serif;font-size:40px;line-height:1;color:var(--amber);}
.dd-step h3{font-size:17px;font-weight:700;color:var(--white);margin-bottom:8px;line-height:1.35;}
.dd-step p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.62);}
.dd-step em{color:var(--amber-l);font-style:normal;font-weight:600;}
.dd-step-key{background:linear-gradient(135deg,rgba(232,160,32,.16),rgba(232,160,32,.05));
  border-left:4px solid var(--amber);padding:30px 26px;}
.dd-step-key h3{font-size:21px;color:var(--amber-l);}
.dd-step-key p{color:rgba(255,255,255,.8);}
.dd-key-tag{display:inline-block;margin-bottom:10px;font-family:'JetBrains Mono',monospace;font-size:10px;
  font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink);background:var(--amber);padding:4px 10px;}

/* report cards */
.dd-visual{display:flex;flex-direction:column;gap:16px;position:sticky;top:96px;}
.dd-card{background:var(--paper);color:var(--ink);padding:24px 24px 20px;border-top:4px solid var(--amber);
  box-shadow:0 24px 60px rgba(0,0,0,.35);}
.dd-card-multi{background:var(--white);}
.dd-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px;
  padding-bottom:10px;border-bottom:1px solid var(--line);}
.dd-card-label{font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--navy);}
.dd-card-role{font-size:12px;color:var(--slate);}
.dd-bars{display:flex;flex-direction:column;gap:9px;}
.dd-bar{display:grid;grid-template-columns:132px 1fr 30px;gap:10px;align-items:center;font-size:12.5px;}
.dd-bar-name{color:var(--slate);}
.dd-bar-track{height:10px;background:#e6e1d6;position:relative;overflow:hidden;}
.dd-bar-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--navy),#35506b);}
.dd-bar-val{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--navy);text-align:right;}
.w40{width:40%}.w45{width:45%}.w50{width:50%}.w55{width:55%}.w60{width:60%}
.dd-scale{display:flex;justify-content:space-between;margin-top:14px;font-family:'JetBrains Mono',monospace;
  font-size:9.5px;letter-spacing:.5px;color:var(--mid);text-transform:uppercase;}

.dd-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px;font-size:11.5px;color:var(--slate);}
.dd-legend span{display:inline-flex;align-items:center;gap:6px;}
.dd-legend .dot{position:static;transform:none;}
.dd-rows{display:flex;flex-direction:column;gap:12px;}
.dd-row{display:grid;grid-template-columns:132px 1fr;gap:10px;align-items:center;font-size:12.5px;color:var(--slate);}
.dd-row-track{position:relative;height:14px;background:linear-gradient(90deg,#efe9dd,#e3dccd);}
.dd-row-gap .dd-row-name{color:var(--rust);font-weight:700;}
.dd-gap-band{position:absolute;top:-3px;bottom:-3px;background:rgba(192,57,43,.12);border:1px dashed rgba(192,57,43,.55);}
.x27-73{left:27%;right:27%;}
.dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);
  border:2px solid var(--white);box-shadow:0 1px 3px rgba(0,0,0,.25);display:inline-block;}
.d-md{background:var(--amber);}.d-ops{background:#2d6a4f;}.d-fin{background:#3b6ea5;}.d-com{background:#c0392b;}
.x20{left:20%}.x27{left:26.7%}.x33{left:33.3%}.x37{left:36.7%}.x40{left:40%}.x43{left:43.3%}.x47{left:46.7%}
.x50{left:50%}.x53{left:53.3%}.x60{left:60%}.x63{left:63.3%}.x67{left:66.7%}.x73{left:73.3%}
.dd-insight{margin-top:16px;padding:12px 14px;background:rgba(192,57,43,.06);border-left:3px solid var(--rust);
  font-size:12.5px;line-height:1.6;color:var(--slate);}
.dd-insight strong{color:var(--ink);}
.dd-illustrative{font-size:11px;color:rgba(255,255,255,.45);font-family:'JetBrains Mono',monospace;letter-spacing:.4px;}

.dd-roles{position:relative;margin-top:56px;}
.dd-roles-label{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px;}
.dd-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
.dd-chips li{font-size:13px;color:var(--white);padding:8px 14px;border:1px solid rgba(232,160,32,.35);
  background:rgba(232,160,32,.06);}

.dd-cta{position:relative;margin-top:48px;display:flex;justify-content:space-between;align-items:center;gap:32px;
  flex-wrap:wrap;padding:32px 36px;background:rgba(255,255,255,.05);border:1px solid rgba(232,160,32,.35);}
.dd-cta h3{font-family:'DM Serif Display',serif;font-size:26px;color:var(--white);margin-bottom:8px;font-weight:400;}
.dd-cta p{font-size:13.5px;color:rgba(255,255,255,.6);}
.dd-cta-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

@media(max-width:1024px){
  .dd-section{padding:80px 40px;}
  .dd-grid{grid-template-columns:1fr;gap:36px;}
  .dd-visual{position:static;}
}
@media(max-width:600px){
  .dd-section{padding:64px 18px;}
  .dd-step{grid-template-columns:1fr;gap:6px;padding:20px 18px;}
  .dd-bar,.dd-row{grid-template-columns:104px 1fr 26px;font-size:11.5px;}
  .dd-row{grid-template-columns:104px 1fr;}
  .dd-cta{padding:24px 20px;}
  .dd-cta-btns{width:100%;}
  .dd-cta-btns .btn-s{width:100%;text-align:center;}
}

/* --- Latest insights --- */
.latest-section{background:var(--paper);padding:88px 80px;}
.latest-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px;}
.latest-head h2{font-family:'Bebas Neue',sans-serif;font-size:clamp(32px,4vw,52px);color:var(--navy);letter-spacing:1px;line-height:1;}
.latest-head h2 span{color:var(--amber);}
.latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
.post-card{background:var(--white);display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border-top:3px solid transparent;transition:all .25s;}
.post-card:hover{border-top-color:var(--amber);transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.08);}
.post-card img{width:100%;height:170px;object-fit:cover;display:block;}
.post-card-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.post-meta{display:flex;gap:10px;align-items:center;margin-bottom:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;
  letter-spacing:1px;text-transform:uppercase;color:var(--mid);}
.post-tag{color:var(--amber);border:1px solid rgba(232,160,32,.35);padding:2px 8px;}
.post-card h3{font-family:'DM Serif Display',serif;font-weight:400;font-size:21px;line-height:1.3;color:var(--navy);margin-bottom:10px;}
.post-card p{font-size:14px;line-height:1.65;color:var(--slate);flex:1;}
.post-read{margin-top:16px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--navy);}
@media(max-width:900px){.latest-section{padding:64px 20px;}.latest-grid{grid-template-columns:1fr;}}

/* --- FAQ --- */
.faq-section{background:var(--white);padding:96px 80px;}
.faq-head{max-width:760px;margin-bottom:36px;}
.faq-head h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:clamp(28px,3.6vw,44px);color:var(--navy);line-height:1.2;}
.faq-head h2 span{color:var(--amber);font-style:italic;}
.faq-list{max-width:900px;border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;position:relative;font-size:17px;font-weight:600;color:var(--navy);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';position:absolute;right:6px;top:16px;font-size:26px;font-weight:300;color:var(--amber);transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{padding:0 44px 24px 0;font-size:15px;line-height:1.8;color:var(--slate);max-width:780px;}
@media(max-width:900px){.faq-section{padding:64px 20px;}.faq-item summary{font-size:16px;}}
.modal-footer p a{color:var(--amber-l);}
/* footer has more links now: allow wrapping */
.f-links{flex-wrap:wrap;row-gap:10px;}
/* keep the hero inside the viewport on small screens even if a long word or fallback font is wider */
@media(max-width:1024px){.hero{grid-template-columns:minmax(0,1fr);}.hero-uvp{overflow-wrap:break-word;}}
.nav-cta{white-space:nowrap;}
