/* Opção 2 — composição inspirada em material/flyer_estilo1/2/3.jpg.
   Fotografia ampla, diagonal laranja, títulos fortes e informação legível. */
.v2-home-hero, .v2-course-hero { background: var(--navy); color: #fff; }
.v2-flyer-stage { position: relative; overflow: hidden; }
.v2-flyer-copy { position: relative; z-index: 1; width: 55%; padding: 64px 64px 60px 0; }
.v2-flyer-eyebrow { color: var(--orange); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; line-height: 1.6; margin-bottom: 23px; }
.v2-home-hero h1, .v2-course-hero h1 { color: #fff; font-family: "Bahnschrift SemiCondensed", "Arial Narrow", "Bahnschrift", "Segoe UI", sans-serif; font-weight: 750; line-height: 1.03; letter-spacing: -.035em; text-transform: uppercase; }
.v2-home-hero h1 { font-size: clamp(52px, 5.1vw, 74px); }
.v2-home-hero h1 em { color: var(--orange); font-style: normal; }
.v2-flyer-rule { display: block; width: 96px; height: 4px; margin-top: 28px; background: var(--orange); }
.v2-flyer-intro { max-width: 540px; margin-top: 23px; color: #e4e1ef; font-size: 16px; line-height: 1.8; }
.v2-flyer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 30px; }
.v2-flyer-actions .button { min-height: 52px; border-radius: 4px; font-size: 13px; padding-inline: 22px; }
.v2-flyer-actions .button-secondary { border-color: #958fb4; color: #fff; background: transparent; }
.v2-flyer-actions .button-secondary:hover { background: #fff; color: var(--navy); border-color: #fff; }
.v2-flyer-trust { display: flex; gap: 11px; align-items: center; max-width: 530px; margin-top: 28px; color: #d9d5e9; font-size: 12px; line-height: 1.6; }
.v2-flyer-trust svg { flex: 0 0 23px; width: 23px; height: 23px; color: var(--orange); }
.v2-flyer-media { position: absolute; inset: 0 0 0 auto; width: 50%; background: #302b48; clip-path: polygon(17% 0,100% 0,100% 100%,0 100%); }
.v2-flyer-media > img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; }
.v2-home-hero .v2-flyer-media > img { object-position: 56% 25%; }
.v2-flyer-media::after { content: ""; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent,#08062785); pointer-events: none; }
.v2-flyer-diagonal { position: absolute; inset: 0; background: var(--orange); clip-path: polygon(17% 0,18.3% 0,1.3% 100%,0 100%); z-index: 2; }
.v2-flyer-seal { position: absolute; right: max(30px,calc((100vw - 1280px) / 2)); bottom: 80px; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 150px; aspect-ratio: 1; padding: 16px; border: 5px solid var(--orange); border-radius: 50%; background: var(--navy); text-align: center; box-shadow: 0 5px 25px #0003; }
.v2-flyer-seal > svg { width: 30px; height: 30px; color: var(--orange); margin-bottom: 7px; }
.v2-flyer-seal span { font-family: "Bahnschrift", "Segoe UI", sans-serif; font-size: 14px; font-weight: 650; line-height: 1.4; text-transform: uppercase; }
.v2-flyer-seal em { color: var(--orange); font-style: normal; }
.v2-flyer-ribbon { position: absolute; z-index: 3; left: 0; bottom: 0; display: flex; align-items: center; gap: 24px; padding: 18px 44px 18px 28px; background: var(--orange); color: var(--navy); clip-path: polygon(0 0,100% 0,92% 100%,0 100%); font-size: 13px; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.v2-flyer-ribbon svg { width: 21px; height: 21px; }
.v2-course-breadcrumb { background: #fff; border-bottom: 1px solid var(--border); }
.v2-course-breadcrumb .breadcrumb { margin: 0; padding-block: 20px; }
.v2-course-hero .v2-flyer-copy { padding-block: 46px 44px; }
.v2-course-hero .v2-flyer-eyebrow { margin-bottom: 19px; }
.v2-flyer-course-label { color: #d9d5e9; font-size: 15px; margin-bottom: 8px; }
.v2-course-hero h1 { font-size: clamp(40px,4.15vw,58px); overflow-wrap: break-word; }
.v2-course-hero .v2-flyer-intro { font-size: 15px; line-height: 1.7; }
.v2-course-hero .v2-flyer-rule { margin-top: 23px; }
.v2-course-hero .v2-flyer-actions { margin-top: 24px; }
.v2-flyer-course-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 23px; }
.v2-flyer-course-price strong { color: #fff; font-size: 27px; font-weight: 650; }
.v2-flyer-course-price span { max-width: 260px; color: #d9d5e9; font-size: 11px; line-height: 1.6; }
.v2-course-hero .v2-flyer-trust { margin-top: 20px; font-size: 11px; }
.v2-flyer-facts { background: #fff; color: var(--navy); border-bottom: 1px solid var(--border); }
.v2-flyer-facts > .container { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; padding-block: 26px; }
.v2-flyer-facts > .container > div { display: flex; align-items: center; gap: 15px; padding-inline: 24px; border-left: 1px solid #e4dfeb; min-width: 0; }
.v2-flyer-facts > .container > div:first-child { padding-left: 0; border-left: 0; }
.v2-flyer-facts svg { width: 43px; height: 43px; padding: 10px; border-radius: 50%; background: var(--orange); flex-shrink: 0; }
.v2-flyer-facts small { display: block; color: #625b7d; font-size: 11px; margin-bottom: 4px; }
.v2-flyer-facts strong { display: block; font-size: 16px; line-height: 1.5; }
@media (max-width:1199px) {
  .v2-flyer-copy { width: 56%; padding-right: 55px; }
  .v2-home-hero h1 { font-size: 60px; }
  .v2-flyer-actions .button { padding-inline: 17px; font-size: 12px; }
  .v2-flyer-seal { width: 130px; right: 25px; }
  .v2-flyer-seal span { font-size: 12px; }
  .v2-flyer-facts > .container > div { padding-inline: 16px; gap: 12px; }
  .v2-flyer-facts strong { font-size: 14px; }
}
@media (max-width:1023px) {
  .v2-flyer-copy { width: 59%; padding: 46px 48px 43px 0; }
  .v2-home-hero h1 { font-size: 49px; }
  .v2-flyer-eyebrow { font-size: 10px; }
  .v2-flyer-intro { font-size: 14px; }
  .v2-flyer-media { width: 46%; }
  .v2-flyer-seal { width: 110px; padding: 10px; bottom: 82px; right: 20px; }
  .v2-flyer-seal > svg { width: 24px; height: 24px; margin-bottom: 4px; }
  .v2-flyer-seal span { font-size: 10px; }
  .v2-flyer-ribbon { font-size: 11px; padding: 18px 32px 18px 22px; gap: 15px; }
  .v2-course-hero h1 { font-size: 40px; }
  .v2-flyer-facts > .container { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 0; }
  .v2-flyer-facts > .container > div:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width:767px) {
  .v2-flyer-copy, .v2-course-hero .v2-flyer-copy { width: 100%; padding: 36px 0 34px; }
  .v2-flyer-stage { display: flex; flex-direction: column; }
  .v2-flyer-stage > .container { order: -1; }
  .v2-home-hero h1 { font-size: clamp(43px,8vw,58px); }
  .v2-course-hero h1 { font-size: clamp(35px,6.5vw,46px); }
  .v2-flyer-intro { max-width: 540px; font-size: 15px; }
  .v2-flyer-media { position: relative; width: 100%; height: 300px; clip-path: polygon(0 7%,100% 0,100% 100%,0 100%); margin-top: -2px; }
  .v2-flyer-media > img { object-position: 50% 45%; }
  .v2-flyer-diagonal { clip-path: polygon(0 7%,100% 0,100% 2%,0 9%); }
  .v2-flyer-seal { width: 106px; bottom: 25px; right: 24px; }
  .v2-flyer-seal span { font-size: 11px; }
  .v2-flyer-trust { font-size: 12px; }
  .v2-flyer-facts > .container { padding-block: 24px; }
  .v2-course-breadcrumb .breadcrumb { padding-block: 14px; font-size: 10px; }
}
@media (max-width:479px) {
  .v2-flyer-actions { flex-direction: column; align-items: stretch; }
  .v2-flyer-actions .button { width: 100%; min-height: 50px; font-size: 13px; }
  .v2-flyer-media { height: 250px; }
  .v2-flyer-facts > .container > div { padding-inline: 12px; gap: 9px; align-items: flex-start; }
  .v2-flyer-facts svg { width: 34px; height: 34px; padding: 8px; }
  .v2-flyer-facts strong { font-size: 13px; }
  .v2-flyer-facts small { font-size: 10px; }
}
@media (prefers-reduced-motion:reduce) { .v2-flyer-actions .button { transition:none; } }


/* Shared editorial rhythm */
.v2-section {
  padding-block: 96px;
}
.v2-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  margin-bottom: 36px;
}
.v2-section-heading > div { max-width: 720px; }
.v2-section-heading h2,
.v2-faq-layout h2,
.v2-why-grid h2,
.v2-business h2,
.v2-final-cta h2 {
  font-size: clamp(33px, 3.4vw, 48px);
  letter-spacing: -.045em;
  line-height: 1.13;
}
.v2-section-heading p:not(.v2-eyebrow) {
  margin-top: 16px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
  max-width: 600px;
}
.v2-section-heading > .text-link {
  flex-shrink: 0;
  margin-bottom: 5px;
}
.v2-eyebrow,
.v2-course-kicker,
.v2-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 17px;
  color: #69657f;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .14em;
  line-height: 1.6;
  text-transform: uppercase;
}
.v2-eyebrow::before,
.v2-course-kicker::before {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  flex-shrink: 0;
  background: var(--orange);
}
.v2-section .button,
.v2-booking-card .button,
.v2-course-block .button,
.v2-course-help .button {
  border-radius: 8px;
}
.v2-section .text-link,
.v2-course-block .text-link,
.v2-course-help .text-link {
  min-height: 38px;
}

/* A clear starting point beneath the homepage hero */
.v2-finder {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 64px;
  align-items: center;
  padding: 38px 42px;
  border: 1px solid #e6e3df;
  border-radius: 16px;
  background: #faf8f5;
}
.v2-finder-copy { min-width: 0; }
.v2-finder-copy .v2-eyebrow { margin-bottom: 11px; }
.v2-finder-copy h2 {
  font-size: clamp(26px, 2.3vw, 34px);
  letter-spacing: -.035em;
}
.v2-finder-copy > p:not(.v2-eyebrow) {
  color: var(--muted);
  font-size: 14px;
  margin-top: 12px;
}
.v2-search-wrap { min-width: 0; }
.v2-finder .search-form {
  border-color: #d3d0de;
  border-radius: 10px;
  min-height: 66px;
  gap: 10px;
}
.v2-finder .search-form input { font-size: 14px; padding-block: 14px; }
.v2-finder .search-form .button { min-height: 48px; padding-inline: 22px; }
.v2-finder .search-form:focus-within { border-color: var(--navy); }
.v2-finder .search-suggestions {
  align-items: center;
  gap: 8px 16px;
  margin-top: 14px;
  font-size: 11px;
  line-height: 1.7;
}
.v2-finder .search-suggestions a { border-color: #c7c1d3; }

/* Training areas: a controlled colour rhythm, rather than uniform tiles */
.v2-area-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.v2-area-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 283px;
  padding: 28px 25px;
  background: #f5f5f2;
  border: 1px solid #e4e3e7;
  border-radius: 14px;
  transition: transform .2s, border-color .2s;
}
.v2-area-card:hover { transform: translateY(-4px); border-color: #bfbacb; }
.v2-area-card:first-child { background: var(--navy); border-color: var(--navy); }
.v2-area-card:nth-child(2) { background: #fff4e9; border-color: #f2e4d5; }
.v2-area-card:nth-child(3) { background: #efeff6; }
.v2-area-card:nth-child(4) { background: #f2f4ef; }
.v2-area-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 49px;
  height: 49px;
  border: 1px solid #d5d2df;
  border-radius: 12px;
  color: var(--navy);
  margin-bottom: 28px;
}
.v2-area-icon svg { width: 29px; height: 29px; stroke-width: 1.4; }
.v2-area-index {
  position: absolute;
  right: 24px;
  top: 31px;
  color: #8e879e;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
}
.v2-area-card h3 { font-size: 24px; line-height: 1.2; letter-spacing: -.035em; }
.v2-area-card > p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
  margin-top: 13px;
  margin-bottom: 23px;
}
.v2-area-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 16px;
  margin-top: auto;
  border-top: 1px solid #15105016;
  color: var(--navy);
  font-size: 12px;
  font-weight: 650;
}
.v2-area-link svg { width: 18px; height: 18px; }
.v2-area-card:first-child h3,
.v2-area-card:first-child .v2-area-icon,
.v2-area-card:first-child .v2-area-link { color: white; }
.v2-area-card:first-child .v2-area-icon { border-color: #ffffff35; }
.v2-area-card:first-child p { color: #ccc8e1; }
.v2-area-card:first-child .v2-area-index { color: #b4adc9; }
.v2-area-card:first-child .v2-area-link { border-color: #ffffff25; }
.v2-area-card:first-child .v2-area-link svg { color: var(--orange); }
.v2-more-areas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.v2-area-chip {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 43px;
  padding: 10px 16px;
  border: 1px solid #e2dfe8;
  border-radius: 24px;
  color: #555169;
  font-size: 12px;
  line-height: 1.5;
  transition: background .18s, border-color .18s;
}
.v2-area-chip svg { width: 16px; height: 16px; color: #777185; }
.v2-area-chip:hover { background: #f6f4fa; border-color: #bcb5ca; }

/* Existing, source-grounded course content in a more spacious presentation */
.v2-featured { background: #f5f5f2; }
.design-option-two .course-grid:has(> .v2-course-card) { gap: 24px; }
.design-option-two .catalog-results .course-grid:has(> .v2-course-card) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.design-option-two .v2-course-card {
  border-color: #e4e2e8;
  border-radius: 14px;
}
.design-option-two .v2-course-card:hover { border-color: #bdb6cf; }
.design-option-two .v2-course-card .course-image { height: 228px; }
.design-option-two .v2-course-card .course-image .badge { border-radius: 20px; font-size: 10px; padding: 6px 11px; }
.design-option-two .v2-course-card .course-body { padding: 27px 26px 24px; }
.design-option-two .v2-course-card .course-category { color: #9b511e; margin-bottom: 13px; }
.design-option-two .v2-course-card .course-meta { font-size: 12px; gap: 15px; }
.design-option-two .v2-course-card .course-bottom .text-link { min-height: 38px; font-size: 12px; gap: 12px; }
.design-option-two .v2-course-card .course-bottom .text-link svg { width: 19px; height: 19px; }
.design-option-two .v2-course-card h3 {
  font-size: 25px;
  min-height: 60px;
  margin-bottom: 21px;
  letter-spacing: -.035em;
}
.design-option-two .v2-course-card .course-bottom { padding-top: 20px; align-items: center; }
.design-option-two .v2-course-card .course-bottom strong { font-size: 26px; }
.design-option-two .v2-course-card .course-bottom .consult-price { font-size: 16px !important; }
.v2-featured .source-note,
.v2-course-related .source-note { line-height: 1.7; font-size: 11px; margin-top: 25px; }

/* Sessions have their own readable date and one direct action */
.v2-calendar-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.v2-session-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 27px;
  border: 1px solid #e0dde7;
  border-radius: 14px;
  background: #fff;
}
.v2-date {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 15px;
  margin-bottom: 25px;
  border-radius: 9px;
  background: #f1eff7;
  color: var(--navy);
}
.v2-date strong { font-size: 32px; font-weight: 550; line-height: 1; letter-spacing: -.045em; }
.v2-date span { font-size: 10px; font-weight: 650; text-transform: uppercase; line-height: 1.6; }
.v2-session-copy { width: 100%; }
.v2-session-copy h3 { font-size: 23px; line-height: 1.23; letter-spacing: -.035em; }
.v2-session-copy > p { color: var(--muted); font-size: 12px; margin-top: 10px; }
.v2-session-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 21px;
  margin-bottom: 24px;
  font-size: 12px;
  color: var(--muted);
}
.v2-session-meta span { display: inline-flex; align-items: center; gap: 7px; }
.v2-session-meta svg { width: 16px; height: 16px; }
.v2-session-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding-top: 21px;
  margin-top: auto;
  border-top: 1px solid #e9e6ed;
}
.v2-session-bottom strong { color: var(--navy); font-size: 24px; font-weight: 650; }
.v2-session-bottom small { display: block; color: var(--muted); font-size: 10px; line-height: 1.7; }
.v2-session-bottom .button { min-height: 43px; padding: 10px 15px; font-size: 12px; }
.v2-session-bottom .consult-price { font-size: 14px !important; line-height: 1.5; }

/* Entry points for qualifications, professionals and certification */
.v2-opportunity-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.v2-path-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 33px 30px;
  border: 1px solid #e2dfe8;
  border-radius: 14px;
  background: #fafaf8;
}
.v2-path-card > svg { width: 32px; height: 32px; color: #a6500b; margin-bottom: 29px; stroke-width: 1.5; }
.v2-path-card .v2-kicker { margin-bottom: 12px; font-size: 9px; letter-spacing: .13em; }
.v2-path-card h3 { font-size: 29px; line-height: 1.16; letter-spacing: -.04em; }
.v2-path-card > p:not(.v2-kicker) { margin-top: 17px; margin-bottom: 23px; font-size: 14px; color: var(--muted); line-height: 1.8; }
.v2-path-card > .text-link { margin-top: auto; }
.v2-path-card:last-child { background: #fff4e9; border-color: #f2e3d3; }

/* The original learning paths, presented in option two's card language */
.v2-growth-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.v2-growth-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 34px 31px;
  border: 1px solid #e2dfe8;
  border-radius: 16px;
  background: #fff;
}
.v2-growth-card .v2-kicker { margin-bottom: 14px; font-size: 10px; letter-spacing: .12em; }
.v2-growth-card h3 { font-size: 32px; line-height: 1.15; letter-spacing: -.04em; }
.v2-growth-card > p:not(.v2-kicker) {
  margin-top: 18px;
  margin-bottom: 26px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.v2-growth-card > .text-link { margin-top: auto; padding-top: 17px; font-size: 13px; }
.v2-growth-card--vca { background: #fff; border-color: #e2dfe8; }
.v2-growth-card--vca h3 { color: var(--navy); }
.v2-growth-card--vca .v2-kicker { color: #69657f; }
.v2-growth-card--vca > p:not(.v2-kicker) { color: var(--muted); margin-top: 14px; margin-bottom: 14px; }
.v2-growth-card--vca > .text-link { color: var(--navy); padding-top: 10px; }
.v2-growth-card--vca > .text-link:hover { color: #a64b00; }
.v2-growth-vca-logo {
  width: 100%;
  height: 100px;
  padding: 0;
  margin-bottom: 12px;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
}
.v2-growth-card--school { background: var(--navy); border-color: var(--navy); border-bottom: 4px solid var(--orange); }
.v2-growth-card--school h3 { color: #fff; }
.v2-growth-card--school .v2-kicker { color: #cecadd; }
.v2-growth-school-level {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 17px;
  width: 100%;
  padding-block: 18px;
  border-top: 1px solid #ffffff30;
}
.v2-growth-school-level > strong {
  display: flex;
  align-items: flex-start;
  color: #fff;
  font-family: "Bahnschrift", "Segoe UI", Arial, sans-serif;
  font-size: 45px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: -.055em;
}
.v2-growth-school-level > strong span { padding-top: 6px; margin-left: 2px; font-size: 19px; letter-spacing: -.03em; color: var(--orange); }
.v2-growth-school-level > a { min-height: 44px; max-width: 190px; font-size: 13px; color: #fff; }
.v2-growth-school-level > a > svg { color: var(--orange); }
.v2-growth-school-level > a:hover { color: #ffb172; }
.v2-growth-card--school h3 + .v2-growth-school-level { margin-top: 24px; }
.v2-growth-school-level:last-child { padding-bottom: 0; }
.v2-growth-service {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-height: 90px;
  padding-block: 18px;
  border-top: 1px solid #e3dfe9;
}
.v2-growth-service > span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 5px 12px;
  min-width: 0;
}
.v2-growth-service > span > svg {
  grid-row: 1 / 3;
  width: 25px;
  height: 25px;
  padding-top: 2px;
  color: #a6500b;
}
.v2-growth-service strong { color: var(--navy); font-size: 15px; font-weight: 650; line-height: 1.45; }
.v2-growth-service small { grid-column: 2; color: var(--muted); font-size: 12px; line-height: 1.65; }
.v2-growth-service > svg { width: 18px; height: 18px; color: var(--navy); }
.v2-growth-service:hover strong { color: #a64b00; }
.v2-growth-card--company h3 + .v2-growth-service { margin-top: 24px; }
.v2-growth-card--company .v2-growth-service:last-child { padding-bottom: 0; }

/* An image-led business invitation */
.v2-business {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border-radius: 18px;
  background: var(--navy);
}
.v2-business-copy,
.v2-business > div:first-child { padding: 58px; }
.v2-business h2 { max-width: 440px; color: #fff; }
.v2-business .v2-eyebrow { color: #c7c1df; }
.v2-business p:not(.v2-eyebrow) { color: #ccc7df; font-size: 15px; line-height: 1.85; max-width: 400px; margin-top: 23px; }
.v2-business .button-row { margin-top: 29px; }
.v2-business .button { margin-top: 28px; }
.v2-business .button-row .button { margin-top: 0; }
.v2-business-image { width: 100%; min-height: 430px; aspect-ratio: 630 / 710; padding: 0 !important; position: relative; overflow: hidden; }
.v2-business-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.v2-business-image > span {
  position: absolute;
  bottom: 25px;
  left: 25px;
  right: 25px;
  width: fit-content;
  max-width: calc(100% - 50px);
  padding: 10px 15px;
  border-radius: 6px;
  background: #fff;
  color: var(--navy);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .065em;
}

/* Reasons to choose Douta: editorial, factual and unembellished */
.v2-why-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.v2-why-grid h2 { max-width: 460px; }
.v2-why-grid > div:first-child > p:not(.v2-eyebrow) { margin-top: 22px; color: var(--muted); max-width: 420px; font-size: 15px; }
.v2-why-grid > div:first-child > .text-link { margin-top: 23px; }
.v2-why-items { border-top: 1px solid #dedbe5; }
.v2-why-items article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 22px;
  padding-block: 25px;
  border-bottom: 1px solid #dedbe5;
}
.v2-why-items article > span { color: #aa5516; font-size: 12px; font-weight: 600; padding-top: 4px; }
.v2-why-items h3 { font-size: 25px; letter-spacing: -.035em; }
.v2-why-items p { color: var(--muted); font-size: 14px; margin-top: 11px; line-height: 1.8; }
.v2-trust { display: grid; grid-template-columns: 1fr 240px; gap: 80px; align-items: center; padding-bottom: 40px; margin-bottom: 34px; border-bottom: 1px solid #e0dde6; }
.v2-trust h2 { font-size: 35px; letter-spacing: -.035em; }
.v2-trust p:not(.v2-eyebrow) { max-width: 600px; margin-top: 15px; color: var(--muted); font-size: 14px; }
.v2-dgert { border-radius: 12px; padding: 19px 24px; background: #fff; border: 1px solid #e5e2e9; }
.v2-dgert img { width: 210px; max-height: 95px; object-fit: contain; }
.v2-trust + .partner-logos { gap: 16px; }
.v2-trust + .partner-logos .partner-logo { border-radius: 12px; border-color: #e5e2e9; min-height: 116px; }

/* Quiet answers and a strong final invitation */
.v2-faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; align-items: start; }
.v2-faq-layout > div:first-child > p:not(.v2-eyebrow) { color: var(--muted); margin-top: 20px; font-size: 15px; max-width: 340px; }
.v2-faq-layout > div:first-child > .text-link { margin-top: 22px; }
.v2-faq-layout .faq details,
.v2-program .faq details { border-color: #ddd9e5; }
.v2-faq-layout .faq summary,
.v2-program .faq summary { padding: 23px 42px 23px 0; font-size: 16px; font-weight: 600; line-height: 1.55; }
.v2-faq-layout .faq summary::after,
.v2-program .faq summary::after { top: 21px; right: 5px; color: #7d748f; }
.v2-faq-layout .faq details[open] summary,
.v2-program .faq details[open] summary { color: #984800; }
.v2-faq-layout .faq-answer,
.v2-program .faq-answer { font-size: 14px; line-height: 1.85; padding-bottom: 25px; }
.v2-final-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  padding: 48px 52px;
  border-radius: 16px;
  background: #fff1e3;
}
.v2-final-cta h2 { max-width: 740px; font-size: clamp(30px, 3vw, 42px); }
.v2-final-cta p:not(.v2-eyebrow) { color: #6e5b50; font-size: 14px; margin-top: 17px; max-width: 660px; }
.v2-final-cta > .button,
.v2-final-cta .button-row { flex-shrink: 0; }

/* Course option: clear reading flow and a compact booking companion */
.v2-course-nav {
  display: flex;
  align-items: center;
  gap: 34px;
  min-height: 76px;
  padding-block: 12px;
  border-bottom: 1px solid #e3dfe8;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #d9d3e2 transparent;
}
.v2-course-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 43px;
  color: #655e77;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}
.v2-course-nav a:hover { color: var(--navy); border-color: var(--orange); }
.v2-course-nav a:focus-visible { color: var(--navy); border-color: var(--orange); background: #fff3e7; border-radius: 4px; outline-offset: 3px; }
.v2-course-nav a[aria-current="true"],
.v2-course-nav a[aria-current="location"] { color: var(--navy); border-color: var(--orange); }
.v2-course-layout {
  --v2-booking-width: 348px;
  --v2-booking-padding: 29px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--v2-booking-width);
  gap: 76px;
  align-items: start;
  padding-block: 55px 88px;
}
.v2-course-main,
.v2-course-sidebar { min-width: 0; }
/* O contentor acompanha a altura do curso para permitir o sticky do cartão. */
.v2-course-sidebar { align-self: stretch; }
.v2-course-block { padding-block: 0 47px; margin-bottom: 46px; border-bottom: 1px solid #e3dfe8; scroll-margin-top: 132px; }
.v2-course-block:last-child { margin-bottom: 0; }
.v2-course-block h2 { font-size: 34px; letter-spacing: -.04em; margin-bottom: 22px; }
.v2-course-block > p:not(.v2-course-kicker) { color: var(--muted); font-size: 15px; line-height: 1.9; }
.v2-course-block > p + p { margin-top: 17px; }
.v2-course-kicker { margin-bottom: 13px; font-size: 9px; }
.v2-outcomes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.v2-outcomes article { padding: 24px; border-radius: 12px; background: #f6f5f8; }
.v2-outcomes article > svg { width: 25px; height: 25px; color: #a65515; margin-bottom: 19px; }
.v2-outcomes h3 { font-size: 20px; letter-spacing: -.025em; line-height: 1.25; }
.v2-outcomes p { margin-top: 11px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.v2-audience-list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 14px; }
.v2-audience-list li { position: relative; padding-left: 23px; font-size: 15px; line-height: 1.8; color: var(--muted); }
.v2-audience-list li::before { content: ""; position: absolute; top: 10px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.v2-audience-list li > svg { display: none; }
.v2-program .faq { margin-top: 26px; }
.v2-program .faq summary { font-size: 15px; }
.v2-practical-note {
  display: flex;
  align-items: flex-start;
  gap: 19px;
  padding: 26px;
  margin-top: 28px;
  border: 1px solid #f0dfcf;
  border-radius: 12px;
  background: #fff4e9;
}
.v2-practical-note > svg { width: 29px; height: 29px; color: #aa560f; }
.v2-practical-note h3 { font-size: 21px; }
.v2-practical-note p { font-size: 13px; line-height: 1.8; color: #7b6759; margin-top: 10px; }
.v2-course-sessions { margin-top: 26px; }
.v2-course-sessions .course-session { flex-wrap: wrap; }
.v2-course-sessions .course-session > .button {
  width: calc(var(--v2-booking-width) - var(--v2-booking-padding) - var(--v2-booking-padding) - 2px);
  max-width: 100%;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .v2-course-sessions .course-session p { font-size: 14px; }
  .v2-course-sessions .course-session > .button {
    width: calc(100% + 40px - var(--v2-booking-padding) - var(--v2-booking-padding));
    margin-inline: auto;
  }
}
.v2-certificate-note { display: flex; align-items: flex-start; gap: 20px; border: 1px solid #e0dbe9; border-radius: 12px; background: #f5f3f9; padding: 26px; }
.v2-certificate-note > svg { width: 30px; height: 30px; color: #6f608f; }
.v2-certificate-note h3 { font-size: 22px; margin-bottom: 10px; }
.v2-certificate-note p { font-size: 14px; line-height: 1.8; color: var(--muted); }
.v2-course-help { padding: 29px; margin-top: 24px; border-radius: 12px; background: #faf8f5; }
.v2-course-help h3 { font-size: 24px; }
.v2-course-help p { font-size: 14px; color: var(--muted); margin-top: 13px; line-height: 1.8; }
.v2-course-help .text-link,
.v2-course-help .button { margin-top: 17px; }
.v2-booking-card {
  position: sticky;
  top: 127px;
  padding: var(--v2-booking-padding);
  border: 1px solid #d9d3e4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 30px #15105008;
}
.v2-booking-card .v2-eyebrow { font-size: 9px; margin-bottom: 17px; }
.v2-price { color: var(--navy); font-size: 45px; font-weight: 650; line-height: 1.15; letter-spacing: -.04em; }
.v2-price span { font-size: 23px; }
.v2-price.consult-price { font-size: 28px !important; letter-spacing: -.025em !important; }
.v2-booking-card > small { display: block; margin-top: 10px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.v2-booking-card label { display: block; color: var(--navy); font-size: 12px; font-weight: 600; margin: 27px 0 10px; }
.v2-booking-card select { display: block; width: 100%; min-width: 0; min-height: 47px; padding: 11px 12px; border: 1px solid #d6d0e1; border-radius: 7px; background: #fff; color: #554d68; font-size: 12px; }
.v2-booking-card > .button,
.v2-course-sessions .course-session > .button { display: flex; min-height: 52px; font-size: 14px; padding: 12px 23px; }
.v2-booking-card > .button { width: 100%; margin-top: 16px; }
.v2-booking-card > .button + .button { margin-top: 10px; }
.v2-booking-facts { display: grid; gap: 14px; border-top: 1px solid #e4dfe9; padding-top: 22px; margin-top: 25px; }
.v2-booking-facts span { display: flex; gap: 10px; align-items: center; font-size: 12px; color: var(--muted); }
.v2-booking-facts svg { width: 18px; height: 18px; color: var(--navy); }
.v2-booking-card .panel-help,
.v2-booking-help { padding-top: 20px; margin-top: 23px; border-top: 1px solid #e4dfe9; font-size: 11px; color: var(--muted); }
.v2-booking-card .panel-help a,
.v2-booking-help a { display: block; margin-top: 7px; font-size: 19px; font-weight: 650; color: var(--navy); }
.v2-course-related { background: #f5f5f2; }
.option-two-course .mobile-course-cta .button { border-radius: 7px; }

/* Details from the final templates: contrast and component wrappers */
.v2-finder-section { padding-block: 56px 0; }
.v2-paths { background: #fafaf8; }
.v2-paths .v2-path-card { background: #fff; }
.v2-paths .v2-path-card:last-child { background: #fff4e9; }
.v2-trust-section { background: #f5f5f2; }
.v2-final-section { padding-top: 0; }
.v2-source-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #6f687d;
  font-size: 11px;
  line-height: 1.8;
  margin-top: 23px;
}
.v2-source-note > svg { width: 15px; height: 15px; margin-top: 2px; }
.v2-more-areas > span {
  display: inline-flex;
  align-items: center;
  margin-right: 6px;
  color: #787182;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v2-search-wrap .search-suggestions .text-link {
  gap: 5px;
  min-height: 26px;
  font-size: 11px;
  font-weight: 500;
}
.v2-search-wrap .search-suggestions .text-link svg { width: 12px; height: 12px; }
.v2-date small { display: block; color: #777086; font-size: 9px; font-weight: 500; letter-spacing: .02em; }
.v2-session-copy .v2-kicker { margin: 0 0 10px; color: #75687f; font-size: 9px; letter-spacing: .12em; }
.v2-path-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 49px;
  height: 49px;
  margin-bottom: 25px;
  border-radius: 11px;
  background: #fff1e4;
  color: #a6500c;
}
.v2-path-icon svg { width: 29px; height: 29px; stroke-width: 1.5; }
.v2-path-card:last-child .v2-path-icon { background: #ffe5cd; }
.v2-business-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 24px;
  color: #dedbec;
}
.v2-business-tags > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 35px;
  padding: 8px 11px;
  border: 1px solid #ffffff35;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1.5;
}
.v2-business-tags svg { width: 16px; height: 16px; color: #ffae6b; }
.v2-business-copy > .text-link {
  display: flex;
  width: fit-content;
  color: #fff;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.6;
  margin-top: 16px;
}
.v2-business-copy > .text-link svg { width: 17px; height: 17px; color: #ffae6b; }
.v2-business-copy > .text-link:hover { color: #ffcfaa; }
.v2-partner-heading { color: #6f687d; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; font-weight: 600; margin-bottom: 18px; }
.v2-trust-copy .text-link { margin-top: 18px; }
.v2-trust-section .partner-logos { gap: 16px; }
.v2-trust-section .partner-logo { min-height: 116px; border-radius: 12px; border-color: #e5e2e9; }
.v2-outcomes article > span { display: inline-flex; color: #a65515; margin-bottom: 17px; }
.v2-outcomes article > span svg { width: 25px; height: 25px; }
.v2-course-block > .faq { margin-top: 25px; }
.v2-course-block > .faq summary { font-size: 15px; padding-block: 23px; border-color: #ddd9e5; }
.v2-course-block > .faq .faq-answer { font-size: 14px; line-height: 1.85; }
.v2-certificate-note h2 { font-size: 29px; margin-bottom: 16px; }
.v2-course-help { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.v2-course-help > svg { width: 28px; height: 28px; color: #a6500c; }
.v2-course-help > div { flex: 1; min-width: 170px; }
.v2-course-help > div > strong { display: block; color: var(--navy); font-size: 17px; font-weight: 600; }
.v2-course-help > div > a { display: inline-flex; margin-top: 5px; color: var(--navy); font-size: 21px; font-weight: 650; }
.v2-course-help > .text-link { margin-top: 0; }
.v2-price.v2-price-consult { font-size: 28px; letter-spacing: -.025em; }
.v2-price-note { margin-top: 10px; color: var(--muted); font-size: 11px; line-height: 1.75; }
.v2-booking-demo { margin-top: 20px; padding-left: 10px; border-left: 2px solid #ded7e7; color: #71647e; font-size: 10px; line-height: 1.8; }
.v2-course-people { background: #faf8f5; padding: 29px; border: 0; border-radius: 12px; }
.v2-course-people .v2-source-note { font-size: 11px !important; }

/* Tablet: preserve the editorial spacing without compressing card content */
@media (max-width: 1199px) {
  .v2-growth-grid { gap: 18px; }
  .v2-growth-card { padding: 30px 25px; }
  .v2-growth-card h3 { font-size: 29px; }
  .v2-finder { gap: 36px; padding: 32px; }
  .v2-area-grid { gap: 14px; }
  .v2-area-card { padding: 26px 21px; }
  .v2-area-card h3 { font-size: 22px; }
  .v2-area-index { right: 21px; }
  .v2-session-card { padding: 24px; }
  .v2-session-bottom { flex-wrap: wrap; }
  .v2-business-copy,
  .v2-business > div:first-child { padding: 44px; }
  .v2-why-grid { gap: 60px; }
  .v2-course-layout { gap: 44px; --v2-booking-width: 320px; --v2-booking-padding: 25px; }
}
@media (max-width: 1023px) {
  .v2-growth-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-growth-card { padding: 31px 27px; }
  .v2-growth-card--company { grid-column: 1 / -1; }
  .v2-section { padding-block: 72px; }
  .v2-section-heading { gap: 26px; }
  .v2-section-heading h2 { font-size: 39px; }
  .v2-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .v2-area-card { min-height: 266px; padding: 28px; }
  .v2-area-card h3 { font-size: 26px; max-width: 260px; }
  .v2-area-card > p { max-width: 280px; font-size: 13px; }
  .v2-area-index { right: 27px; }
  .design-option-two .course-grid:has(> .v2-course-card) { gap: 18px; }
  .design-option-two .v2-course-card .course-image { height: 185px; }
  .design-option-two .v2-course-card .course-body { padding: 23px 20px; }
  .design-option-two .v2-course-card h3 { font-size: 22px; min-height: 80px; }
  .design-option-two .v2-course-card .course-bottom { flex-wrap: wrap; gap: 10px; align-items: flex-start; }
  .v2-calendar-grid { grid-template-columns: 1fr; }
  .v2-calendar-grid .v2-session-card { display: grid; grid-template-columns: 85px minmax(0, 1fr) auto; gap: 0 25px; align-items: center; }
  .v2-calendar-grid .v2-date { flex-direction: column; justify-content: center; gap: 6px; margin: 0; padding: 14px 10px; grid-row: 1 / 3; min-height: 85px; text-align: center; }
  .v2-calendar-grid .v2-session-copy { grid-column: 2; }
  .v2-calendar-grid .v2-session-copy h3 { font-size: 23px; }
  .v2-calendar-grid .v2-session-meta { grid-column: 2; margin: 13px 0 0; }
  .v2-calendar-grid .v2-session-bottom { grid-column: 3; grid-row: 1 / 3; flex-direction: column; align-items: flex-end; border: 0; padding: 0; margin: 0; width: auto; }
  .v2-path-card { padding: 28px 23px; }
  .v2-path-card h3 { font-size: 26px; }
  .v2-path-card > p:not(.v2-kicker) { font-size: 13px; }
  .v2-business-copy,
  .v2-business > div:first-child { padding: 38px 34px; }
  .v2-business h2 { font-size: 36px; }
  .v2-business p:not(.v2-eyebrow) { font-size: 14px; }
  .v2-business-image { min-height: 430px; }
  .v2-why-grid { gap: 45px; }
  .v2-why-grid h2 { font-size: 38px; }
  .v2-trust { gap: 35px; }
  .v2-faq-layout { gap: 45px; }
  .v2-faq-layout h2 { font-size: 36px; }
  .v2-final-cta { flex-direction: column; align-items: flex-start; padding: 40px; gap: 25px; }
  .v2-course-layout { --v2-booking-width: 285px; --v2-booking-padding: 22px; gap: 35px; padding-block: 42px 72px; }
  .v2-booking-card { top: 108px; }
  .v2-price { font-size: 40px; }
  .v2-course-block h2 { font-size: 31px; }
  .v2-outcomes { grid-template-columns: 1fr; }
  .v2-outcomes article { padding: 23px; }
}

/* Small screens use a natural reading order and full-width touch actions */
@media (max-width: 767px) {
  .v2-growth-grid { grid-template-columns: 1fr; gap: 17px; }
  .v2-growth-card { padding: 31px 28px; border-radius: 14px; }
  .v2-growth-card h3 { font-size: 31px; }
  .v2-growth-card > p:not(.v2-kicker) { margin-top: 17px; margin-bottom: 24px; }
  .v2-growth-card--company { grid-column: auto; }
  .v2-growth-vca-logo { margin-bottom: 19px; }
  .v2-section { padding-block: 55px; }
  .v2-finder-section { padding-bottom: 0; padding-top: 35px; }
  .v2-final-section { padding-top: 0; }
  .v2-section-heading { flex-direction: column; align-items: flex-start; gap: 19px; margin-bottom: 28px; }
  .v2-section-heading h2,
  .v2-faq-layout h2,
  .v2-why-grid h2,
  .v2-business h2 { font-size: 35px; }
  .v2-section-heading p:not(.v2-eyebrow) { font-size: 14px; margin-top: 14px; }
  .v2-section-heading > .text-link { margin: 0; }
  .v2-eyebrow { font-size: 9px; margin-bottom: 14px; letter-spacing: .12em; }
  .v2-finder { grid-template-columns: 1fr; gap: 25px; padding: 27px 24px; border-radius: 13px; }
  .v2-finder-copy h2 { font-size: 29px; }
  .v2-finder-copy > p:not(.v2-eyebrow) { font-size: 13px; }
  .v2-finder .search-form { min-height: 60px; gap: 8px; }
  .v2-finder .search-form > svg { width: 18px; height: 18px; margin-left: 6px; }
  .v2-finder .search-form input { font-size: 13px; }
  .v2-finder .search-form .button { min-height: 44px; font-size: 11px; padding-inline: 13px; }
  .v2-finder .search-suggestions { font-size: 10px; gap: 8px 13px; }
  .v2-area-grid { gap: 13px; }
  .v2-area-card { padding: 24px 19px; min-height: 286px; border-radius: 12px; }
  .v2-area-icon { width: 42px; height: 42px; margin-bottom: 25px; border-radius: 10px; }
  .v2-area-icon svg { width: 25px; height: 25px; }
  .v2-area-index { top: 30px; right: 18px; font-size: 9px; }
  .v2-area-card h3 { font-size: 22px; line-height: 1.23; }
  .v2-area-card > p { font-size: 11px; margin-top: 12px; margin-bottom: 19px; }
  .v2-area-link { font-size: 11px; padding-top: 14px; gap: 7px; }
  .v2-area-link svg { width: 16px; height: 16px; }
  .v2-more-areas { gap: 8px; margin-top: 20px; }
  .v2-area-chip { font-size: 11px; padding: 9px 13px; }
  .design-option-two .course-grid:has(> .v2-course-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .design-option-two .v2-course-card .course-image { height: 175px; }
  .design-option-two .v2-course-card .course-body { padding: 23px 19px; }
  .design-option-two .v2-course-card h3 { min-height: 0; font-size: 23px; }
  .design-option-two .v2-course-card .course-bottom strong { font-size: 25px; }
  .v2-calendar-grid { gap: 16px; }
  .v2-calendar-grid .v2-session-card { grid-template-columns: 65px minmax(0, 1fr); gap: 0 18px; padding: 23px; }
  .v2-calendar-grid .v2-date { min-height: 77px; padding-inline: 8px; grid-row: 1 / 3; }
  .v2-calendar-grid .v2-date strong { font-size: 29px; }
  .v2-calendar-grid .v2-date span { font-size: 9px; }
  .v2-calendar-grid .v2-session-copy h3 { font-size: 22px; }
  .v2-calendar-grid .v2-session-meta { gap: 8px 16px; margin-top: 13px; font-size: 11px; }
  .v2-calendar-grid .v2-session-bottom { grid-row: auto; grid-column: 1 / -1; flex-direction: row; align-items: center; width: 100%; padding-top: 19px; margin-top: 23px; border-top: 1px solid #e9e6ed; }
  .v2-calendar-grid .v2-session-bottom .button { min-height: 45px; padding-inline: 16px; }
  .v2-opportunity-grid { grid-template-columns: 1fr; gap: 16px; }
  .v2-path-card { padding: 29px 27px; }
  .v2-path-card > svg { margin-bottom: 24px; }
  .v2-path-card h3 { font-size: 31px; }
  .v2-path-card > p:not(.v2-kicker) { font-size: 14px; }
  .v2-business { grid-template-columns: 1fr; border-radius: 14px; }
  .v2-business-copy,
  .v2-business > div:first-child { padding: 37px 28px 40px; }
  .v2-business-image { height: 310px; min-height: 0; }
  .v2-business-image img { object-position: 50% 35%; }
  .v2-business-image > span { left: 21px; bottom: 20px; right: 21px; max-width: calc(100% - 42px); font-size: 9px; }
  .v2-business-tags { gap: 8px; margin-top: 22px; }
  .v2-business-tags > span { font-size: 10px; padding: 7px 9px; }
  .v2-business-copy > .text-link { font-size: 11px; }
  .v2-why-grid { grid-template-columns: 1fr; gap: 32px; }
  .v2-why-grid > div:first-child > p:not(.v2-eyebrow) { margin-top: 18px; font-size: 14px; }
  .v2-why-items article { gap: 16px; padding-block: 24px; grid-template-columns: 32px minmax(0, 1fr); }
  .v2-why-items h3 { font-size: 24px; }
  .v2-why-items p { font-size: 13px; }
  .v2-trust { grid-template-columns: 1fr; gap: 26px; padding-bottom: 30px; margin-bottom: 25px; }
  .v2-trust h2 { font-size: 31px; }
  .v2-trust p:not(.v2-eyebrow) { font-size: 13px; }
  .v2-dgert { width: fit-content; padding: 15px 21px; }
  .v2-dgert img { width: 175px; }
  .v2-trust + .partner-logos { gap: 12px; }
  .v2-trust + .partner-logos .partner-logo { min-height: 100px; border-radius: 10px; }
  .v2-trust-section .partner-logos { gap: 12px; }
  .v2-trust-section .partner-logo { min-height: 100px; border-radius: 10px; }
  .v2-faq-layout { grid-template-columns: 1fr; gap: 26px; }
  .v2-faq-layout > div:first-child > p:not(.v2-eyebrow) { font-size: 14px; max-width: 450px; margin-top: 15px; }
  .v2-faq-layout .faq summary { font-size: 15px; padding-block: 21px; }
  .v2-faq-layout .faq-answer { font-size: 13px; }
  .v2-final-cta { padding: 34px 28px; border-radius: 14px; gap: 26px; }
  .v2-final-cta h2 { font-size: 32px; }
  .v2-final-cta p:not(.v2-eyebrow) { font-size: 13px; line-height: 1.8; }
  .v2-final-cta > .button,
  .v2-final-cta .button-row,
  .v2-final-cta .button-row .button { width: 100%; }
  .v2-course-nav { gap: 25px; min-height: 66px; padding-block: 10px; }
  .v2-course-nav a { font-size: 12px; min-height: 42px; }
  .v2-course-layout { --v2-booking-padding: 27px; display: flex; flex-direction: column; gap: 38px; padding-block: 31px 55px; }
  .v2-course-main,
  .v2-course-sidebar { width: 100%; }
  .v2-course-sidebar { order: -1; }
  .v2-booking-card { position: static; }
  .v2-booking-card .v2-eyebrow { font-size: 9px; }
  .v2-price { font-size: 41px; }
  .v2-booking-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .v2-booking-facts span { font-size: 11px; align-items: flex-start; }
  .v2-booking-card .panel-help,
  .v2-booking-help { display: block; }
  .v2-course-block { padding-bottom: 35px; margin-bottom: 35px; scroll-margin-top: 108px; }
  .v2-course-block h2 { font-size: 31px; margin-bottom: 19px; }
  .v2-course-block > p:not(.v2-course-kicker) { font-size: 14px; line-height: 1.85; }
  .v2-outcomes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 24px; }
  .v2-outcomes article { padding: 23px 20px; }
  .v2-outcomes h3 { font-size: 21px; }
  .v2-outcomes p { font-size: 12px; }
  .v2-audience-list { gap: 12px; margin-top: 21px; }
  .v2-audience-list li { font-size: 14px; }
  .v2-program .faq summary { font-size: 14px; padding-block: 20px; }
  .v2-program .faq-answer { font-size: 13px; }
  .v2-course-block > .faq summary { font-size: 14px; padding-block: 21px; }
  .v2-course-block > .faq .faq-answer { font-size: 13px; }
  .v2-practical-note,
  .v2-certificate-note { padding: 23px; gap: 16px; }
  .v2-practical-note h3,
  .v2-certificate-note h3 { font-size: 21px; }
  .v2-practical-note p,
  .v2-certificate-note p { font-size: 13px; }
  .v2-course-help { padding: 26px; }
  .v2-course-help > div > strong { font-size: 16px; }
  .v2-course-help > .text-link { width: 100%; padding-left: 44px; }
  .v2-course-people { padding: 26px; }
}
@media (max-width: 479px) {
  .v2-growth-card { padding: 30px 25px; }
  .v2-growth-card h3 { font-size: 29px; }
  .v2-growth-school-level { gap: 15px; }
  .v2-growth-school-level > strong { font-size: 43px; }
  .v2-growth-school-level > a { font-size: 12px; }
  .v2-finder { padding: 25px 21px; }
  .v2-finder .search-form { flex-wrap: wrap; gap: 7px; padding: 8px; }
  .v2-finder .search-form input { width: calc(100% - 39px); }
  .v2-finder .search-form .button { width: 100%; min-height: 46px; font-size: 12px; }
  .v2-area-card { min-height: 294px; padding: 21px 16px; }
  .v2-area-card h3 { font-size: 20px; overflow-wrap: anywhere; }
  .v2-area-card > p { font-size: 11px; line-height: 1.7; }
  .v2-area-index { top: 27px; right: 16px; }
  .v2-area-icon { margin-bottom: 24px; }
  .v2-area-link { font-size: 10px; }
  .design-option-two .course-grid:has(> .v2-course-card) { grid-template-columns: 1fr; }
  .design-option-two .v2-course-card .course-image { height: 222px; }
  .design-option-two .v2-course-card .course-body { padding: 26px 24px; }
  .design-option-two .v2-course-card h3 { font-size: 26px; }
  .design-option-two .v2-course-card .course-bottom { flex-wrap: nowrap; align-items: center; }
  .v2-calendar-grid .v2-session-card { gap: 0 15px; padding: 23px 20px; grid-template-columns: 59px minmax(0, 1fr); }
  .v2-calendar-grid .v2-date { padding-inline: 5px; }
  .v2-calendar-grid .v2-session-copy h3 { font-size: 21px; }
  .v2-calendar-grid .v2-session-copy > p { font-size: 11px; }
  .v2-calendar-grid .v2-session-meta { font-size: 10px; gap: 8px 12px; }
  .v2-calendar-grid .v2-session-meta svg { width: 14px; height: 14px; }
  .v2-path-card { padding: 28px 25px; }
  .v2-path-card h3 { font-size: 29px; }
  .v2-business-copy,
  .v2-business > div:first-child { padding: 34px 26px 38px; }
  .v2-business h2 { font-size: 33px; }
  .v2-business .button { width: 100%; }
  .v2-business-image { height: 280px; }
  .v2-final-cta { padding: 31px 25px; }
  .v2-final-cta h2 { font-size: 30px; }
  .v2-outcomes { grid-template-columns: 1fr; }
  .v2-outcomes article { padding: 24px; }
  .v2-outcomes h3 { font-size: 22px; }
  .v2-outcomes p { font-size: 13px; }
  .v2-course-layout { --v2-booking-padding: 25px; }
  .v2-booking-facts { grid-template-columns: 1fr; gap: 14px; }
  .v2-booking-facts span { font-size: 12px; }
  .v2-practical-note,
  .v2-certificate-note { gap: 15px; padding: 23px 21px; }
  .v2-practical-note > svg,
  .v2-certificate-note > svg { width: 25px; height: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-area-card { transition: none; }
  .v2-home-hero .button,
  .v2-growth-card .text-link svg { transition: none; }
}

/* Shared responsive typography for course cards */
@media(max-width:1023px){
  .design-option-two .catalog-results .course-grid:has(> .v2-course-card){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1199px){
  .design-option-two .v2-course-card .course-meta{font-size:11px;gap:10px}
  .design-option-two .v2-course-card .course-bottom .text-link{font-size:11px;gap:5px}
  .design-option-two .v2-course-card .course-bottom .text-link svg{width:16px}
}
@media(max-width:479px){
  .design-option-two .catalog-results .course-grid:has(> .v2-course-card){grid-template-columns:1fr}
  .design-option-two .v2-course-card .course-meta{font-size:12px;gap:15px}
  .design-option-two .v2-course-card .course-bottom .text-link{font-size:12px}
}

/* Maior legibilidade dos textos de apoio na opção 2. */
.design-option-two .nav-inner{font-size:14px}
.design-option-two .desktop-nav .nav-group summary,
.design-option-two .desktop-nav .header-simulator,
.design-option-two .desktop-nav .nav-dropdown a,
.design-option-two .header-account,
.design-option-two .header-cta{font-size:14px}
.design-option-two .utility-bar,
.design-option-two .utility-inner{font-size:13px}
.design-option-two .hero-rail span{font-size:14px;line-height:1.6}
.design-option-two .hero-rail span svg{flex-shrink:0}
.design-option-two .v2-area-card > p{font-size:15px;line-height:1.75}
.design-option-two .v2-growth-school-level .text-link{font-size:16px;line-height:1.6}
.design-option-two .auth-story > .v2-auth-photo{height:240px;filter:none;object-position:50% 42%}
.design-option-two .v2-more-areas,
.design-option-two .v2-more-areas > span,
.design-option-two .v2-more-areas .v2-area-chip{font-size:14px}
.design-option-two .v2-more-areas > span{letter-spacing:.04em}
.design-option-two .course-meta,
.design-option-two .v2-course-card .course-meta,
.design-option-two .course-date,
.design-option-two .course-bottom .text-link,
.design-option-two .v2-course-card .course-bottom .text-link{font-size:14px;line-height:1.6}
.design-option-two .v2-course-card .course-bottom{flex-wrap:wrap;gap:8px 16px}
.design-option-two .session-title small,
.design-option-two .session-title .session-mobile-facts,
.design-option-two .session-fact.session-location{font-size:14px;line-height:1.6}
.design-option-two .douta-footer-links h3{font-size:16px;line-height:1.5}
.design-option-two .douta-footer-links > a{font-size:14px;line-height:1.7;min-height:40px}
.design-option-two .douta-footer-legal{font-size:12px;line-height:1.8;flex-wrap:wrap}
@media(min-width:1024px) and (max-width:1199px){
  .design-option-two .nav-inner{gap:14px}
  .design-option-two .desktop-nav{gap:10px}
  .design-option-two .desktop-nav .nav-group summary,
  .design-option-two .desktop-nav .header-simulator,
  .design-option-two .header-account,
  .design-option-two .header-cta{font-size:13px}
}
@media(max-width:1023px){
  .design-option-two .mobile-nav .nav-group summary{font-size:16px}
  .design-option-two .mobile-nav .nav-dropdown a{font-size:15px}
}

/* Keep the full navigation readable with the additional simulator link. */
@media(min-width:1024px) and (max-width:1359px){
  .design-option-two .nav-inner{gap:14px}
  .design-option-two .desktop-nav{gap:10px}
  .design-option-two .brand,.design-option-two .brand img{width:145px}
}
@media(min-width:1024px) and (max-width:1199px){
  .design-option-two .desktop-nav,.design-option-two .header-cta{display:none}
  .design-option-two .nav-inner{justify-content:space-between;min-height:80px}
  .design-option-two .menu-toggle{display:block}
  .design-option-two .mobile-nav.open{display:flex;flex-direction:column;padding:12px 32px 28px;max-height:calc(100dvh - 85px);overflow:auto;border-top:1px solid var(--line)}
  .design-option-two .mobile-nav > a{font-size:16px;font-weight:600;padding:12px 0;border-bottom:1px solid var(--line)}
  .design-option-two .mobile-nav .nav-group summary{font-size:16px}
  .design-option-two .mobile-nav .nav-dropdown a{font-size:15px}
  .design-option-two .mobile-nav > .button{border:0;margin-top:18px;align-self:flex-start;padding:13px 22px}
}
@media(max-width:767px){
  .design-option-two .utility-bar,
  .design-option-two .utility-inner{font-size:11px}
  .design-option-two .v2-area-card{min-height:320px}
  .design-option-two .douta-footer-links > a{min-height:44px}
}

/* /entrar/: só se vê o contacto e o legal; o resto do rodapé fica no HTML (para os links serem indexados), escondido só à vista. */
.douta-login-route .douta-footer-invite,
.douta-login-route .douta-footer-main,
.douta-login-route .douta-footer-contact,
.douta-login-route .douta-footer-connect{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* /entrar/ sem o bloco lateral: cartão único, centrado. */
.auth-layout.auth-solo{grid-template-columns:minmax(0,520px);justify-content:center}

/* /entrar/ e /registar/: a navegação do cabeçalho fica no HTML (indexável) mas escondida só à vista. */
.douta-login-route .container.nav-inner{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Botão «Início» nas páginas de acesso: canto superior direito, alinhado com o cartão. */
.auth-topbar{display:flex;justify-content:flex-end;max-width:1100px;margin-bottom:18px}
.auth-topbar.auth-solo{max-width:520px}
.auth-topbar .registration-back{gap:10px;font-size:13px;padding:11px 16px;min-height:44px;background:var(--orange);border-color:var(--orange);color:var(--navy)}
@media(max-width:767px){.auth-topbar{margin-bottom:14px}}
