/* csslint bulletproof-font-face:false */

/* csslint font-face-name-format:false */

/* csslint font-face-src:false */

/* 900 weight / normal ------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: Figtree;
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/static/Figtree-Black.ttf") format("truetype");
}

/* 900 weight / italic ------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: Figtree;
  font-style: italic;
  font-weight: 900;
  src: url("../fonts/static/Figtree-BlackItalic.ttf") format("truetype");
}

/* 500 weight / normal ------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: Figtree;
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/static/Figtree-Medium.ttf") format("truetype");
}

/* 400 weight / normal ------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: Figtree;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/static/Figtree-Regular.ttf") format("truetype");
}

/* 700 weight / normal ------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: Figtree;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/static/Figtree-Bold.ttf") format("truetype");
}

/* 400 weight / italic ------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: Figtree;
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/static/Figtree-Italic.ttf") format("truetype");
}

/* 700 weight / italic ------------------------------------------ */
@font-face {
  font-display: swap;
  font-family: Figtree;
  font-style: italic;
  font-weight: 700;
  src: url("./fonts/static/Figtree-BoldItalic.ttf") format("truetype");
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: Figtree, sans-serif;
  font-style: normal;
  margin: 0;
  box-sizing: border-box;
}

.container {
  position: relative;
  z-index: 2;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
}


/* Hero Section */
.hero {
  background: #146f9c;
  padding: 70px 24px 100px 24px;
  position: relative;
}

.hero::before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  height: 269px;
  background: url("/images/blue-wave-line.svg") repeat-x;
  background-size: auto 100%;
  transform: rotate(180deg);
  z-index: 1;
  pointer-events: none;
}

.hero::after {
  content: "";
  position: absolute;
  top: -14px;
  left: 0;
  width: 100%;
  height: 595px;
  background-image: url("/images/hero-bg-icons.png");
  background-repeat: no-repeat;
  background-position: center top;
  pointer-events: none;
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  display: inline-flex;
  /* grid-template-columns: 1fr 1.15fr; */
  gap: 90px;
  align-items: center;
}

.hero-image {
  position: relative;
  max-width: 645px;
  width: 100%;
}

.hero-image img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
}

.hero-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 98%;
  height: 100%;
  background: url("/images/frame.svg") no-repeat center;
  background-size: contain;
  pointer-events: none;
  z-index: 2;
}

.hero-text {
  color: white;
  max-width: 593px;
  z-index: 10;
}

.course-type {
  font-size: 15px;
  line-height: 1.2;
  text-transform: uppercase;
  margin-bottom: 16px;
  color: #6cbae0;
}

h1 {
  font-size: 56px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 24px;
}

.price {
  color: #ffb11a;
  font-size: 56px;
  display: inline-block;
  margin-left: 8px;
}

.dollar {
  display: inline-block;
  width: 12px;
  height: 22px;
  background-image: url("/images/dollar.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: super;
  margin-right: 2px;
}

.subtitle {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 32px;
  max-width: 453px;
}

.stats {
  display: flex;
  gap: 32px;
  margin-bottom: 40px;
}

.stat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 18px;
  line-height: 1.2;
}

.stat img {
  width: 13px;
  height: 15px;
  fill: white;
}

.cta-button {
  background: #ffb11a;
  color: #111314;
  display: flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  border: none;
  height: 57px;
  padding: 0px 37px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 50px;
  font-family: Figtree, sans-serif;
  cursor: pointer;
  transition: background 0.3s ease;
  box-shadow: -1.5px 2.6px 7px rgba(83, 109, 155, 0.75);
}

.cta-button:hover {
  background: #ffa200;
}

.features {
  background: #f5f5f5;
  padding: 90px 24px 70px 24px;
  position: relative;
}

.features::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  border-bottom: 1px dashed #e3e3e3;
  filter: drop-shadow(0px 1px 0px #f9f9f9);
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 110px;
}

.feature:first-child,
.feature:last-child {
  width: 100%;
  max-width: 391.33px;
}

.feature {
  display: flex;
  gap: 30px;
  text-align: left;
}

.feature-icon {
  /*  margin-bottom: 24px;*/
}

.feature-icon img {
  width: 80px;
  height: 80px;
  margin-top: 6px;
}

.feature dt {
  font-size: 28px;
  font-weight: 700;
  color: #146f9c;
  margin-bottom: 8px;
  line-height: 1.2;
}

.feature dd {
  font-size: 18px;
  line-height: 1.2;
  color: #3d4244;
}

@media (max-width: 1280px) {
  .hero-content {
    gap: 40px;
  }

  .feature-grid {
    gap: 50px;
  }

  .feature:first-child,
  .feature:last-child {
    max-width: 100%;
  }
}

@media (max-width: 1024px) {
  .hero-content {
    flex-direction: column;
    gap: 40px;
    align-items: flex-start;
  }

  h1 {
    font-size: 42px;
  }

  .price {
    font-size: 44px;
  }

  .feature-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

@media (max-width: 768px) {
  .hero {
    padding: 5px 0 22px 0;
  }

  .hero::after {
    display: none;
  }

  .hero::before {
    height: 121px;
  }

  .hero-content {
    gap: 24px;
  }

  .hero-image img {
    border-radius: 0;
  }

  .hero-image::after {
    content: "";
    position: absolute;
    top: 0;
    width: 98%;
    height: 100%;
    background: url("/images/mobile-frame.svg") no-repeat center;
    background-size: contain;
    pointer-events: none;
    z-index: 2;
  }

  .hero-text {
    padding: 0 20px;
  }

  .course-type {
    font-size: 12px;
    line-height: 1.2;
    margin-bottom: 5px;
  }

  h1 {
    font-size: 26px;
    margin-bottom: 12px;
  }

  .price {
    position: relative;
    font-size: 26px;
    padding-left: 9px;
    margin-left: 4px;
  }

  .dollar {
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 21px;
  }

  .subtitle {
    font-size: 16px;
    line-height: 1.375;
    margin-bottom: 15px;
  }

  .stats {
    flex-direction: column;
    gap: 6px;
    margin-bottom: 24px;
  }

  .stat {
    font-size: 14px;
    line-height: 1.2;
  }

  .cta-button {
    font-size: 18px;
    height: auto;
    line-height: 1.002;
    padding: 10.3px 24px;
  }

  .feature-grid {
    gap: 25px;
  }

  .features {
    padding: 70px 20px 40px 20px;
  }

  .feature {
    gap: 20px;
  }

  .feature dt {
    font-size: 19px;
    margin-bottom: 6px;
  }

  .feature dd {
    font-size: 14px;
  }

  .feature-icon img {
    width: 51px;
    height: 47px;
    margin-top: 6px;
  }
}

/* ===== INSTRUCTORS SECTION ===== */
.instructors {
  position: relative;
  padding: 80px 24px 90px 24px;
  background-color: #f5f5f5;
}

.instructors::before {
  content: "";
  position: absolute;
  top: -200px;
  left: 0;
  right: 0;
  height: 269px;
  background: url("/images/gray-wave-line.svg") repeat-x;
  background-size: auto 100%;
  z-index: -1;
}

.instructors::before {
  content: "";
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  height: 269px;
  background: url("/images/gray-wave-line.svg") repeat-x;
  background-size: auto 100%;
}

.instructors-header {
  text-align: center;
  max-width: 828px;
  margin: 0 auto 75px auto;
}

.instructors-title {
  font-size: 56px;
  font-weight: 700;
  line-height: 1.2;
  color: #146f9c;
  margin-bottom: 16px;
}

.instructors-subtitle {
  font-size: 20px;
  line-height: 1.2;
  color: #3d4244;
}

.instructors-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 70px;
  row-gap: 80px;
  position: relative;
  z-index: 2;
}

.instructor-card {
  display: grid;
  grid-template-columns: 244px 1fr;
  column-gap: 40px;
  align-items: flex-start;
}

.instructor-card:nth-child(odd) {
  max-width: 665px;
}

.instructor-card:first-child {
  max-width: 660px;
}

/* RIGHT column cards (2nd, 4th, 6th) */
.instructor-card:nth-child(even) {
  max-width: 665px;
}

.instructor-card:last-child {
  max-width: 644px;
}

.instructor-toggle {
  display: none;
}

.instructor-summary {
  display: none;
  padding: 0;
  background: none;
  cursor: default;
  pointer-events: none;
}

.summary-header,
.summary-footer,
.summary-footer::after {
  display: none;
}

.mobile-name,
.mobile-role,
.mobile-stats,
.mobile-video-btn,
.mobile-img {
  display: none;
}

.desktop-name,
.desktop-role,
.desktop-stats,
.desktop-video-btn,
.desktop-image {
  display: block;
}

/* .instructor-content {
  display: flex;
  align-items: flex-start;
  padding: 0;
  gap: 30px;
} */

.instructor-image {
  position: relative;
}

.instructor-image img {
  width: 244px;
  height: 305px;
  object-fit: cover;
  border-radius: 6px;
  display: block;
}

.instructor-video-btn {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  width: 184px;
  height: 44px;
  padding: 10px 18px;
  border-radius: 999px;
  border: none;
  background-color: #d73a37;
  color: #f5f5f5;
  font-size: 16px;
  line-height: 1.2;
  font-family: Figtree, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.instructor-video-btn:hover {
  background-color: #c62c29;
}

.instructor-video-btn::before {
  content: "";
  width: 20px;
  height: 17px;
  background-image: url("/images/play-btn.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 8px;
}

.instructor-name {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: #146f9c;
  margin-bottom: -1px;
}

.instructor-role {
  font-size: 18px;
  line-height: 1.2;
  color: #f48f0c;
  margin-bottom: 12px;
}

.instructor-description {
  font-size: 18px;
  line-height: 1.2;
  color: #3d4244;
  margin-bottom: 16px;
}

.instructor-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.instructor-stat {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 16px;
  color: #146f9c;
}

.instructors .instructor-stats .instructor-stat::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 17px;
  background-color: #146f9c;
  /* desktop icon color */
  flex: 0 0 auto;
}

.instructors .instructor-stats .instructor-stat:nth-child(1)::before,
.instructors .instructor-stats .instructor-stat:nth-child(2)::before {
  content: '';
  display: block;
}

/* First icon */
.instructors .instructor-stats .instructor-stat:nth-child(1)::before {
  mask-image: url("/images/blue-user.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  -webkit-mask-image: url("/images/blue-user.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

/* Second icon */
.instructors .instructor-stats .instructor-stat:nth-child(2)::before {
  mask-image: url("/images/blue-thumbs-up.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  -webkit-mask-image: url("/images/blue-thumbs-up.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}


/* Instructors responsive tweaks */
@media (max-width: 1280px) {
  .instructors-grid {
    column-gap: 60px;
    row-gap: 64px;
  }

  .instructor-image img {
    width: 220px;
    height: 280px;
  }

  .instructor-card {
    grid-template-columns: 220px 1fr;
    column-gap: 32px;
  }
}

@media (max-width: 1024px) {
  .instructors {
    padding: 90px 24px 50px 24px;
  }

  .instructors-header {
    margin-bottom: 60px;
  }

  .instructors-title {
    font-size: 42px;
  }

  .instructors-subtitle {
    font-size: 18px;
  }

  .instructors-grid {
    grid-template-columns: 1fr;
    row-gap: 56px;
  }

  .instructor-card {
    grid-template-columns: 220px 1fr;
  }
}

@media (max-width: 768px) {
  .instructors {
    padding: 36px 20px;
  }

  .instructors::before {
    display: none;
  }

  .instructors-header {
    margin-bottom: 18px;
    text-align: start;
  }

  .instructors-title {
    font-size: 26px;
    margin-bottom: 10px;
  }

  .instructors-subtitle {
    margin-top: 10px;
    font-size: 16px;
  }

  .instructors-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .instructor-card {
    display: block;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: -0.5px 0.866px 3px 0 rgba(0, 0, 0, 0.04);
  }

  .instructor-summary {
    display: flex;
    flex-direction: column;
    padding: 10px;
    cursor: pointer;
    pointer-events: auto;
  }

  .summary-header {
    display: flex;
    gap: 17px;
  }

  .summary-text {
    display: block;
    flex: 1;
  }

  .summary-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    position: relative;
    min-height: 20px;
  }

  .summary-footer::after {
    display: block;
    content: "";
    position: absolute;
    top: 44%;
    right: 3px;
    width: 12px;
    height: 7px;
    background-color: #146f9c;

    mask-image: url("/images/dropdown.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;

    -webkit-mask-image: url("/images/dropdown.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;

    transition: transform 0.3s ease;
  }


  .mobile-name,
  .mobile-role,
  .mobile-stats,
  .mobile-video-btn,
  .mobile-img {
    display: block;
  }

  .desktop-name,
  .desktop-role,
  .desktop-stats,
  .desktop-video-btn,
  .desktop-image {
    display: none;
  }

  .mobile-img {
    width: 70px;
    height: auto;
    object-fit: cover;
    border-radius: 6px;
  }

  .instructor-name,
  .mobile-name {
    font-size: 17px;
  }

  .mobile-role {
    font-size: 14px;
    margin-bottom: 6px;
  }

  .mobile-stats {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .instructor-stat {
    font-size: 12px;
    color: #a7a9aa;
  }

  .instructors .mobile-stats .instructor-stat::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-color: #a7a9aa;
    flex: 0 0 12px;
  }

  /* First stat = students */
  /* Common styles for pseudo-elements */
  .instructors .mobile-stats .instructor-stat::before {
    content: '';
    display: block;
  }

  /* First stat = students */
  .instructors .mobile-stats .instructor-stat:nth-child(1)::before {
    mask-image: url("/images/blue-user.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;

    -webkit-mask-image: url("/images/blue-user.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
  }

  /* Second stat = positive reviews/ratings */
  .instructors .mobile-stats .instructor-stat:nth-child(2)::before {
    mask-image: url("/images/blue-thumbs-up.svg");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;

    -webkit-mask-image: url("/images/blue-thumbs-up.svg");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
  }


  .mobile-video-btn {
    position: static;
    display: flex;
    align-items: center;
    transform: none;
    width: auto;
    height: auto;
    padding: 6.6px 13px;
    font-size: 14px;
  }

  .mobile-video-btn::before {
    display: flex;
    min-width: 15px;
    height: 14px;
    margin-right: 6px;
    background: url("/images/play-btn.svg") center / contain no-repeat;
  }

  .instructor-description {
    display: none;
    padding: 14px;
    border-top: 1px solid #f5f5f5;
  }

  .instructor-toggle:checked+.instructor-summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  .instructor-toggle:checked~.instructor-content .instructor-description {
    display: block;
  }

  .instructor-toggle:checked+.instructor-summary .summary-footer::after {
    transform: rotate(180deg);
  }

  .instructor-description {
    font-size: 15px;
    margin-bottom: 0;
  }
}

/* ===== MILESTONES SECTION ===== */
.milestones {
  padding: 125px 24px;
}

.milestones-header {
  text-align: center;
  margin-bottom: 90px;
}

.milestones-title,
.milestones-subtitle {
  font-size: 56px;
  font-weight: 700;
  line-height: 1.2;
}

.milestones-title {
  color: #146f9c;
}

.milestones-subtitle {
  color: #f48f0c;
  margin-bottom: 1rem;
}

.milestones-description {
  font-size: 20px;
  color: #3d4244;
  line-height: 1.2;
  max-width: 833px;
  margin: 16px auto 0;
}

.milestones-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 78px;
}

.milestone-card {
  display: flex;
  gap: 40px;
}

.milestone-card:nth-child(odd) {
  max-width: 665px;
}

.milestone-card:nth-child(even) {
  max-width: 660px;
}

.milestone-toggle {
  display: none;
}

.milestone-summary {
  position: relative;
  display: block;
  padding: 0;
  background: none;
  cursor: default;
  pointer-events: none;
}

.milestone-summary img {
  width: 244px;
  height: 244px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}

.milestone-summary::after {
  display: none;
  content: "";
  position: absolute;
  top: 50%;
  right: 11px;
  width: 12px;
  height: 7px;
  background-color: #146f9c;

  mask-image: url("/images/dropdown.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  -webkit-mask-image: url("/images/dropdown.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

  transition: transform 0.3s ease;
}


.milestone-summary .mobile-title {
  display: none;
}

.milestone-content {
  display: block;
  padding: 0;
}

.milestone-content .desktop-title {
  display: block;
}

.milestone-title {
  font-size: 28px;
  color: #146f9c;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.milestone-text {
  font-size: 18px;
  color: #3d4244;
  line-height: 1.2;
  margin: 0;
}

/* ===== RESPONSIVE DESIGN ===== */
@media (max-width: 1280px) {
  .milestones-grid {
    gap: 70px;
  }

  .milestone-card {
    gap: 20px;
  }

  .milestone-summary img {
    width: 200px;
    height: auto;
  }
}

@media (max-width: 1024px) {
  .milestones-grid {
    gap: 2.5rem;
  }

  .milestone-card {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .milestones-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .milestone-card {
    display: block;
    gap: 0;
    box-shadow: -0.5px 0.866px 3px rgba(0, 0, 0, 0.04);
    border-radius: 6px;
  }

  .milestone-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px;
    background-color: #f5f5f5;
    border-radius: 6px;
    cursor: pointer;
    pointer-events: auto;
  }

  .milestone-summary::after {
    display: block;
  }

  .milestone-summary img {
    width: 70px;
    height: 70px;
  }

  .milestone-summary .mobile-title {
    display: block;
    flex: 1;
    margin: 0;
    font-size: 17px;
    padding-right: 20px;
  }

  .milestone-content {
    display: none;
    padding: 12px;
    border: 1px solid #f5f5f5;
    border-top: 0;
  }

  .milestone-content .desktop-title {
    display: none;
  }

  .milestone-toggle:checked+.milestone-summary {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  .milestone-toggle:checked+.milestone-summary+.milestone-content {
    display: block;
  }

  .milestone-toggle:checked+.milestone-summary:after {
    transform: rotate(180deg);
  }

  .milestones {
    padding: 36px 20px 38px 20px;
  }

  .milestones-header {
    margin-bottom: 20px;
    text-align: left;
  }

  .milestones-title {
    font-size: 26px;
  }

  .milestones-subtitle {
    font-size: 26px;
  }

  .milestones-description {
    font-size: 16px;
    margin-top: 10px;
  }

  .milestone-text {
    font-size: 15px;
  }
}

/* Main Section */
.testimonials {
  background-color: transparent;
  color: #ffffff;
  display: flex;
  position: relative;
  overflow-x: clip;
}

/* Decorative icons layer — behind everything */
.testimonials::before {
  content: "";
  position: absolute;
  bottom: 80px;
  left: 10px;
  width: 100%;
  height: 628px;
  background: url("/images/testimonials-bg-icons.png") no-repeat center bottom;
  background-size: contain;
  pointer-events: none;
  z-index: 3;
}

/* Top blue wave */
.testimonials::after {
  content: "";
  position: absolute;
  top: -18px;
  left: 0;
  width: 100%;
  height: 269px;
  background: url("/images/blue-wave-line.svg") repeat-x;
  background-size: auto 100%;
  pointer-events: none;
  z-index: 1;
}

/* Bottom blue wave — using wrapper's ::before */
.testimonials-wrapper::before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 100%;
  height: 269px;
  background: url("/images/blue-wave-line.svg") repeat-x;
  background-size: auto 100%;
  transform: rotate(180deg);
  pointer-events: none;
  z-index: 1;
}

/* Wrapper — MUST be above waves & icons */
.testimonials-wrapper {
  background-color: #146f9c;
  padding: 130px 24px 125px 24px;
  /* extra bottom padding so bottom wave has space */
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 2;
  /* ← FIXED: now above everything */
  overflow: visible;
  /* ensure nothing gets clipped */
}

/* Optional: ensure section header & cards are safe */
.section-header,
.cards-grid,
article.card {
  position: relative;
  z-index: 2;
}

/* Header Styling */
.section-header {
  text-align: center;
  margin-bottom: 66px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.section-header h2 {
  font-size: 56px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 16px;
}

.section-header p {
  font-size: 20px;
  line-height: 1.2;
  max-width: 764px;
}

/* Tools intro video (static YouTube embed under Tools & Equipment intro copy) */
.tools-intro-video {
  margin: 0 0 66px 0;
  max-width: 1265px;
}

.tools-intro-video-frame {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.tools-intro-video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Grid Layout */
.cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
  margin-bottom: 94px;
  align-items: stretch;
  /* Ensure cards stretch vertically to match the tallest card */
}

/* Card Container */
.card {
  background-color: #ffffff;
  width: 100%;
  border-radius: 8px;
  position: relative;
  padding-top: 50px;
  margin-top: 50px;
  padding-bottom: 30px;
  text-align: center;
  color: #333333;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
}

/* The "Bump" Effect */
.profile-bump {
  position: absolute;
  top: -36px;
  /* Moves it up to sit half-in/half-out */
  left: 50%;
  transform: translateX(-50%);
  width: 154px;
  height: 154px;
  background-color: #ffffff;
  border-radius: 50%;
  padding: 8px;
  /* Creates the white border effect */
  display: flex;
  justify-content: center;
  align-items: center;
}

.profile-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

/* Fallback avatar when user image is not available */
.profile-img--fallback {
  background-color: #f5f5f5;
  background-image: url("/images/user.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 48px 48px;
  object-fit: contain;
}

/* Quote Mark */
.quote-mark {
  position: absolute;
  top: -58px;
  left: 15px;
  width: 48px;
  height: 48px;
}

.quote-mark::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url("/images/quote.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* Card Content */
.card-content {
  padding: 0 30px 0 30px;
  text-align: center;
}

.name {
  color: #3d4244;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 5px;
}

.stars {
  color: #f48f0c;
  font-size: 18px;
  margin-bottom: 15px;
}

.stars img {
  width: 14px;
  height: 14px;
}

.testimonial-text {
  color: #3d4244;
  font-size: 18px;
  line-height: 1.2;
}

/* Footer Styling */
.card-footer {
  padding-top: 20px;
  color: #9ca3af;
  font-size: 14px;
  line-height: 1.2;
}

.location,
.date {
  display: block;
}

.date {
  padding-top: 10px;
}

.location img {
  min-width: 10px;
  width: 10px;
  height: 15px;
}

.date img {
  min-width: 14px;
  width: 14px;
  height: 14px;
}

/* CTA Button */
.cta-container {
  text-align: center;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* Responsive Adjustments */
@media (max-width: 768px) {

  .testimonials::after,
  .testimonials::before,
  .testimonials-wrapper::before {
    display: none;
  }

  .testimonials-wrapper {
    padding: 36px 20px;
  }

  .section-header {
    text-align: left;
    margin-bottom: 30px;
  }

  .section-header h2 {
    font-size: 26px;
    margin-bottom: 10px;
  }

  .section-header p {
    font-size: 16px;
    margin-top: 10px;
  }

  .cards-grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto 36px auto
  }

  .card {
    padding-top: 78px;
  }

  .quote-mark {
    top: -46px;
    width: 42px;
    height: 31px;
  }

  .card-content {
    padding: 0 22px 0 22px;
  }

  .card-content .name {
    font-size: 18px;
    margin-bottom: 7px;
  }

  .profile-bump {
    width: 109px;
    height: 109px;
    top: -44px;
  }

  .stars {
    margin-bottom: 10px;
  }

  .stars img {
    width: 18px;
    height: 18px;
  }

  .testimonial-text {
    font-size: 16px;
  }

  .tools-intro-video {
    margin: 0 0 17px 0;
  }
}

/* Courses Section */
.courses {
  padding: 136px 24px 136px 24px;
}

/* Header */
.courses-header {
  text-align: center;
  margin-bottom: 50px;
}

.courses-header h2 {
  font-size: 56px;
  color: #146f9c;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 16px;
}

.course-card-content h3 {
  color: #146f9c;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 1rem;
  position: relative;
}


.course-card-content h3::after {
  display: none;
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 12px;
  height: 7px;
  transform: translateY(-50%);
  background-color: #146f9c;

  mask-image: url("/images/dropdown.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  -webkit-mask-image: url("/images/dropdown.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

  transition: transform 0.3s ease;
}


/* Course mobile toggle base */
.course-toggle {
  display: none;
}

.course-summary {
  display: block;
}


.courses-header p {
  color: #3d4244;
  font-size: 20px;
  max-width: 773px;
  line-height: 1.2;
  margin: 0 auto;
}

/* Grid System */
.course-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 60px;
  align-items: stretch;
  margin-bottom: 20px
}

@media (min-width: 768px) {
  .course-grid {
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 50px
      /* Tablet/Desktop: 2 columns */
  }
}

/* Card Styles */
.course-card {
  height: 100%;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}

/* Hover Effect for Card */
.course-card:hover {
  box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.07);
}

.course-card-image {
  width: 100%;
  height: 209px;
  overflow: hidden;
}

.course-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.course-card-content {
  padding: 48px 50px;
  border: 1px solid #f2f2f2;
  border-top: 0;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  flex: 1;
}

@media (max-width: 1024px) {
  .course-card-content {
    padding: 30px 24px;
  }
}

.course-card:hover .course-card-content {
  border: 1px solid transparent;
  border-top: 0;
}

.course-card-content h3 {
  color: #146f9c;
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 1rem;
}

.course-card-content p {
  color: #3d4244;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 400;
  margin-bottom: 30px;
}

.course-card-content strong {
  color: #3d4244;
  font-weight: 700;
}

/* Footer / Meta Data */
.course-card-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
}

.meta-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #146f9c;
  font-size: 16px;
  line-height: 1.2;
  transition: color 0.2s ease;
}

.meta-item:hover {
  color: #005fa3;
}

.meta-item img {
  width: 18px;
  height: 18px;
}

@media (max-width: 768px) {
  .courses {
    padding: 36px 20px 36px 20px;
    border-bottom: 1px solid #ededed;
  }

  .courses-header {
    text-align: left;
    margin-bottom: 30px;
  }

  .courses-header h2 {
    font-size: 26px;
    margin-bottom: 10px;
  }

  .courses-header p {
    font-size: 16px;
    margin-top: 10px;
  }

  .course-grid {
    gap: 14px;
  }

  .course-card-image {
    height: 89px;
  }

  .course-card-content {
    padding: 0;
  }

  .course-card-content h3 {
    font-size: 22px;
    padding: 14.9px 34px 14.9px 18px;
    margin-bottom: 0;
    border-bottom: 1px solid #f2f2f2;
  }

  .course-card-content h3::after {
    display: block;
  }

  /* Hide body by default; show on toggle */
  .course-card-content p {
    display: none;
  }

  /* Make the title row interactive */
  .course-summary {
    cursor: pointer;
  }

  /* Rotate arrow when expanded */
  .course-toggle:checked+.course-summary h3::after {
    transform: translateY(-50%) rotate(180deg);
  }

  /* Reveal text and footer when expanded */
  .course-toggle:checked+.course-summary+p {
    display: block;
  }

  .course-card-content p {
    font-size: 15px;
    padding: 18px 18px 0 18px;
    margin-bottom: 0;
  }

  .course-card-footer {
    flex-direction: column;
    gap: 8px;
    padding: 18px;
  }

  .meta-item {
    font-size: 14px;
    gap: 8px;
  }

  .meta-item img {
    width: 15px;
    height: 15px;
  }
}

/* ===== FAQ SECTION ===== */
.faq {
  padding: 0px 24px 140px 24px;
  background-color: #ffffff;
}

.faq-header {
  text-align: center;
  margin-bottom: 56px;
}

.faq-title {
  font-size: 56px;
  line-height: 1.2;
  font-weight: 700;
  color: #146f9c;
  margin-bottom: 16px;
}

.faq-subtitle {
  font-size: 18px;
  line-height: 1.4;
  color: #3d4244;
  max-width: 800px;
  margin: 0 auto;
}

.faq-list {
  border-top: 1px solid #e7e7e7;
}

.faq-item {
  border-bottom: 1px solid #e7e7e7;
  transition: border-color 0.2s ease;
}

.faq-item:hover {
  border-bottom-color: #3d4244;
}

.faq-question {
  width: 100%;
  text-align: left;
  padding: 22px 0;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  cursor: pointer;
  font-size: 20px;
  color: #3d4244;
  font-weight: 700;
  font-family: "Figtree", sans-serif;
  transition: color 0.2s ease;
}

.faq-question:hover {
  color: #3d4244;
}

.faq-item.is-open .faq-question {
  color: #146f9c;
}

.faq-icon {
  margin-right: 10px;
  flex-shrink: 0;
  width: 17px;
  height: 10px;
  background-color: #3d4244;

  mask-image: url("/images/dropdown.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;

  -webkit-mask-image: url("/images/dropdown.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;

  transition: transform 0.2s ease, background-color 0.2s ease;
}


.faq-item.is-open .faq-icon {
  transform: rotate(180deg);
  background-color: #146f9c;
}

.faq-answer {
  max-width: 1332px;
  padding-bottom: 0;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out, opacity 0.2s ease-out;
}

.faq-answer p {
  font-size: 18px;
  color: #3d4244;
  font-weight: 400;
  font-family: "Figtree", sans-serif;
  line-height: 1.4;
}

/* max-height is controlled via JS for smooth animation */
.faq-item.is-open .faq-answer {
  opacity: 1;
}

.faq-item.is-open .faq-answer p {
  margin-bottom: 22px;
  /* space between text and bottom border when open */
}

@media (max-width: 768px) {
  .faq {
    padding: 38px 20px;
  }

  .faq-header {
    text-align: left;
    margin-bottom: 24px;
  }

  .faq-title {
    font-size: 26px;
    margin-bottom: 12px;
  }

  .faq-subtitle {
    font-size: 16px;
    margin-top: 10px;
  }

  .faq-question {
    font-size: 16px;
    padding: 13px 0;
  }

  .faq-icon {
    width: 12px;
    height: 7px;
  }

  .faq-answer {
    max-width: 100%;
  }

  .faq-answer p {
    font-size: 14px;
  }

  .faq-item.is-open .faq-answer p {
    margin-bottom: 12px;
  }
}

/* Section Layout */
.viewed-courses {
  background-color: #f5f5f5;
  position: relative;
  padding-bottom: 100px;
  z-index: 2;
}

.viewed-courses::before,
.viewed-courses::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 269px;
  background: url("/images/gray-wave-line.svg") repeat-x;
  background-size: auto 100%;
  pointer-events: none;
}

/* Top wave */
.viewed-courses::before {
  top: -18px;
}

/* Bottom wave */
.viewed-courses::after {
  bottom: -15px;
  transform: rotate(180deg);
}

.viewed-courses-wrapper {
  background-color: #f5f5f5;
  padding: 90px 24px 40px 24px;
  width: 100%;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

.viewed-courses .courses-header p {
  max-width: 800px;
}

/* Grid Layout */
.viewed-courses-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 22px;
  justify-content: center;
  padding-top: 20px;
  grid-auto-rows: 1fr;
}

/* Card Styles */
.viewed-course-card-link {
  display: flex;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.viewed-course-card-link:visited {
  color: inherit;
}

.viewed-course-card {
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0px 0px 7px rgba(0, 0, 0, 0.04);
  transition: box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  height: 100%;
}

.viewed-course-card:hover {
  box-shadow: 0px 15px 35px rgba(0, 0, 0, 0.08);
}

/* Card Image Area */
.viewed-course-card-image {
  position: relative;
  width: 100%;
  max-height: 180px;
  height: 180px;
  min-height: 180px;
  overflow: hidden;
}

.viewed-course-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Best Seller Badge */
.badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #d73a37;
  /* Red color */
  color: white;
  width: 59px;
  height: 59px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  line-height: 1;
  z-index: 10;
}

/* Card Content */
.viewed-course-card-content {
  padding: 25px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.viewed-course-card-content h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #3d4244;
  line-height: 1.2;
}

/* Hover state for title */
.viewed-course-card:hover h3,
.text-blue {
  color: #146f9c;
}

/* Stats Rows */
.card-stats {
  /* behave like previous flex column of .stat-row */
  display: flex;
  flex-direction: column;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.card-stats li {
  /* mimic .stat-row layout */
  display: flex;
  align-items: center;
  gap: 10px;
  color: #9fa0a1;
  font-size: 16px;
  line-height: 1.2;
}

.card-stats li::before {
  content: "";
  display: block;
  height: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.card-stats li:nth-child(1)::before {
  background-image: url("../images/gray-user.svg");
  width: 16px;
}

.card-stats li:nth-child(2)::before {
  background-image: url("../images/gray-thumbs-up.svg");
  width: 16px;
}

.card-stats li:nth-child(3)::before {
  background-image: url("../images/gray-comment.svg");
  width: 19px;
}

@media (max-width: 768px) {
  .viewed-courses {
    padding: 0;
  }

  .viewed-courses::before,
  .viewed-courses::after {
    display: none;
  }

  .viewed-courses-wrapper {
    padding: 38px 20px;
  }

  .viewed-courses-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    grid-auto-rows: auto;
    gap: 14px;
    padding-top: 0;
  }

  .viewed-course-card {
    flex: 1;
  }

  .courses-header h2 {
    font-size: 26px;
  }

  .card-stats li::before {
    height: 19.19px;
  }


  .card-stats li:nth-child(1)::before {
    width: 15px;
  }

  .card-stats li:nth-child(2)::before {
    width: 14px;
  }

  .card-stats li:nth-child(3)::before {
    width: 18px;
  }
}

/* ===== INSTRUCTOR VIDEO MODAL ===== */
.video-modal-backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(6, 96, 147, 0.97);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.video-modal-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

body.modal-open {
  overflow: hidden;
}

.video-modal {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  /* allow overlay children like logo & close button */
}

/* Logo & slogan on overlay, outside video area */
.video-modal-header-logo {
  position: absolute;
  top: 30px;
  left: 30px;
}

.video-modal-header-logo .logo {
  color: #ffffff;
}

.video-modal-header-logo .logo .slogon {
  bottom: -14px;
}

.video-modal-inner {
  display: flex;
  justify-content: center;
}

.video-modal-card {
  background-color: #ffffff;
  border-radius: 6px;
  filter: drop-shadow(25px 43.301px 50px rgba(0, 72, 122, 0.9));
  width: min(90vw, 1200px);
}

.video-modal-frame-wrapper {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #000;
  overflow: hidden;
}

.video-modal-frame-wrapper iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.video-modal-close {
  position: absolute;
  top: 33px;
  right: 33px;
  width: 35px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #ffffff;
  line-height: 1;
  padding: 0;
  font-family: Figtree, sans-serif;
  cursor: pointer;
}

.video-modal-close img {
  width: 35px;
  height: 34px;
  object-fit: contain;
}

@media (max-width: 768px) {
  .video-modal {
    margin: 16px;
  }

  .video-modal-card {
    margin: 4px;
    width: 100%;
  }
}

/* Tools & Equipment Section */
.tools-equipment {
  max-width: 1280px;
  margin: auto;
  padding: 133px 0px 115px 0px;
  background-color: #ffffff;
  position: relative;
  z-index: 0;
}

/* Allow the footer wave to overlap slightly above this section */
.tools-equipment::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -40px;
  height: 40px;
  background: #f5f5f5;
  z-index: 1;
  pointer-events: none;
}

/* Header */
.tools-equipment .section-header,
.tools-equipment .section-header p {
  max-width: 833px;
}

.tools-equipment .section-header h2 {
  color: #146f9c;
}

.section-header strong {
  color: #3d4244;
  font-weight: 700;
}

/* Card List */

.tools-card-list {
  display: flex;
  flex-direction: column;
  gap: 19px;
}

/* Single Card */

.tool-card {
  display: grid;
  grid-template-columns: minmax(0, 248px) minmax(0, 1fr);
  gap: 70px;
  background-color: #ffffff;
  border-radius: 6px;
  border: 1px solid #f2f2f2;
  padding: 50px 40px;
  align-items: center;
  max-width: 1264px;
  transition: box-shadow 0.3s ease, border 0.3s ease;
}

.tool-card:hover {
  border: 1px solid transparent;
  box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.07);
}

.tool-card-media {
  display: flex;
  justify-content: center;
  align-items: center;
}

.tool-card-image {
  width: 100%;
  height: 248px;
  max-width: 248px;
  display: block;
  object-fit: contain;
}

/* Card Body */

.tool-card-body {
  display: flex;
  flex-direction: column;
}

.tool-card-title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: #3d4244;
  margin-bottom: 14px;
}

/* Rating Row */

.tool-rating-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.2;
  color: #9fa0a1;
  margin-bottom: 22px;
}

.tool-rating-score {
  font-weight: 700;
  color: #3d4244;
}

.tool-rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.tool-rating-stars .star-icon {
  width: 18px;
  height: 18px;
}

/* Description */

.tool-card-text {
  font-size: 18px;
  line-height: 1.2;
  color: #3d4244;
  margin-bottom: 26px;
}

/* CTA Button */
.tool-card-btn {
  align-self: flex-start;
  padding: 8.2px 22px;
  background: #fb9c21;
  color: #111314;
  text-decoration: none;
  border: none;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  font-family: Figtree, sans-serif;
  text-align: center;
  cursor: pointer;
  transition: background 0.3s ease;
}

.tool-card-btn:hover {
  background-color: #f48f0c;
}

@media (max-width: 900px) {
  .tool-card {
    grid-template-columns: 1fr;
    padding: 24px 20px 22px;
    text-align: left;
  }

  .tool-card-media {
    justify-content: flex-start;
  }

  .tool-card-image {
    max-width: 280px;
  }
}

@media (max-width: 768px) {
  .tools-equipment {
    padding: 36px 20px 44px 20px;
  }

  .tools-card-list {
    gap: 13px;
  }

  .tool-card {
    border-radius: 12px;
    gap: 26px;
    padding: 28px 24px;
  }

  .tool-card-image {
    max-width: 220px;
    margin: auto;
    height: auto;
    max-height: 248px;
  }

  .tool-card-title {
    font-size: 20px;
    margin-bottom: 10px;
  }

  .tool-rating-row {
    margin-bottom: 12px;
  }

  .tool-card-text {
    font-size: 14px;
    margin-bottom: 16px;
  }
}

/* Section accordions (mobile) — moved from sewing.html */
@media (max-width: 768px) {
  .section-toggle {
    cursor: pointer;
  }

  .section-title-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
  }

  .section-toggle .toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1px solid #e3e3e3;
    color: #146f9c;
    background: transparent;
    border-radius: 9999px;
    margin-left: 8px;
    line-height: 0;
    margin-top: 6px;
    flex: 0 0 auto;
  }

  .section-title-row h2,
  .section-title-row .milestones-title,
  .section-title-row .instructors-title,
  .section-title-row .faq-title {
    margin: 0;
  }

  .toggle-icon svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    stroke-width: 3;
    fill: none;
  }

  /* Testimonials section: override icon color */
  .testimonials .section-header .toggle-icon {
    color: #ffffff;
  }

  .section-toggle .icon-minus {
    display: none;
  }

  .section-toggle[aria-expanded="true"] .icon-plus {
    display: none;
  }

  .section-toggle[aria-expanded="true"] .icon-minus {
    display: inline-block;
  }

  /* Collapsed states per section */
  .milestones.acc-collapsed .milestones-grid {
    display: none;
  }

  .milestones.acc-collapsed .milestones-header {
    margin-bottom: 0;
  }

  .instructors.acc-collapsed .instructors-grid {
    display: none;
  }

  .instructors.acc-collapsed .instructors-header {
    margin-bottom: 0;
  }

  .testimonials.acc-collapsed .cards-grid,
  .testimonials.acc-collapsed .cta-container {
    display: none;
  }

  .testimonials.acc-collapsed .section-header {
    margin-bottom: 5px;
  }

  .courses.acc-collapsed .course-grid {
    display: none;
  }

  .courses.acc-collapsed .courses-header {
    margin-bottom: 16px;
  }

  .faq.acc-collapsed .faq-list {
    display: none;
  }

  .faq.acc-collapsed .faq-header {
    margin-bottom: 0;
  }

  .viewed-courses.acc-collapsed .viewed-courses-grid {
    display: none;
  }

  .viewed-courses.acc-collapsed .courses-header {
    margin-bottom: 0
  }

  .tools-equipment.acc-collapsed .tools-card-list {
    display: none;
  }

  .tools-equipment.acc-collapsed .section-header {
    margin-bottom: 0
  }
}

@media (min-width: 769px) {
  .section-toggle {
    display: none;
  }
}