/* Intelligence with Steve shared brand and typography system */
:root{
  --iws-display-tracking:-.038em;
  --iws-heading-tracking:-.026em;
  --iws-label-tracking:.09em;
}
.section{padding:clamp(76px,8vw,112px) 0!important;}

/* Shared hero label */
.hero-label{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  gap:11px;
  margin:0 0 30px;
  padding:9px 17px;
  border:1px solid rgba(8,10,15,.08);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  box-shadow:0 10px 34px rgba(8,10,15,.045);
  color:#126DFB;
  font-size:12px;
  font-weight:900;
  line-height:1.15;
  letter-spacing:var(--iws-label-tracking);
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.hero-label__dot{
  width:9px;
  height:9px;
  flex:0 0 auto;
  border-radius:50%;
  background:#126DFB;
  box-shadow:0 0 0 6px rgba(18,109,251,.12);
}
.hero-content .hero-label{margin-left:auto;margin-right:auto;}
.hero-label+h1{margin-top:0!important;}

/* OSINT is treated as a small wordmark rather than ordinary headline type */
.osint-mark{
  display:inline-block;
  font-family:Inter,Arial,sans-serif!important;
  font-weight:900!important;
  font-stretch:normal;
  letter-spacing:-.035em!important;
  text-transform:uppercase;
  color:#fff;
  text-shadow:5px 5px 0 #126DFB,9px 9px 0 #080D2A,12px 12px 0 rgba(255,255,255,.22);
}

/* More open, consistent typography */
.hero h1:not(.masthead){
  line-height:.93!important;
  letter-spacing:var(--iws-display-tracking)!important;
}
.hero .masthead{
  line-height:.85!important;
  letter-spacing:-.03em!important;
}
.section-heading,.section-title,.cta h2,.center-head .section-heading{
  line-height:.97!important;
  letter-spacing:var(--iws-display-tracking)!important;
}
.choice-title,.course h3,.course-programme h3,.outcome-card h3,.price-card h3,
.topic-card h3,.talk-window h2,.contact-card h2,.handbook-live-card h3,
.who-card h3,.guide h3,.course-map h4,.platform-preview figcaption strong{
  letter-spacing:var(--iws-heading-tracking)!important;
}
.hero p,.hero .lead,.sub,.section-lead,.choice-desc,.course p,.outcome-card p,
.topic-card p,.handbook-live-card p,.article-content{
  letter-spacing:normal!important;
}
.choice-label,.course .label,.price-card>small,.programme-card small,.course-map small,
.preview-top,.handbook-live-card__badge,.module-label,.file-label{
  letter-spacing:var(--iws-label-tracking)!important;
}
.btn{letter-spacing:-.012em!important;}

/* Training and Handbook choice hierarchy */
.choose-grid{
  grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr)!important;
  align-items:start!important;
  gap:28px!important;
}
.choice-card{
  min-height:0!important;
  padding:38px!important;
}
.choice-card--training{box-shadow:0 24px 70px rgba(8,10,15,.075)!important;}
.choice-card--handbook{background:linear-gradient(145deg,#fff 0%,#f5f9ff 100%)!important;}
.choice-title{
  font-size:clamp(42px,4.2vw,56px)!important;
  line-height:.98!important;
}
.training-list{margin:28px 0 0!important;}
.card-actions{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  margin-top:30px!important;
}
.handbook-access-list{
  gap:0!important;
  margin:28px 0 0!important;
  overflow:hidden;
  border:1px solid rgba(8,10,15,.09);
  border-radius:24px;
  background:#fff;
}
.handbook-access-row{
  padding:20px 22px!important;
  border:0!important;
  border-bottom:1px solid rgba(8,10,15,.08)!important;
  border-radius:0!important;
  background:transparent!important;
}
.handbook-access-row:last-child{border-bottom:0!important;}
.handbook-access-row--premium{background:#080D2A!important;}

/* Authentic homepage course preview */
.tradecraft{height:auto!important;}
.tradecraft::after{display:none!important;}
.tradecraft-body--real{display:block!important;min-height:0!important;background:#080D2A;}
.home-course-proof{overflow:hidden;background:#080D2A;}
.home-course-proof img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1.895/1;
  object-fit:cover;
  object-position:center top;
}
.home-course-proof__caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:24px 30px 28px;
  background:#fff;
}
.home-course-proof__caption small{
  display:block;
  margin-bottom:7px;
  color:#126DFB;
  font-size:11px;
  font-weight:900;
  letter-spacing:var(--iws-label-tracking);
  text-transform:uppercase;
}
.home-course-proof__caption strong{display:block;max-width:780px;font-size:18px;line-height:1.35;letter-spacing:-.025em;}
.home-course-proof__caption a{flex:0 0 auto;color:#126DFB;font-weight:850;text-decoration:none;}

/* Course cards make the product substance scannable */
.course-proofline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:22px 0 0;
}
.course-proofline span{
  padding:7px 10px;
  border-radius:999px;
  background:#F0F5FC;
  color:#384252;
  font-size:12px;
  font-weight:800;
}
.course-programme .course-proofline span{background:rgba(255,255,255,.11);color:#fff;}

/* The programme feature shows the real learning experience */
.programme-experience{position:relative;display:grid;gap:16px;min-width:0;z-index:2;}
.programme-experience__screen{overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:26px;background:#fff;box-shadow:0 28px 72px rgba(0,0,0,.28);transform:rotate(1deg);}
.programme-experience__screen img{display:block;width:100%;aspect-ratio:1.72/1;object-fit:cover;object-position:center top;}
.programme-experience__caption{padding:17px 20px 19px;background:#fff;color:#080D2A;}
.programme-experience__caption span{display:block;margin-bottom:5px;color:#126DFB;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.programme-experience__caption strong{display:block;font-size:15px;line-height:1.35;letter-spacing:-.015em;}
.programme-experience .pathway{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;}
.programme-experience .path-card{min-height:0!important;padding:15px 17px!important;border-radius:18px!important;background:rgba(255,255,255,.1)!important;}
.programme-experience .path-card strong{font-size:16px!important;letter-spacing:-.02em!important;}
.programme-experience .path-card span{font-size:12px!important;}
@media(max-width:1020px){.programme-experience__screen{transform:none;}}
@media(max-width:650px){
  .programme-experience .pathway{grid-template-columns:1fr;}
  .programme-experience .plus{display:none;}
}

/* v1.0.24: keep the Training hero balanced and prevent display type crossing columns */
@media(min-width:1051px){
  .training-hero-inner{max-width:1380px!important;grid-template-columns:minmax(0,.96fr) minmax(520px,1.04fr)!important;gap:92px!important;padding-top:64px!important;}
  .training-hero-copy{max-width:690px!important;}
  .training-hero h1{max-width:690px!important;font-size:clamp(62px,5.7vw,88px)!important;line-height:.94!important;letter-spacing:-.038em!important;}
  .training-hero h1 .pop-word{letter-spacing:-.035em!important;margin-right:.08em!important;}
  .training-hero-visual{min-height:610px!important;}
}
@media(min-width:1051px) and (max-height:850px){
  .training-hero-inner{padding-top:44px!important;padding-bottom:64px!important;}
  .training-hero h1{font-size:clamp(60px,5.3vw,82px)!important;}
  .training-hero-visual{min-height:560px!important;}
  .training-hero .hero-stats{margin-top:34px!important;}
}

/* Training hero: actual virtual training rather than a generic photograph */
.training-hero-visual{
  display:flex;
  min-height:650px;
  flex-direction:column;
  justify-content:center;
  gap:24px;
  padding:32px!important;
  background:
    radial-gradient(circle at 82% 12%,rgba(244,155,232,.22),transparent 28%),
    linear-gradient(145deg,#07113C,#020824)!important;
}
.training-hero-visual::before{background:linear-gradient(180deg,rgba(8,13,42,.02),rgba(8,13,42,.35))!important;pointer-events:none;}
.training-hero-visual::after{display:none!important;}
.training-screen-frame{
  position:relative;
  z-index:2;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.15);
  border-radius:28px;
  background:#08226d;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.training-screen-frame img{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  filter:none!important;
}
.training-screen-caption{
  position:relative;
  z-index:2;
  padding:0 4px;
  color:#fff;
}
.training-screen-caption small{display:block;margin-bottom:8px;color:#8CB9FF;font-size:11px;font-weight:900;letter-spacing:var(--iws-label-tracking);text-transform:uppercase;}
.training-screen-caption strong{display:block;max-width:560px;font-size:clamp(24px,2.2vw,32px);line-height:1.06;letter-spacing:-.035em;}
.method-sequence{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  background:rgba(255,255,255,.07);
  color:#fff;
}
.method-sequence span{font-size:12px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;animation:method-reveal .45s ease both;}
.method-sequence span:nth-of-type(2){animation-delay:.12s}.method-sequence span:nth-of-type(3){animation-delay:.24s}.method-sequence span:nth-of-type(4){animation-delay:.36s}.method-sequence span:nth-of-type(5){animation-delay:.48s}
.method-sequence i{color:#669EFF;font-style:normal;}
@keyframes method-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Actual learning-platform view */
.platform-preview--real{margin:72px 0 0!important;}
.platform-preview--real .preview-top{justify-content:space-between;gap:20px;}
.platform-preview--real .preview-top span:last-child{color:rgba(255,255,255,.56);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.platform-preview-image{overflow:hidden;background:#080D2A;}
.platform-preview-image img{display:block;width:100%;height:auto;}
.platform-preview--real figcaption{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:34px;
  align-items:center;
  padding:28px 32px 32px;
}
.platform-preview--real figcaption strong{display:block;margin-bottom:8px;font-size:24px;line-height:1.12;}
.platform-preview--real figcaption>div>span{color:#60646F;line-height:1.55;}
.platform-facts{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;}
.platform-facts span{padding:9px 12px;border-radius:999px;background:#EEF5FF;color:#126DFB!important;font-size:12px;font-weight:850;}

@media(max-width:1020px){
  .choose-grid{grid-template-columns:1fr!important;}
  .choice-card--handbook{max-width:760px;}
  .platform-preview--real figcaption{grid-template-columns:1fr;}
  .platform-facts{justify-content:flex-start;}
}
@media(max-width:720px){
  .hero-label{min-height:38px;padding:8px 13px;font-size:10px;letter-spacing:.075em;}
  .osint-mark{text-shadow:4px 4px 0 #126DFB,7px 7px 0 #080D2A,9px 9px 0 rgba(255,255,255,.2);}
  .choice-card{padding:28px!important;}
  .home-course-proof__caption{display:block;padding:20px 22px 24px;}
  .home-course-proof__caption a{display:inline-block;margin-top:16px;}
  .training-hero-visual{min-height:0!important;padding:20px!important;border-radius:30px!important;}
  .training-screen-frame{border-radius:20px;}
  .method-sequence{gap:6px;padding:13px;}
  .method-sequence span{font-size:10px;}
  .platform-preview--real .preview-top{height:auto;min-height:62px;padding-top:16px;padding-bottom:16px;}
  .platform-preview--real figcaption{padding:22px;}
}

/* v1.0.26: final Training hero rhythm */
.training-hero h1 .keep-together{white-space:nowrap;}
@media(min-width:1051px){
  .training-hero-inner{padding-top:128px!important;padding-bottom:78px!important;align-items:center!important;}
  .training-hero .hero-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;max-width:690px;}
  .training-hero .hero-stats div{min-width:0!important;padding:16px 17px!important;}
  .training-hero .hero-stats strong{font-size:34px!important;}
  .training-hero .hero-stats span{max-width:none!important;font-size:12px!important;}
}
@media(min-width:1051px) and (max-height:850px){
  .training-hero-inner{padding-top:112px!important;padding-bottom:58px!important;}
  .training-hero .hero-stats{margin-top:28px!important;}
}
