/* ============================================================================
   3-PHASE — page styles
   Every number is measured off reference/spec/3-phase.desktop.json and the
   live page's own generated CSS (row paddings, widget margins, column widths).
   Duda's Arial resolves to an @font-face with line-gap-override:0%; on the live
   page that lands on an 18px line box at 16px (measured: paragraph tops 72px and
   126px apart across 4 and 7 line boxes). Set explicitly, never left to `normal`.
   ========================================================================== */

.page-3-phase {
  --p3-lh-arial: 1.125;   /* 18px at 16px — the live page's measured line box */
}

/* ---------- hero banner ---------- */
.page-3-phase .p3-hero {
  height: 499px;
  background: #dbdbdb url("../assets/3-Phase-Banner-2880w.png") 50% 50% / cover no-repeat;
}

/* ---------- strapline ---------- */
.page-3-phase .p3-tagline { padding: 70px 40px; }
.page-3-phase .p3-tagline__text {
  max-width: 730px;
  margin: 0 auto;
  padding: 2px 0;
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  line-height: 40px;
  color: #000;
  text-align: center;
}

/* ---------- "What were you taught…" band ---------- */
.page-3-phase .p3-taught {
  background: #f6f6f6;
  padding: 50px 40px 60px;
}
.page-3-phase .p3-taught__h,
.page-3-phase .p3-rounded-40 {
  font-family: var(--font-rounded);
  font-size: 40px;
  font-weight: 700;
  line-height: normal;
  color: #000;
}
.page-3-phase .p3-taught__h { margin: 0; padding: 10px 0 0; text-align: left; }
.page-3-phase .p3-taught__body {
  max-width: 857px;
  margin: 39px auto 0;
  font-size: 16px;
  line-height: 2;
  color: var(--body-text);
}
.page-3-phase .p3-taught__body p + p { margin-top: 32px; }

/* ---------- "Introducing The 3-Phase Success System" ---------- */
.page-3-phase .p3-introhead { padding: 82px 40px 52px; }
.page-3-phase .p3-introhead .p3-rounded-40 { text-align: center; }

/* ---------- the three phases (full-bleed rows) ---------- */
.page-3-phase .p3-phase { display: flex; padding-bottom: 2px; }
.page-3-phase .p3-phase + .p3-phase { margin-top: 50px; }
.page-3-phase .p3-phase__media { flex: 0 0 41.6667%; max-width: 41.6667%; }
.page-3-phase .p3-phase__media img {
  display: block;
  width: 200px;
  height: auto;
  margin-left: 66.6667%;
}
.page-3-phase .p3-phase__col { flex: 0 0 58.3333%; max-width: 58.3333%; }
.page-3-phase .p3-phase__h {
  margin: 0;
  padding-top: 2px;
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 600;
  line-height: normal;
  color: #000;
}
.page-3-phase .p3-phase__text {
  margin-top: 4px;
  font-size: 16px;
  line-height: 2;
  color: var(--body-text);
}
.page-3-phase .p3-phase--a .p3-phase__text { margin-top: 12px; }
.page-3-phase .p3-phase__text p + p { margin-top: 32px; }

/* ---------- "How Do We Implement…" ---------- */
.page-3-phase .p3-howhead { padding: 52px 40px 22px; margin-top: 50px; }
.page-3-phase .p3-howhead__h {
  max-width: 788px;
  margin: 0 auto;
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 700;
  line-height: normal;
  color: #000;
  text-align: center;
}

/* ---------- The Business Edge ---------- */
.page-3-phase .p3-bizedge { padding: 50px 0 30px; }
.page-3-phase .p3-bizedge__media img {
  display: block;
  width: 309px;
  max-width: 100%;
  height: auto;
  margin-top: 17px;
}
.page-3-phase .p3-bizedge__h {
  margin: 10px 0 0;
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  line-height: normal;
  color: #000;
}
.page-3-phase .p3-bizedge__text {
  margin-top: 12px;
  font-size: 16px;
  line-height: var(--p3-lh-arial);
  color: var(--body-text);
}
.page-3-phase .p3-bizedge__text p + p { margin-top: 18px; }

/* ---------- 8-step tabs ---------- */
.page-3-phase .p3-tabs {
  padding: 100px 40px;
  background: #fff url("../assets/blue_shape_pattern.png") 100% 0 / cover no-repeat;
}
.page-3-phase .p3-tabnav {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #ededed;
}
.page-3-phase .p3-tab {
  width: 12.5%;
  padding: 0 18px;
  margin-bottom: -1px;
  border-bottom: 3px solid transparent;
  text-align: left;
}
.page-3-phase .p3-tab.is-active { border-bottom-color: #313131; }
.page-3-phase .p3-tab__label {
  display: block;
  margin: 18px 0;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 700;
  line-height: normal;
  color: #000;
}
.page-3-phase .p3-tab__label--m { display: none; }

.page-3-phase .p3-panel { display: none; }
.page-3-phase .p3-panel.is-active { display: flex; margin-top: 30px; }
.page-3-phase .p3-panel__media { flex: 0 0 160px; margin-right: 20px; }
.page-3-phase .p3-panel__media img {
  display: block;
  width: 160px;
  height: 228px;
  object-fit: cover;
}
.page-3-phase .p3-panel__col { flex: 1 1 auto; min-width: 0; }
.page-3-phase .p3-panel__title {
  font-size: 22px;
  font-weight: 700;
  line-height: 26px;
  color: var(--body-text);
  margin-bottom: 15px;
}
.page-3-phase .p3-panel__text {
  font-size: 16px;
  line-height: 18px;
  color: var(--body-text);
  hyphens: auto;          /* the live tab widget hyphenates — see y3940 */
  -webkit-hyphens: auto;
}
.page-3-phase .p3-panel__text p + p { margin-top: 18px; }

/* ---------- THE EDGE banner ---------- */
.page-3-phase .p3-edge {
  padding: 15px 40px;
  background: url("../assets/Carl-Page-website-2880w.png") 50% 50% / cover no-repeat;
}
.page-3-phase .p3-edge .cols { justify-content: flex-end; }
.page-3-phase .p3-edge__card {
  background: rgba(255, 255, 255, .7);
  border: 4px solid var(--gold-btn);
  border-radius: 10px;
  text-align: center;
  color: #000;
}
.page-3-phase .p3-edge__k1,
.page-3-phase .p3-edge__k2,
.page-3-phase .p3-edge__k3 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: normal;
  color: #000;
}
.page-3-phase .p3-edge__k1 { margin-top: 30px; font-size: 24px; }
.page-3-phase .p3-edge__k2 { margin-top: -15px; font-size: 67px; }
.page-3-phase .p3-edge__k3 { margin-top: 24px; font-size: 20px; }
.page-3-phase .p3-edge__k3b { margin-top: 0; }
.page-3-phase .p3-edge__lead {
  margin-top: 24px;
  font-size: 16px;
  line-height: var(--p3-lh-arial);
  color: var(--body-text);
}
.page-3-phase .p3-edge__btn,
.page-3-phase .p3-form__submit {
  background: var(--gold-btn);
  border: 3px solid #000;
  border-radius: 10px;
  box-shadow: 0 3px 11px rgba(0, 0, 0, .25);
}
.page-3-phase .p3-edge__btn {
  display: block;
  width: 280px;
  height: 47px;
  margin: 30px auto;
  text-align: center;
}
.page-3-phase .p3-edge__btn-label {
  display: inline-block;
  padding: 10px 7px;
  font-size: 18px;
  font-weight: 700;
  line-height: 21px;
  color: #fff;
}
.page-3-phase .p3-edge__btn:hover { background: var(--gold-btn-hover); }

/* ---------- "To Find Out More…" + form ---------- */
.page-3-phase .p3-findout { padding: 0 40px 9px; }
.page-3-phase .p3-findout > .cols > .col { padding-top: 70px; }
.page-3-phase .p3-findout__h {
  margin: 0;
  padding-left: 15px;
  font-family: var(--font-rounded);
  font-size: 35px;
  font-weight: 600;
  line-height: normal;
  color: var(--ink);
}
.page-3-phase .p3-findout__lead {
  max-width: 939px;
  margin: 10px 0 0 21px;
  font-size: 16px;
  line-height: var(--p3-lh-arial);
  color: var(--ink);
}

.page-3-phase .p3-form { margin-top: 28px; padding: 15px; }
.page-3-phase .p3-form__row { display: flex; gap: 30px; }
.page-3-phase .p3-form__field { flex: 1 1 0; margin-top: 10px; }
.page-3-phase .p3-form label {
  display: block;
  font-size: 16px;
  line-height: var(--p3-lh-arial);
  color: var(--body-text);
}
.page-3-phase .p3-form input[type="text"],
.page-3-phase .p3-form input[type="email"],
.page-3-phase .p3-form input[type="tel"],
.page-3-phase .p3-form textarea {
  display: block;
  width: 100%;
  margin: 3px 0;
  padding: 0 10px;
  background: #eee;
  border: 0;
  border-radius: 0;
  font-family: var(--font-body);
  font-size: 16px;
  color: #000;
}
.page-3-phase .p3-form input[type="text"],
.page-3-phase .p3-form input[type="email"],
.page-3-phase .p3-form input[type="tel"] { height: 40px; }
.page-3-phase .p3-form textarea { height: 80px; padding: 10px; resize: vertical; }
.page-3-phase .p3-form__submit {
  width: 280px;
  height: 47px;
  /* 23px, not 20: the textarea's 3px bottom margin collapses into this one,
     and the live form does not collapse them. */
  margin: 23px 0 20px auto;
}
.page-3-phase .p3-form__submit input {
  display: block;
  width: 269px;
  height: 41px;
  margin: 0 0 0 auto;   /* the live submit wrapper is right-aligned */
  padding: 10px;
  background: none;
  border: 0;
  border-radius: 5px;
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
  cursor: pointer;
}
.page-3-phase .p3-form__submit:hover { background: var(--gold-btn-hover); }

/* ============================================================================
   MOBILE — same content, stacked. Nothing is hidden.
   ========================================================================== */
@media (max-width: 767px) {
  .page-3-phase .p3-hero { height: 115px; }

  .page-3-phase .p3-tagline { padding: 56px 20px; }
  .page-3-phase .p3-tagline__text { font-size: 16px; line-height: 2; }

  .page-3-phase .p3-taught { padding: 25px 15px; }
  .page-3-phase .p3-taught__h { font-size: 21px; padding-top: 0; }
  .page-3-phase .p3-taught__body { margin-top: 22px; font-size: 14px; }
  .page-3-phase .p3-taught__body p + p { margin-top: 28px; }

  .page-3-phase .p3-introhead { padding: 40px 15px 20px; }
  .page-3-phase .p3-rounded-40 { font-size: 21px; }

  .page-3-phase .p3-phase { display: block; padding: 0 15px 2px; }
  .page-3-phase .p3-phase + .p3-phase { margin-top: 30px; }
  .page-3-phase .p3-phase__media,
  .page-3-phase .p3-phase__col { max-width: none; }
  .page-3-phase .p3-phase__media img { width: 100%; max-width: 360px; margin: 0 auto; }
  .page-3-phase .p3-phase__h { margin-top: 10px; }
  .page-3-phase .p3-phase__text,
  .page-3-phase .p3-phase--a .p3-phase__text { margin-top: 10px; font-size: 14px; }
  .page-3-phase .p3-phase__text p + p { margin-top: 28px; }

  .page-3-phase .p3-howhead { margin-top: 40px; padding: 20px 15px; }
  .page-3-phase .p3-howhead__h { font-size: 21px; }

  .page-3-phase .p3-bizedge { padding: 20px 15px; }
  .page-3-phase .p3-bizedge__media img { margin: 0 auto; }
  .page-3-phase .p3-bizedge__h { margin-top: 20px; font-size: 14px; }
  .page-3-phase .p3-bizedge__text { font-size: 14px; }
  .page-3-phase .p3-bizedge__text p + p { margin-top: 16px; }

  .page-3-phase .p3-tabs { padding: 48px 15px; }
  .page-3-phase .p3-tabnav { flex-wrap: wrap; }
  .page-3-phase .p3-tab { width: 50%; padding: 0 10px; }
  .page-3-phase .p3-tab__label { margin: 12px 0; font-size: 13px; }
  .page-3-phase .p3-tab__label--d { display: none; }
  .page-3-phase .p3-tab__label--m { display: block; }
  .page-3-phase .p3-panel.is-active { display: block; margin-top: 24px; }
  .page-3-phase .p3-panel__media { margin: 0 0 16px; }
  .page-3-phase .p3-panel__media img { margin: 0 auto; }
  .page-3-phase .p3-panel__title { font-size: 18px; line-height: 1.2; }
  .page-3-phase .p3-panel__text { font-size: 14px; line-height: 1.4; }
  .page-3-phase .p3-panel__text p + p { margin-top: 16px; }

  .page-3-phase .p3-edge { padding: 15px; }
  .page-3-phase .p3-edge__k1 { font-size: 19px; }
  .page-3-phase .p3-edge__k2 { font-size: 54px; margin-top: -12px; }
  .page-3-phase .p3-edge__k3 { font-size: 14px; }
  .page-3-phase .p3-edge__lead { font-size: 14px; padding: 0 12px; }
  .page-3-phase .p3-edge__btn { width: 100%; max-width: 352px; }

  .page-3-phase .p3-findout { padding: 0 15px 20px; }
  .page-3-phase .p3-findout > .cols > .col { padding-top: 30px; }
  .page-3-phase .p3-findout__h { padding-left: 0; }
  .page-3-phase .p3-findout__lead { margin-left: 0; font-size: 14px; }
  .page-3-phase .p3-form { padding: 15px 0; }
  .page-3-phase .p3-form__row { display: block; }
  .page-3-phase .p3-form__submit { width: 100%; }
  .page-3-phase .p3-form__submit input { width: 100%; }
}
