:root {
  --wrap:1232px;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.52;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
}
figure,p,h1,h2,h3 {
  margin:0;
}
a {
  color:inherit;
}
button,select {
  font:inherit;
}
button {
  cursor:pointer;
}
img {
  display:block;
  width:100%;
  object-fit:cover;
}
main {
  overflow:clip;
}
section[id] {
  scroll-margin-top:20px;
}
.wrap {
  width:min(var(--wrap),calc(100% - 96px));
  margin-inline:auto;
}
.section {
  padding-block:clamp(65px,8.2vw,118px);
}
.skip {
  position:absolute;
  top:-120px;
  left:12px;
  background:var(--lime);
  padding:12px;
  z-index:3;
}
.skip:focus {
  top:12px;
}
:focus-visible {
  outline:3px solid #678723;
  outline-offset:4px;
}
.header,.hero,.footer {
  background:var(--ink);
  color:var(--white);
}
.header {
  border-bottom:1px solid #485856;
}
.header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:72px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:750;
  letter-spacing:-.025em;
  text-decoration:none;
  white-space:nowrap;
}
.brand span {
  color:var(--ink);
  background:var(--lime);
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:1.1rem;
}
.header nav {
  display:flex;
  gap:26px;
}
.header nav a {
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.preview-label {
  font-size:.73rem;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#d6e2ce;
}
.hero-copy {
  position:relative;
  z-index:1;
}
.eyebrow {
  font-weight:750;
  font-size:.77rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-meta {
  color:var(--lime);
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:clamp(24px,4vw,52px);
  flex-wrap:wrap;
}
.dot {
  width:8px;
  height:8px;
  background:currentColor;
  border-radius:50%;
  margin-right:4px;
}
.speaker-name {
  font-weight:650;
  font-size:clamp(1rem,1.6vw,1.34rem);
  margin-bottom:10px;
}
.hero h1 span {
  display:block;
  font-size:clamp(1.26rem,2.55vw,2.5rem);
  letter-spacing:-.04em;
  margin-top:19px;
  color:var(--lime);
}
.hero-intro {
  font-size:clamp(1.02rem,1.4vw,1.25rem);
  max-width:39ch;
  margin-top:28px;
  color:#e3ebe0;
}
.actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:28px;
}
.hero-application-note {
  max-width: 48ch;
  margin: 12px 0 0;
  color: #ecd7c1;
  font-size: .88rem;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:11px 17px;
  border:1px solid transparent;
  text-decoration:none;
  font-weight:720;
  font-size:.9rem;
  line-height:1.3;
  text-align:center;
  transition:background .15s,color .15s;
}
.primary {
  background:var(--lime);
  color:var(--ink);
}
.primary:hover {
  background:#f1f9b1;
}
.secondary {
  border-color:#82948b;
  color:var(--white);
}
.secondary:hover {
  background:#304344;
}
.outline {
  background:transparent;
  border-color:var(--ink);
  color:var(--ink);
}
.outline:hover {
  background:var(--ink);
  color:var(--white);
}
.index {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:19px;
}
.index span {
  font-variant-numeric:tabular-nums;
  background:var(--lime);
  padding:4px 7px;
  color:var(--ink);
}
h2 {
  font-size:clamp(2.15rem,5.2vw,4.6rem);
  line-height:1.01;
  letter-spacing:-.06em;
  text-wrap:balance;
}
h3 {
  font-size:clamp(1.21rem,2.2vw,1.65rem);
  line-height:1.17;
  letter-spacing:-.026em;
}
.lead {
  font-size:clamp(1.04rem,1.7vw,1.24rem);
  max-width:57ch;
  margin-top:21px;
  color:var(--muted);
}
.situations {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin-top:36px;
}
.situations article {
  border-top:1px solid var(--line);
  padding-top:17px;
}
.situations article span {
  font-size:.8rem;
  font-weight:750;
  color:var(--muted);
  font-variant-numeric:tabular-nums;
}
.situations h3 {
  margin:9px 0 12px;
}
.situations p {
  color:var(--muted);
}
.info {
  background:var(--sand);
}
.expert-grid,.details-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,6vw,90px);
  align-items:start;
}
.expert-grid {
  align-items:center;
}
.expert-photo {
  max-width:450px;
  width:100%;
  justify-self:center;
}
.expert-photo img {
  height:auto;
  aspect-ratio:900/1000;
}
.tickets {
  background:var(--ink);
  color:var(--white);
}
.tickets .lead {
  color:#dce5dc;
}
.wave-panel {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-top:29px;
  padding:15px 16px;
  border:1px solid #73867d;
}
.wave-panel label {
  display:grid;
  gap:3px;
}
.wave-panel small {
  color:#d5e0d7;
}
.wave-panel select {
  min-height:44px;
  max-width:100%;
  padding:7px 26px 7px 10px;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);
}
.plans,.teams {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.plan {
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:start;
  padding:clamp(20px,2.65vw,35px);
  color:var(--ink);
  background:var(--paper);
  border-top:5px solid #bfc7b7;
}
.price,.dialog-price {
  font-size:clamp(1.8rem,3.8vw,3.25rem);
  font-weight:800;
  letter-spacing:-.055em;
  white-space:nowrap;
  margin-top:10px;
}
.plan small {
  color:var(--muted);
}
.plan ul {
  padding-left:20px;
  margin:17px 0;
}
.plan li+li {
  margin-top:6px;
}
.plan .note {
  color:var(--muted);
  font-size:.86rem;
  margin:0 0 14px;
}
.plan .button {
  margin-top:auto;
  width:100%;
}
.teams {
  gap:26px;
  margin-top:30px;
}
.package {
  border-top:2px solid var(--ink);
  padding-top:17px;
}
.package-option {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px 14px;
  border-bottom:1px solid var(--line);
  padding:14px 0;
  align-items:center;
}
.package-name {
  font-weight:680;
}
.package-price {
  font-size:1.3rem;
  font-weight:790;
  white-space:nowrap;
}
.package .button {
  grid-column:1/-1;
  justify-self:start;
}
.venue {
  margin:28px 0 0;
}
.venue div {
  display:grid;
  grid-template-columns:100px 1fr;
  gap:12px;
  border-top:1px solid #b8bfad;
  padding:12px 0;
}
.venue dt {
  color:var(--muted);
}
.venue dd {
  margin:0;
  font-weight:700;
}
.faq h3 {
  margin-bottom:15px;
}
.faq details {
  border-top:1px solid #b8bfad;
  padding:14px 0;
}
.faq summary {
  font-weight:700;
  cursor:pointer;
}
.faq p {
  margin-top:9px;
  color:var(--muted);
}
dialog {
  background:var(--paper);
  color:var(--ink);
  border:0;
  padding:34px;
  width:min(480px,calc(100% - 32px));
  max-height:calc(100% - 32px);
  overflow:auto;
}
dialog::backdrop {
  background:#101c1edb;
}
dialog h2 {
  margin-top:10px;
  font-size:2.2rem;
}
dialog > form[method="dialog"] {
  float:right;
}
.close {
  border:1px solid var(--line);
  background:transparent;
  color:inherit;
  width:42px;
  height:42px;
  font-size:1.5rem;
}
.dialog-price {
  margin-bottom:10px;
}
#selection-status {
  margin-top:16px;
  font-size:.92rem;
  color:var(--muted);
}
@media(max-width:960px) {
  .wrap {
    width:calc(100% - 56px);
  }
  .header nav {
    gap:15px;
  }
  .expert-grid,.details-grid {
    gap:32px;
  }
  .plans,.teams {
    gap:11px;
  }
  .plan {
    padding:18px;
  }
}
@media(max-width:680px) {
  .wrap {
    width:calc(100% - 36px);
  }
  .section {
    padding-block:62px;
  }
  .header-inner {
    min-height:60px;
    gap:10px;
  }
  .header nav {
    display:none;
  }
  .preview-label {
    font-size:.66rem;
    letter-spacing:.065em;
  }
  .expert-grid,.details-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .hero-intro {
    margin-top:17px;
  }
  .hero-meta {
    margin-bottom:17px;
  }
  .speaker-name {
    margin-bottom:6px;
  }
  .actions {
    display:grid;
    margin-top:20px;
    gap:8px;
  }
  .situations,.plans,.teams {
    grid-template-columns:minmax(0,1fr);
    gap:15px;
  }
  .situations {
    margin-top:25px;
  }
  .expert-photo {
    order:2;
    max-width:350px;
  }
  .wave-panel {
    align-items:stretch;
    flex-direction:column;
  }
  .plan .button,.package .button {
    width:100%;
  }
  .package .button {
    justify-self:stretch;
  }
  .package-option {
    padding:13px 0;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    transition:none!important;
  }
}

/* Editorial design for the negotiation workshop. */
:root {
  --ink: #1c1714;
  --deep: #100d0c;
  --muted: #625449;
  --paper: #f6f0e6;
  --sand: #ebe0d1;
  --lime: #e3bd82;
  --line: #cdbdac;
  --white: #fff5e8;
  --copper: #ad5e39;
}

.header, .footer {
  background: var(--deep);
}
.header {
  border-bottom-color: #49352a;
}
.preview-label {
  color: #d7b999;
}
.primary:hover {
  background: #f6d49f;
}
.secondary {
  border-color: #9b7961;
}
.secondary:hover {
  background: #3d2b20;
}
:focus-visible {
  outline-color: #a7613c;
}

.hero.cinematic {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  background:
    radial-gradient(ellipse at 75% 50%, #543023 0, #281b16 37%, transparent 67%),
    var(--deep);
}
.hero-grid {
  display: grid;
  position: relative;
  grid-template-columns: minmax(0, 1.13fr) minmax(0, 1fr);
  grid-template-areas: "headline art" "actions art";
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 0 25px;
  min-height: clamp(650px, 58vw, 785px);
}
.hero-copy {
  grid-area: headline;
  padding-top: 62px;
}
.hero-bottom {
  grid-area: actions;
  z-index: 2;
  align-self: start;
  padding: 26px 0 64px;
}
.hero-meta {
  margin-bottom: 42px;
}
.hero .speaker-name {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 17px;
  margin-bottom: 12px;
}
.speaker-name span {
  color: #dfbda5;
  font-weight: 550;
  font-size: .82em;
}
.hero h1 {
  font-size: clamp(4.2rem, 7vw, 7.6rem);
  line-height: .83;
  letter-spacing: -.06em;
  font-weight: 780;
}
.hero h1 .hero-word {
  font-size: inherit;
  letter-spacing: inherit;
  margin: 0;
  color: inherit;
}
.hero h1 .hero-word:first-child {
  font: italic 400 1.04em/.86 Georgia, serif;
  letter-spacing: -.09em;
  margin: 0 0 .095em -.04em;
}
.hero h1 .hero-topic {
  color: var(--lime);
  margin-top: 23px;
  font-size: clamp(1.27rem, 2.35vw, 2.35rem);
}
.hero-intro {
  color: #f1dfd0;
  margin-top: 0;
}
.hero-art {
  grid-area: art;
  width: min(59vw, 760px);
  height: 100%;
  justify-self: end;
  margin-right: -50px;
  position: relative;
  isolation: isolate;
}
.art-field {
  position: absolute;
  inset: 8% 5% 4%;
  z-index: -2;
  background:
    repeating-linear-gradient(90deg, transparent 0 63px, #b17d5927 64px 65px),
    repeating-linear-gradient(0deg, transparent 0 63px, #b17d5927 64px 65px);
  mask-image: radial-gradient(ellipse, #000 8%, transparent 72%);
}
.art-routes {
  position: absolute;
  inset: 3% 2% 5%;
  width: 96%;
  height: 92%;
  z-index: -1;
  color: #eebd89;
  overflow: visible;
}
.art-routes path {
  stroke: currentColor;
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
}
.route-ghost {
  opacity: .34;
  stroke-dasharray: 5 9;
}
.route-main {
  opacity: .78;
  stroke-dasharray: 1;
  animation: draw-route 2.1s .3s both cubic-bezier(.26,.64,.27,1);
}
.art-routes circle {
  fill: #f0c494;
}
.hero-art figcaption {
  position: absolute;
  inset: auto 8% 20px 20%;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #ab82677a;
  padding-top: 10px;
  color: #e0bea1;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .14em;
}
.art-tags {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.art-tag {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #251a16e8;
  border: 1px solid #ac7e60;
  padding: 7px 12px;
  color: #fff1df;
  box-shadow: 0 9px 24px #0b08074d;
  text-transform: uppercase;
  letter-spacing: .105em;
  font-size: .7rem;
  font-weight: 680;
  white-space: nowrap;
  animation: marker-in 3.5s var(--delay) both cubic-bezier(.2,.65,.24,1);
}
.art-tag b {
  color: var(--lime);
  font-variant-numeric: tabular-nums;
}
.tag-goal {
  top: 22%;
  left: 18%;
  --delay: .28s;
  --tilt: -6deg;
}
.tag-interest {
  top: 36%;
  right: 5%;
  --delay: .54s;
  --tilt: 7deg;
}
.tag-move {
  bottom: 23%;
  right: 2%;
  --delay: .72s;
  --tilt: -4deg;
}
.hero-copy, .hero-bottom {
  animation: copy-in .75s both cubic-bezier(.18,.63,.3,1);
}
.hero-bottom {
  animation-delay: .18s;
}
@keyframes copy-in {
  from { opacity: .25; transform: translateY(13px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes draw-route {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}
@keyframes marker-in {
  0% { opacity: 0; transform: translate(24px, 20px) rotate(0); }
  34% { opacity: 1; transform: translate(0, -9px) rotate(var(--tilt)); }
  62% { opacity: 1; transform: translate(0, 4px) rotate(var(--tilt)); }
  100% { opacity: 1; transform: translate(0, 0) rotate(var(--tilt)); }
}

.alternate .hero.cinematic {
  background: #261d19;
}
.event-strip {
  background: #35241c;
  color: #f5e0ca;
  border-block: 1px solid #76513a;
}
.event-strip-inner {
  display: flex;
  justify-content: space-between;
  gap: 17px 28px;
  flex-wrap: wrap;
  align-items: center;
  min-height: 72px;
  padding-block: 14px;
  font-size: .88rem;
  font-weight: 650;
}
.event-strip b {
  color: var(--lime);
  font: italic 400 1.65em/1 Georgia, serif;
  margin-right: 7px;
}

.audience h2, .chapter-heading h2, #expert-title, .final-call h2 {
  font-family: Georgia, serif;
  font-weight: 500;
  letter-spacing: -.068em;
}
.audience h2 {
  font-size: clamp(2.7rem, 6.3vw, 6.4rem);
}
.situations {
  gap: 16px;
}
.situations article {
  background: #eee3d5;
  padding: 23px;
  min-height: 205px;
  border-top: 2px solid #965d42;
}
.situations article span {
  color: #824d34;
  font: italic 400 2.2rem/.9 Georgia, serif;
}
.situations h3 {
  margin-top: 20px;
}

.program {
  background: var(--ink);
  color: var(--white);
}
.program .lead {
  color: #e7cdb9;
}
.chapter-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .75fr);
  gap: 24px;
  align-items: end;
  margin-bottom: 34px;
}
.chapter-heading .lead {
  margin-bottom: 5px;
}
.playbook {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  border: 1px solid #93684b;
  background: #201713;
}
.playbook .modules {
  border-top: 0;
  display: grid;
  align-content: stretch;
}
.playbook .module {
  display: grid;
  gap: 10px;
  grid-template-columns: 39px 1fr 22px;
  align-items: center;
  padding: 17px 20px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #76523d;
  background: transparent;
  color: var(--white);
  text-align: left;
  min-height: 65px;
}
.playbook .module:last-child {
  border-bottom: 0;
}
.playbook .module span {
  color: inherit;
}
.playbook .module .module-number {
  color: #dfad7d;
  font: italic 400 1.2rem/1 Georgia, serif;
}
.playbook .module .module-name {
  font-size: clamp(.94rem, 1.8vw, 1.22rem);
  font-weight: 690;
}
.playbook .module .module-arrow {
  font-size: 1.14rem;
  text-align: right;
}
.playbook .module:hover {
  background: #503324;
}
.playbook .module[aria-pressed="true"] {
  background: var(--lime);
  color: var(--ink);
}
.playbook .module[aria-pressed="true"] .module-number {
  color: #613c29;
}
.playbook-panel {
  position: relative;
  isolation: isolate;
  border-left: 1px solid #93684b;
  padding: 24px clamp(20px, 3vw, 45px) 30px;
  background: radial-gradient(ellipse at 80% 10%, #5c3725, transparent 72%), #2b1d17;
}
.playbook-drawing {
  display: block;
  width: 100%;
  height: clamp(90px, 15vw, 180px);
}
.playbook-drawing path {
  fill: none;
  stroke: #e7b182;
  stroke-width: 1.5;
}
.playbook-drawing .map-guide {
  opacity: .29;
  stroke-dasharray: 3 5;
}
.arrived .map-line {
  stroke-dasharray: 1;
  animation: draw-route .85s ease-out both;
}
.map-points circle {
  fill: #37261e;
  stroke: #ddb085;
  stroke-width: 1.3;
  transition: fill .2s, r .2s;
}
[data-step="1"] .map-points circle:nth-child(1),
[data-step="2"] .map-points circle:nth-child(2),
[data-step="3"] .map-points circle:nth-child(3),
[data-step="4"] .map-points circle:nth-child(4) {
  fill: #ffd395;
  r: 11;
}
.playbook-copy {
  min-height: 183px;
}
.playbook-copy .eyebrow {
  color: var(--lime);
}
.playbook-copy h3 {
  margin: 9px 0;
  font-family: Georgia, serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 500;
}
#module-outcome {
  color: #f5c18e;
  margin-top: 14px;
}
.expert-grid {
  gap: clamp(35px, 9vw, 125px);
}
.expert-photo {
  position: relative;
  max-width: 530px;
}
.expert-photo::after {
  content: "";
  position: absolute;
  inset: 13px -13px -13px 13px;
  z-index: -1;
  border: 1px solid #a97555;
}
.tickets .lead {
  color: #f0d9c5;
}
.wave-panel {
  border-color: #9b7961;
}
.wave-panel small {
  color: #e7cab2;
}
.wave-panel[hidden] {
  display: none;
}
.final-call {
  background: #44271b;
  color: var(--white);
  padding-block: 55px;
}
.final-call-inner {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
}
.final-call .actions {
  margin: 0;
}
.arrived:not(.playbook) {
  animation: copy-in .65s ease-out both;
}

@media (max-width: 960px) {
  .hero h1 { font-size: clamp(3.6rem, 8vw, 5.3rem); }
  .hero-grid { min-height: 625px; }
  .hero-art { margin-right: -27px; }
  .hero-meta { margin-bottom: 30px; }
  .tag-goal { left: 13%; }
  .tag-interest { right: 3%; }
}

@media (max-width: 680px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "headline" "art" "actions";
    grid-template-rows: auto auto auto;
    min-height: 0;
    align-items: start;
  }
  .hero-copy {
    padding-top: 22px;
  }
  .hero h1 {
    font-size: clamp(3rem, 12vw, 5.15rem);
  }
  .hero h1 .hero-topic {
    margin-top: 14px;
  }
  .hero .speaker-name {
    margin-bottom: 10px;
  }
  .hero-meta {
    margin-bottom: 17px;
  }
  .hero-art {
    height: clamp(237px, 71vw, 395px);
    width: calc(100% + 36px);
    margin: 11px -18px 0;
    justify-self: center;
  }
  .hero-art figcaption {
    inset: auto 18px 0;
    font-size: .61rem;
    padding-top: 6px;
  }
  .art-tag {
    font-size: .56rem;
    padding: 5px 7px;
    gap: 5px;
  }
  .tag-goal { top: 21%; left: 7%; }
  .tag-interest { top: 38%; right: 6%; }
  .tag-move { bottom: 22%; right: 5%; }
  .hero-bottom {
    padding: 17px 0 27px;
  }
  .hero-intro {
    margin: 0;
  }
  .hero-bottom .actions {
    margin-top: 15px;
  }
  .event-strip-inner {
    column-gap: 16px;
    row-gap: 9px;
    padding-block: 12px;
    font-size: .77rem;
  }
  .situations article { min-height: 0; }
  .chapter-heading, .playbook {
    grid-template-columns: minmax(0, 1fr);
  }
  .chapter-heading { gap: 0; }
  .playbook .module {
    min-height: 52px;
    padding: 10px 13px;
  }
  .playbook-panel {
    border-left: 0;
    border-top: 1px solid #93684b;
    padding-top: 12px;
  }
  .expert-photo { width: calc(100% - 13px); }
}
@media (max-width: 355px) {
  .hero h1 { font-size: 2.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
  .art-tag { transform: rotate(var(--tilt)); }
}
/* Portrait, practice case and ticket comparison. */
.hero.cinematic {
  --scene-x: 0px;
  --scene-y: 0px;
  background: #18130f;
}
.hero-coordinate {
  position: absolute;
  z-index: -1;
  inset: auto auto -.22em -.045em;
  color: transparent;
  -webkit-text-stroke: 1px #c990572e;
  font: italic 400 clamp(24rem, 55vw, 62rem)/.8 Georgia, serif;
  letter-spacing: -.15em;
  pointer-events: none;
}
.hero-grid {
  min-height: clamp(650px, 53vw, 765px);
}
.hero-copy {
  z-index: 3;
}
.hero h1 {
  font-size: clamp(4rem, 7.65vw, 8rem);
}
.hero h1 .hero-topic {
  border-left: 2px solid var(--lime);
  padding-left: 12px;
  line-height: 1.13;
}
.hero-intro {
  max-width: 43ch;
}
.hero-art {
  width: min(68vw, 930px);
  margin-right: -86px;
  isolation: isolate;
}
.hero-art .hero-picture,
.alternate .hero-art .hero-picture {
  display: block;
  position: absolute;
  inset: 0 -6% 0 9%;
  overflow: hidden;
  z-index: -3;
}
.hero-art .hero-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% 30%;
  translate: calc(var(--scene-x) * .38) calc(var(--scene-y) * .38);
  scale: 1.045;
  transition: translate .3s ease-out;
  animation: hero-lens 1.05s ease-out both;
}
.hero-picture::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #18130f, #18130fdf 12%, #18130f45 40%, transparent 66%),
    linear-gradient(0deg, #18130f 0%, #18130f33 22%, transparent 49%);
}
.alternate .hero.cinematic {
  background: #18130f;
}
.alternate .hero-art .hero-picture img {
  object-position: 63% 38%;
}
.alternate .art-tags, .alternate .art-routes {
  display: block;
}
.art-field {
  inset: 5% 2% 5%;
  opacity: .48;
  translate: calc(var(--scene-x) * -.48) calc(var(--scene-y) * -.48);
  transition: translate .25s ease-out;
}
.art-routes {
  translate: calc(var(--scene-x) * -.55) calc(var(--scene-y) * -.55);
  transition: translate .25s ease-out;
  opacity: .86;
}
.route-signal {
  opacity: .8;
  filter: drop-shadow(0 0 8px #edc083);
}
.art-tags {
  translate: calc(var(--scene-x) * -1) calc(var(--scene-y) * -1);
  transition: translate .22s ease-out;
}
.tag-goal { top: 21%; left: 30%; }
.tag-interest { top: 42%; right: 10%; }
.tag-move { bottom: 22%; right: 7%; }
.hero-art figcaption {
  inset: auto 7% 20px 31%;
  color: #f5d8b9;
}
@keyframes hero-lens {
  from { opacity: .45; scale: 1.09; }
  to { opacity: 1; scale: 1.045; }
}
.event-strip a {
  text-underline-offset: 4px;
}
.situations article {
  min-height: 225px;
}
.situations article span, .outcome-list article > span {
  font: 720 .73rem/1.25 system-ui, sans-serif;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.outcome-section {
  background: #eaddcb;
  border-top: 1px solid #c8ad94;
}
.outcome-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(26px, 6vw, 90px);
}
.outcome-grid h2, .tickets h2, #teams h2 {
  font-family: Georgia, serif;
  font-weight: 500;
}
.outcome-list {
  border-top: 1px solid #ae9079;
}
.outcome-list article {
  padding: 18px 0 20px;
  border-bottom: 1px solid #ae9079;
}
.outcome-list article > span {
  color: #71482f;
}
.outcome-list h3 {
  margin: 8px 0;
}
.outcome-list p {
  color: var(--muted);
}
.case-section {
  background: #2f2119;
  color: var(--white);
}
.case-cover {
  position: relative;
  display: flex;
  align-items: end;
  min-height: clamp(430px, 49vw, 650px);
  overflow: hidden;
  isolation: isolate;
  background: #251b16;
}
.case-cover img {
  position: absolute;
  inset: 0 0 0 auto;
  width: 63%;
  height: 100%;
  object-position: 50% 36%;
  z-index: -2;
}
.case-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #251b16 21%, #251b16ed 39%, transparent 78%),
    linear-gradient(0deg, #2f2119, transparent 40%);
}
.case-cover-copy {
  width: min(var(--wrap), calc(100% - 96px));
  margin-inline: auto;
  padding-bottom: clamp(34px, 5vw, 75px);
}
.case-cover-copy .eyebrow {
  color: #f0c48f;
  margin-bottom: 14px;
}
.case-cover h2 {
  font: 400 clamp(3rem, 7.25vw, 7rem)/.91 Georgia, serif;
  letter-spacing: -.065em;
  text-wrap: initial;
}
.case-workspace {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(25px, 5vw, 72px);
  padding-block: 30px 44px;
}
.case-brief {
  border-top: 1px solid #ad8060;
  padding-top: 21px;
}
.case-brief .eyebrow {
  color: var(--lime);
}
.case-brief blockquote {
  margin: 15px 0;
  font: 400 clamp(1.45rem, 2.9vw, 2.5rem)/1.17 Georgia, serif;
  color: #f9dfc5;
}
.case-brief > p:last-child, .case-exercise > p, .case-feedback p {
  color: #f0d9c6;
}
.case-exercise > p {
  margin-top: 7px;
}
.case-options {
  display: grid;
  gap: 7px;
  margin: 16px 0;
}
.case-option {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 54px;
  padding: 8px 13px;
  text-align: left;
  color: var(--white);
  background: #3b291e;
  border: 1px solid #b18a69;
}
.case-option:hover {
  background: #563725;
}
.case-option[aria-pressed="true"] {
  color: var(--ink);
  background: var(--lime);
}
.case-letter {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid currentColor;
  color: inherit;
  font-weight: 700;
}
.case-feedback:not(:empty) {
  background: #241a15;
  border-left: 3px solid var(--lime);
  padding: 15px 18px;
}
.case-feedback h4 {
  margin: 0 0 8px;
  color: #ffdbad;
  font-size: 1.12rem;
}
.case-feedback p + p {
  margin-top: 9px;
}
.practice-debrief {
  padding-block: 28px 66px;
  border-top: 1px solid #ad8060;
}
.practice-debrief h3 {
  margin-bottom: 16px;
  font: 400 clamp(1.75rem, 3vw, 2.8rem)/1.08 Georgia, serif;
}
.practice-debrief ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin: 0;
  padding: 0;
  counter-reset: practice;
  list-style: none;
}
.practice-debrief li {
  counter-increment: practice;
  border-top: 1px solid #a0785d;
  padding-top: 12px;
}
.practice-debrief li::before {
  content: "0" counter(practice);
  display: block;
  margin-bottom: 8px;
  color: var(--lime);
  font: italic 400 1.5rem/1 Georgia, serif;
}
.practice-debrief li span {
  display: block;
  margin-top: 4px;
  color: #f0d9c6;
}
.expert-photo { max-width: 590px; }
.expert-photo figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 13px 18px;
  background: #1c1714df;
  color: var(--white);
  font-size: .71rem;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.tickets {
  background: radial-gradient(ellipse at 64% 0%, #593821, transparent 62%), #211610;
}
.plans {
  gap: 13px;
}
.plan {
  position: relative;
  --plan-bg: #e4e5e4;
  --plan-line: #8f969a;
  --plan-accent: #3c464b;
  background: linear-gradient(153deg, #fff7 0%, transparent 45%), var(--plan-bg);
  border: 1px solid var(--plan-line);
  border-top: 5px solid var(--plan-line);
  padding: clamp(18px, 2.5vw, 31px);
}
.plan-gold {
  --plan-bg: #eaca91;
  --plan-line: #b78744;
  --plan-accent: #61401c;
}
.plan-platinum {
  --plan-bg: #eddfdc;
  --plan-line: #a27670;
  --plan-accent: #69413a;
}
.plan-heading {
  position: relative;
  width: 100%;
  border-bottom: 1px solid var(--plan-line);
  padding: 0 0 14px;
  isolation: isolate;
  overflow: hidden;
}
.plan-heading h3 {
  font: 400 clamp(1.9rem, 3vw, 3.05rem)/1 Georgia, serif;
}
.plan-label {
  min-height: 1.2em;
  color: var(--plan-accent);
  font-size: .69rem;
  font-weight: 740;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 9px;
}
.plan-number {
  position: absolute;
  right: 1px;
  top: 3px;
  z-index: -1;
  color: transparent;
  -webkit-text-stroke: 1px var(--plan-line);
  opacity: .62;
  font: italic 400 3.4rem/.9 Georgia, serif;
}
.plan .price {
  margin-top: 15px;
  font-size: clamp(2rem, 3.85vw, 3.6rem);
  line-height: 1.05;
}
.plan .button {
  background: #211814;
  color: var(--white);
}
.plan .button:hover {
  background: #4b3326;
}
.plan .note {
  color: #523e38;
}
.package {
  background: #eee1d0;
  padding: 15px 19px;
}
.package-option:last-child {
  border-bottom: none;
}
.edge-reveal.arrived, .plan.arrived {
  --entrance-x: -24px;
  animation: edge-in .65s cubic-bezier(.21,.59,.26,1) both;
}
.edge-reveal.arrived:nth-child(even), .plan.arrived:nth-child(even) {
  --entrance-x: 24px;
}
@keyframes edge-in {
  from { opacity: .45; transform: translateX(var(--entrance-x)); }
  to { opacity: 1; transform: translateX(0); }
}
@media (max-width: 960px) {
  .hero h1 { font-size: clamp(3.5rem, 8vw, 5.75rem); }
  .hero-art { margin-right: -46px; }
  .hero-art figcaption { left: 26%; }
  .tag-goal { left: 22%; }
}
@media (max-width: 680px) {
  .hero-grid { min-height: 0; }
  .hero h1 { font-size: clamp(2.85rem, 12vw, 5rem); }
  .hero h1 .hero-topic { padding-left: 8px; }
  .hero-art {
    height: clamp(268px, 77vw, 430px);
    width: calc(100% + 36px);
    margin: 9px -18px 0;
  }
  .hero-art .hero-picture, .alternate .hero-art .hero-picture { inset: 0; }
  .hero-art .hero-picture img { object-position: 50% 30%; }
  .alternate .hero-art .hero-picture img { object-position: 51% 28%; }
  .hero-picture::after {
    background: linear-gradient(0deg, #18130f, #18130f1f 35%, transparent 58%, #18130f8f 100%);
  }
  .hero-art figcaption { inset: auto 18px 2px; }
  .tag-goal { top: 27%; left: 6%; }
  .tag-interest { top: 47%; right: 4%; }
  .tag-move { bottom: 20%; right: 6%; }
  .hero-coordinate { display: none; }
  .situations article { min-height: 0; }
  .outcome-grid, .case-workspace, .practice-debrief ol {
    grid-template-columns: minmax(0, 1fr);
  }
  .case-cover { min-height: 405px; }
  .case-cover img { width: 100%; object-position: 51% 34%; }
  .case-cover::after {
    background: linear-gradient(0deg, #2f2119, #2f2119ca 26%, transparent 64%);
  }
  .case-cover-copy { width: calc(100% - 36px); padding-bottom: 22px; }
  .case-cover h2 { font-size: clamp(2.65rem, 11vw, 4.1rem); }
  .case-workspace { padding-block: 12px 30px; }
  .practice-debrief { padding-bottom: 43px; }
  .plan { padding: 19px; }
}
@media (max-width: 355px) {
  .hero h1 { font-size: 2.62rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-art .hero-picture img, .art-field, .art-routes, .art-tags {
    translate: none;
  }
  .route-signal { display: none; }
}
#lead-form {
  display: grid;
  gap: 11px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
#lead-form label {
  display: grid;
  gap: 4px;
  font-size: .88rem;
  font-weight: 650;
}
#lead-form label[hidden] {
  display: none;
}
#lead-form .form-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.footer-bottom [hidden] {
  display: none;
}
#lead-form input:not([type="checkbox"]) {
  width: 100%;
  min-height: 44px;
  padding: 7px 9px;
  border: 1px solid #9a8270;
  border-radius: 0;
  background: #fffbf6;
  color: var(--ink);
  font: inherit;
}
#lead-form .lead-consent {
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  color: #5e5045;
  font-size: .78rem;
  font-weight: 550;
}
.lead-consent input {
  margin: 3px 0 0;
  accent-color: #513522;
}
#lead-result {
  color: #655245;
  font-size: .85rem;
}
#lead-submit:disabled {
  opacity: .6;
  cursor: default;
}

.expert-profile > p:not(.index) {
  margin-top: 15px;
}
#expert-title {
  font-size: clamp(3.3rem, 6.3vw, 6.4rem);
}
.expert-method {
  border-top: 1px solid var(--line);
  margin-top: 24px;
  padding-top: 19px;
}
.expert-method p {
  margin: 9px 0 12px;
}
.text-link {
  display: inline-block;
  font-weight: 710;
  text-underline-offset: 4px;
}
.text-link span {
  margin-left: 3px;
}
.expert-details, .organizer-grid, .interview-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 5vw, 68px);
}
.expert-details {
  margin-top: clamp(35px, 6vw, 72px);
}
.expert-facts {
  border-top: 2px solid #986546;
  padding-top: 17px;
}
.expert-facts .eyebrow {
  color: #784f35;
  margin-bottom: 9px;
}
.expert-facts > p:not(.eyebrow) {
  margin-top: 9px;
}
.expert-facts .text-link {
  margin-top: 15px;
}
.expert-list {
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}
.expert-list > div, .expert-awards > li {
  border-top: 1px solid var(--line);
  padding: 9px 0;
}
.expert-list dt {
  font-weight: 700;
}
.expert-list dd {
  margin: 3px 0 0;
  color: var(--muted);
}
.expert-awards li {
  display: grid;
  grid-template-columns: 4ch minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;
}
.expert-awards time {
  color: #784f35;
  font-weight: 730;
}
.expert-awards a {
  text-underline-offset: 3px;
}
.interview {
  padding-block: clamp(28px, 5.7vw, 72px);
  background: #dfc7ac;
}
.interview-inner {
  align-items: end;
}
.interview .eyebrow {
  color: #67432e;
  margin-bottom: 11px;
}
.interview h2 {
  font: 400 clamp(2.1rem, 4.2vw, 4.7rem)/1 Georgia, serif;
  letter-spacing: -.045em;
}
.interview .button {
  margin-top: 15px;
  background: var(--ink);
  color: var(--white);
}
.interview .button:hover {
  background: #493323;
}
.organizer {
  background: var(--paper);
}
.organizer-grid {
  align-items: center;
}
.organizer h2, .event-format h2, .past-events h2 {
  font-family: Georgia, serif;
  font-weight: 500;
}
.organizer .lead {
  margin-bottom: 13px;
}
.organizer .text-link {
  margin-top: 17px;
}
.organizer-photo {
  position: relative;
  justify-self: center;
  width: min(100%, 400px);
  min-width: 0;
  background: #2e211b;
  overflow: hidden;
}
.organizer-photo img {
  aspect-ratio: 1.17;
  height: auto;
  object-fit: cover;
  object-position: center 21%;
}
.organizer-photo figcaption {
  display: grid;
  padding: 12px 18px;
  background: #211812;
  color: var(--white);
}
.organizer-photo figcaption span {
  font-size: .87rem;
  color: #e6cbb5;
}
.event-format {
  background: #eaddcb;
}
.event-format-list, .past-event-list {
  padding: 0;
  list-style: none;
}
.event-format-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(15px, 3vw, 38px);
  margin: 24px 0 0;
}
.event-format-list li {
  border-top: 1px solid #99795f;
  padding-top: 14px;
}
.event-format-list span {
  color: #71482f;
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
}
.event-format-list h3 {
  margin: 7px 0;
}
.past-events {
  background: #2f2119;
  color: var(--white);
}
.past-events .lead {
  color: #ecd7c1;
}
.past-event-list {
  margin: 24px 0 16px;
}
.past-event-list li {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1fr) minmax(0, .6fr);
  gap: 12px;
  align-items: baseline;
  border-block-end: 1px solid #8a6851;
  padding: 12px 0;
}
.past-event-list li:first-child {
  border-top: 1px solid #8a6851;
}
.past-event-list li span {
  color: #ecd7c1;
}
.site-footer {
  padding-block: 35px 18px;
  font-size: .92rem;
}
.footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .72fr) minmax(0, 1.1fr);
  gap: 22px 32px;
}
.footer-event {
  margin: 12px 0;
  color: #e8d4c3;
}
.footer-socials, .footer-legal, .footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}
.site-footer a {
  overflow-wrap: anywhere;
  text-underline-offset: 4px;
}
.footer-socials a {
  padding: 7px 9px;
  border: 1px solid #82664f;
  text-decoration: none;
}
.footer-socials a:hover {
  background: #4a3426;
}
.footer-links, .footer-contact {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 6px;
}
.site-footer .eyebrow {
  color: #e6c19a;
  margin-bottom: 3px;
}
.footer-contact address {
  color: #e8d4c3;
  font-style: normal;
}
.footer-legal {
  margin-top: 20px;
  border-block: 1px solid #574133;
  padding-block: 12px;
}
.footer-bottom {
  justify-content: space-between;
  margin-top: 12px;
  color: #e8d4c3;
  font-size: .82rem;
}
@media (max-width: 680px) {
  .expert-details, .organizer-grid, .interview-inner, .event-format-list, .footer-main {
    grid-template-columns: minmax(0, 1fr);
  }
  .expert-photo {
    max-width: 430px;
  }
  .past-event-list li {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1px 8px;
  }
  .past-event-list li span:first-child {
    grid-column: 1 / -1;
    font-size: .85rem;
  }
}

.program-source {
  margin-top: clamp(22px, 4.2vw, 51px);
  border-top: 1px solid #ad9078;
  padding-top: 19px;
}
.program-source h3 {
  margin-bottom: 12px;
  font: 400 clamp(1.5rem, 3vw, 2.55rem)/1.12 Georgia, serif;
  letter-spacing: -.024em;
}
.program-source p, .program-source ul {
  max-width: 77ch;
  color: var(--muted);
}
.program-source p + p, .program-source ul {
  margin-top: 10px;
}
.program-source ul {
  margin-bottom: 0;
  padding-left: 21px;
}
.program-source li + li {
  margin-top: 7px;
}
.program-source li::marker {
  color: #855838;
}
.program .program-source {
  border-color: #8e654c;
}
.program .program-source p, .program .program-source ul {
  color: #eddbcb;
}
.program .program-source li::marker {
  color: var(--lime);
}
.playbook-heading {
  margin: clamp(22px, 4vw, 44px) 0 13px;
}
.program-full {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 0 clamp(24px, 5vw, 68px);
  scroll-margin-top: 22px;
}
.program-full-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--lime);
}
.expert-other-books {
  margin: 8px 0 0;
  padding-left: 20px;
}
.expert-other-books li + li {
  margin-top: 5px;
}
@media (max-width: 680px) {
  .program-full {
    grid-template-columns: minmax(0, 1fr);
  }
}
.detail-section {
  --detail-surface: #fbf5eb;
  --detail-border: #bd9d83;
  --detail-accent: #795036;
  padding-top: clamp(18px, 3vw, 35px);
}
.detail-heading {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1fr);
  align-items: start;
  gap: 10px clamp(22px, 5vw, 64px);
}
.detail-heading h3 {
  margin: 0;
}
.detail-heading p {
  max-width: 68ch;
}
.detail-section .detail-grid {
  display: grid;
  gap: clamp(10px, 1.8vw, 21px);
  max-width: none;
  margin: 23px 0 0;
  padding: 0;
  list-style: none;
}
.situation-grid, .training-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.result-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.detail-section .detail-card {
  position: relative;
  margin: 0;
  padding: clamp(16px, 2.6vw, 30px);
  border: 1px solid var(--detail-border);
  border-top: 3px solid var(--detail-accent);
  background: var(--detail-surface);
}
.detail-card-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: start;
  margin-bottom: 14px;
}
.detail-card .detail-number {
  color: var(--detail-accent);
  font: italic 400 clamp(1.55rem, 2.75vw, 2.8rem)/.95 Georgia, serif;
}
.detail-card h4, .syllabus-panel h4 {
  margin: 0 0 8px;
  font-size: clamp(1rem, 1.55vw, 1.32rem);
  line-height: 1.2;
}
.detail-card .situation-turn {
  padding: 3px 7px;
  background: #ecdbc6;
  color: #60412c;
  font-size: .7rem;
  font-weight: 730;
  letter-spacing: .08em;
}
.situation-detail .detail-note {
  max-width: none;
  margin-top: 14px;
  padding: 13px 17px;
  border-left: 2px solid var(--detail-accent);
  background: #eee1d1;
}
.outcome-detail {
  --detail-surface: #f6ecdf;
}
.outcome-detail .detail-list-intro {
  margin: 16px 0 0;
  font-weight: 700;
}
.outcome-detail .detail-grid {
  margin-top: 9px;
}
.result-grid .detail-card {
  display: grid;
  grid-template-columns: 3.3em minmax(0, 1fr);
  grid-template-areas: "number title" "number copy";
  align-content: start;
  column-gap: 13px;
}
.result-grid .detail-card-top { grid-area: number; margin: 0; }
.result-grid .detail-card h4 { grid-area: title; }
.result-grid .detail-card p { grid-area: copy; }

.program-full {
  align-items: start;
  gap: clamp(13px, 2.4vw, 28px);
}
.program .syllabus-panel {
  padding: clamp(15px, 3vw, 30px);
  border: 1px solid #875d43;
  background: #251b16;
}
.program .syllabus-topics {
  background: #35251b;
}
.syllabus-heading {
  border-bottom: 1px solid #875d43;
  margin-bottom: 15px;
}
.syllabus-heading .eyebrow {
  display: inline-block;
  margin-bottom: 9px;
  color: var(--lime);
}
.syllabus-panel .skill-list, .syllabus-panel .topic-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.skill-list li {
  padding: 11px 0 11px 15px;
  border-left: 2px solid #8f6649;
}
.syllabus-panel .skill-list li + li, .syllabus-panel .topic-list li + li {
  margin: 0;
}
.skill-list li + li {
  border-top: 1px solid #513725;
}
.syllabus-panel .skill-list h4, .syllabus-topics > h4 {
  color: #ffd8ae;
}
.syllabus-topics > h4 {
  margin-top: 17px;
}
.syllabus-topics .topic-list {
  counter-reset: syllabus;
}
.syllabus-topics .topic-list[start="4"] { counter-reset: syllabus 3; }
.syllabus-topics .topic-list[start="7"] { counter-reset: syllabus 6; }
.topic-list li {
  counter-increment: syllabus;
  display: grid;
  grid-template-columns: 2.45rem minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  border-top: 1px solid #6d4c37;
  padding: 9px 0;
  color: #eddbcb;
}
.topic-list li::before {
  content: counter(syllabus, decimal-leading-zero);
  color: #ffd8ae;
  font: italic 400 1.2rem/1.25 Georgia, serif;
}
.training-detail {
  --detail-surface: #32231a;
  --detail-border: #93664b;
  --detail-accent: #e4b981;
}
.training-grid .detail-card:not(:last-child) .detail-card-top::after {
  content: "→";
  color: var(--detail-accent);
}
.training-detail .program-full-link {
  margin-top: 16px;
}
@media (max-width: 800px) {
  .detail-heading, .program-full {
    grid-template-columns: minmax(0, 1fr);
  }
  .program-full .syllabus-topics {
    margin-top: 0;
  }
}
@media (max-width: 680px) {
  .situation-grid, .result-grid, .training-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .result-grid .detail-card {
    grid-template-columns: 2.1rem minmax(0, 1fr);
    column-gap: 8px;
  }
  .training-grid .detail-card:not(:last-child) .detail-card-top::after {
    content: "↓";
  }
}
.books-section { background: #eee0ce; }
.books-section h2, .budget-section h2, .organizer-clips h2, .deplox-section h2 {
  font-family: Georgia, serif;
  font-weight: 500;
}
.book-feature-grid, .budget-grid, .deplox-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 3vw, 32px);
}
.book-feature-grid { margin-top: 27px; }
.book-feature {
  display: grid;
  grid-template-columns: minmax(95px, .65fr) minmax(0, 1fr);
  align-items: center;
  background: #fbf4e9;
  border: 1px solid #b89b80;
}
.book-cover {
  display: grid;
  align-content: center;
  background: #d5b897;
  min-height: 100%;
  padding: clamp(10px, 1.9vw, 25px);
}
.book-feature:nth-child(2) .book-cover { background: #bcaa9f; }
.book-feature .book-award {
  background: #31241d;
  color: #f5ddbe;
  text-align: center;
  justify-items: center;
}
.book-award strong {
  font: italic 400 clamp(1.65rem, 4vw, 4rem)/1 Georgia, serif;
}
.book-award span {
  margin-top: 9px;
  font-size: .67rem;
  font-weight: 700;
  text-transform: uppercase;
}
.book-cover img {
  width: min(100%, 170px);
  aspect-ratio: 2 / 3;
  object-fit: contain;
  justify-self: center;
}
.book-copy { padding: clamp(12px, 2.4vw, 27px); }
.book-copy .eyebrow { color: #75472c; margin-bottom: 8px; }
.book-copy p:not(.eyebrow) { color: var(--muted); margin: 9px 0 13px; }
.book-copy .text-link { font-size: .87rem; }
.book-list-title { margin-top: 27px; }
.book-list {
  list-style: none;
  margin: 10px 0 15px;
  padding: 0;
}
.book-list li {
  display: grid;
  grid-template-columns: minmax(0, .4fr) minmax(0, 1fr);
  gap: 8px 20px;
  border-top: 1px solid #bb9c81;
  padding: 10px 0;
}
.book-list li span { color: var(--muted); }

.budget-section { background: #ebdecb; }
.budget-grid {
  gap: 0;
  border: 1px solid #b89b80;
  background: #fbf4e9;
}
.budget-copy, .budget-downloads { padding: clamp(20px, 4.5vw, 58px); }
.budget-copy .eyebrow { margin-bottom: 11px; color: #75472c; }
.budget-copy h2 { font-size: clamp(2.3rem, 4.6vw, 4.45rem); }
.budget-copy p:not(.eyebrow) { margin: 15px 0; }
.budget-copy ul { margin: 0; padding-left: 20px; }
.budget-copy li + li { margin-top: 5px; }
.budget-downloads {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 12px;
  background: #302119;
  color: var(--white);
}
.budget-downloads .eyebrow, .budget-downloads .text-link { color: #f5c99a; }

.event-feature {
  display: grid;
  grid-template-columns: minmax(0, 2.5fr) minmax(180px, 1fr);
  margin-top: 24px;
  border: 1px solid #99765c;
  background: #221712;
}
.event-feature video, .organizer-video-grid video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  background: #110e0c;
}
.event-feature figcaption {
  display: grid;
  align-content: center;
  padding: clamp(14px, 3vw, 36px);
  gap: 8px;
}
.event-feature figcaption strong {
  font: 400 clamp(1.65rem, 3.8vw, 3.65rem)/1.05 Georgia, serif;
}
.event-feature .eyebrow { color: #f1bf8b; }
.organizer-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}
.organizer-video-grid figcaption {
  padding: 6px 0;
  color: #e8cdb8;
  font-size: .8rem;
}
.organizer-clips { background: #211813; color: var(--white); }
.organizer-clips .lead { color: #e8cdb8; }
.hero-price-link, .hero-pdf-link { display: block; width: fit-content; margin-top: 16px; color: #e6ca8e; font-weight: 700; text-underline-offset: 5px; }
.hero-pdf-link { margin-top: 10px; font-size: .88rem; font-weight: 500; color: #f0e4d3; }
.price-announcement { margin: 30px 0; padding: clamp(22px, 4vw, 38px); border: 1px solid #b59a68; border-left: 5px solid #d5bb83; background: #332820; }
.price-announcement h3 { max-width: 850px; font: 600 clamp(1.55rem, 3.2vw, 2.7rem)/1.15 system-ui, sans-serif; margin: 12px 0 18px; }
.price-announcement > p { max-width: 900px; }
.price-announcement .price-status { font-size: .9rem; color: #d5c8b9; margin-top: 14px; }
.plan-price-stage { margin: 22px 0 -10px; text-transform: uppercase; font-size: .72rem; letter-spacing: .1em; font-weight: 750; }
.plan-price-growth { font-size: .86rem; line-height: 1.5; padding: 11px 0; margin-top: 12px; border-block: 1px solid currentColor; }
.price-roadmap { margin-top: 50px; }
.price-roadmap > h3 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin-bottom: 12px; }
.price-roadmap > p { color: #e6d5c3; max-width: 1000px; }
.price-wave-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.price-wave { padding: 25px; border: 1px solid #766352; display: flex; flex-direction: column; }
.price-wave-early { border-color: #d5bb83; background: #332820; }
.price-wave h4 { font-size: 1.35rem; margin: 12px 0; }
.price-wave-rule { color: #e6d5c3; font-size: .88rem; margin-bottom: 20px; }
.price-wave dl { margin: auto 0 0; }
.price-wave dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid #766352; }
.price-wave dd { margin: 0; font-weight: 750; white-space: nowrap; }
.price-rules { font-size: .86rem; line-height: 1.65; }
.presentation-preview { display: block; margin: 18px 0; }
.presentation-preview img { display: block; width: 100%; height: auto; border: 1px solid #b6a17d; }
.budget-downloads > p:not(.eyebrow) { margin-block: 16px; }
.floating-presentation { position: fixed; right: 22px; bottom: 22px; z-index: 15; display: flex; gap: 12px; align-items: center; padding: 15px 22px; border: 1px solid #8f7b5c; border-radius: 40px; background: #231c17; color: #f9ecd5; font-weight: 650; font-size: .9rem; box-shadow: 0 8px 28px #0004; text-decoration: none; }
.floating-presentation:hover { background: #423124; }
.sales-status { margin-top: 18px; color: #ecd6a7; font-size: .9rem; }
.ticket-checkout {
  width: min(800px, calc(100vw - 40px));
  max-width: none;
  height: min(820px, calc(100dvh - 40px));
  max-height: none;
  padding: 0;
  border: 1px solid #b9a78f;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 28px 90px #0c0806a8;
}
.ticket-checkout[open] { display: flex; flex-direction: column; }
.ticket-checkout::backdrop { background: rgb(18 13 10 / 76%); backdrop-filter: blur(5px); }
.ticket-checkout-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 24px;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
.ticket-checkout-head h2 { margin: 0 0 4px; font: 600 clamp(1.35rem, 3vw, 1.75rem)/1.1 Georgia, serif; }
.ticket-checkout-head #ticket-checkout-description { margin: 0; color: var(--muted); font-size: .94rem; }
.ticket-checkout-help { margin: 4px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.25; }
.ticket-checkout-head form { flex: none; }
.ticket-checkout .close { display: grid; place-items: center; border-radius: 50%; cursor: pointer; }
.ticket-checkout .close:hover { background: var(--sand); }
.ticket-checkout .ticket-widget-frame { display: block; width: 100%; flex: 1; min-height: 0; border: 0; background: #fff; }
@media(max-width:680px) {
  .ticket-checkout {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    margin: 0;
    border: 0;
    border-radius: 0;
  }
  .ticket-checkout-head { padding: 10px 14px; gap: 12px; }
  .ticket-checkout-head #ticket-checkout-description { font-size: .82rem; }
}
#lead-form[hidden] { display: none; }
.button:disabled, .button[aria-disabled="true"] { opacity: .55; cursor: wait; }
@media (max-width: 800px) { .price-wave-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 680px) { .floating-presentation { padding: 11px 16px; font-size: .77rem; right: 12px; bottom: 12px; } .footer { padding-bottom: 72px; } }
.organizer-video-grid video { object-fit: contain; }

.deplox-section {
  background: #172323;
  color: #f3f6ed;
}
.deplox-grid { align-items: center; }
.deplox-section .eyebrow { color: #c0dbc8; }
.deplox-brand { margin-right: 6px; color: #b9efcf; font-size: 1rem; }
.deplox-section h2 { margin-top: 12px; }
.deplox-section .lead { color: #cbe0d0; }
.deplox-section .button {
  margin-top: 17px;
  background: #b9efcf;
  color: #162521;
}
.deplox-section .button:hover { background: #d7f8e3; }
.deplox-steps {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #688779;
}
.deplox-steps li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid #688779;
}
.deplox-steps li > span { color: #b9efcf; font-weight: 740; }
.deplox-steps p { margin-top: 6px; color: #cbe0d0; }
@media (max-width: 800px) {
  .book-feature-grid, .deplox-grid { grid-template-columns: minmax(0, 1fr); }
  .organizer-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .budget-grid, .event-feature, .organizer-video-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .book-list li { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .event-feature figcaption { padding: 13px; }
}
