/* NIA Labs: The Executive AI Lab programme page and its tasters */
.ex-hero h1{max-width:13em}
.ex-hero .media img{object-position:center 35%}

.ex-why{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px;align-items:center}
.ex-why .photo{--ar:16/10}

/* ---------- three sessions ---------- */
.sess3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:s}
.sess-c{display:flex;flex-direction:column;gap:12px;border:1.5px solid var(--navy-line);border-radius:12px;padding:26px 24px;background:rgba(255,255,255,.03)}
.sess-c .k{align-self:flex-start;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--mc);color:var(--mc-fg)}
.sess-c h3{font-size:clamp(34px,3.4vw,48px);letter-spacing:-.04em;line-height:1}
.sess-c .q{font-size:18px;line-height:1.5;color:#fff}
.sess-c ul{margin-top:6px}
.sess-c li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:10px 0;border-top:1px solid var(--navy-line);font:600 18px/1.3 var(--display)}
.sess-c li span{font:600 14px/1.6 var(--sans);color:var(--navy-text)}
.sess-c .keep{margin-top:auto;padding-top:10px;font-size:15.5px;line-height:1.5;color:var(--navy-text)}

/* ---------- six labs ---------- */
.labs6{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.lab-c{display:flex;flex-direction:column;gap:12px;border:2px solid var(--ink);border-radius:12px;padding:26px 28px;background:var(--ground);box-shadow:10px 10px 0 var(--mc)}
.lab-c .who{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600;color:var(--muted)}
.lab-c .n{display:inline-grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:var(--mc);color:var(--mc-fg);font:700 18px var(--display)}
.lab-c h3{font-size:clamp(28px,2.8vw,36px);letter-spacing:-.035em;line-height:1.02}
.lab-c .said{font:600 18px/1.45 var(--display);letter-spacing:-.01em;color:var(--ink)}
.lab-c p{font-size:17px;line-height:1.55;color:var(--body)}
.lab-c .case{font-size:15px;color:var(--muted)}
.lab-c .case b{display:inline-block;margin-right:8px;font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.lab-c .keep{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;border-radius:8px;background:var(--paper);border:1.5px solid var(--line);font:600 17px/1.35 var(--display);color:var(--ink)}
.lab-c .keep span{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--mc);color:var(--mc-fg)}
.lab-c.cap{--mc:var(--ink);--mc-fg:var(--ground);grid-column:1/-1;background:var(--paper);box-shadow:10px 10px 0 var(--l2)}
.lab-c.cap p{max-width:52em}

/* ---------- lab shape and ground rules ---------- */
.shape{display:flex;gap:6px}
.shape li{flex:var(--w) 1 0;min-width:0;display:flex;flex-direction:column;gap:4px;border-top:10px solid var(--l2);padding-top:14px}
.shape li:nth-child(1){border-color:var(--l1)}.shape li:nth-child(3){border-color:var(--l3)}.shape li:nth-child(4){border-color:var(--ink)}.shape li:nth-child(5){border-color:var(--brand-blue)}
.shape b{font:700 clamp(22px,2.2vw,30px)/1 var(--display);letter-spacing:-.03em}
.shape span{font-weight:600;font-size:16.5px}
.shape small{font-size:15px;line-height:1.4;color:var(--muted)}
.rules3{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rules3 div{border:2px solid var(--ink);border-radius:12px;padding:24px;background:var(--ground)}
.rules3 .n{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--ground);font:700 17px var(--display)}
.rules3 b{display:block;margin-top:14px;font:700 23px/1.15 var(--display);letter-spacing:-.02em}
.rules3 p{margin-top:8px;font-size:16.5px;line-height:1.5;color:var(--body)}

/* ---------- openers ---------- */
.op-switch{margin-bottom:24px}
.op-switch button{min-width:84px}
.op{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);gap:36px;align-items:center}
.op[hidden]{display:none}
.op video{width:100%;height:auto;aspect-ratio:16/9;border-radius:10px;border:2px solid var(--ink);background:#0B0C10;box-shadow:10px 10px 0 var(--mc)}
.op .k{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.op h3{margin-top:8px;font-size:clamp(28px,2.8vw,38px);letter-spacing:-.035em;line-height:1.02}
.op p:not(.k){margin-top:12px;font-size:17.5px;line-height:1.55;color:var(--body)}

/* ---------- case files ---------- */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cases li{border:1.5px solid var(--navy-line);border-radius:10px;padding:20px 22px;background:rgba(255,255,255,.03)}
.cases span{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-text)}
.cases span::before{content:'';flex:none;width:12px;height:12px;border-radius:50%;background:var(--mc)}
.cases b{display:block;margin-top:8px;font:700 24px/1.1 var(--display);letter-spacing:-.025em;color:#fff}
.cases p{margin-top:8px;font-size:16px;line-height:1.5;color:var(--navy-text)}

.tasters.two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- tasters ---------- */
.lab .opts.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.lab .act .q{display:flex;gap:12px;align-items:baseline}
.lab .act .sn{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--ground);font:700 14px var(--display);transform:translateY(-2px)}
.calc-presets{margin-top:28px}
.calc{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.calc label{display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:16px 18px;border:2px solid var(--line);border-radius:8px;background:var(--paper)}
.calc label:focus-within{border-color:var(--ink)}
.calc b{display:block;font-size:16.5px;font-weight:600;line-height:1.3}
.calc small{display:block;margin-top:4px;font-size:14px;line-height:1.4;color:var(--muted)}
.calc input{width:100%;min-height:48px;padding:8px 12px;border:2px solid var(--ink);border-radius:6px;background:var(--ground);color:var(--ink);font:700 22px var(--display);font-variant-numeric:tabular-nums}
.calc-out .kv li span:last-child{font:700 20px var(--display);color:var(--ink);font-variant-numeric:tabular-nums}
.calc-big{margin-top:6px;font:700 clamp(40px,4.4vw,60px)/1 var(--display);letter-spacing:-.04em}
.calc-big small{font-size:20px;letter-spacing:0;color:var(--muted)}
.calc-note{margin-top:12px;font-size:16px;line-height:1.5;color:var(--body)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .ex-why,.op{grid-template-columns:minmax(0,1fr);gap:32px}
  .sess3,.cases,.rules3{grid-template-columns:minmax(0,1fr)}
  .labs6,.tasters.two{grid-template-columns:minmax(0,1fr)}
  .shape{flex-wrap:wrap}
  .shape li{flex:1 1 30%}
}
@media (max-width:640px){
  .ex-hero .media-note{bottom:24px}
  .lab-c{padding:20px 18px;box-shadow:6px 6px 0 var(--mc)}
  .lab-c.cap{box-shadow:6px 6px 0 var(--l2)}
  .shape li{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 12px;border-top-width:6px;padding:10px 0 4px}
  .shape small{flex-basis:100%}
  .op-switch button{min-width:0;flex:1 1 30%;text-align:center}
  .op video{box-shadow:6px 6px 0 var(--mc)}
  .lab .opts.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calc{grid-template-columns:minmax(0,1fr)}
}
